From 91e56d6302946e63c8fe52bb38222574151d2327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Otto=20Kek=C3=A4l=C3=A4inen?= Date: Fri, 2 Aug 2019 18:03:48 +0100 Subject: [PATCH] New upstream version 10.1.41 --- .clang-format | 117 + BUILD/FINISH.sh | 2 +- BUILD/SETUP.sh | 2 +- BUILD/autorun.sh | 2 +- BUILD/check-cpu | 2 +- BUILD/cleanup | 2 +- BUILD/cmake_configure.sh | 2 +- BUILD/compile-alpha | 2 +- BUILD/compile-amd64-debug-max | 2 +- BUILD/compile-amd64-debug-max-no-ndb | 2 +- BUILD/compile-amd64-gcov | 2 +- BUILD/compile-amd64-gprof | 2 +- BUILD/compile-amd64-max | 2 +- BUILD/compile-amd64-valgrind-max | 2 +- BUILD/compile-bintar | 2 +- BUILD/compile-darwin-mwcc | 2 +- BUILD/compile-dist | 2 +- BUILD/compile-hpux11-parisc2-aCC | 2 +- BUILD/compile-ia64-debug-max | 2 +- BUILD/compile-innodb | 2 +- BUILD/compile-irix-mips64-mipspro | 2 +- BUILD/compile-pentium | 2 +- BUILD/compile-pentium-cybozu | 2 +- BUILD/compile-pentium-debug | 2 +- BUILD/compile-pentium-debug-max | 2 +- BUILD/compile-pentium-debug-max-no-embedded | 2 +- BUILD/compile-pentium-debug-max-no-ndb | 2 +- BUILD/compile-pentium-debug-openssl | 2 +- BUILD/compile-pentium-debug-yassl | 2 +- BUILD/compile-pentium-gcov | 2 +- BUILD/compile-pentium-gprof | 2 +- BUILD/compile-pentium-icc | 2 +- BUILD/compile-pentium-icc-valgrind-max | 4 +- BUILD/compile-pentium-icc-yassl | 2 +- BUILD/compile-pentium-max | 2 +- BUILD/compile-pentium-myodbc | 2 +- BUILD/compile-pentium-valgrind-max | 4 +- BUILD/compile-pentium-valgrind-max-no-ndb | 2 +- BUILD/compile-pentium64-debug | 2 +- BUILD/compile-pentium64-debug-max | 2 +- BUILD/compile-pentium64-gcov | 2 +- BUILD/compile-pentium64-gprof | 2 +- BUILD/compile-pentium64-max | 2 +- BUILD/compile-pentium64-valgrind-max | 4 +- BUILD/compile-pentium64-wsrep | 2 +- BUILD/compile-ppc | 2 +- BUILD/compile-ppc-debug | 2 +- BUILD/compile-ppc-debug-max | 2 +- BUILD/compile-ppc-debug-max-no-ndb | 2 +- BUILD/compile-ppc-max | 2 +- BUILD/compile-solaris-amd64-debug | 2 +- BUILD/compile-solaris-amd64-forte | 2 +- BUILD/compile-solaris-sparc | 2 +- BUILD/compile-solaris-sparc-forte | 4 +- BUILD/util.sh | 2 +- CMakeLists.txt | 14 +- COPYING | 4 +- COPYING.thirdparty | 12 +- Docs/INFO_SRC | 10 +- Docs/README-wsrep | 3 - VERSION | 2 +- client/CMakeLists.txt | 2 +- client/client_priv.h | 2 +- client/completion_hash.cc | 2 +- client/completion_hash.h | 2 +- client/echo.c | 2 +- client/get_password.c | 2 +- client/my_readline.h | 2 +- client/mysql.cc | 4 +- client/mysql_plugin.c | 2 +- client/mysql_upgrade.c | 2 +- client/mysqladmin.cc | 2 +- client/mysqlbinlog.cc | 2 +- client/mysqlcheck.c | 2 +- client/mysqldump.c | 2 +- client/mysqlimport.c | 13 +- client/mysqlshow.c | 2 +- client/mysqlslap.c | 2 +- client/mysqltest.cc | 18 +- client/readline.cc | 2 +- client/sql_string.cc.dontuse | 2 +- client/sql_string.h.dontuse | 2 +- cmake/abi_check.cmake | 2 +- cmake/bison.cmake | 2 +- .../build_configurations/mysql_release.cmake | 2 +- cmake/bzip2.cmake | 2 +- cmake/cat.cmake | 2 +- cmake/character_sets.cmake | 2 +- cmake/check_compiler_flag.cmake | 3 +- cmake/check_minimal_version.cmake | 2 +- cmake/cmake_parse_arguments.cmake | 2 +- cmake/compile_flags.cmake | 2 +- cmake/configure.pl | 2 +- cmake/cpack_rpm.cmake | 2 +- cmake/cpack_source_ignore_files.cmake | 2 +- cmake/cpu_info.cmake | 2 +- cmake/create_initial_db.cmake.in | 2 +- cmake/do_abi_check.cmake | 2 +- cmake/dtrace.cmake | 2 +- cmake/dtrace_prelink.cmake | 2 +- cmake/info_bin.cmake | 2 +- cmake/info_macros.cmake.in | 2 +- cmake/info_src.cmake | 2 +- cmake/install_layout.cmake | 2 +- cmake/install_macros.cmake | 2 +- cmake/libutils.cmake | 2 +- cmake/lz4.cmake | 2 +- cmake/lzma.cmake | 2 +- cmake/lzo.cmake | 2 +- cmake/maintainer.cmake | 2 +- cmake/make_dist.cmake.in | 2 +- cmake/merge_archives_unix.cmake.in | 2 +- cmake/mysql_add_executable.cmake | 2 +- cmake/mysql_version.cmake | 2 +- cmake/os/AIX.cmake | 2 +- cmake/os/Cygwin.cmake | 2 +- cmake/os/Darwin.cmake | 2 +- cmake/os/FreeBSD.cmake | 2 +- cmake/os/HP-UX.cmake | 2 +- cmake/os/Linux.cmake | 2 +- cmake/os/OS400.cmake | 2 +- cmake/os/SunOS.cmake | 2 +- cmake/os/Windows.cmake | 2 +- cmake/os/WindowsCache.cmake | 2 +- cmake/package_name.cmake | 2 +- cmake/plugin.cmake | 2 +- cmake/readline.cmake | 2 +- cmake/snappy.cmake | 2 +- cmake/ssl.cmake | 2 +- cmake/stack_direction.c | 2 +- cmake/systemd.cmake | 10 +- cmake/tags.cmake | 2 +- cmake/versioninfo.rc.in | 2 +- cmake/wsrep.cmake | 2 +- cmake/zlib.cmake | 2 +- config.h.cmake | 2 +- configure.cmake | 2 +- dbug/CMakeLists.txt | 2 +- dbug/dbug_add_tags.pl | 2 +- extra/CMakeLists.txt | 2 +- extra/charset2html.c | 2 +- extra/comp_err.c | 2 +- extra/innochecksum.cc | 2 +- extra/mariabackup/CMakeLists.txt | 2 +- extra/mariabackup/backup_copy.cc | 6 +- extra/mariabackup/backup_mysql.cc | 8 +- extra/mariabackup/backup_wsrep.h | 2 +- extra/mariabackup/changed_page_bitmap.cc | 2 +- extra/mariabackup/changed_page_bitmap.h | 2 +- extra/mariabackup/common.h | 2 +- extra/mariabackup/crc/CMakeLists.txt | 2 +- extra/mariabackup/crc/config.h.cmake | 2 +- extra/mariabackup/crc/crc-intel-pclmul.c | 4 +- extra/mariabackup/crc/crc-intel-pclmul.h | 2 +- extra/mariabackup/crc/crc_glue.c | 2 +- extra/mariabackup/crc/crc_glue.h | 2 +- extra/mariabackup/datasink.c | 2 +- extra/mariabackup/datasink.h | 2 +- extra/mariabackup/ds_archive.c | 2 +- extra/mariabackup/ds_archive.h | 2 +- extra/mariabackup/ds_buffer.c | 2 +- extra/mariabackup/ds_buffer.h | 2 +- extra/mariabackup/ds_compress.c | 2 +- extra/mariabackup/ds_compress.h | 2 +- extra/mariabackup/ds_local.cc | 2 +- extra/mariabackup/ds_local.h | 2 +- extra/mariabackup/ds_stdout.c | 2 +- extra/mariabackup/ds_stdout.h | 2 +- extra/mariabackup/ds_tmpfile.c | 2 +- extra/mariabackup/ds_tmpfile.h | 2 +- extra/mariabackup/ds_xbstream.c | 2 +- extra/mariabackup/ds_xbstream.h | 2 +- extra/mariabackup/fil_cur.cc | 2 +- extra/mariabackup/fil_cur.h | 2 +- extra/mariabackup/innobackupex.cc | 6 +- extra/mariabackup/innobackupex.h | 2 +- extra/mariabackup/read_filt.cc | 2 +- extra/mariabackup/read_filt.h | 2 +- extra/mariabackup/write_filt.cc | 2 +- extra/mariabackup/write_filt.h | 2 +- extra/mariabackup/wsrep.cc | 4 +- extra/mariabackup/xb0xb.h | 2 +- extra/mariabackup/xb_regex.h | 2 +- extra/mariabackup/xbcloud.cc | 2 +- extra/mariabackup/xbstream.c | 2 +- extra/mariabackup/xbstream.h | 2 +- extra/mariabackup/xbstream_read.c | 2 +- extra/mariabackup/xbstream_write.c | 2 +- extra/mariabackup/xtrabackup.cc | 6 +- extra/mariabackup/xtrabackup.h | 2 +- extra/my_print_defaults.c | 2 +- extra/mysql_waitpid.c | 2 +- extra/perror.c | 2 +- extra/readline/CMakeLists.txt | 2 +- extra/readline/COPYING | 4 +- extra/readline/ansi_stdlib.h | 2 +- extra/readline/bind.c | 2 +- extra/readline/callback.c | 2 +- extra/readline/chardefs.h | 2 +- extra/readline/compat.c | 2 +- extra/readline/complete.c | 2 +- extra/readline/configure.in | 2 +- extra/readline/display.c | 2 +- extra/readline/emacs_keymap.c | 2 +- extra/readline/funmap.c | 2 +- extra/readline/histexpand.c | 2 +- extra/readline/histfile.c | 2 +- extra/readline/histlib.h | 2 +- extra/readline/history.c | 2 +- extra/readline/history.h | 2 +- extra/readline/histsearch.c | 2 +- extra/readline/input.c | 2 +- extra/readline/isearch.c | 2 +- extra/readline/keymaps.c | 2 +- extra/readline/keymaps.h | 2 +- extra/readline/kill.c | 2 +- extra/readline/macro.c | 2 +- extra/readline/mbutil.c | 2 +- extra/readline/misc.c | 2 +- extra/readline/nls.c | 2 +- extra/readline/parens.c | 2 +- extra/readline/posixdir.h | 2 +- extra/readline/posixjmp.h | 2 +- extra/readline/posixstat.h | 2 +- extra/readline/readline.c | 2 +- extra/readline/readline.h | 2 +- extra/readline/rlconf.h | 2 +- extra/readline/rldefs.h | 2 +- extra/readline/rlmbutil.h | 2 +- extra/readline/rlprivate.h | 2 +- extra/readline/rlshell.h | 2 +- extra/readline/rlstdc.h | 2 +- extra/readline/rltty.c | 2 +- extra/readline/rltty.h | 2 +- extra/readline/rltypedefs.h | 2 +- extra/readline/rlwinsize.h | 2 +- extra/readline/savestring.c | 2 +- extra/readline/search.c | 2 +- extra/readline/shell.c | 2 +- extra/readline/signals.c | 2 +- extra/readline/tcap.h | 2 +- extra/readline/terminal.c | 2 +- extra/readline/text.c | 2 +- extra/readline/tilde.c | 2 +- extra/readline/tilde.h | 2 +- extra/readline/undo.c | 2 +- extra/readline/util.c | 2 +- extra/readline/vi_keymap.c | 2 +- extra/readline/vi_mode.c | 2 +- extra/readline/xmalloc.c | 2 +- extra/readline/xmalloc.h | 2 +- extra/replace.c | 2 +- extra/resolve_stack_dump.c | 2 +- extra/resolveip.c | 2 +- extra/yassl/CMakeLists.txt | 2 +- extra/yassl/COPYING | 4 +- extra/yassl/examples/client/client.cpp | 2 +- .../yassl/examples/echoclient/echoclient.cpp | 2 +- .../yassl/examples/echoserver/echoserver.cpp | 2 +- extra/yassl/examples/server/server.cpp | 2 +- extra/yassl/include/buffer.hpp | 2 +- extra/yassl/include/cert_wrapper.hpp | 2 +- extra/yassl/include/crypto_wrapper.hpp | 2 +- extra/yassl/include/factory.hpp | 2 +- extra/yassl/include/handshake.hpp | 2 +- extra/yassl/include/lock.hpp | 2 +- extra/yassl/include/log.hpp | 2 +- extra/yassl/include/openssl/crypto.h | 4 +- extra/yassl/include/openssl/des.h | 2 +- extra/yassl/include/openssl/des_old.h | 2 +- extra/yassl/include/openssl/engine.h | 2 +- extra/yassl/include/openssl/err.h | 2 +- extra/yassl/include/openssl/evp.h | 2 +- .../include/openssl/generate_prefix_files.pl | 2 +- extra/yassl/include/openssl/hmac.h | 2 +- extra/yassl/include/openssl/lhash.h | 2 +- extra/yassl/include/openssl/md4.h | 2 +- extra/yassl/include/openssl/md5.h | 2 +- extra/yassl/include/openssl/objects.h | 2 +- extra/yassl/include/openssl/opensslv.h | 2 +- extra/yassl/include/openssl/pem.h | 2 +- extra/yassl/include/openssl/pkcs12.h | 2 +- extra/yassl/include/openssl/prefix_crypto.h | 2 +- extra/yassl/include/openssl/prefix_ssl.h | 2 +- extra/yassl/include/openssl/rand.h | 2 +- extra/yassl/include/openssl/rsa.h | 2 +- extra/yassl/include/openssl/sha.h | 2 +- extra/yassl/include/openssl/ssl.h | 2 +- extra/yassl/include/openssl/transport_types.h | 2 +- extra/yassl/include/openssl/x509.h | 2 +- extra/yassl/include/openssl/x509v3.h | 2 +- extra/yassl/include/socket_wrapper.hpp | 2 +- extra/yassl/include/timer.hpp | 2 +- extra/yassl/include/yassl.hpp | 2 +- extra/yassl/include/yassl_error.hpp | 2 +- extra/yassl/include/yassl_imp.hpp | 2 +- extra/yassl/include/yassl_int.hpp | 2 +- extra/yassl/include/yassl_types.hpp | 2 +- extra/yassl/src/buffer.cpp | 2 +- extra/yassl/src/cert_wrapper.cpp | 2 +- extra/yassl/src/crypto_wrapper.cpp | 2 +- extra/yassl/src/handshake.cpp | 2 +- extra/yassl/src/lock.cpp | 2 +- extra/yassl/src/log.cpp | 2 +- extra/yassl/src/make.bat | 2 +- extra/yassl/src/socket_wrapper.cpp | 2 +- extra/yassl/src/ssl.cpp | 2 +- extra/yassl/src/timer.cpp | 2 +- extra/yassl/src/yassl.cpp | 2 +- extra/yassl/src/yassl_error.cpp | 2 +- extra/yassl/src/yassl_imp.cpp | 2 +- extra/yassl/src/yassl_int.cpp | 2 +- extra/yassl/taocrypt/CMakeLists.txt | 2 +- extra/yassl/taocrypt/COPYING | 4 +- extra/yassl/taocrypt/benchmark/benchmark.cpp | 2 +- extra/yassl/taocrypt/benchmark/make.bat | 2 +- extra/yassl/taocrypt/include/aes.hpp | 2 +- extra/yassl/taocrypt/include/algebra.hpp | 2 +- extra/yassl/taocrypt/include/arc4.hpp | 2 +- extra/yassl/taocrypt/include/asn.hpp | 2 +- extra/yassl/taocrypt/include/block.hpp | 2 +- extra/yassl/taocrypt/include/blowfish.hpp | 2 +- extra/yassl/taocrypt/include/coding.hpp | 2 +- extra/yassl/taocrypt/include/des.hpp | 2 +- extra/yassl/taocrypt/include/dh.hpp | 2 +- extra/yassl/taocrypt/include/dsa.hpp | 2 +- extra/yassl/taocrypt/include/error.hpp | 2 +- extra/yassl/taocrypt/include/file.hpp | 2 +- extra/yassl/taocrypt/include/hash.hpp | 2 +- extra/yassl/taocrypt/include/hc128.hpp | 2 +- extra/yassl/taocrypt/include/hmac.hpp | 2 +- extra/yassl/taocrypt/include/integer.hpp | 2 +- extra/yassl/taocrypt/include/kernelc.hpp | 2 +- extra/yassl/taocrypt/include/md2.hpp | 2 +- extra/yassl/taocrypt/include/md4.hpp | 2 +- extra/yassl/taocrypt/include/md5.hpp | 2 +- extra/yassl/taocrypt/include/misc.hpp | 2 +- extra/yassl/taocrypt/include/modarith.hpp | 2 +- extra/yassl/taocrypt/include/modes.hpp | 2 +- extra/yassl/taocrypt/include/pwdbased.hpp | 2 +- extra/yassl/taocrypt/include/rabbit.hpp | 2 +- extra/yassl/taocrypt/include/random.hpp | 2 +- extra/yassl/taocrypt/include/ripemd.hpp | 2 +- extra/yassl/taocrypt/include/rsa.hpp | 2 +- extra/yassl/taocrypt/include/runtime.hpp | 2 +- extra/yassl/taocrypt/include/sha.hpp | 2 +- extra/yassl/taocrypt/include/twofish.hpp | 2 +- extra/yassl/taocrypt/include/type_traits.hpp | 2 +- extra/yassl/taocrypt/include/types.hpp | 2 +- extra/yassl/taocrypt/mySTL/algorithm.hpp | 2 +- extra/yassl/taocrypt/mySTL/helpers.hpp | 2 +- extra/yassl/taocrypt/mySTL/list.hpp | 2 +- extra/yassl/taocrypt/mySTL/memory.hpp | 2 +- extra/yassl/taocrypt/mySTL/memory_array.hpp | 2 +- extra/yassl/taocrypt/mySTL/pair.hpp | 2 +- extra/yassl/taocrypt/mySTL/stdexcept.hpp | 2 +- extra/yassl/taocrypt/mySTL/vector.hpp | 2 +- extra/yassl/taocrypt/src/aes.cpp | 2 +- extra/yassl/taocrypt/src/aestables.cpp | 2 +- extra/yassl/taocrypt/src/algebra.cpp | 2 +- extra/yassl/taocrypt/src/arc4.cpp | 2 +- extra/yassl/taocrypt/src/asn.cpp | 2 +- extra/yassl/taocrypt/src/bftables.cpp | 2 +- extra/yassl/taocrypt/src/blowfish.cpp | 2 +- extra/yassl/taocrypt/src/coding.cpp | 2 +- extra/yassl/taocrypt/src/des.cpp | 4 +- extra/yassl/taocrypt/src/dh.cpp | 2 +- extra/yassl/taocrypt/src/dsa.cpp | 2 +- extra/yassl/taocrypt/src/file.cpp | 2 +- extra/yassl/taocrypt/src/hash.cpp | 2 +- extra/yassl/taocrypt/src/hc128.cpp | 2 +- extra/yassl/taocrypt/src/integer.cpp | 2 +- extra/yassl/taocrypt/src/make.bat | 2 +- extra/yassl/taocrypt/src/md2.cpp | 2 +- extra/yassl/taocrypt/src/md4.cpp | 2 +- extra/yassl/taocrypt/src/md5.cpp | 2 +- extra/yassl/taocrypt/src/misc.cpp | 2 +- extra/yassl/taocrypt/src/rabbit.cpp | 2 +- extra/yassl/taocrypt/src/random.cpp | 2 +- extra/yassl/taocrypt/src/ripemd.cpp | 2 +- extra/yassl/taocrypt/src/rsa.cpp | 2 +- extra/yassl/taocrypt/src/sha.cpp | 2 +- extra/yassl/taocrypt/src/tftables.cpp | 2 +- extra/yassl/taocrypt/src/twofish.cpp | 2 +- extra/yassl/taocrypt/test/make.bat | 2 +- extra/yassl/taocrypt/test/memory.cpp | 2 +- extra/yassl/taocrypt/test/test.cpp | 2 +- extra/yassl/testsuite/make.bat | 2 +- extra/yassl/testsuite/test.hpp | 2 +- extra/yassl/testsuite/testsuite.cpp | 2 +- include/CMakeLists.txt | 2 +- include/atomic/gcc_builtins.h | 2 +- include/atomic/generic-msvc.h | 2 +- include/atomic/nolock.h | 2 +- include/atomic/solaris.h | 2 +- include/atomic/x86-gcc.h | 2 +- include/big_endian.h | 2 +- include/byte_order_generic.h | 2 +- include/byte_order_generic_x86.h | 2 +- include/byte_order_generic_x86_64.h | 2 +- include/decimal.h | 2 +- include/errmsg.h | 2 +- include/ft_global.h | 2 +- include/handler_ername.h | 2 +- include/hash.h | 2 +- include/heap.h | 4 +- include/keycache.h | 2 +- include/lf.h | 2 +- include/little_endian.h | 2 +- include/m_ctype.h | 2 +- include/m_string.h | 2 +- include/maria.h | 4 +- include/my_alarm.h | 2 +- include/my_alloc.h | 2 +- include/my_atomic.h | 2 +- include/my_attribute.h | 2 +- include/my_base.h | 3 +- include/my_bit.h | 2 +- include/my_bitmap.h | 2 +- include/my_byteorder.h | 2 +- include/my_check_opt.h | 2 +- include/my_compare.h | 2 +- include/my_compiler.h | 2 +- include/my_cpu.h | 2 +- include/my_crypt.h | 2 +- include/my_dbug.h | 2 +- include/my_decimal_limits.h | 2 +- include/my_default.h | 2 +- include/my_dir.h | 2 +- include/my_getopt.h | 2 +- include/my_global.h | 2 +- include/my_handler_errors.h | 2 +- include/my_libwrap.h | 2 +- include/my_list.h | 2 +- include/my_md5.h | 2 +- include/my_net.h | 2 +- include/my_nosys.h | 2 +- include/my_pthread.h | 2 +- include/my_rdtsc.h | 2 +- include/my_rnd.h | 2 +- include/my_service_manager.h | 2 +- include/my_stacktrace.h | 2 +- include/my_sys.h | 2 +- include/my_time.h | 2 +- include/my_tree.h | 2 +- include/my_uctype.h | 2 +- include/my_user.h | 2 +- include/my_valgrind.h | 10 +- include/my_xml.h | 2 +- include/myisam.h | 14 +- include/myisamchk.h | 2 +- include/myisammrg.h | 2 +- include/myisampack.h | 2 +- include/mysql.h | 2 +- include/mysql/auth_dialog_client.h | 2 +- include/mysql/client_plugin.h | 2 +- include/mysql/plugin.h | 2 +- include/mysql/plugin_audit.h | 2 +- include/mysql/plugin_auth.h | 2 +- include/mysql/plugin_auth_common.h | 2 +- include/mysql/plugin_encryption.h | 2 +- include/mysql/plugin_ftparser.h | 2 +- include/mysql/plugin_password_validation.h | 2 +- include/mysql/psi/mysql_file.h | 2 +- include/mysql/psi/mysql_idle.h | 2 +- include/mysql/psi/mysql_socket.h | 2 +- include/mysql/psi/mysql_stage.h | 2 +- include/mysql/psi/mysql_statement.h | 2 +- include/mysql/psi/mysql_table.h | 2 +- include/mysql/psi/mysql_thread.h | 2 +- include/mysql/psi/psi.h | 2 +- include/mysql/psi/psi_abi_v0.h | 2 +- include/mysql/psi/psi_abi_v1.h | 2 +- include/mysql/psi/psi_abi_v2.h | 2 +- include/mysql/service_base64.h | 2 +- include/mysql/service_debug_sync.h | 2 +- include/mysql/service_encryption.h | 2 +- include/mysql/service_encryption_scheme.h | 2 +- include/mysql/service_kill_statement.h | 2 +- include/mysql/service_logger.h | 2 +- include/mysql/service_md5.h | 2 +- include/mysql/service_my_crypt.h | 2 +- include/mysql/service_my_print_error.h | 2 +- include/mysql/service_my_snprintf.h | 2 +- include/mysql/service_progress_report.h | 2 +- include/mysql/service_sha1.h | 2 +- include/mysql/service_sha2.h | 2 +- include/mysql/service_thd_alloc.h | 2 +- include/mysql/service_thd_autoinc.h | 2 +- include/mysql/service_thd_error_context.h | 2 +- include/mysql/service_thd_rnd.h | 2 +- include/mysql/service_thd_specifics.h | 2 +- include/mysql/service_thd_timezone.h | 2 +- include/mysql/service_thd_wait.h | 2 +- include/mysql/service_wsrep.h | 2 +- include/mysql/services.h | 2 +- include/mysql_async.h | 2 +- include/mysql_com.h | 2 +- include/mysql_com_server.h | 2 +- include/mysql_embed.h | 2 +- include/mysql_time.h | 2 +- include/mysys_err.h | 2 +- include/password.h | 2 +- include/probes_mysql.d.base | 2 +- include/probes_mysql.h | 2 +- include/rijndael.h | 2 +- include/service_versions.h | 2 +- include/sql_common.h | 2 +- include/sslopt-case.h | 2 +- include/sslopt-longopts.h | 2 +- include/sslopt-vars.h | 2 +- include/t_ctype.h | 2 +- include/thr_alarm.h | 2 +- include/thr_lock.h | 2 +- include/thr_timer.h | 2 +- include/thread_pool_priv.h | 2 +- include/typelib.h | 2 +- include/violite.h | 4 +- include/waiting_threads.h | 2 +- include/welcome_copyright_notice.h | 2 +- include/wqueue.h | 2 +- include/wsrep.h | 2 +- libmysql/CMakeLists.txt | 2 +- libmysql/client_settings.h | 2 +- libmysql/conf_to_src.c | 2 +- libmysql/errmsg.c | 2 +- libmysql/get_password.c | 2 +- libmysql/libmysql.c | 2 +- libmysqld/CMakeLists.txt | 2 +- libmysqld/emb_qcache.cc | 2 +- libmysqld/emb_qcache.h | 2 +- libmysqld/embedded_priv.h | 2 +- libmysqld/examples/CMakeLists.txt | 2 +- .../examples/builder-sample/emb_sample.bpr | 2 +- .../examples/builder-sample/emb_sample.cpp | 2 +- .../examples/builder-sample/emb_samples.cpp | 2 +- .../examples/builder-sample/emb_samples.h | 2 +- libmysqld/examples/test-run | 2 +- libmysqld/libmysqld.c | 2 +- libservices/CMakeLists.txt | 2 +- libservices/base64_service.c | 2 +- libservices/debug_sync_service.c | 2 +- libservices/encryption_scheme_service.c | 2 +- libservices/encryption_service.c | 2 +- libservices/kill_statement_service.c | 2 +- libservices/logger_service.c | 2 +- libservices/my_md5_service.c | 2 +- libservices/my_print_error_service.c | 2 +- libservices/my_sha1_service.c | 2 +- libservices/my_sha2_service.c | 2 +- libservices/my_snprintf_service.c | 2 +- libservices/progress_report_service.c | 2 +- libservices/thd_alloc_service.c | 2 +- libservices/thd_autoinc_service.c | 2 +- libservices/thd_error_context_service.c | 2 +- libservices/thd_rnd_service.c | 2 +- libservices/thd_specifics_service.c | 2 +- libservices/thd_timezone_service.c | 2 +- libservices/thd_wait_service.c | 2 +- libservices/wsrep_service.c | 2 +- man/CMakeLists.txt | 2 +- man/comp_err.1 | 2 +- man/innochecksum.1 | 2 +- man/make_win_bin_dist.1 | 2 +- man/msql2mysql.1 | 2 +- man/my_print_defaults.1 | 2 +- man/myisam_ftdump.1 | 2 +- man/myisamchk.1 | 2 +- man/myisamlog.1 | 2 +- man/myisampack.1 | 2 +- man/mysql-stress-test.pl.1 | 2 +- man/mysql-test-run.pl.1 | 2 +- man/mysql.1 | 2 +- man/mysql.server.1 | 2 +- man/mysql_client_test.1 | 2 +- man/mysql_config.1 | 2 +- man/mysql_convert_table_format.1 | 2 +- man/mysql_find_rows.1 | 2 +- man/mysql_fix_extensions.1 | 2 +- man/mysql_install_db.1 | 2 +- man/mysql_plugin.1 | 2 +- man/mysql_secure_installation.1 | 2 +- man/mysql_setpermission.1 | 2 +- man/mysql_tzinfo_to_sql.1 | 2 +- man/mysql_upgrade.1 | 2 +- man/mysql_waitpid.1 | 2 +- man/mysql_zap.1 | 2 +- man/mysqlaccess.1 | 2 +- man/mysqladmin.1 | 2 +- man/mysqlbinlog.1 | 2 +- man/mysqlbug.1 | 2 +- man/mysqlcheck.1 | 2 +- man/mysqld.8 | 2 +- man/mysqld_multi.1 | 2 +- man/mysqld_safe.1 | 2 +- man/mysqldump.1 | 2 +- man/mysqldumpslow.1 | 2 +- man/mysqlhotcopy.1 | 2 +- man/mysqlimport.1 | 20 +- man/mysqlshow.1 | 2 +- man/mysqlslap.1 | 2 +- man/mysqltest.1 | 2 +- man/perror.1 | 2 +- man/replace.1 | 2 +- man/resolve_stack_dump.1 | 2 +- man/resolveip.1 | 2 +- man/tokuftdump.1 | 2 +- mysql-test/CMakeLists.txt | 2 +- .../extra/binlog_tests/drop_temp_table.test | 94 +- mysql-test/extra/rpl_tests/rpl_blackhole.test | 2 +- .../extra/rpl_tests/rpl_blackhole_basic.test | 97 + .../rpl_tests/rpl_drop_create_temp_table.test | 4 + .../binlog_parallel_replication_marks.test | 9 +- mysql-test/include/default_my.cnf | 2 +- mysql-test/include/default_mysqld.cnf | 2 +- mysql-test/include/have_perfschema.inc | 2 +- mysql-test/include/mtr_check.sql | 2 +- mysql-test/include/mtr_warnings.sql | 2 +- .../include/set_binlog_format_mixed.sql | 2 +- mysql-test/include/set_binlog_format_row.sql | 2 +- .../include/set_binlog_format_statement.sql | 2 +- mysql-test/lib/My/Config.pm | 10 +- mysql-test/lib/My/ConfigFactory.pm | 2 +- mysql-test/lib/My/CoreDump.pm | 2 +- mysql-test/lib/My/File/Path.pm | 2 +- mysql-test/lib/My/Find.pm | 2 +- mysql-test/lib/My/Handles.pm | 2 +- mysql-test/lib/My/Options.pm | 2 +- mysql-test/lib/My/Platform.pm | 2 +- mysql-test/lib/My/SafeProcess.pm | 2 +- mysql-test/lib/My/SafeProcess/Base.pm | 2 +- mysql-test/lib/My/SafeProcess/CMakeLists.txt | 2 +- .../lib/My/SafeProcess/safe_kill_win.cc | 2 +- mysql-test/lib/My/SafeProcess/safe_process.cc | 2 +- .../lib/My/SafeProcess/safe_process_win.cc | 2 +- mysql-test/lib/My/SysInfo.pm | 2 +- mysql-test/lib/My/Test.pm | 2 +- mysql-test/lib/mtr_cases.pm | 2 +- mysql-test/lib/mtr_gcov.pl | 2 +- mysql-test/lib/mtr_gprof.pl | 2 +- mysql-test/lib/mtr_io.pl | 2 +- mysql-test/lib/mtr_match.pm | 2 +- mysql-test/lib/mtr_misc.pl | 2 +- mysql-test/lib/mtr_process.pl | 2 +- mysql-test/lib/mtr_report.pm | 28 +- mysql-test/lib/mtr_results.pm | 2 +- mysql-test/lib/mtr_stress.pl | 2 +- mysql-test/lib/mtr_unique.pm | 2 +- mysql-test/lib/t/Base.t | 2 +- mysql-test/lib/t/Find.t | 2 +- mysql-test/lib/t/Options.t | 2 +- mysql-test/lib/t/Platform.t | 2 +- mysql-test/lib/t/SafeProcess.t | 2 +- mysql-test/lib/t/SafeProcessStress.pl | 2 +- mysql-test/lib/t/copytree.t | 2 +- mysql-test/lib/t/dummyd.pl | 2 +- mysql-test/lib/t/rmtree.t | 2 +- mysql-test/lib/t/testMyConfig.t | 2 +- mysql-test/lib/t/testMyConfigFactory.t | 2 +- mysql-test/lib/t/test_child.pl | 2 +- mysql-test/lib/v1/My/Config.pm | 2 +- mysql-test/lib/v1/mtr_cases.pl | 2 +- mysql-test/lib/v1/mtr_gcov.pl | 2 +- mysql-test/lib/v1/mtr_gprof.pl | 2 +- mysql-test/lib/v1/mtr_im.pl | 2 +- mysql-test/lib/v1/mtr_io.pl | 2 +- mysql-test/lib/v1/mtr_match.pl | 2 +- mysql-test/lib/v1/mtr_misc.pl | 2 +- mysql-test/lib/v1/mtr_process.pl | 2 +- mysql-test/lib/v1/mtr_report.pl | 2 +- mysql-test/lib/v1/mtr_stress.pl | 2 +- mysql-test/lib/v1/mtr_timer.pl | 2 +- mysql-test/lib/v1/mtr_unique.pl | 2 +- mysql-test/lib/v1/mysql-test-run.pl | 2 +- mysql-test/mysql-stress-test.pl | 2 +- mysql-test/mysql-test-run.pl | 7 +- mysql-test/purify.supp | 2 +- mysql-test/r/connect_debug.result | 5 + mysql-test/r/ctype_utf8_def_upgrade.result | 99 + mysql-test/r/derived.result | 12 +- mysql-test/r/derived_view.result | 460 +- mysql-test/r/func_group.result | 2 + .../r/information_schema_parameters.result | 4 +- mysql-test/r/join.result | 1386 +- mysql-test/r/join_cache.result | 31 + mysql-test/r/join_nested.result | 33 + mysql-test/r/join_nested_jcl6.result | 35 +- mysql-test/r/join_outer.result | 173 +- mysql-test/r/join_outer_innodb.result | 2 +- mysql-test/r/join_outer_jcl6.result | 173 +- mysql-test/r/mdev13607.result | 30 +- mysql-test/r/multi_update.result | 22 +- mysql-test/r/multi_update_debug.result | 13 + mysql-test/r/multi_update_innodb.result | 17 + mysql-test/r/mysqld--help.result | 6 +- mysql-test/r/mysqldump.result | 18 + mysql-test/r/plugin.result | 10 + mysql-test/r/plugin_not_embedded.result | 3 + mysql-test/r/ps.result | 63 + mysql-test/r/ps_innodb.result | 64 + mysql-test/r/repair_symlink-5543.result | 4 +- mysql-test/r/selectivity.result | 6 +- mysql-test/r/selectivity_innodb.result | 6 +- mysql-test/r/sp.result | 14 + mysql-test/r/stat_tables.result | 48 + mysql-test/r/stat_tables_innodb.result | 48 + mysql-test/r/subselect.result | 37 +- mysql-test/r/subselect_cache.result | 2 + mysql-test/r/subselect_exists2in.result | 8 +- mysql-test/r/subselect_mat.result | 91 +- mysql-test/r/subselect_no_exists_to_in.result | 43 +- mysql-test/r/subselect_no_mat.result | 37 +- mysql-test/r/subselect_no_opts.result | 37 +- mysql-test/r/subselect_no_scache.result | 37 +- mysql-test/r/subselect_no_semijoin.result | 37 +- mysql-test/r/subselect_sj.result | 1 + mysql-test/r/subselect_sj_jcl6.result | 1 + mysql-test/r/subselect_sj_mat.result | 91 +- mysql-test/r/type_datetime.result | 10 + mysql-test/r/view.result | 15 + mysql-test/r/view_alias.result | 10 +- mysql-test/std_data/checkDBI_DBD-mysql.pl | 2 +- mysql-test/std_data/latin1.xml | 2 +- .../r/binlog_mysqlbinlog_stop_never.result | 16 + ...nlog_parallel_replication_marks_row.result | 2 - .../binlog/r/binlog_row_drop_tmp_tbl.result | 35 +- .../r/binlog_row_mix_innodb_myisam.result | 2 - .../binlog/r/binlog_stm_drop_tmp_tbl.result | 31 +- .../t/binlog_mysqlbinlog_stop_never.test | 66 + .../encryption/r/innodb_lotoftables.result | 1235 - .../suite/encryption/t/innodb_lotoftables.opt | 3 - .../encryption/t/innodb_lotoftables.test | 240 - mysql-test/suite/galera/disabled.def | 2 - mysql-test/suite/galera/r/MW-336.result | 18 +- .../galera/r/galera_as_slave_gtid.result | 4 + .../suite/galera/r/galera_gcs_fc_limit.result | 27 +- .../suite/galera/r/galera_log_bin.result | 81 +- .../galera/r/galera_log_output_csv.result | 2 + .../r/galera_parallel_autoinc_largetrx.result | 18 +- .../r/galera_parallel_autoinc_manytrx.result | 29 +- .../galera/r/galera_var_gtid_domain_id.result | 3 + mysql-test/suite/galera/r/mdev_10518.result | 3 + mysql-test/suite/galera/t/MW-336.test | 28 +- .../suite/galera/t/galera_as_slave_gtid.test | 10 + .../suite/galera/t/galera_gcs_fc_limit.test | 30 +- mysql-test/suite/galera/t/galera_log_bin.test | 20 +- .../suite/galera/t/galera_log_output_csv.test | 2 + .../t/galera_parallel_autoinc_largetrx.test | 13 +- .../t/galera_parallel_autoinc_manytrx.test | 87 +- .../suite/galera/t/galera_sync_wait_show.test | 2 + .../galera/t/galera_var_gtid_domain_id.test | 7 + mysql-test/suite/galera/t/mdev_10518.test | 7 + .../r/galera_evs_suspect_timeout.result | 21 +- .../t/galera_evs_suspect_timeout.test | 48 +- mysql-test/suite/innodb/disabled.def | 1 + .../suite/innodb/include/show_i_s_tables.inc | 19 + .../innodb/include/show_i_s_tablespaces.inc | 19 + .../innodb/r/check_ibd_filesize,32k.rdiff | 25 + .../innodb/r/check_ibd_filesize,4k.rdiff | 25 + .../innodb/r/check_ibd_filesize,64k.rdiff | 25 + .../innodb/r/check_ibd_filesize,8k.rdiff | 25 + .../suite/innodb/r/check_ibd_filesize.result | 20 + .../suite/innodb/r/create_select.result | 5 + mysql-test/suite/innodb/r/foreign-keys.result | 24 + .../suite/innodb/r/innodb-autoinc.result | 124 + .../innodb/r/innodb-system-table-view.result | 153 + .../suite/innodb/r/innodb-wl5980-debug.result | 27 + .../r/innodb_skip_innodb_is_tables.result | 16 +- .../suite/innodb/r/trx_id_future.result | 11 + .../suite/innodb/t/check_ibd_filesize.test | 53 + mysql-test/suite/innodb/t/create_select.test | 28 + mysql-test/suite/innodb/t/foreign-keys.test | 32 + mysql-test/suite/innodb/t/innodb-autoinc.test | 60 + .../innodb/t/innodb-system-table-view.opt | 11 + .../innodb/t/innodb-system-table-view.test | 136 + .../suite/innodb/t/innodb-wl5980-debug.test | 51 + mysql-test/suite/innodb/t/trx_id_future.test | 58 + .../innodb_fts/r/innodb_ft_aux_table.result | 116 + .../innodb_fts/t/innodb_ft_aux_table.opt | 6 + .../innodb_fts/t/innodb_ft_aux_table.test | 43 + mysql-test/suite/multi_source/mdev-8874.cnf | 25 + .../suite/multi_source/mdev-8874.result | 114 + mysql-test/suite/multi_source/mdev-8874.test | 141 + .../perfschema/t/ddl_esms_by_digest.test | 2 +- .../perfschema/t/dml_esms_by_digest.test | 2 +- mysql-test/suite/perfschema_stress/README | 2 +- mysql-test/suite/rpl/extension/checksum.pl | 2 +- .../suite/rpl/r/create_or_replace_mix.result | 11 + .../suite/rpl/r/create_or_replace_row.result | 7 + .../rpl/r/create_or_replace_statement.result | 11 + .../suite/rpl/r/kill_race_condition.result | 9 +- mysql-test/suite/rpl/r/mdev_17588.result | 32 + .../rpl/r/rpl_blackhole_row_annotate.result | 434 + .../r/rpl_mixed_drop_create_temp_table.result | 31 +- .../r/rpl_row_drop_create_temp_table.result | 27 - .../rpl/r/rpl_row_drop_temp_table.result | 36 + .../rpl/r/rpl_semi_sync_skip_repl.result | 13 +- .../r/rpl_semi_sync_uninstall_plugin.result | 4 - .../r/rpl_stm_drop_create_temp_table.result | 31 +- mysql-test/suite/rpl/t/create_or_replace.inc | 13 + .../suite/rpl/t/kill_race_condition.test | 17 +- mysql-test/suite/rpl/t/mdev_17588-slave.opt | 1 + mysql-test/suite/rpl/t/mdev_17588.test | 39 + mysql-test/suite/rpl/t/rpl_blackhole.test | 77 +- .../t/rpl_blackhole_row_annotate-master.opt | 1 + .../t/rpl_blackhole_row_annotate-slave.opt | 1 + .../rpl/t/rpl_blackhole_row_annotate.test | 49 + .../suite/rpl/t/rpl_row_drop_temp_table.test | 54 + .../suite/rpl/t/rpl_row_mysqlbinlog.test | 3 +- .../suite/rpl/t/rpl_semi_sync_skip_repl.test | 29 +- .../rpl/t/rpl_semi_sync_uninstall_plugin.test | 9 +- .../innodb_ft_result_cache_limit,32bit.rdiff | 11 + ...lt => innodb_ft_result_cache_limit.result} | 0 .../r/innodb_ft_result_cache_limit_32.result | 7 - .../r/sysvars_innodb,32bit,xtradb.rdiff | 4 +- .../sys_vars/r/sysvars_innodb,xtradb.rdiff | 4 +- .../suite/sys_vars/r/sysvars_innodb.result | 2 +- ...test => innodb_ft_result_cache_limit.test} | 2 +- .../t/innodb_ft_result_cache_limit_64.test | 9 - .../sys_vars/t/max_digest_length_basic.test | 2 +- .../sys_vars/t/pfs_digests_size_basic.test | 2 +- .../t/pfs_max_digest_length_basic.test | 2 +- .../pfs_session_connect_attrs_size_basic.test | 2 +- mysql-test/t/bootstrap.test | 9 + mysql-test/t/connect_debug.test | 11 + mysql-test/t/ctype_utf8_def_upgrade.opt | 1 + mysql-test/t/ctype_utf8_def_upgrade.test | 61 + mysql-test/t/derived.test | 7 +- mysql-test/t/derived_view.test | 294 + .../t/information_schema_parameters.test | 2 +- mysql-test/t/join.test | 404 + mysql-test/t/join_cache.test | 34 + mysql-test/t/join_nested.test | 34 + mysql-test/t/join_outer.test | 150 +- mysql-test/t/join_outer_innodb.test | 2 +- mysql-test/t/multi_update.test | 38 +- mysql-test/t/multi_update_debug.test | 27 + mysql-test/t/multi_update_innodb.test | 22 + mysql-test/t/mysqld--help.test | 2 +- mysql-test/t/mysqldump.test | 29 + mysql-test/t/plugin.test | 11 + mysql-test/t/plugin_not_embedded.test | 9 + mysql-test/t/ps.test | 77 + mysql-test/t/ps_innodb.test | 80 + mysql-test/t/repair_symlink-5543.test | 8 +- mysql-test/t/sp.test | 20 + mysql-test/t/stat_tables.test | 47 + mysql-test/t/subselect.test | 24 + mysql-test/t/subselect_sj.test | 2 + mysql-test/t/subselect_sj_mat.test | 75 + mysql-test/t/trigger_null-8605.test | 4 + mysql-test/t/type_datetime.test | 10 + mysql-test/t/view.test | 20 + mysql-test/unstable-tests | 699 +- mysql-test/valgrind.supp | 2 +- mysys/CMakeLists.txt | 2 +- mysys/array.c | 2 +- mysys/base64.c | 2 +- mysys/charset-def.c | 2 +- mysys/charset.c | 2 +- mysys/checksum.c | 2 +- mysys/errors.c | 2 +- mysys/file_logger.c | 2 +- mysys/hash.c | 2 +- mysys/lf_alloc-pin.c | 2 +- mysys/lf_dynarray.c | 2 +- mysys/lf_hash.c | 2 +- mysys/list.c | 2 +- mysys/mf_arr_appstr.c | 2 +- mysys/mf_cache.c | 2 +- mysys/mf_dirname.c | 2 +- mysys/mf_fn_ext.c | 2 +- mysys/mf_format.c | 2 +- mysys/mf_getdate.c | 2 +- mysys/mf_iocache.c | 2 +- mysys/mf_iocache2.c | 2 +- mysys/mf_keycache.c | 2 +- mysys/mf_keycaches.c | 2 +- mysys/mf_loadpath.c | 2 +- mysys/mf_pack.c | 2 +- mysys/mf_path.c | 2 +- mysys/mf_qsort.c | 2 +- mysys/mf_qsort2.c | 2 +- mysys/mf_radix.c | 2 +- mysys/mf_same.c | 2 +- mysys/mf_sort.c | 2 +- mysys/mf_soundex.c | 2 +- mysys/mf_tempdir.c | 2 +- mysys/mf_tempfile.c | 2 +- mysys/mf_unixpath.c | 2 +- mysys/mf_wcomp.c | 2 +- mysys/mulalloc.c | 2 +- mysys/my_access.c | 2 +- mysys/my_addr_resolve.c | 2 +- mysys/my_alarm.c | 2 +- mysys/my_alloc.c | 5 +- mysys/my_atomic.c | 2 +- mysys/my_basename.c | 2 +- mysys/my_bit.c | 2 +- mysys/my_bitmap.c | 2 +- mysys/my_chmod.c | 2 +- mysys/my_chsize.c | 2 +- mysys/my_compare.c | 2 +- mysys/my_compress.c | 2 +- mysys/my_conio.c | 2 +- mysys/my_copy.c | 2 +- mysys/my_crc32.c | 2 +- mysys/my_create.c | 2 +- mysys/my_default.c | 2 +- mysys/my_delete.c | 2 +- mysys/my_div.c | 2 +- mysys/my_dlerror.c | 2 +- mysys/my_error.c | 2 +- mysys/my_file.c | 2 +- mysys/my_fopen.c | 2 +- mysys/my_fstream.c | 2 +- mysys/my_gethwaddr.c | 2 +- mysys/my_getncpus.c | 2 +- mysys/my_getopt.c | 2 +- mysys/my_getpagesize.c | 2 +- mysys/my_getsystime.c | 2 +- mysys/my_getwd.c | 2 +- mysys/my_init.c | 2 +- mysys/my_largepage.c | 2 +- mysys/my_lib.c | 2 +- mysys/my_libwrap.c | 2 +- mysys/my_lock.c | 2 +- mysys/my_lockmem.c | 2 +- mysys/my_malloc.c | 2 +- mysys/my_memmem.c | 2 +- mysys/my_mess.c | 2 +- mysys/my_mkdir.c | 2 +- mysys/my_mmap.c | 2 +- mysys/my_new.cc | 2 +- mysys/my_once.c | 2 +- mysys/my_open.c | 2 +- mysys/my_port.c | 2 +- mysys/my_pread.c | 2 +- mysys/my_pthread.c | 2 +- mysys/my_quick.c | 2 +- mysys/my_rdtsc.c | 2 +- mysys/my_read.c | 2 +- mysys/my_redel.c | 2 +- mysys/my_rename.c | 2 +- mysys/my_rnd.c | 2 +- mysys/my_safehash.c | 2 +- mysys/my_safehash.h | 2 +- mysys/my_seek.c | 2 +- mysys/my_sleep.c | 2 +- mysys/my_static.c | 2 +- mysys/my_static.h | 2 +- mysys/my_symlink.c | 2 +- mysys/my_symlink2.c | 2 +- mysys/my_sync.c | 2 +- mysys/my_thr_init.c | 2 +- mysys/my_timer_cycles.il | 2 +- mysys/my_uuid.c | 2 +- mysys/my_wincond.c | 2 +- mysys/my_windac.c | 2 +- mysys/my_winerr.c | 2 +- mysys/my_winfile.c | 2 +- mysys/my_winthread.c | 2 +- mysys/my_write.c | 2 +- mysys/mysys_priv.h | 2 +- mysys/psi_noop.c | 2 +- mysys/ptr_cmp.c | 2 +- mysys/safemalloc.c | 2 +- mysys/stacktrace.c | 2 +- mysys/string.c | 2 +- mysys/test_charset.c | 2 +- mysys/test_dir.c | 2 +- mysys/test_thr_mutex.c | 2 +- mysys/test_xml.c | 2 +- mysys/testhash.c | 2 +- mysys/thr_alarm.c | 2 +- mysys/thr_lock.c | 2 +- mysys/thr_mutex.c | 2 +- mysys/thr_rwlock.c | 2 +- mysys/thr_timer.c | 2 +- mysys/tree.c | 2 +- mysys/typelib.c | 2 +- mysys/waiting_threads.c | 2 +- mysys/wqueue.c | 2 +- mysys_ssl/CMakeLists.txt | 2 +- mysys_ssl/my_crypt.cc | 2 +- mysys_ssl/my_md5.cc | 2 +- mysys_ssl/my_sha.ic | 2 +- mysys_ssl/my_sha1.cc | 2 +- mysys_ssl/my_sha224.cc | 2 +- mysys_ssl/my_sha256.cc | 2 +- mysys_ssl/my_sha384.cc | 2 +- mysys_ssl/my_sha512.cc | 2 +- mysys_ssl/yassl.cc | 2 +- plugin/audit_null/CMakeLists.txt | 2 +- plugin/audit_null/audit_null.c | 2 +- plugin/auth_dialog/CMakeLists.txt | 2 +- plugin/auth_dialog/dialog.c | 2 +- plugin/auth_ed25519/client_ed25519.c | 2 +- plugin/auth_ed25519/common.h | 2 +- plugin/auth_ed25519/ed25519-t.c | 2 +- plugin/auth_ed25519/server_ed25519.c | 2 +- plugin/auth_examples/CMakeLists.txt | 2 +- plugin/auth_examples/auth_0x0100.c | 2 +- plugin/auth_examples/clear_password_client.c | 2 +- plugin/auth_examples/dialog_examples.c | 2 +- plugin/auth_examples/qa_auth_client.c | 2 +- plugin/auth_examples/qa_auth_interface.c | 2 +- plugin/auth_examples/qa_auth_server.c | 2 +- plugin/auth_examples/test_plugin.c | 2 +- plugin/auth_pam/auth_pam.c | 2 +- plugin/auth_pipe/auth_pipe.c | 2 +- plugin/auth_socket/CMakeLists.txt | 2 +- plugin/auth_socket/auth_socket.c | 2 +- .../aws_key_management_plugin.cc | 2 +- .../cracklib_password_check.c | 2 +- plugin/daemon_example/CMakeLists.txt | 2 +- plugin/daemon_example/daemon_example.cc | 2 +- .../debug_key_management_plugin.cc | 2 +- plugin/disks/information_schema_disks.cc | 12 +- .../mysql-test/disks/disks_notembedded.result | 15 + .../mysql-test/disks/disks_notembedded.test | 25 + .../example_key_management_plugin.cc | 2 +- plugin/feedback/feedback.cc | 2 +- plugin/feedback/feedback.h | 2 +- plugin/feedback/sender_thread.cc | 2 +- plugin/feedback/url_base.cc | 2 +- plugin/feedback/url_http.cc | 2 +- plugin/feedback/utils.cc | 2 +- .../file_key_management_plugin.cc | 2 +- plugin/file_key_management/parser.cc | 2 +- plugin/file_key_management/parser.h | 2 +- plugin/fulltext/CMakeLists.txt | 2 +- plugin/fulltext/plugin_example.c | 2 +- .../metadata_lock_info/metadata_lock_info.cc | 2 +- plugin/query_response_time/plugin.cc | 2 +- plugin/semisync/CMakeLists.txt | 2 +- plugin/semisync/semisync.cc | 2 +- plugin/semisync/semisync.h | 2 +- plugin/semisync/semisync_master.cc | 2 +- plugin/semisync/semisync_master.h | 2 +- plugin/semisync/semisync_master_plugin.cc | 2 +- plugin/semisync/semisync_slave.cc | 2 +- plugin/semisync/semisync_slave.h | 2 +- plugin/semisync/semisync_slave_plugin.cc | 2 +- plugin/server_audit/CMakeLists.txt | 2 +- plugin/server_audit/COPYING | 4 +- plugin/server_audit/plugin_audit_v4.h | 2 +- plugin/server_audit/server_audit.c | 165 +- plugin/server_audit/test_audit_v4.c | 6 +- .../simple_password_check.c | 2 +- plugin/sql_errlog/CMakeLists.txt | 2 +- plugin/sql_errlog/sql_errlog.c | 2 +- plugin/win_auth_client/CMakeLists.txt | 2 +- plugin/win_auth_client/common.cc | 6 +- plugin/win_auth_client/common.h | 2 +- plugin/win_auth_client/handshake.cc | 2 +- plugin/win_auth_client/handshake.h | 2 +- plugin/win_auth_client/handshake_client.cc | 2 +- plugin/win_auth_client/log_client.cc | 2 +- plugin/win_auth_client/plugin_client.cc | 2 +- .../wsrep_info/mysql-test/wsrep_info/my.cnf | 1 - plugin/wsrep_info/plugin.cc | 2 +- scripts/CMakeLists.txt | 2 +- scripts/comp_sql.c | 2 +- scripts/fill_help_tables.sql | 2 +- scripts/galera_recovery.sh | 2 +- scripts/make_win_bin_dist | 2 +- scripts/maria_add_gis_sp.sql.in | 2 +- scripts/mariadb-service-convert | 2 +- scripts/msql2mysql.sh | 2 +- scripts/mysql_config.pl.in | 2 +- scripts/mysql_config.sh | 2 +- scripts/mysql_convert_table_format.sh | 2 +- scripts/mysql_find_rows.sh | 2 +- scripts/mysql_fix_extensions.sh | 2 +- scripts/mysql_install_db.pl.in | 2 +- scripts/mysql_install_db.sh | 11 +- scripts/mysql_secure_installation.pl.in | 2 +- scripts/mysql_secure_installation.sh | 2 +- scripts/mysql_setpermission.sh | 2 +- scripts/mysql_system_tables.sql | 2 +- scripts/mysql_system_tables_data.sql | 2 +- scripts/mysql_system_tables_fix.sql | 2 +- scripts/mysql_test_data_timezone.sql | 2 +- scripts/mysql_zap.sh | 2 +- scripts/mysqlaccess.sh | 2 +- scripts/mysqlbug.sh | 2 +- scripts/mysqld_multi.sh | 2 +- scripts/mysqld_safe.sh | 4 +- scripts/mysqldumpslow.sh | 2 +- scripts/mysqlhotcopy.sh | 2 +- scripts/wsrep_sst_common.sh | 2 +- scripts/wsrep_sst_mariabackup.sh | 2 +- scripts/wsrep_sst_mysqldump.sh | 2 +- scripts/wsrep_sst_rsync.sh | 2 +- scripts/wsrep_sst_xtrabackup-v2.sh | 2 +- scripts/wsrep_sst_xtrabackup.sh | 2 +- sql-bench/CMakeLists.txt | 2 +- sql-bench/as3ap.sh | 2 +- sql-bench/bench-count-distinct.sh | 2 +- sql-bench/bench-init.pl.sh | 2 +- sql-bench/compare-results.sh | 2 +- sql-bench/copy-db.sh | 2 +- sql-bench/crash-me.sh | 2 +- sql-bench/run-all-tests.sh | 2 +- sql-bench/server-cfg.sh | 2 +- sql-bench/test-ATIS.sh | 2 +- sql-bench/test-alter-table.sh | 2 +- sql-bench/test-big-tables.sh | 2 +- sql-bench/test-connect.sh | 2 +- sql-bench/test-create.sh | 2 +- sql-bench/test-insert.sh | 2 +- sql-bench/test-select.sh | 2 +- sql-bench/test-transactions.sh | 2 +- sql-bench/test-wisconsin.sh | 2 +- sql-common/client.c | 2 +- sql-common/client_plugin.c | 10 +- sql-common/my_time.c | 2 +- sql-common/my_user.c | 2 +- sql-common/pack.c | 2 +- sql/CMakeLists.txt | 2 +- sql/authors.h | 2 +- sql/bounded_queue.h | 2 +- sql/client_settings.h | 2 +- sql/compat56.cc | 2 +- sql/compat56.h | 2 +- sql/contributors.h | 2 +- sql/create_options.cc | 2 +- sql/create_options.h | 2 +- sql/custom_conf.h | 2 +- sql/datadict.cc | 2 +- sql/datadict.h | 2 +- sql/debug_sync.cc | 2 +- sql/debug_sync.h | 2 +- sql/derror.cc | 4 +- sql/derror.h | 2 +- sql/des_key_file.cc | 2 +- sql/des_key_file.h | 2 +- sql/discover.cc | 2 +- sql/discover.h | 2 +- sql/encryption.cc | 2 +- sql/event_data_objects.cc | 2 +- sql/event_data_objects.h | 2 +- sql/event_db_repository.cc | 2 +- sql/event_db_repository.h | 2 +- sql/event_parse_data.cc | 2 +- sql/event_parse_data.h | 2 +- sql/event_queue.cc | 2 +- sql/event_queue.h | 2 +- sql/event_scheduler.cc | 2 +- sql/event_scheduler.h | 2 +- sql/events.cc | 2 +- sql/events.h | 2 +- sql/field.cc | 4 +- sql/field.h | 4 +- sql/field_conv.cc | 2 +- sql/filesort.cc | 20 +- sql/filesort.h | 2 +- sql/filesort_utils.cc | 2 +- sql/filesort_utils.h | 2 +- sql/gcalc_slicescan.cc | 2 +- sql/gcalc_slicescan.h | 2 +- sql/gcalc_tools.cc | 2 +- sql/gcalc_tools.h | 2 +- sql/gen_lex_hash.cc | 30 +- sql/gen_lex_token.cc | 2 +- sql/group_by_handler.cc | 2 +- sql/group_by_handler.h | 2 +- sql/gstream.cc | 2 +- sql/gstream.h | 2 +- sql/ha_partition.cc | 2 +- sql/ha_partition.h | 2 +- sql/handler.cc | 40 +- sql/handler.h | 2 +- sql/hash_filo.cc | 2 +- sql/hash_filo.h | 2 +- sql/hostname.cc | 2 +- sql/hostname.h | 2 +- sql/init.cc | 2 +- sql/init.h | 2 +- sql/innodb_priv.h | 2 +- sql/item.cc | 15 +- sql/item.h | 3 +- sql/item_buff.cc | 2 +- sql/item_cmpfunc.cc | 14 +- sql/item_cmpfunc.h | 6 +- sql/item_create.cc | 2 +- sql/item_create.h | 2 +- sql/item_func.cc | 7 +- sql/item_func.h | 2 +- sql/item_geofunc.cc | 2 +- sql/item_geofunc.h | 2 +- sql/item_inetfunc.cc | 2 +- sql/item_inetfunc.h | 2 +- sql/item_row.cc | 2 +- sql/item_row.h | 2 +- sql/item_strfunc.cc | 16 +- sql/item_strfunc.h | 2 +- sql/item_subselect.cc | 23 +- sql/item_subselect.h | 2 +- sql/item_sum.cc | 13 +- sql/item_sum.h | 2 +- sql/item_timefunc.cc | 2 +- sql/item_timefunc.h | 2 +- sql/item_xmlfunc.cc | 8 +- sql/item_xmlfunc.h | 5 +- sql/key.cc | 8 +- sql/key.h | 2 +- sql/keycaches.cc | 2 +- sql/keycaches.h | 2 +- sql/lex.h | 2 +- sql/lex_symbol.h | 2 +- sql/lock.cc | 6 +- sql/lock.h | 2 +- sql/log.cc | 9 +- sql/log.h | 2 +- sql/log_event.cc | 4 +- sql/log_event.h | 2 +- sql/log_event_old.cc | 2 +- sql/log_event_old.h | 2 +- sql/log_slow.h | 2 +- sql/main.cc | 2 +- sql/mdl.cc | 2 +- sql/mdl.h | 2 +- sql/mem_root_array.h | 2 +- sql/message.h | 2 +- sql/mf_iocache.cc | 4 +- sql/mf_iocache_encr.cc | 2 +- sql/multi_range_read.cc | 2 +- sql/multi_range_read.h | 2 +- sql/my_apc.cc | 2 +- sql/my_apc.h | 2 +- sql/my_decimal.cc | 2 +- sql/my_decimal.h | 2 +- sql/my_json_writer.cc | 9 +- sql/my_json_writer.h | 3 +- sql/mysql_install_db.cc | 2 +- sql/mysql_upgrade_service.cc | 7 +- sql/mysqld.cc | 2 +- sql/mysqld.h | 12 +- sql/mysqld_suffix.h | 2 +- sql/net_serv.cc | 6 +- sql/opt_index_cond_pushdown.cc | 2 +- sql/opt_range.cc | 4 +- sql/opt_range.h | 2 +- sql/opt_range_mrr.cc | 2 +- sql/opt_subselect.cc | 75 +- sql/opt_subselect.h | 2 +- sql/opt_sum.cc | 2 +- sql/opt_table_elimination.cc | 2 +- sql/parse_file.cc | 2 +- sql/parse_file.h | 2 +- sql/partition_element.h | 2 +- sql/partition_info.cc | 2 +- sql/partition_info.h | 2 +- sql/password.c | 2 +- sql/plistsort.c | 12 +- sql/procedure.cc | 2 +- sql/procedure.h | 2 +- sql/protocol.cc | 2 +- sql/protocol.h | 2 +- sql/records.cc | 4 +- sql/records.h | 2 +- sql/repl_failsafe.cc | 2 +- sql/repl_failsafe.h | 2 +- sql/replication.h | 2 +- sql/rpl_constants.h | 2 +- sql/rpl_filter.cc | 2 +- sql/rpl_filter.h | 2 +- sql/rpl_gtid.cc | 2 +- sql/rpl_gtid.h | 2 +- sql/rpl_handler.cc | 2 +- sql/rpl_handler.h | 2 +- sql/rpl_injector.cc | 2 +- sql/rpl_injector.h | 2 +- sql/rpl_mi.cc | 13 +- sql/rpl_mi.h | 2 +- sql/rpl_record.cc | 2 +- sql/rpl_record.h | 2 +- sql/rpl_record_old.cc | 2 +- sql/rpl_record_old.h | 2 +- sql/rpl_reporting.cc | 2 +- sql/rpl_reporting.h | 2 +- sql/rpl_rli.cc | 2 +- sql/rpl_rli.h | 2 +- sql/rpl_tblmap.cc | 2 +- sql/rpl_tblmap.h | 2 +- sql/rpl_utility.cc | 2 +- sql/rpl_utility.h | 2 +- sql/scheduler.cc | 2 +- sql/scheduler.h | 2 +- sql/set_var.cc | 2 +- sql/set_var.h | 2 +- sql/share/CMakeLists.txt | 2 +- sql/share/charsets/Index.xml | 2 +- sql/share/charsets/armscii8.xml | 2 +- sql/share/charsets/ascii.xml | 2 +- sql/share/charsets/cp1250.xml | 2 +- sql/share/charsets/cp1251.xml | 2 +- sql/share/charsets/cp1256.xml | 2 +- sql/share/charsets/cp1257.xml | 2 +- sql/share/charsets/cp850.xml | 2 +- sql/share/charsets/cp852.xml | 2 +- sql/share/charsets/cp866.xml | 2 +- sql/share/charsets/dec8.xml | 2 +- sql/share/charsets/geostd8.xml | 2 +- sql/share/charsets/greek.xml | 2 +- sql/share/charsets/hebrew.xml | 2 +- sql/share/charsets/hp8.xml | 2 +- sql/share/charsets/keybcs2.xml | 2 +- sql/share/charsets/koi8r.xml | 2 +- sql/share/charsets/koi8u.xml | 2 +- sql/share/charsets/languages.html | 2 +- sql/share/charsets/latin1.xml | 2 +- sql/share/charsets/latin2.xml | 2 +- sql/share/charsets/latin5.xml | 2 +- sql/share/charsets/latin7.xml | 2 +- sql/share/charsets/macce.xml | 2 +- sql/share/charsets/macroman.xml | 2 +- sql/share/charsets/swe7.xml | 2 +- sql/signal_handler.cc | 2 +- sql/slave.cc | 4 +- sql/slave.h | 2 +- sql/sp.cc | 2 +- sql/sp.h | 2 +- sql/sp_cache.cc | 2 +- sql/sp_cache.h | 2 +- sql/sp_head.cc | 4 +- sql/sp_head.h | 2 +- sql/sp_pcontext.cc | 2 +- sql/sp_pcontext.h | 2 +- sql/sp_rcontext.cc | 2 +- sql/sp_rcontext.h | 2 +- sql/spatial.cc | 2 +- sql/spatial.h | 2 +- sql/sql_acl.cc | 5 +- sql/sql_acl.h | 2 +- sql/sql_admin.cc | 2 +- sql/sql_admin.h | 2 +- sql/sql_alter.cc | 14 +- sql/sql_alter.h | 7 +- sql/sql_analyse.cc | 2 +- sql/sql_analyse.h | 2 +- sql/sql_analyze_stmt.cc | 2 +- sql/sql_analyze_stmt.h | 2 +- sql/sql_array.h | 2 +- sql/sql_audit.cc | 18 +- sql/sql_audit.h | 3 +- sql/sql_base.cc | 111 +- sql/sql_base.h | 16 +- sql/sql_binlog.cc | 2 +- sql/sql_binlog.h | 2 +- sql/sql_bitmap.h | 2 +- sql/sql_bootstrap.cc | 2 +- sql/sql_bootstrap.h | 2 +- sql/sql_builtin.cc.in | 2 +- sql/sql_cache.cc | 2 +- sql/sql_cache.h | 2 +- sql/sql_callback.h | 2 +- sql/sql_class.cc | 6 +- sql/sql_class.h | 5 +- sql/sql_client.cc | 2 +- sql/sql_cmd.h | 43 +- sql/sql_connect.cc | 5 +- sql/sql_connect.h | 2 +- sql/sql_const.h | 10 +- sql/sql_crypt.cc | 2 +- sql/sql_crypt.h | 2 +- sql/sql_cursor.cc | 2 +- sql/sql_cursor.h | 2 +- sql/sql_db.cc | 4 +- sql/sql_db.h | 2 +- sql/sql_delete.cc | 7 +- sql/sql_delete.h | 2 +- sql/sql_derived.cc | 2 +- sql/sql_derived.h | 2 +- sql/sql_digest.cc | 2 +- sql/sql_digest.h | 2 +- sql/sql_digest_stream.h | 2 +- sql/sql_do.cc | 2 +- sql/sql_do.h | 2 +- sql/sql_error.cc | 2 +- sql/sql_error.h | 2 +- sql/sql_explain.cc | 10 +- sql/sql_explain.h | 2 +- sql/sql_expression_cache.cc | 2 +- sql/sql_expression_cache.h | 2 +- sql/sql_get_diagnostics.cc | 2 +- sql/sql_get_diagnostics.h | 2 +- sql/sql_handler.cc | 2 +- sql/sql_handler.h | 2 +- sql/sql_help.cc | 2 +- sql/sql_help.h | 2 +- sql/sql_hset.h | 2 +- sql/sql_insert.cc | 14 +- sql/sql_insert.h | 2 +- sql/sql_join_cache.cc | 5 +- sql/sql_join_cache.h | 2 +- sql/sql_lex.cc | 18 +- sql/sql_lex.h | 27 +- sql/sql_lifo_buffer.h | 2 +- sql/sql_list.cc | 2 +- sql/sql_list.h | 2 +- sql/sql_load.cc | 2 +- sql/sql_load.h | 2 +- sql/sql_locale.cc | 2 +- sql/sql_locale.h | 2 +- sql/sql_manager.cc | 2 +- sql/sql_manager.h | 2 +- sql/sql_parse.cc | 515 +- sql/sql_parse.h | 2 +- sql/sql_partition.cc | 2 +- sql/sql_partition.h | 2 +- sql/sql_partition_admin.cc | 2 +- sql/sql_partition_admin.h | 2 +- sql/sql_plist.h | 2 +- sql/sql_plugin.cc | 21 +- sql/sql_plugin.h | 3 +- sql/sql_plugin_compat.h | 2 +- sql/sql_plugin_services.ic | 2 +- sql/sql_prepare.cc | 4 +- sql/sql_prepare.h | 2 +- sql/sql_priv.h | 2 +- sql/sql_profile.cc | 2 +- sql/sql_profile.h | 2 +- sql/sql_reload.cc | 2 +- sql/sql_reload.h | 2 +- sql/sql_rename.cc | 2 +- sql/sql_rename.h | 2 +- sql/sql_repl.cc | 2 +- sql/sql_repl.h | 2 +- sql/sql_select.cc | 282 +- sql/sql_select.h | 2 +- sql/sql_servers.cc | 2 +- sql/sql_servers.h | 2 +- sql/sql_show.cc | 14 +- sql/sql_show.h | 2 +- sql/sql_signal.cc | 2 +- sql/sql_signal.h | 2 +- sql/sql_sort.h | 2 +- sql/sql_state.c | 2 +- sql/sql_statistics.cc | 10 +- sql/sql_statistics.h | 2 +- sql/sql_string.cc | 14 +- sql/sql_string.h | 2 +- sql/sql_table.cc | 402 +- sql/sql_table.h | 2 +- sql/sql_tablespace.cc | 2 +- sql/sql_tablespace.h | 2 +- sql/sql_test.cc | 2 +- sql/sql_test.h | 2 +- sql/sql_time.cc | 2 +- sql/sql_time.h | 2 +- sql/sql_trigger.cc | 2 +- sql/sql_trigger.h | 2 +- sql/sql_truncate.cc | 2 +- sql/sql_truncate.h | 2 +- sql/sql_type.cc | 2 +- sql/sql_type.h | 2 +- sql/sql_type_int.h | 2 +- sql/sql_udf.cc | 2 +- sql/sql_udf.h | 2 +- sql/sql_union.cc | 2 +- sql/sql_union.h | 2 +- sql/sql_update.cc | 231 +- sql/sql_update.h | 2 +- sql/sql_view.cc | 2 +- sql/sql_view.h | 2 +- sql/sql_yacc.cc | 23240 ++++++++-------- sql/sql_yacc.h | 8 +- sql/sql_yacc.yy | 89 +- sql/strfunc.cc | 2 +- sql/strfunc.h | 2 +- sql/structs.h | 2 +- sql/sys_vars.cc | 2 +- sql/sys_vars.ic | 2 +- sql/sys_vars_shared.h | 2 +- sql/table.cc | 33 +- sql/table.h | 26 +- sql/table_cache.cc | 2 +- sql/table_cache.h | 2 +- sql/thr_malloc.cc | 2 +- sql/thr_malloc.h | 2 +- sql/threadpool.h | 2 +- sql/threadpool_common.cc | 5 +- sql/threadpool_unix.cc | 2 +- sql/threadpool_win.cc | 2 +- sql/transaction.cc | 2 +- sql/transaction.h | 2 +- sql/tzfile.h | 2 +- sql/tztime.cc | 2 +- sql/tztime.h | 2 +- sql/udf_example.c | 2 +- sql/uniques.cc | 4 +- sql/unireg.cc | 3 +- sql/unireg.h | 2 +- sql/winservice.c | 2 +- sql/winservice.h | 2 +- sql/wsrep_applier.cc | 2 +- sql/wsrep_applier.h | 2 +- sql/wsrep_binlog.cc | 2 +- sql/wsrep_binlog.h | 2 +- sql/wsrep_check_opts.cc | 2 +- sql/wsrep_dummy.cc | 2 +- sql/wsrep_hton.cc | 2 +- sql/wsrep_mysqld.cc | 2 +- sql/wsrep_mysqld.h | 2 +- sql/wsrep_mysqld_c.h | 2 +- sql/wsrep_notify.cc | 2 +- sql/wsrep_priv.h | 2 +- sql/wsrep_sst.cc | 2 +- sql/wsrep_sst.h | 2 +- sql/wsrep_thd.cc | 2 +- sql/wsrep_thd.h | 2 +- sql/wsrep_utils.cc | 2 +- sql/wsrep_utils.h | 2 +- sql/wsrep_var.cc | 2 +- sql/wsrep_var.h | 2 +- sql/wsrep_xid.cc | 2 +- sql/wsrep_xid.h | 2 +- storage/archive/CMakeLists.txt | 2 +- storage/archive/archive_reader.c | 2 +- storage/archive/archive_test.c | 2 +- storage/archive/ha_archive.cc | 2 +- storage/archive/ha_archive.h | 2 +- storage/blackhole/CMakeLists.txt | 2 +- storage/blackhole/ha_blackhole.cc | 32 +- storage/blackhole/ha_blackhole.h | 2 +- storage/cassandra/ha_cassandra.cc | 2 +- storage/cassandra/ha_cassandra.h | 2 +- storage/connect/CMakeLists.txt | 2 +- storage/connect/array.cpp | 4 +- storage/connect/connect.cc | 2 +- storage/connect/connect.h | 2 +- storage/connect/csort.cpp | 22 +- storage/connect/filter.cpp | 83 - storage/connect/ha_connect.cc | 8 +- storage/connect/ha_connect.h | 2 +- storage/connect/inihandl.cpp | 2 +- storage/connect/jdbconn.cpp | 56 +- storage/connect/mycat.cc | 6 +- storage/connect/mycat.h | 2 +- .../connect/mysql-test/connect/disabled.def | 24 +- .../connect/mysql-test/connect/r/jdbc.result | 12 + .../mysql-test/connect/r/json_java_2.result | 3 - .../mysql-test/connect/r/tbl_thread.result | 13 + storage/connect/odbconn.cpp | 2 +- storage/connect/user_connect.cc | 2 +- storage/connect/user_connect.h | 2 +- storage/connect/valblk.cpp | 4 +- storage/connect/xindex.cpp | 18 +- storage/csv/CMakeLists.txt | 2 +- storage/csv/ha_tina.cc | 2 +- storage/csv/ha_tina.h | 2 +- storage/csv/transparent_file.cc | 2 +- storage/csv/transparent_file.h | 2 +- storage/example/CMakeLists.txt | 2 +- storage/example/ha_example.cc | 2 +- storage/example/ha_example.h | 2 +- storage/federated/CMakeLists.txt | 2 +- storage/federated/ha_federated.cc | 2 +- storage/federated/ha_federated.h | 2 +- storage/heap/CMakeLists.txt | 2 +- storage/heap/_check.c | 2 +- storage/heap/_rectest.c | 2 +- storage/heap/ha_heap.cc | 2 +- storage/heap/ha_heap.h | 2 +- storage/heap/heapdef.h | 4 +- storage/heap/hp_block.c | 2 +- storage/heap/hp_clear.c | 2 +- storage/heap/hp_close.c | 2 +- storage/heap/hp_create.c | 2 +- storage/heap/hp_delete.c | 2 +- storage/heap/hp_extra.c | 2 +- storage/heap/hp_hash.c | 2 +- storage/heap/hp_info.c | 2 +- storage/heap/hp_open.c | 2 +- storage/heap/hp_panic.c | 2 +- storage/heap/hp_rename.c | 2 +- storage/heap/hp_rfirst.c | 2 +- storage/heap/hp_rkey.c | 2 +- storage/heap/hp_rlast.c | 2 +- storage/heap/hp_rnext.c | 2 +- storage/heap/hp_rprev.c | 2 +- storage/heap/hp_rrnd.c | 2 +- storage/heap/hp_rsame.c | 2 +- storage/heap/hp_scan.c | 2 +- storage/heap/hp_static.c | 2 +- storage/heap/hp_test1.c | 2 +- storage/heap/hp_test2.c | 2 +- storage/heap/hp_update.c | 2 +- storage/heap/hp_write.c | 2 +- storage/innobase/CMakeLists.txt | 5 +- storage/innobase/api/api0api.cc | 2 +- storage/innobase/api/api0misc.cc | 2 +- storage/innobase/btr/btr0btr.cc | 2 +- storage/innobase/btr/btr0cur.cc | 2 +- storage/innobase/btr/btr0defragment.cc | 19 +- storage/innobase/btr/btr0pcur.cc | 2 +- storage/innobase/btr/btr0sea.cc | 2 +- storage/innobase/buf/buf0buddy.cc | 9 +- storage/innobase/buf/buf0buf.cc | 38 +- storage/innobase/buf/buf0checksum.cc | 2 +- storage/innobase/buf/buf0dblwr.cc | 11 +- storage/innobase/buf/buf0dump.cc | 2 +- storage/innobase/buf/buf0flu.cc | 2 +- storage/innobase/buf/buf0lru.cc | 16 +- storage/innobase/buf/buf0mtflu.cc | 2 +- storage/innobase/buf/buf0rea.cc | 2 +- storage/innobase/compile-innodb | 2 +- storage/innobase/data/data0data.cc | 2 +- storage/innobase/data/data0type.cc | 2 +- storage/innobase/dict/dict0boot.cc | 2 +- storage/innobase/dict/dict0crea.cc | 2 +- storage/innobase/dict/dict0dict.cc | 2 +- storage/innobase/dict/dict0load.cc | 2 +- storage/innobase/dict/dict0mem.cc | 4 +- storage/innobase/dict/dict0stats.cc | 14 +- storage/innobase/dict/dict0stats_bg.cc | 6 +- storage/innobase/dyn/dyn0dyn.cc | 2 +- storage/innobase/eval/eval0eval.cc | 5 +- storage/innobase/eval/eval0proc.cc | 2 +- storage/innobase/fil/fil0crypt.cc | 23 +- storage/innobase/fil/fil0fil.cc | 30 +- storage/innobase/fil/fil0pagecompress.cc | 2 +- storage/innobase/fsp/fsp0fsp.cc | 2 +- storage/innobase/fts/fts0ast.cc | 2 +- storage/innobase/fts/fts0blex.cc | 2 +- storage/innobase/fts/fts0blex.l | 2 +- storage/innobase/fts/fts0config.cc | 27 +- storage/innobase/fts/fts0fts.cc | 264 +- storage/innobase/fts/fts0opt.cc | 508 +- storage/innobase/fts/fts0pars.y | 2 +- storage/innobase/fts/fts0que.cc | 36 +- storage/innobase/fts/fts0sql.cc | 153 +- storage/innobase/fts/fts0tlex.cc | 2 +- storage/innobase/fts/fts0tlex.l | 2 +- storage/innobase/fts/make_parser.sh | 2 +- storage/innobase/fut/fut0fut.cc | 2 +- storage/innobase/fut/fut0lst.cc | 2 +- storage/innobase/ha/ha0ha.cc | 2 +- storage/innobase/ha/ha0storage.cc | 2 +- storage/innobase/ha/hash0hash.cc | 2 +- storage/innobase/handler/ha_innodb.cc | 288 +- storage/innobase/handler/ha_innodb.h | 4 +- storage/innobase/handler/handler0alter.cc | 2 +- storage/innobase/handler/i_s.cc | 110 +- storage/innobase/handler/i_s.h | 8 +- storage/innobase/ibuf/ibuf0ibuf.cc | 2 +- storage/innobase/include/api0api.h | 2 +- storage/innobase/include/api0misc.h | 2 +- storage/innobase/include/btr0btr.h | 2 +- storage/innobase/include/btr0btr.ic | 2 +- storage/innobase/include/btr0cur.h | 2 +- storage/innobase/include/btr0cur.ic | 2 +- storage/innobase/include/btr0defragment.h | 2 +- storage/innobase/include/btr0pcur.h | 2 +- storage/innobase/include/btr0pcur.ic | 2 +- storage/innobase/include/btr0sea.h | 2 +- storage/innobase/include/btr0sea.ic | 2 +- storage/innobase/include/btr0types.h | 2 +- storage/innobase/include/buf0buddy.h | 2 +- storage/innobase/include/buf0buddy.ic | 2 +- storage/innobase/include/buf0buf.h | 2 +- storage/innobase/include/buf0buf.ic | 2 +- storage/innobase/include/buf0checksum.h | 2 +- storage/innobase/include/buf0dblwr.h | 2 +- storage/innobase/include/buf0dump.h | 2 +- storage/innobase/include/buf0flu.h | 2 +- storage/innobase/include/buf0flu.ic | 2 +- storage/innobase/include/buf0lru.h | 10 +- storage/innobase/include/buf0lru.ic | 2 +- storage/innobase/include/buf0mtflu.h | 2 +- storage/innobase/include/buf0rea.h | 2 +- storage/innobase/include/buf0types.h | 2 +- storage/innobase/include/data0data.h | 2 +- storage/innobase/include/data0data.ic | 2 +- storage/innobase/include/data0type.h | 2 +- storage/innobase/include/data0type.ic | 2 +- storage/innobase/include/data0types.h | 2 +- storage/innobase/include/db0err.h | 2 +- storage/innobase/include/dict0boot.h | 2 +- storage/innobase/include/dict0boot.ic | 2 +- storage/innobase/include/dict0crea.h | 2 +- storage/innobase/include/dict0crea.ic | 2 +- storage/innobase/include/dict0dict.h | 2 +- storage/innobase/include/dict0dict.ic | 2 +- storage/innobase/include/dict0load.h | 2 +- storage/innobase/include/dict0load.ic | 2 +- storage/innobase/include/dict0mem.h | 6 +- storage/innobase/include/dict0mem.ic | 2 +- storage/innobase/include/dict0pagecompress.h | 2 +- storage/innobase/include/dict0pagecompress.ic | 2 +- storage/innobase/include/dict0priv.h | 2 +- storage/innobase/include/dict0priv.ic | 2 +- storage/innobase/include/dict0stats.h | 2 +- storage/innobase/include/dict0stats.ic | 2 +- storage/innobase/include/dict0stats_bg.h | 2 +- storage/innobase/include/dict0stats_bg.ic | 2 +- storage/innobase/include/dict0types.h | 2 +- storage/innobase/include/dyn0dyn.h | 2 +- storage/innobase/include/dyn0dyn.ic | 2 +- storage/innobase/include/eval0eval.h | 2 +- storage/innobase/include/eval0eval.ic | 2 +- storage/innobase/include/eval0proc.h | 2 +- storage/innobase/include/eval0proc.ic | 2 +- storage/innobase/include/fil0crypt.h | 2 +- storage/innobase/include/fil0crypt.ic | 2 +- storage/innobase/include/fil0fil.h | 16 +- storage/innobase/include/fil0fil.ic | 2 +- storage/innobase/include/fil0pagecompress.h | 2 +- storage/innobase/include/fsp0fsp.h | 2 +- storage/innobase/include/fsp0fsp.ic | 2 +- storage/innobase/include/fsp0pagecompress.h | 2 +- storage/innobase/include/fsp0pagecompress.ic | 2 +- storage/innobase/include/fsp0types.h | 2 +- storage/innobase/include/fts0ast.h | 2 +- storage/innobase/include/fts0fts.h | 28 +- storage/innobase/include/fts0opt.h | 2 +- storage/innobase/include/fts0priv.h | 34 +- storage/innobase/include/fts0priv.ic | 2 +- storage/innobase/include/fts0types.h | 6 +- storage/innobase/include/fts0types.ic | 2 +- storage/innobase/include/fts0vlc.ic | 2 +- storage/innobase/include/fut0fut.h | 2 +- storage/innobase/include/fut0fut.ic | 2 +- storage/innobase/include/fut0lst.h | 2 +- storage/innobase/include/fut0lst.ic | 2 +- storage/innobase/include/ha0ha.h | 2 +- storage/innobase/include/ha0ha.ic | 2 +- storage/innobase/include/ha0storage.h | 2 +- storage/innobase/include/ha0storage.ic | 2 +- storage/innobase/include/ha_prototypes.h | 2 +- storage/innobase/include/handler0alter.h | 2 +- storage/innobase/include/hash0hash.h | 2 +- storage/innobase/include/hash0hash.ic | 2 +- storage/innobase/include/ibuf0ibuf.h | 2 +- storage/innobase/include/ibuf0ibuf.ic | 2 +- storage/innobase/include/ibuf0types.h | 2 +- storage/innobase/include/lock0iter.h | 2 +- storage/innobase/include/lock0lock.h | 18 +- storage/innobase/include/lock0lock.ic | 2 +- storage/innobase/include/lock0priv.h | 14 +- storage/innobase/include/lock0priv.ic | 2 +- storage/innobase/include/lock0types.h | 2 +- storage/innobase/include/log0crypt.h | 2 +- storage/innobase/include/log0log.h | 2 +- storage/innobase/include/log0log.ic | 2 +- storage/innobase/include/log0recv.h | 6 +- storage/innobase/include/log0recv.ic | 2 +- storage/innobase/include/mach0data.h | 2 +- storage/innobase/include/mach0data.ic | 2 +- storage/innobase/include/mem0dbg.h | 2 +- storage/innobase/include/mem0dbg.ic | 2 +- storage/innobase/include/mem0mem.h | 2 +- storage/innobase/include/mem0mem.ic | 2 +- storage/innobase/include/mem0pool.h | 2 +- storage/innobase/include/mem0pool.ic | 2 +- storage/innobase/include/mtr0log.h | 2 +- storage/innobase/include/mtr0log.ic | 2 +- storage/innobase/include/mtr0mtr.h | 2 +- storage/innobase/include/mtr0mtr.ic | 2 +- storage/innobase/include/mtr0types.h | 2 +- storage/innobase/include/os0file.h | 2 +- storage/innobase/include/os0file.ic | 2 +- storage/innobase/include/os0once.h | 2 +- storage/innobase/include/os0proc.h | 2 +- storage/innobase/include/os0proc.ic | 2 +- storage/innobase/include/os0sync.h | 2 +- storage/innobase/include/os0sync.ic | 2 +- storage/innobase/include/os0thread.h | 2 +- storage/innobase/include/os0thread.ic | 2 +- storage/innobase/include/page0cur.h | 2 +- storage/innobase/include/page0cur.ic | 2 +- storage/innobase/include/page0page.h | 2 +- storage/innobase/include/page0page.ic | 2 +- storage/innobase/include/page0size.h | 2 +- storage/innobase/include/page0types.h | 2 +- storage/innobase/include/page0zip.h | 2 +- storage/innobase/include/page0zip.ic | 2 +- storage/innobase/include/pars0grm.h | 2 +- storage/innobase/include/pars0opt.h | 2 +- storage/innobase/include/pars0opt.ic | 2 +- storage/innobase/include/pars0pars.h | 2 +- storage/innobase/include/pars0pars.ic | 2 +- storage/innobase/include/pars0sym.h | 2 +- storage/innobase/include/pars0sym.ic | 2 +- storage/innobase/include/pars0types.h | 2 +- storage/innobase/include/que0que.h | 2 +- storage/innobase/include/que0que.ic | 2 +- storage/innobase/include/que0types.h | 2 +- storage/innobase/include/read0read.h | 2 +- storage/innobase/include/read0read.ic | 2 +- storage/innobase/include/read0types.h | 2 +- storage/innobase/include/rem0cmp.h | 2 +- storage/innobase/include/rem0cmp.ic | 2 +- storage/innobase/include/rem0rec.h | 2 +- storage/innobase/include/rem0rec.ic | 2 +- storage/innobase/include/rem0types.h | 2 +- storage/innobase/include/row0ext.h | 2 +- storage/innobase/include/row0ext.ic | 2 +- storage/innobase/include/row0ftsort.h | 2 +- storage/innobase/include/row0import.h | 2 +- storage/innobase/include/row0import.ic | 2 +- storage/innobase/include/row0ins.h | 2 +- storage/innobase/include/row0ins.ic | 2 +- storage/innobase/include/row0log.h | 2 +- storage/innobase/include/row0log.ic | 2 +- storage/innobase/include/row0merge.h | 2 +- storage/innobase/include/row0mysql.h | 5 +- storage/innobase/include/row0mysql.ic | 2 +- storage/innobase/include/row0purge.h | 2 +- storage/innobase/include/row0purge.ic | 2 +- storage/innobase/include/row0quiesce.h | 2 +- storage/innobase/include/row0quiesce.ic | 2 +- storage/innobase/include/row0row.h | 2 +- storage/innobase/include/row0row.ic | 2 +- storage/innobase/include/row0sel.h | 2 +- storage/innobase/include/row0sel.ic | 2 +- storage/innobase/include/row0types.h | 2 +- storage/innobase/include/row0uins.h | 2 +- storage/innobase/include/row0uins.ic | 2 +- storage/innobase/include/row0umod.h | 2 +- storage/innobase/include/row0umod.ic | 2 +- storage/innobase/include/row0undo.h | 2 +- storage/innobase/include/row0undo.ic | 2 +- storage/innobase/include/row0upd.h | 2 +- storage/innobase/include/row0upd.ic | 2 +- storage/innobase/include/row0vers.h | 2 +- storage/innobase/include/row0vers.ic | 2 +- storage/innobase/include/srv0conc.h | 2 +- storage/innobase/include/srv0mon.h | 12 +- storage/innobase/include/srv0mon.ic | 2 +- storage/innobase/include/srv0srv.h | 14 +- storage/innobase/include/srv0srv.ic | 2 +- storage/innobase/include/srv0start.h | 2 +- storage/innobase/include/sync0arr.h | 2 +- storage/innobase/include/sync0arr.ic | 2 +- storage/innobase/include/sync0rw.h | 2 +- storage/innobase/include/sync0rw.ic | 2 +- storage/innobase/include/sync0sync.h | 2 +- storage/innobase/include/sync0sync.ic | 2 +- storage/innobase/include/sync0types.h | 2 +- storage/innobase/include/trx0i_s.h | 7 +- storage/innobase/include/trx0purge.h | 2 +- storage/innobase/include/trx0purge.ic | 2 +- storage/innobase/include/trx0rec.h | 2 +- storage/innobase/include/trx0rec.ic | 2 +- storage/innobase/include/trx0roll.h | 2 +- storage/innobase/include/trx0roll.ic | 2 +- storage/innobase/include/trx0rseg.h | 2 +- storage/innobase/include/trx0rseg.ic | 2 +- storage/innobase/include/trx0sys.h | 2 +- storage/innobase/include/trx0sys.ic | 2 +- storage/innobase/include/trx0trx.h | 11 +- storage/innobase/include/trx0trx.ic | 2 +- storage/innobase/include/trx0types.h | 2 +- storage/innobase/include/trx0undo.h | 2 +- storage/innobase/include/trx0undo.ic | 2 +- storage/innobase/include/trx0xa.h | 2 +- storage/innobase/include/univ.i | 4 +- storage/innobase/include/usr0sess.h | 2 +- storage/innobase/include/usr0sess.ic | 2 +- storage/innobase/include/usr0types.h | 2 +- storage/innobase/include/ut0bh.h | 2 +- storage/innobase/include/ut0bh.ic | 2 +- storage/innobase/include/ut0byte.h | 2 +- storage/innobase/include/ut0byte.ic | 2 +- storage/innobase/include/ut0counter.h | 2 +- storage/innobase/include/ut0crc32.h | 2 +- storage/innobase/include/ut0dbg.h | 2 +- storage/innobase/include/ut0list.h | 2 +- storage/innobase/include/ut0list.ic | 2 +- storage/innobase/include/ut0lst.h | 2 +- storage/innobase/include/ut0mem.h | 2 +- storage/innobase/include/ut0mem.ic | 2 +- storage/innobase/include/ut0rbt.h | 2 +- storage/innobase/include/ut0rnd.h | 2 +- storage/innobase/include/ut0rnd.ic | 2 +- storage/innobase/include/ut0sort.h | 2 +- storage/innobase/include/ut0timer.h | 69 - storage/innobase/include/ut0timer.ic | 56 - storage/innobase/include/ut0ut.h | 86 +- storage/innobase/include/ut0ut.ic | 2 +- storage/innobase/include/ut0vec.h | 2 +- storage/innobase/include/ut0vec.ic | 2 +- storage/innobase/include/ut0wqueue.h | 4 +- storage/innobase/lock/lock0iter.cc | 2 +- storage/innobase/lock/lock0lock.cc | 252 +- storage/innobase/lock/lock0wait.cc | 67 +- storage/innobase/log/log0crypt.cc | 2 +- storage/innobase/log/log0log.cc | 27 +- storage/innobase/log/log0recv.cc | 48 +- storage/innobase/mach/mach0data.cc | 2 +- storage/innobase/mem/mem0dbg.cc | 2 +- storage/innobase/mem/mem0mem.cc | 2 +- storage/innobase/mem/mem0pool.cc | 2 +- storage/innobase/mtr/mtr0log.cc | 2 +- storage/innobase/mtr/mtr0mtr.cc | 2 +- storage/innobase/os/os0file.cc | 12 +- storage/innobase/os/os0proc.cc | 2 +- storage/innobase/os/os0sync.cc | 28 +- storage/innobase/os/os0thread.cc | 2 +- storage/innobase/page/page0cur.cc | 12 +- storage/innobase/page/page0page.cc | 2 +- storage/innobase/page/page0zip.cc | 14 +- storage/innobase/pars/lexyy.cc | 2 +- storage/innobase/pars/make_bison.sh | 2 +- storage/innobase/pars/make_flex.sh | 2 +- storage/innobase/pars/pars0grm.cc | 2 +- storage/innobase/pars/pars0grm.y | 2 +- storage/innobase/pars/pars0lex.l | 2 +- storage/innobase/pars/pars0opt.cc | 2 +- storage/innobase/pars/pars0pars.cc | 2 +- storage/innobase/pars/pars0sym.cc | 2 +- storage/innobase/que/que0que.cc | 2 +- storage/innobase/read/read0read.cc | 2 +- storage/innobase/rem/rem0cmp.cc | 2 +- storage/innobase/rem/rem0rec.cc | 2 +- storage/innobase/row/row0ext.cc | 2 +- storage/innobase/row/row0ftsort.cc | 3 +- storage/innobase/row/row0import.cc | 2 +- storage/innobase/row/row0ins.cc | 9 +- storage/innobase/row/row0log.cc | 2 +- storage/innobase/row/row0merge.cc | 23 +- storage/innobase/row/row0mysql.cc | 26 +- storage/innobase/row/row0purge.cc | 2 +- storage/innobase/row/row0quiesce.cc | 2 +- storage/innobase/row/row0row.cc | 2 +- storage/innobase/row/row0sel.cc | 2 +- storage/innobase/row/row0uins.cc | 2 +- storage/innobase/row/row0umod.cc | 2 +- storage/innobase/row/row0undo.cc | 2 +- storage/innobase/row/row0upd.cc | 2 +- storage/innobase/row/row0vers.cc | 2 +- storage/innobase/srv/srv0conc.cc | 2 +- storage/innobase/srv/srv0mon.cc | 30 +- storage/innobase/srv/srv0srv.cc | 51 +- storage/innobase/srv/srv0start.cc | 6 +- storage/innobase/sync/sync0arr.cc | 12 +- storage/innobase/sync/sync0rw.cc | 2 +- storage/innobase/sync/sync0sync.cc | 2 +- storage/innobase/trx/trx0i_s.cc | 40 +- storage/innobase/trx/trx0purge.cc | 5 +- storage/innobase/trx/trx0rec.cc | 2 +- storage/innobase/trx/trx0roll.cc | 6 +- storage/innobase/trx/trx0rseg.cc | 2 +- storage/innobase/trx/trx0sys.cc | 2 +- storage/innobase/trx/trx0trx.cc | 15 +- storage/innobase/trx/trx0undo.cc | 2 +- storage/innobase/usr/usr0sess.cc | 2 +- storage/innobase/ut/ut0bh.cc | 2 +- storage/innobase/ut/ut0byte.cc | 2 +- storage/innobase/ut/ut0crc32.cc | 23 +- storage/innobase/ut/ut0dbg.cc | 2 +- storage/innobase/ut/ut0list.cc | 2 +- storage/innobase/ut/ut0mem.cc | 2 +- storage/innobase/ut/ut0rbt.cc | 2 +- storage/innobase/ut/ut0rnd.cc | 2 +- storage/innobase/ut/ut0timer.cc | 92 - storage/innobase/ut/ut0ut.cc | 196 +- storage/innobase/ut/ut0vec.cc | 2 +- storage/innobase/ut/ut0wqueue.cc | 4 +- storage/maria/CMakeLists.txt | 2 +- storage/maria/ft_maria.c | 2 +- storage/maria/ha_maria.cc | 4 +- storage/maria/ha_maria.h | 2 +- storage/maria/lockman.c | 2 +- storage/maria/lockman.h | 2 +- storage/maria/ma_bitmap.c | 2 +- storage/maria/ma_blockrec.c | 4 +- storage/maria/ma_blockrec.h | 5 +- storage/maria/ma_cache.c | 2 +- storage/maria/ma_changed.c | 2 +- storage/maria/ma_check.c | 2 +- storage/maria/ma_check_standalone.h | 2 +- storage/maria/ma_checkpoint.c | 6 +- storage/maria/ma_checkpoint.h | 2 +- storage/maria/ma_checksum.c | 2 +- storage/maria/ma_close.c | 2 +- storage/maria/ma_commit.c | 2 +- storage/maria/ma_commit.h | 2 +- storage/maria/ma_control_file.c | 2 +- storage/maria/ma_control_file.h | 2 +- storage/maria/ma_create.c | 2 +- storage/maria/ma_crypt.c | 2 +- storage/maria/ma_crypt.h | 2 +- storage/maria/ma_dbug.c | 2 +- storage/maria/ma_delete.c | 2 +- storage/maria/ma_delete_all.c | 2 +- storage/maria/ma_delete_table.c | 2 +- storage/maria/ma_dynrec.c | 2 +- storage/maria/ma_extra.c | 2 +- storage/maria/ma_ft_boolean_search.c | 2 +- storage/maria/ma_ft_eval.c | 2 +- storage/maria/ma_ft_eval.h | 2 +- storage/maria/ma_ft_nlq_search.c | 2 +- storage/maria/ma_ft_parser.c | 2 +- storage/maria/ma_ft_stem.c | 2 +- storage/maria/ma_ft_test1.c | 2 +- storage/maria/ma_ft_test1.h | 2 +- storage/maria/ma_ft_update.c | 2 +- storage/maria/ma_ftdefs.h | 2 +- storage/maria/ma_fulltext.h | 2 +- storage/maria/ma_info.c | 2 +- storage/maria/ma_init.c | 2 +- storage/maria/ma_key.c | 2 +- storage/maria/ma_key_recover.c | 2 +- storage/maria/ma_key_recover.h | 2 +- storage/maria/ma_keycache.c | 2 +- storage/maria/ma_locking.c | 2 +- storage/maria/ma_loghandler.c | 331 +- storage/maria/ma_loghandler.h | 2 +- storage/maria/ma_loghandler_lsn.h | 5 +- storage/maria/ma_norec.c | 2 +- storage/maria/ma_open.c | 4 +- storage/maria/ma_packrec.c | 2 +- storage/maria/ma_page.c | 2 +- storage/maria/ma_pagecache.c | 4 +- storage/maria/ma_pagecache.h | 2 +- storage/maria/ma_pagecaches.c | 2 +- storage/maria/ma_pagecrc.c | 2 +- storage/maria/ma_panic.c | 2 +- storage/maria/ma_preload.c | 2 +- storage/maria/ma_range.c | 2 +- storage/maria/ma_recovery.c | 104 +- storage/maria/ma_recovery.h | 2 +- storage/maria/ma_recovery_util.c | 14 +- storage/maria/ma_recovery_util.h | 2 +- storage/maria/ma_rename.c | 2 +- storage/maria/ma_rfirst.c | 2 +- storage/maria/ma_rkey.c | 2 +- storage/maria/ma_rlast.c | 2 +- storage/maria/ma_rnext.c | 2 +- storage/maria/ma_rnext_same.c | 2 +- storage/maria/ma_rprev.c | 2 +- storage/maria/ma_rrnd.c | 2 +- storage/maria/ma_rsame.c | 2 +- storage/maria/ma_rsamepos.c | 2 +- storage/maria/ma_rt_index.c | 2 +- storage/maria/ma_rt_index.h | 2 +- storage/maria/ma_rt_key.c | 2 +- storage/maria/ma_rt_key.h | 2 +- storage/maria/ma_rt_mbr.c | 2 +- storage/maria/ma_rt_mbr.h | 2 +- storage/maria/ma_rt_split.c | 2 +- storage/maria/ma_rt_test.c | 2 +- storage/maria/ma_scan.c | 2 +- storage/maria/ma_search.c | 2 +- storage/maria/ma_servicethread.c | 2 +- storage/maria/ma_servicethread.h | 2 +- storage/maria/ma_sort.c | 2 +- storage/maria/ma_sp_defs.h | 2 +- storage/maria/ma_sp_key.c | 2 +- storage/maria/ma_sp_test.c | 2 +- storage/maria/ma_state.c | 2 +- storage/maria/ma_state.h | 2 +- storage/maria/ma_static.c | 2 +- storage/maria/ma_statrec.c | 2 +- storage/maria/ma_test1.c | 2 +- storage/maria/ma_test2.c | 2 +- storage/maria/ma_test3.c | 2 +- storage/maria/ma_trnman.h | 2 +- storage/maria/ma_unique.c | 2 +- storage/maria/ma_update.c | 2 +- storage/maria/ma_write.c | 2 +- storage/maria/maria_chk.c | 6 +- storage/maria/maria_def.h | 14 +- storage/maria/maria_dump_log.c | 2 +- storage/maria/maria_ftdump.c | 2 +- storage/maria/maria_pack.c | 2 +- storage/maria/maria_read_log.c | 8 +- storage/maria/tablockman.c | 2 +- storage/maria/tablockman.h | 2 +- storage/maria/trnman.c | 2 +- storage/maria/trnman.h | 2 +- storage/maria/trnman_public.h | 2 +- storage/maria/unittest/CMakeLists.txt | 2 +- storage/maria/unittest/lockman-t.c | 2 +- storage/maria/unittest/lockman1-t.c | 2 +- storage/maria/unittest/lockman2-t.c | 2 +- storage/maria/unittest/ma_control_file-t.c | 2 +- .../maria/unittest/ma_loghandler_examples.c | 2 +- storage/maria/unittest/ma_maria_log_cleanup.c | 2 +- storage/maria/unittest/ma_pagecache_consist.c | 2 +- .../maria/unittest/ma_pagecache_rwconsist.c | 2 +- .../maria/unittest/ma_pagecache_rwconsist2.c | 2 +- storage/maria/unittest/ma_pagecache_single.c | 2 +- storage/maria/unittest/ma_test_loghandler-t.c | 32 +- .../unittest/ma_test_loghandler_first_lsn-t.c | 8 +- .../unittest/ma_test_loghandler_max_lsn-t.c | 8 +- .../ma_test_loghandler_multigroup-t.c | 28 +- .../ma_test_loghandler_multithread-t.c | 8 +- .../unittest/ma_test_loghandler_noflush-t.c | 4 +- .../unittest/ma_test_loghandler_nologs-t.c | 2 +- .../unittest/ma_test_loghandler_pagecache-t.c | 2 +- .../unittest/ma_test_loghandler_purge-t.c | 2 +- storage/maria/unittest/sequence_storage.c | 2 +- storage/maria/unittest/sequence_storage.h | 2 +- storage/maria/unittest/test_file.c | 2 +- storage/maria/unittest/test_file.h | 2 +- storage/maria/unittest/trnman-t.c | 2 +- storage/mroonga/CMakeLists.txt | 2 +- storage/mroonga/COPYING | 4 +- .../build/cmake_modules/ReadFileList.cmake | 2 +- storage/mroonga/config.sh.in | 2 +- storage/mroonga/ha_mroonga.cpp | 2 +- storage/mroonga/ha_mroonga.hpp | 2 +- .../lib/mrn_auto_increment_value_lock.cpp | 2 +- .../lib/mrn_auto_increment_value_lock.hpp | 2 +- storage/mroonga/lib/mrn_column_name.cpp | 2 +- storage/mroonga/lib/mrn_column_name.hpp | 2 +- .../mroonga/lib/mrn_condition_converter.cpp | 2 +- .../mroonga/lib/mrn_condition_converter.hpp | 2 +- storage/mroonga/lib/mrn_context_pool.cpp | 2 +- storage/mroonga/lib/mrn_context_pool.hpp | 2 +- .../mroonga/lib/mrn_count_skip_checker.cpp | 2 +- .../mroonga/lib/mrn_count_skip_checker.hpp | 2 +- storage/mroonga/lib/mrn_current_thread.hpp | 2 +- storage/mroonga/lib/mrn_database.cpp | 2 +- storage/mroonga/lib/mrn_database.hpp | 2 +- storage/mroonga/lib/mrn_database_manager.cpp | 2 +- storage/mroonga/lib/mrn_database_manager.hpp | 2 +- storage/mroonga/lib/mrn_database_repairer.cpp | 2 +- storage/mroonga/lib/mrn_database_repairer.hpp | 2 +- .../mroonga/lib/mrn_debug_column_access.cpp | 2 +- .../mroonga/lib/mrn_debug_column_access.hpp | 2 +- storage/mroonga/lib/mrn_encoding.cpp | 2 +- storage/mroonga/lib/mrn_encoding.hpp | 2 +- storage/mroonga/lib/mrn_external_lock.cpp | 2 +- storage/mroonga/lib/mrn_external_lock.hpp | 2 +- storage/mroonga/lib/mrn_field_normalizer.cpp | 2 +- storage/mroonga/lib/mrn_field_normalizer.hpp | 2 +- storage/mroonga/lib/mrn_grn.hpp | 2 +- storage/mroonga/lib/mrn_index_column_name.cpp | 2 +- storage/mroonga/lib/mrn_index_column_name.hpp | 2 +- storage/mroonga/lib/mrn_index_table_name.cpp | 2 +- storage/mroonga/lib/mrn_index_table_name.hpp | 2 +- storage/mroonga/lib/mrn_lock.cpp | 2 +- storage/mroonga/lib/mrn_lock.hpp | 2 +- .../mrn_match_escalation_threshold_scope.cpp | 2 +- .../mrn_match_escalation_threshold_scope.hpp | 2 +- .../lib/mrn_multiple_column_key_codec.cpp | 2 +- .../lib/mrn_multiple_column_key_codec.hpp | 2 +- storage/mroonga/lib/mrn_mysqlservices.cpp | 2 +- storage/mroonga/lib/mrn_operation.cpp | 2 +- storage/mroonga/lib/mrn_operation.hpp | 2 +- storage/mroonga/lib/mrn_operations.cpp | 2 +- storage/mroonga/lib/mrn_operations.hpp | 2 +- storage/mroonga/lib/mrn_parameters_parser.cpp | 2 +- storage/mroonga/lib/mrn_parameters_parser.hpp | 2 +- storage/mroonga/lib/mrn_path_mapper.cpp | 2 +- storage/mroonga/lib/mrn_path_mapper.hpp | 2 +- storage/mroonga/lib/mrn_query_parser.cpp | 2 +- storage/mroonga/lib/mrn_query_parser.hpp | 2 +- storage/mroonga/lib/mrn_smart_bitmap.cpp | 2 +- storage/mroonga/lib/mrn_smart_bitmap.hpp | 2 +- storage/mroonga/lib/mrn_smart_grn_obj.cpp | 2 +- storage/mroonga/lib/mrn_smart_grn_obj.hpp | 2 +- .../lib/mrn_table_fields_offset_mover.cpp | 2 +- .../lib/mrn_table_fields_offset_mover.hpp | 2 +- storage/mroonga/lib/mrn_time_converter.cpp | 2 +- storage/mroonga/lib/mrn_time_converter.hpp | 2 +- storage/mroonga/lib/mrn_value_decoder.cpp | 2 +- storage/mroonga/lib/mrn_value_decoder.hpp | 2 +- storage/mroonga/lib/mrn_windows.hpp | 2 +- storage/mroonga/mrn_constants.hpp | 2 +- storage/mroonga/mrn_err.h | 2 +- storage/mroonga/mrn_macro.hpp | 2 +- storage/mroonga/mrn_mysql.h | 2 +- storage/mroonga/mrn_mysql_compat.h | 2 +- storage/mroonga/mrn_table.cpp | 2 +- storage/mroonga/mrn_table.hpp | 2 +- storage/mroonga/mrn_variables.hpp | 2 +- storage/mroonga/mrn_version.h.in | 2 +- .../mroonga/include/mroonga/check_64bit.inc | 2 +- .../mroonga/include/mroonga/check_freebsd.inc | 2 +- .../include/mroonga/check_ha_mroonga_so.inc | 2 +- .../mroonga/check_libgroonga_embedded.inc | 2 +- .../mroonga/check_libgroonga_support_lz4.inc | 2 +- .../mroonga/check_libgroonga_support_zlib.inc | 2 +- .../mroonga/check_libgroonga_support_zstd.inc | 2 +- .../mroonga/include/mroonga/check_mariadb.inc | 2 +- .../mroonga/include/mroonga/check_osx.inc | 2 +- .../mroonga/include/mroonga/check_solaris.inc | 2 +- .../include/mroonga/check_strict_sql_mode.inc | 2 +- .../mroonga/include/mroonga/check_version.inc | 2 +- .../mroonga/include/mroonga/check_windows.inc | 2 +- .../mroonga/have_fractional_seconds.inc | 2 +- .../mroonga/include/mroonga/have_freebsd.inc | 2 +- .../mroonga/have_groonga_plugin_register.inc | 2 +- .../mroonga/include/mroonga/have_mariadb.inc | 2 +- .../mroonga/have_mariadb_10_2_or_later.inc | 2 +- .../mroonga/include/mroonga/have_mroonga.inc | 2 +- .../include/mroonga/have_mroonga_deinit.inc | 2 +- .../include/mroonga/have_mroonga_helper.inc | 2 +- .../mroonga/include/mroonga/have_mysql.inc | 2 +- .../mroonga/have_mysql_5_7_or_later.inc | 2 +- .../mroonga/have_signed_64bit_time_t.inc | 2 +- .../mroonga/include/mroonga/have_solaris.inc | 2 +- .../include/mroonga/have_strict_sql_mode.inc | 2 +- .../include/mroonga/have_version_10_0.inc | 2 +- .../mroonga/have_version_10_0_or_later.inc | 2 +- .../include/mroonga/have_version_5_5.inc | 2 +- .../include/mroonga/have_version_5_6.inc | 2 +- .../mroonga/have_version_5_6_or_later.inc | 2 +- .../include/mroonga/have_version_5_7.inc | 2 +- .../mroonga/have_version_5_7_or_later.inc | 2 +- .../mroonga/load_mroonga_functions.inc | 2 +- .../mroonga/include/mroonga/skip_freebsd.inc | 2 +- .../mroonga/skip_mariadb_10_0_or_later.inc | 2 +- .../include/mroonga/skip_mariadb_10_1.inc | 2 +- .../mroonga/skip_mariadb_10_1_or_earlier.inc | 2 +- .../mroonga/skip_mariadb_10_2_or_later.inc | 2 +- .../include/mroonga/skip_mariadb_5_5.inc | 2 +- .../include/mroonga/skip_mysql_5_5.inc | 2 +- .../include/mroonga/skip_mysql_5_7.inc | 2 +- .../mroonga/skip_mysql_5_7_or_later.inc | 2 +- .../mroonga/include/mroonga/skip_osx.inc | 2 +- .../mroonga/skip_signed_64bit_time_t.inc | 2 +- .../mroonga/include/mroonga/skip_solaris.inc | 2 +- .../include/mroonga/skip_strict_sql_mode.inc | 2 +- .../mroonga/support_libgroonga_lz4.inc | 2 +- .../mroonga/support_libgroonga_zlib.inc | 2 +- .../mroonga/support_libgroonga_zstd.inc | 2 +- .../mroonga/unload_mroonga_functions.inc | 2 +- .../mroonga/unsupport_libgroonga_lz4.inc | 2 +- .../mroonga/unsupport_libgroonga_zlib.inc | 2 +- .../mroonga/unsupport_libgroonga_zstd.inc | 2 +- .../t/alter_table_add_column_after.test | 2 +- .../t/alter_table_add_column_first.test | 2 +- .../alter_table_add_column_flags_comment.test | 2 +- ...lter_table_add_column_flags_parameter.test | 2 +- ...table_add_column_groonga_type_comment.test | 2 +- ...ble_add_column_groonga_type_parameter.test | 2 +- ...lter_table_add_column_multibyte_cp932.test | 2 +- ...alter_table_add_column_multibyte_utf8.test | 2 +- .../t/alter_table_add_column_multiple.test | 2 +- .../t/alter_table_add_column_plain.test | 2 +- .../alter_table_add_column_type_comment.test | 2 +- ..._index_token_filters_one_token_filter.test | 2 +- ...ter_table_add_index_unique_duplicated.test | 2 +- ...dex_unique_multiple_column_duplicated.test | 2 +- ...ble_add_key_multiple_column_with_data.test | 2 +- .../t/alter_table_add_primary_key.test | 2 +- ...change_column_comment_not_for_mroonga.test | 2 +- .../alter_table_change_column_have_index.test | 2 +- ...lter_table_change_column_rename_after.test | 2 +- ...lter_table_change_column_rename_first.test | 2 +- ...r_table_change_column_rename_multiple.test | 2 +- ...r_table_change_column_rename_no_order.test | 2 +- .../t/alter_table_change_engine_decimal.test | 2 +- ...er_table_change_engine_fulltext_index.test | 2 +- .../t/alter_table_change_token_filter.test | 2 +- ...er_table_disable_keys_create_fulltext.test | 2 +- ...ter_table_disable_keys_fulltext_table.test | 2 +- ...lter_table_disable_keys_fulltext_ujis.test | 2 +- ...lter_table_disable_keys_fulltext_utf8.test | 2 +- ...er_table_disable_keys_multiple_column.test | 2 +- .../t/alter_table_disable_keys_normal.test | 2 +- .../t/alter_table_disable_keys_primary.test | 2 +- .../t/alter_table_disable_keys_truncate.test | 2 +- .../t/alter_table_disable_keys_updating.test | 2 +- .../t/alter_table_drop_column_multiple.test | 2 +- .../t/alter_table_drop_column_one.test | 2 +- ...le_drop_key_multiple_column_with_data.test | 2 +- .../t/alter_table_drop_primary_key.test | 2 +- .../t/alter_table_enable_keys_fulltext.test | 2 +- ...lter_table_enable_keys_fulltext_table.test | 2 +- ...alter_table_enable_keys_fulltext_ujis.test | 2 +- ...alter_table_enable_keys_fulltext_utf8.test | 2 +- ...ter_table_enable_keys_multiple_column.test | 2 +- .../t/alter_table_enable_keys_normal.test | 2 +- .../t/alter_table_enable_keys_primary.test | 2 +- ...ter_table_fulltext_add_no_primary_key.test | 2 +- .../t/alter_table_fulltext_add_normal.test | 2 +- .../t/alter_table_fulltext_add_table.test | 2 +- .../t/alter_table_fulltext_drop_table.test | 2 +- .../t/alter_table_modify_column_after.test | 2 +- .../t/alter_table_modify_column_first.test | 2 +- .../t/alter_table_modify_column_no_order.test | 2 +- ...able_recreate_anonymous_index_at_once.test | 2 +- .../storage/t/alter_table_rename_table.test | 2 +- .../storage/t/alter_table_spatial.test | 2 +- .../t/auto_increment_TODO_SPLIT_ME.test | 2 +- .../storage/t/auto_increment_table_param.test | 2 +- .../storage/t/auto_increment_text.test | 2 +- .../storage/t/binlog_TODO_SPLIT_ME.test | 2 +- .../mroonga/storage/t/check_table_broken.test | 2 +- .../storage/t/check_table_not_broken.test | 2 +- .../t/collation_utf8_general_ci_french.test | 2 +- .../collation_utf8_unicode_520_ci_french.test | 2 +- ...ollation_utf8_unicode_520_ci_japanese.test | 2 +- .../t/collation_utf8_unicode_ci_french.test | 2 +- .../t/collation_utf8_unicode_ci_japanese.test | 2 +- .../column_comment_index_not_for_mroonga.test | 2 +- ...column_comment_normal_not_for_mroonga.test | 2 +- .../storage/t/column_date_with_index.test | 2 +- .../storage/t/column_date_without_index.test | 2 +- .../storage/t/column_date_zero_date.test | 2 +- .../storage/t/column_datetime_32bit_2038.test | 2 +- ...lumn_datetime_32bit_before_unix_epoch.test | 2 +- .../storage/t/column_datetime_32bit_max.test | 2 +- .../t/column_datetime_32bit_out_of_range.test | 2 +- .../storage/t/column_datetime_64bit_2038.test | 2 +- ...lumn_datetime_64bit_before_unix_epoch.test | 2 +- .../storage/t/column_datetime_64bit_max.test | 2 +- ...me_64bit_strict_sql_mode_out_of_range.test | 2 +- ...tetime_64bit_version_5_5_out_of_range.test | 2 +- ...bit_version_5_6_or_later_out_of_range.test | 2 +- ...atetime_fractional_seconds_with_index.test | 2 +- ...time_fractional_seconds_without_index.test | 2 +- ...mn_datetime_freebsd_before_unix_epoch.test | 2 +- ...etime_mariadb_10_2_or_later_zero_date.test | 2 +- ..._mariadb_10_2_or_later_zero_month_day.test | 2 +- ...datetime_mysql_5_7_or_later_zero_date.test | 2 +- ...ime_mysql_5_7_or_later_zero_month_day.test | 2 +- .../storage/t/column_datetime_null.test | 2 +- .../storage/t/column_datetime_with_index.test | 2 +- .../t/column_datetime_without_index.test | 2 +- .../storage/t/column_datetime_zero_date.test | 2 +- .../t/column_datetime_zero_month_day.test | 2 +- ...decimal_fractional_seconds_with_index.test | 2 +- ...imal_fractional_seconds_without_index.test | 2 +- .../storage/t/column_decimal_with_index.test | 2 +- .../t/column_decimal_without_index.test | 2 +- .../t/column_enum_less_with_index.test | 2 +- .../t/column_enum_many_with_index.test | 2 +- .../t/column_generated_stored_add_column.test | 2 +- .../t/column_generated_stored_delete.test | 2 +- .../column_generated_stored_drop_column.test | 2 +- .../t/column_generated_stored_insert.test | 2 +- .../t/column_generated_stored_reindex.test | 2 +- .../t/column_generated_stored_update.test | 2 +- .../column_generated_virtual_add_column.test | 2 +- .../t/column_generated_virtual_delete.test | 2 +- .../column_generated_virtual_drop_column.test | 2 +- .../t/column_generated_virtual_insert.test | 2 +- ...rtual_mariadb_10_2_or_later_add_index.test | 2 +- ...10_2_or_later_create_table_with_index.test | 2 +- ..._virtual_mysql_5_7_or_later_add_index.test | 2 +- .../t/column_generated_virtual_update.test | 2 +- .../storage/t/column_groonga__id__id.test | 2 +- .../t/column_groonga__id_invalid_id.test | 2 +- ...mn_groonga_index_fulltext_other_table.test | 2 +- ...nga_index_fulltext_vector_other_table.test | 2 +- .../column_groonga_index_int_other_table.test | 2 +- .../t/column_groonga_scalar_reference.test | 2 +- .../t/column_groonga_scalar_support_lz4.test | 2 +- .../t/column_groonga_scalar_support_zlib.test | 2 +- .../t/column_groonga_scalar_support_zstd.test | 2 +- .../column_groonga_scalar_unsupport_lz4.test | 2 +- .../column_groonga_scalar_unsupport_zlib.test | 2 +- .../column_groonga_scalar_unsupport_zstd.test | 2 +- ...a_scalar_with_not_for_mroonga_comment.test | 2 +- ...groonga_vector_order_by_with_function.test | 2 +- .../t/column_groonga_vector_reference.test | 2 +- .../t/column_int_with_index_zero_value.test | 2 +- .../mroonga/storage/t/column_json_insert.test | 2 +- .../storage/t/column_multibyte_cp932.test | 2 +- .../storage/t/column_multibyte_utf8.test | 2 +- .../storage/t/column_set_16_with_index.test | 2 +- .../storage/t/column_set_24_with_index.test | 2 +- .../storage/t/column_set_32_with_index.test | 2 +- .../storage/t/column_set_64_with_index.test | 2 +- .../storage/t/column_set_8_with_index.test | 2 +- .../t/column_signed_bigint_with_index.test | 2 +- .../t/column_signed_int_with_index.test | 2 +- .../t/column_signed_mediumint_with_index.test | 2 +- .../t/column_signed_smallint_with_index.test | 2 +- .../t/column_signed_tinyint_with_index.test | 2 +- ...mn_time_fractional_seconds_with_index.test | 2 +- .../storage/t/column_time_with_index.test | 2 +- ...mestamp_fractional_seconds_with_index.test | 2 +- .../t/column_timestamp_with_index.test | 2 +- .../t/column_tinyint_without_index.test | 2 +- .../t/column_unsigned_bigint_with_index.test | 2 +- .../column_unsigned_bigint_without_index.test | 2 +- .../t/column_unsigned_int_with_index.test | 2 +- .../column_unsigned_mediumint_with_index.test | 2 +- .../column_unsigned_smallint_with_index.test | 2 +- .../t/column_unsigned_tinyint_with_index.test | 2 +- .../storage/t/column_year_with_index.test | 2 +- .../storage/t/column_year_without_index.test | 2 +- .../mroonga/storage/t/count_star.test | 2 +- .../storage/t/create_database_name_slash.test | 2 +- .../storage/t/create_table_TODO_SPLIT_ME.test | 2 +- .../t/create_table_column_flags_comment.test | 2 +- .../create_table_column_flags_parameter.test | 2 +- ...ate_table_column_groonga_type_comment.test | 2 +- ...table_column_groonga_type_nonexistent.test | 2 +- ...e_table_column_groonga_type_parameter.test | 2 +- .../t/create_table_column_type_comment.test | 2 +- .../create_table_column_type_nonexistent.test | 2 +- .../t/create_table_comment_normal.test | 2 +- .../t/create_table_default_tokenizer.test | 2 +- .../t/create_table_index_flags_comment.test | 2 +- ...create_table_index_flags_index_medium.test | 2 +- .../create_table_index_flags_index_small.test | 2 +- .../t/create_table_index_flags_none.test | 2 +- .../t/create_table_index_flags_parameter.test | 2 +- .../create_table_index_index_flags_none.test | 2 +- ...x_flags_with_position_and_with_weight.test | 2 +- ...create_table_index_normalizer_comment.test | 2 +- ...e_index_normalizer_fulltext_index_bin.test | 2 +- ...eate_table_index_normalizer_index_bin.test | 2 +- ..._no_utf8_charset_with_utf8_normalizer.test | 2 +- .../t/create_table_index_normalizer_none.test | 2 +- ...eate_table_index_normalizer_parameter.test | 2 +- .../t/create_table_index_parser_comment.test | 2 +- .../t/create_table_index_parser_default.test | 2 +- .../t/create_table_index_parser_off.test | 2 +- ..._token_filters_multiple_token_filters.test | 2 +- ..._index_token_filters_one_token_filter.test | 2 +- ...e_table_index_token_filters_parameter.test | 2 +- .../create_table_index_tokenizer_comment.test | 2 +- .../create_table_index_tokenizer_default.test | 2 +- .../t/create_table_index_tokenizer_off.test | 2 +- ...reate_table_index_tokenizer_parameter.test | 2 +- ...create_table_table_normalizer_default.test | 2 +- .../t/create_table_table_normalizer_hash.test | 2 +- ..._token_filters_multiple_token_filters.test | 2 +- ..._table_token_filters_one_token_filter.test | 2 +- ...e_table_table_token_filters_stop_word.test | 2 +- .../storage/t/delete_fulltext_column.test | 2 +- .../t/delete_index_btree_many_records.test | 2 +- .../t/delete_index_hash_id_no_unique.test | 2 +- .../t/delete_index_hash_id_unique.test | 2 +- .../storage/t/delete_normal_column.test | 2 +- .../storage/t/delete_unsigned_bigint.test | 2 +- .../t/drop_database_TODO_SPLIT_ME.test | 2 +- .../storage/t/drop_database_no_table.test | 2 +- .../storage/t/drop_table_TODO_SPLIT_ME.test | 2 +- .../mroonga/storage/t/flush_logs.test | 2 +- .../storage/t/foreign_key_alter_add.test | 2 +- .../storage/t/foreign_key_alter_drop.test | 2 +- .../mroonga/storage/t/foreign_key_create.test | 2 +- .../t/foreign_key_delete_existent.test | 2 +- .../t/foreign_key_delete_nonexistent.test | 2 +- .../t/foreign_key_insert_existent.test | 2 +- .../t/foreign_key_insert_nonexistent.test | 2 +- .../mroonga/storage/t/foreign_key_rename.test | 2 +- .../t/foreign_key_update_existent.test | 2 +- .../t/foreign_key_update_nonexistent.test | 2 +- .../t/fulltext_boolean_mode_empty_query.test | 2 +- .../t/fulltext_boolean_mode_escape.test | 2 +- .../t/fulltext_boolean_mode_leading_not.test | 2 +- .../t/fulltext_boolean_mode_pragma_all.test | 2 +- ...ma_default_operator_minus_no_operator.test | 2 +- ...pragma_default_operator_minus_with_or.test | 2 +- ...agma_default_operator_minus_with_plus.test | 2 +- ...ragma_default_operator_or_no_operator.test | 2 +- ...pragma_default_operator_or_with_minus.test | 2 +- ..._pragma_default_operator_or_with_plus.test | 2 +- ...gma_default_operator_plus_no_operator.test | 2 +- ...a_default_operator_plus_with_astarisk.test | 2 +- ...agma_default_operator_plus_with_minus.test | 2 +- ..._pragma_default_operator_plus_with_or.test | 2 +- ...an_mode_pragma_syntax_script_operator.test | 2 +- ...an_mode_pragma_syntax_script_selector.test | 2 +- ..._boolean_mode_pragma_weight_full_spec.test | 2 +- ..._boolean_mode_pragma_weight_no_weight.test | 2 +- ...olean_mode_pragma_weight_omit_section.test | 2 +- ...de_pragma_weight_ten_or_more_sections.test | 2 +- ..._pragma_weight_three_or_more_sections.test | 2 +- ...ltext_boolean_mode_syntax_error_error.test | 2 +- ...olean_mode_syntax_error_error_and_log.test | 2 +- ...text_boolean_mode_syntax_error_ignore.test | 2 +- ...lean_mode_syntax_error_ignore_and_log.test | 2 +- .../storage/t/fulltext_charset_ascii.test | 2 +- .../storage/t/fulltext_charset_cp932.test | 2 +- .../storage/t/fulltext_charset_eucjpms.test | 2 +- .../storage/t/fulltext_charset_japanese.test | 2 +- .../storage/t/fulltext_charset_utf8mb4.test | 2 +- .../storage/t/fulltext_empty_query.test | 2 +- .../storage/t/fulltext_found_rows.test | 2 +- .../t/fulltext_groonga_varchar_vector.test | 2 +- .../storage/t/fulltext_index_recreate.test | 2 +- .../storage/t/fulltext_insert_select.test | 2 +- .../storage/t/fulltext_insert_values.test | 2 +- ...fulltext_multiple_column_index_delete.test | 2 +- ...fulltext_multiple_column_index_insert.test | 2 +- ...lltext_multiple_column_index_recreate.test | 2 +- ...fulltext_multiple_column_index_update.test | 2 +- .../storage/t/fulltext_multiple_index.test | 2 +- .../storage/t/fulltext_no_primary_key.test | 2 +- .../storage/t/fulltext_not_match_against.test | 2 +- .../mroonga/storage/t/fulltext_or.test | 2 +- ..._order_boolean_mode_different_against.test | 2 +- ...xt_order_boolean_mode_different_match.test | 2 +- .../fulltext_order_boolean_mode_no_where.test | 2 +- ...order_boolean_mode_same_match_against.test | 2 +- ...ltext_order_natural_language_mode_asc.test | 2 +- ...text_order_natural_language_mode_desc.test | 2 +- ...tural_language_mode_different_against.test | 2 +- ...natural_language_mode_different_match.test | 2 +- ..._order_natural_language_mode_no_where.test | 2 +- ...ural_language_mode_same_match_against.test | 2 +- .../storage/t/fulltext_two_inner_join.test | 2 +- .../t/fulltext_version_10_0_no_such_key.test | 2 +- .../t/fulltext_version_5_5_no_such_key.test | 2 +- .../t/fulltext_version_5_6_no_such_key.test | 2 +- .../t/function_command_auto-escape.test | 2 +- .../storage/t/function_command_select.test | 2 +- ...unction_command_special-database-name.test | 2 +- ...unction_escape_error_query_is_missing.test | 2 +- ...tion_escape_error_query_is_not_string.test | 2 +- ...error_target_characters_is_not_string.test | 2 +- .../storage/t/function_escape_query_all.test | 2 +- .../t/function_escape_query_custom.test | 2 +- .../storage/t/function_escape_query_join.test | 2 +- .../function_escape_query_match_against.test | 2 +- .../t/function_escape_query_named.test | 2 +- .../t/function_escape_query_nested.test | 2 +- .../t/function_escape_script_decimal.test | 2 +- .../t/function_escape_script_integer.test | 2 +- .../t/function_escape_script_real.test | 2 +- .../t/function_escape_script_string.test | 2 +- ...nction_highlight_html_dynamic_keyword.test | 2 +- .../t/function_highlight_html_japanese.test | 2 +- ...tion_highlight_html_multiple_keywords.test | 2 +- .../t/function_highlight_html_normalizer.test | 2 +- .../t/function_highlight_html_query.test | 2 +- .../function_highlight_html_query_pragma.test | 2 +- .../t/function_highlight_html_record.test | 2 +- .../t/function_last_insert_grn_id.test | 2 +- .../t/function_last_insert_id_reference.test | 2 +- .../t/function_last_insert_id_set.test | 2 +- .../storage/t/function_normalize_default.test | 2 +- .../t/function_normalize_normalizer.test | 2 +- .../storage/t/function_normalize_record.test | 2 +- .../t/function_query_expand_multiple.test | 2 +- .../t/function_query_expand_no_index.test | 2 +- .../storage/t/function_query_expand_one.test | 2 +- .../t/function_query_expand_pragma.test | 2 +- .../storage/t/function_snippet_ascii.test | 2 +- .../storage/t/function_snippet_cp932.test | 2 +- .../storage/t/function_snippet_eucjpms.test | 2 +- ...function_snippet_html_dynamic_keyword.test | 2 +- .../t/function_snippet_html_japanese.test | 2 +- ...nction_snippet_html_multiple_keywords.test | 2 +- ...nction_snippet_html_multiple_snippets.test | 2 +- .../t/function_snippet_html_query.test | 2 +- .../t/function_snippet_html_query_pragma.test | 2 +- .../t/function_snippet_html_record.test | 2 +- ...n_snippet_invalid_nonexistent_charset.test | 2 +- ...n_snippet_invalid_unsupported_charset.test | 2 +- .../storage/t/function_snippet_japanese.test | 2 +- .../storage/t/geometry_bulk_insert_null.test | 2 +- .../mroonga/storage/t/geometry_contains.test | 2 +- ...etry_strict_sql_mode_bulk_insert_null.test | 2 +- .../t/geometry_strict_sql_mode_contains.test | 2 +- .../storage/t/index_btree_equal_datetime.test | 2 +- .../storage/t/index_btree_equal_time.test | 2 +- .../t/index_btree_equal_timestamp.test | 2 +- .../t/index_btree_normal_column_insert.test | 2 +- .../storage/t/index_hash_id_normal.test | 2 +- .../storage/t/index_hash_id_primary.test | 2 +- .../storage/t/index_hash_id_unique.test | 2 +- .../t/index_hash_normal_column_insert.test | 2 +- ...index_hash_strict_sql_mode_id_primary.test | 2 +- .../t/index_multiple_column_delete.test | 2 +- ...dex_multiple_column_nullable_smallint.test | 2 +- ...tiple_column_nullable_unsigned_bigint.test | 2 +- ...multiple_column_nullable_unsigned_int.test | 2 +- ...ple_column_nullable_unsigned_smallint.test | 2 +- ...ndex_multiple_column_nullable_varchar.test | 2 +- ...e_column_order_by_where_equal_asc_asc.test | 2 +- ...column_order_by_where_equal_desc_desc.test | 2 +- .../index_multiple_column_primary_delete.test | 2 +- ...ex_multiple_column_primary_select_int.test | 2 +- ...column_primary_strict_sql_mode_update.test | 2 +- .../index_multiple_column_primary_update.test | 2 +- ...le_column_range_all_used_greater_than.test | 2 +- ..._range_all_used_greater_than_or_equal.test | 2 +- ...tiple_column_range_all_used_less_than.test | 2 +- ...umn_range_all_used_less_than_or_equal.test | 2 +- ...rtially_used_have_prefix_greater_than.test | 2 +- ...sed_have_prefix_greater_than_or_equal.test | 2 +- ..._partially_used_have_prefix_less_than.test | 2 +- ...y_used_have_prefix_less_than_or_equal.test | 2 +- ...partially_used_no_prefix_greater_than.test | 2 +- ..._used_no_prefix_greater_than_or_equal.test | 2 +- ...ge_partially_used_no_prefix_less_than.test | 2 +- ...lly_used_no_prefix_less_than_or_equal.test | 2 +- .../t/index_multiple_column_recreate.test | 2 +- .../t/index_multiple_column_replace.test | 2 +- .../index_multiple_column_select_double.test | 2 +- .../t/index_multiple_column_select_float.test | 2 +- .../t/index_multiple_column_select_int.test | 2 +- .../t/index_multiple_column_select_max.test | 2 +- .../t/index_multiple_column_select_min.test | 2 +- .../index_multiple_column_select_string.test | 2 +- .../index_multiple_column_select_varchar.test | 2 +- ...ltiple_column_unique_date_32bit_equal.test | 2 +- ...ltiple_column_unique_date_64bit_equal.test | 2 +- ...ultiple_column_unique_date_index_read.test | 2 +- ...le_column_unique_date_order_32bit_asc.test | 2 +- ...e_column_unique_date_order_32bit_desc.test | 2 +- ...le_column_unique_date_order_64bit_asc.test | 2 +- ...e_column_unique_date_order_64bit_desc.test | 2 +- ..._multiple_column_unique_date_reinsert.test | 2 +- ...ple_column_unique_datetime_index_read.test | 2 +- ...me_insert_delete_insert_invalid_value.test | 2 +- ...iple_column_unique_datetime_order_asc.test | 2 +- ...ple_column_unique_datetime_order_desc.test | 2 +- ...tiple_column_unique_datetime_reinsert.test | 2 +- .../index_multiple_column_unique_decimal.test | 2 +- ...ultiple_column_unique_time_index_read.test | 2 +- ...multiple_column_unique_time_order_asc.test | 2 +- ...ultiple_column_unique_time_order_desc.test | 2 +- ..._multiple_column_unique_time_reinsert.test | 2 +- ...le_column_unique_timestamp_index_read.test | 2 +- ...ple_column_unique_timestamp_order_asc.test | 2 +- ...le_column_unique_timestamp_order_desc.test | 2 +- ...iple_column_unique_timestamp_reinsert.test | 2 +- .../index_multiple_column_unique_varchar.test | 2 +- ...ltiple_column_unique_year_32bit_equal.test | 2 +- ...ltiple_column_unique_year_64bit_equal.test | 2 +- ...ultiple_column_unique_year_index_read.test | 2 +- ...le_column_unique_year_order_32bit_asc.test | 2 +- ...e_column_unique_year_order_32bit_desc.test | 2 +- ...le_column_unique_year_order_64bit_asc.test | 2 +- ...e_column_unique_year_order_64bit_desc.test | 2 +- ..._multiple_column_unique_year_reinsert.test | 2 +- .../t/index_multiple_column_update_int.test | 2 +- .../index_multiple_column_update_string.test | 2 +- .../t/index_primary_char_exact_length.test | 2 +- .../t/index_primary_char_null_character.test | 2 +- .../storage/t/index_primary_char_short.test | 2 +- .../mroonga/storage/t/index_primary_date.test | 2 +- ...mary_datetime_with_fractional_seconds.test | 2 +- ...y_datetime_without_fractional_seconds.test | 2 +- ...imary_decimal_with_fractional_seconds.test | 2 +- ...ry_decimal_without_fractional_seconds.test | 2 +- ..._primary_time_with_fractional_seconds.test | 2 +- ...imary_time_without_fractional_seconds.test | 2 +- ...ary_timestamp_with_fractional_seconds.test | 2 +- ..._timestamp_without_fractional_seconds.test | 2 +- .../index_primary_varchar_null_character.test | 2 +- .../mroonga/storage/t/index_primary_year.test | 2 +- .../index_range_normal_greater_than_asc.test | 2 +- .../index_range_normal_greater_than_desc.test | 2 +- ...ange_normal_greater_than_or_equal_asc.test | 2 +- ...nge_normal_greater_than_or_equal_desc.test | 2 +- .../t/index_range_normal_less_than_asc.test | 2 +- .../t/index_range_normal_less_than_desc.test | 2 +- ...x_range_normal_less_than_or_equal_asc.test | 2 +- ..._range_normal_less_than_or_equal_desc.test | 2 +- .../index_range_primary_greater_than_asc.test | 2 +- ...index_range_primary_greater_than_desc.test | 2 +- ...nge_primary_greater_than_or_equal_asc.test | 2 +- ...ge_primary_greater_than_or_equal_desc.test | 2 +- .../t/index_range_primary_less_than_asc.test | 2 +- .../t/index_range_primary_less_than_desc.test | 2 +- ..._range_primary_less_than_or_equal_asc.test | 2 +- ...range_primary_less_than_or_equal_desc.test | 2 +- .../storage/t/index_read_multiple_bigint.test | 2 +- .../index_read_multiple_bigint_unsigned.test | 2 +- .../storage/t/index_read_multiple_double.test | 2 +- .../storage/t/index_read_multiple_float.test | 2 +- .../storage/t/index_read_multiple_int.test | 2 +- .../t/index_read_multiple_int_unsigned.test | 2 +- .../t/index_read_multiple_mediumint.test | 2 +- ...ndex_read_multiple_mediumint_unsigned.test | 2 +- .../t/index_read_multiple_smallint.test | 2 +- ...index_read_multiple_smallint_unsigned.test | 2 +- .../t/index_read_multiple_tinyint.test | 2 +- .../index_read_multiple_tinyint_unsigned.test | 2 +- .../t/index_read_multiple_varchar.test | 2 +- ...index_read_multiple_varchar_collation.test | 2 +- .../storage/t/index_read_normal_int.test | 2 +- .../storage/t/index_read_normal_varchar.test | 2 +- .../storage/t/index_read_primary_int.test | 2 +- .../storage/t/index_read_primary_varchar.test | 2 +- .../storage/t/index_unique_delete_all.test | 2 +- .../t/index_unique_delete_by_primary_key.test | 2 +- .../t/index_unique_insert_after_error.test | 2 +- .../index_unique_search_after_duplicated.test | 2 +- .../storage/t/index_unique_varchar.test | 2 +- .../t/index_update_multiple_column.test | 2 +- .../storage/t/index_update_single_column.test | 2 +- .../storage/t/information_schema_plugins.test | 2 +- ...ion_schema_tables_auto_increment_none.test | 2 +- ...tion_schema_tables_auto_increment_use.test | 2 +- ...information_schema_tables_data_length.test | 2 +- .../storage/t/insert_TODO_SPLIT_ME.test | 2 +- .../mroonga/storage/t/insert_delayed.test | 2 +- ...e_no_primary_key_and_unique_key_twice.test | 2 +- ...t_on_duplicate_key_update_primary_key.test | 2 +- ...rt_on_duplicate_key_update_unique_key.test | 2 +- .../storage/t/insert_virtual_column.test | 2 +- .../mroonga/storage/t/like_unicode_ci.test | 2 +- .../mroonga/storage/t/lock_tables_read.test | 2 +- ...n_count_skip_after_insert_multithread.test | 2 +- ...count_skip_after_insert_single_thread.test | 2 +- .../t/optimization_count_skip_disabled.test | 2 +- .../t/optimization_count_skip_index_and.test | 2 +- ...optimization_count_skip_index_between.test | 2 +- .../optimization_count_skip_index_equal.test | 2 +- ...ndex_full_text_search_in_boolean_mode.test | 2 +- ..._text_search_in_natural_language_mode.test | 2 +- ...optimization_count_skip_index_greater.test | 2 +- ...zation_count_skip_index_greater_equal.test | 2 +- .../t/optimization_count_skip_index_less.test | 2 +- ...imization_count_skip_index_less_equal.test | 2 +- ...timization_count_skip_index_not_equal.test | 2 +- .../t/optimization_count_skip_index_view.test | 2 +- ...zation_count_skip_multiple_conditions.test | 2 +- ...zation_count_skip_primary_key_between.test | 2 +- ...mization_count_skip_primary_key_equal.test | 2 +- ...zation_count_skip_primary_key_greater.test | 2 +- ..._count_skip_primary_key_greater_equal.test | 2 +- ...imization_count_skip_primary_key_less.test | 2 +- ...ion_count_skip_primary_key_less_equal.test | 2 +- ...tion_count_skip_primary_key_not_equal.test | 2 +- ...on_order_limit_not_optimized_disabled.test | 2 +- ...not_optimized_multiple_match_againsts.test | 2 +- ...on_order_limit_not_optimized_no_limit.test | 2 +- ...imization_order_limit_optimized_cp932.test | 2 +- ...rder_limit_optimized_datetime_between.test | 2 +- ...limit_optimized_datetime_between_over.test | 2 +- ..._order_limit_optimized_datetime_equal.test | 2 +- ...limit_optimized_datetime_greater_than.test | 2 +- ...imized_datetime_greater_than_or_equal.test | 2 +- ...er_limit_optimized_datetime_less_than.test | 2 +- ...optimized_datetime_less_than_or_equal.test | 2 +- ...optimized_duplicated_order_by_columns.test | 2 +- ...ation_order_limit_optimized_enum_name.test | 2 +- ...tion_order_limit_optimized_enum_value.test | 2 +- ...rder_limit_optimized_have_primary_key.test | 2 +- ...ion_order_limit_optimized_int_between.test | 2 +- ...rder_limit_optimized_int_between_over.test | 2 +- ...ation_order_limit_optimized_int_equal.test | 2 +- ...rder_limit_optimized_int_greater_than.test | 2 +- ...t_optimized_int_greater_than_or_equal.test | 2 +- ...n_order_limit_optimized_int_less_than.test | 2 +- ...imit_optimized_int_less_than_or_equal.test | 2 +- ..._order_limit_optimized_no_primary_key.test | 2 +- ...order_limit_optimized_no_where_clause.test | 2 +- ...on_order_limit_optimized_order_by_asc.test | 2 +- ...n_order_limit_optimized_order_by_desc.test | 2 +- ...ion_order_limit_optimized_order_by_id.test | 2 +- ...imit_optimized_order_by_match_against.test | 2 +- ..._limit_optimized_select_match_against.test | 2 +- ...on_order_limit_optimized_time_between.test | 2 +- ...der_limit_optimized_time_between_over.test | 2 +- ...tion_order_limit_optimized_time_equal.test | 2 +- ...der_limit_optimized_time_greater_than.test | 2 +- ..._optimized_time_greater_than_or_equal.test | 2 +- ..._order_limit_optimized_time_less_than.test | 2 +- ...mit_optimized_time_less_than_or_equal.test | 2 +- ...it_optimized_varchar_equal_with_index.test | 2 +- ...optimized_varchar_equal_without_index.test | 2 +- ...on_order_limit_optimized_year_between.test | 2 +- ...der_limit_optimized_year_between_over.test | 2 +- ...tion_order_limit_optimized_year_equal.test | 2 +- ...der_limit_optimized_year_greater_than.test | 2 +- ..._optimized_year_greater_than_or_equal.test | 2 +- ..._order_limit_optimized_year_less_than.test | 2 +- ...mit_optimized_year_less_than_or_equal.test | 2 +- .../mroonga/storage/t/partition_insert.test | 2 +- .../mroonga/storage/t/partition_update.test | 2 +- .../storage/t/repair_table_no_index_file.test | 2 +- .../mroonga/storage/t/replace_geometry.test | 2 +- .../storage/t/replace_select_varchar.test | 2 +- .../mroonga/storage/t/replace_text.test | 2 +- .../mroonga/storage/t/replace_varchar.test | 2 +- .../mroonga/storage/t/replace_vector.test | 2 +- .../storage/t/replace_without_key.test | 2 +- .../mroonga/storage/t/select_all.test | 2 +- .../t/select_empty_key_where_equal.test | 2 +- .../t/select_empty_key_where_not_equal.test | 2 +- .../storage/t/select_group_by_with_index.test | 2 +- .../t/select_group_by_without_index.test | 2 +- .../mroonga/storage/t/select_pkey.test | 2 +- .../storage/t/select_secondary_key.test | 2 +- .../t/show_create_table_TODO_SPLIT_ME.test | 2 +- .../mroonga/storage/t/sub_query_fulltext.test | 2 +- .../mroonga/storage/t/temporary_table.test | 2 +- .../mroonga/storage/t/truncate.test | 2 +- .../mroonga/storage/t/update_binlog_row.test | 2 +- .../mroonga/storage/t/update_fulltext.test | 2 +- .../storage/t/update_id_hash_index.test | 2 +- .../t/update_id_unique_hash_index.test | 2 +- .../mroonga/storage/t/update_int.test | 2 +- .../storage/t/update_last_insert_grn_id.test | 2 +- .../storage/t/update_virtual_column.test | 2 +- ...oolean_mode_syntax_flags_allow_column.test | 2 +- ...n_mode_syntax_flags_allow_leading_not.test | 2 +- ...oolean_mode_syntax_flags_allow_update.test | 2 +- ...oolean_mode_syntax_flags_syntax_query.test | 2 +- ...olean_mode_syntax_flags_syntax_script.test | 2 +- .../t/variable_database_path_prefix.test | 2 +- .../t/variable_default_parser_new_value.test | 2 +- .../t/variable_default_parser_same_value.test | 2 +- .../variable_default_tokenizer_new_value.test | 2 +- ...variable_default_tokenizer_same_value.test | 2 +- .../storage/t/variable_dry_write_delete.test | 2 +- .../storage/t/variable_dry_write_insert.test | 2 +- .../storage/t/variable_dry_write_update.test | 2 +- ...le_enable_operations_recording_insert.test | 2 +- .../t/variable_lock_timeout_disable.test | 2 +- .../t/variable_lock_timeout_invalid.test | 2 +- .../t/variable_lock_timeout_no_retry.test | 2 +- .../t/variable_lock_timeout_valid.test | 2 +- .../t/variable_log_file_new_value.test | 2 +- .../t/variable_log_file_nonexistent_path.test | 2 +- .../t/variable_log_file_same_value.test | 2 +- .../t/variable_log_level_TODO_SPLIT_ME.test | 2 +- ...ble_match_escalation_threshold_global.test | 2 +- ...le_match_escalation_threshold_session.test | 2 +- ...ble_max_n_records_for_estimate_global.test | 2 +- ...or_estimate_mysql_5_7_or_later_global.test | 2 +- ...mysql_5_7_or_later_not_found_in_limit.test | 2 +- ...r_estimate_mysql_5_7_or_later_session.test | 2 +- ...cords_for_estimate_not_found_in_limit.test | 2 +- ...le_max_n_records_for_estimate_session.test | 2 +- ...e_query_log_file_disabled_empty_value.test | 2 +- ...le_query_log_file_disabled_null_value.test | 2 +- ...le_query_log_file_enabled_empty_value.test | 2 +- ...ble_query_log_file_enabled_null_value.test | 2 +- .../t/variable_query_log_file_new_value.test | 2 +- .../t/variable_query_log_file_same_value.test | 2 +- .../t/variable_vector_column_delimiter.test | 2 +- .../mroonga/storage/t/variable_version.test | 2 +- .../wrapper/t/alter_table_add_column.test | 2 +- ...lter_table_add_column_multibyte_cp932.test | 2 +- ...alter_table_add_column_multibyte_utf8.test | 2 +- .../t/alter_table_change_column_comment.test | 2 +- .../wrapper/t/alter_table_change_engine.test | 2 +- .../t/alter_table_comment_change_engine.test | 2 +- ...er_table_disable_keys_create_fulltext.test | 2 +- .../t/alter_table_disable_keys_fulltext.test | 2 +- ...er_table_disable_keys_multiple_column.test | 2 +- .../t/alter_table_disable_keys_normal.test | 2 +- .../t/alter_table_disable_keys_primary.test | 2 +- .../t/alter_table_disable_keys_updating.test | 2 +- .../wrapper/t/alter_table_drop_column.test | 2 +- .../t/alter_table_enable_keys_fulltext.test | 2 +- .../alter_table_enable_keys_lock_tables.test | 2 +- ...ter_table_enable_keys_multiple_column.test | 2 +- .../t/alter_table_enable_keys_normal.test | 2 +- .../t/alter_table_enable_keys_primary.test | 2 +- .../wrapper/t/alter_table_fulltext.test | 2 +- .../wrapper/t/alter_table_rename_table.test | 2 +- .../wrapper/t/alter_table_spatial.test | 2 +- .../wrapper/t/auto_increment_text.test | 2 +- .../wrapper/t/binlog_TODO_SPLIT_ME.test | 2 +- .../wrapper/t/check_table_for_upgrade.test | 2 +- .../column_comment_index_not_for_mroonga.test | 2 +- .../t/column_generated_stored_add_column.test | 2 +- .../t/column_generated_stored_delete.test | 2 +- .../column_generated_stored_drop_column.test | 2 +- .../t/column_generated_stored_insert.test | 2 +- .../t/column_generated_stored_reindex.test | 2 +- .../t/column_generated_stored_update.test | 2 +- .../column_generated_virtual_add_column.test | 2 +- ..._generated_virtual_add_fulltext_index.test | 2 +- .../t/column_generated_virtual_add_index.test | 2 +- .../t/column_generated_virtual_delete.test | 2 +- .../column_generated_virtual_drop_column.test | 2 +- .../t/column_generated_virtual_insert.test | 2 +- .../t/column_generated_virtual_update.test | 2 +- .../wrapper/t/column_multibyte_cp932.test | 2 +- .../wrapper/t/column_multibyte_utf8.test | 2 +- .../wrapper/t/column_normal_comment.test | 2 +- .../mroonga/wrapper/t/count_star.test | 2 +- ...nt_star_mysql_5_7_or_later_with_index.test | 2 +- .../wrapper/t/count_star_with_index.test | 2 +- .../wrapper/t/create_table_TODO_SPLIT_ME.test | 2 +- .../t/create_table_comment_combined.test | 2 +- .../wrapper/t/create_table_flags_comment.test | 2 +- .../wrapper/t/create_table_flags_none.test | 2 +- .../t/create_table_flags_parameter.test | 2 +- .../t/create_table_index_flags_none.test | 2 +- ...x_flags_with_position_and_with_weight.test | 2 +- .../t/create_table_normalizer_comment.test | 2 +- ...e_table_normalizer_fulltext_index_bin.test | 2 +- .../t/create_table_normalizer_parameter.test | 2 +- .../t/create_table_parser_comment.test | 2 +- ..._filters_index_multiple_token_filters.test | 2 +- ..._token_filters_index_one_token_filter.test | 2 +- ...e_table_token_filters_index_parameter.test | 2 +- .../t/create_table_tokenizer_comment.test | 2 +- .../t/create_table_tokenizer_parameter.test | 2 +- .../wrapper/t/delete_TODO_SPLIT_ME.test | 2 +- .../mroonga/wrapper/t/delete_all.test | 2 +- .../wrapper/t/drop_table_new_connection.test | 2 +- .../t/fulltext_boolean_mode_leading_not.test | 2 +- ...t_boolean_mode_multiple_match_against.test | 2 +- ...ma_default_operator_minus_no_operator.test | 2 +- ...pragma_default_operator_minus_with_or.test | 2 +- ...agma_default_operator_minus_with_plus.test | 2 +- ...ragma_default_operator_or_no_operator.test | 2 +- ...pragma_default_operator_or_with_minus.test | 2 +- ..._pragma_default_operator_or_with_plus.test | 2 +- ...gma_default_operator_plus_no_operator.test | 2 +- ...agma_default_operator_plus_with_minus.test | 2 +- ..._pragma_default_operator_plus_with_or.test | 2 +- ..._boolean_mode_pragma_weight_full_spec.test | 2 +- ..._boolean_mode_pragma_weight_no_weight.test | 2 +- ...olean_mode_pragma_weight_omit_section.test | 2 +- .../wrapper/t/fulltext_charset_ascii.test | 2 +- .../wrapper/t/fulltext_charset_cp932.test | 2 +- .../wrapper/t/fulltext_charset_eucjpms.test | 2 +- .../wrapper/t/fulltext_charset_japanese.test | 2 +- .../wrapper/t/fulltext_index_recreate.test | 2 +- .../wrapper/t/fulltext_insert_select.test | 2 +- .../wrapper/t/fulltext_insert_values.test | 2 +- .../wrapper/t/fulltext_many_records.test | 2 +- ..._not_matched_have_where_matched_order.test | 2 +- ...d_and_not_matched_have_where_no_order.test | 2 +- ...d_and_not_matched_no_where_both_order.test | 2 +- ...fulltext_multiple_column_index_delete.test | 2 +- ...fulltext_multiple_column_index_insert.test | 2 +- ...lltext_multiple_column_index_recreate.test | 2 +- ...fulltext_multiple_column_index_update.test | 2 +- .../wrapper/t/fulltext_multiple_index.test | 2 +- .../mroonga/wrapper/t/fulltext_myisam.test | 2 +- .../wrapper/t/fulltext_not_match_against.test | 2 +- .../t/fulltext_order_TODO_SPLIT_ME.test | 2 +- .../wrapper/t/fulltext_order_transaction.test | 2 +- .../t/function_last_insert_id_reference.test | 2 +- .../t/function_last_insert_id_set.test | 2 +- .../mroonga/wrapper/t/geometry_contains.test | 2 +- .../mroonga/wrapper/t/geometry_delete.test | 2 +- .../mroonga/wrapper/t/geometry_update.test | 2 +- .../wrapper/t/index_force_index_not_used.test | 2 +- .../wrapper/t/insert_TODO_SPLIT_ME.test | 2 +- .../mroonga/wrapper/t/insert_bulk.test | 2 +- ...te_multiple_column_primary_key_myisam.test | 2 +- ...e_multiple_column_unique_index_myisam.test | 2 +- .../t/multi_range_read_disk_sweep.test | 2 +- ...ge_read_mysql_5_7_or_later_disk_sweep.test | 2 +- ...ptimization_order_limit_TODO_SPLIT_ME.test | 2 +- ...optimization_order_limit_no_direction.test | 2 +- ...imization_order_limit_no_where_clause.test | 2 +- ...tion_order_limit_order_by_primary_key.test | 2 +- .../mroonga/wrapper/t/performance_schema.test | 2 +- .../wrapper/t/repair_table_no_files.test | 2 +- .../wrapper/t/repair_table_no_index_file.test | 2 +- .../mroonga/wrapper/t/temporary_table.test | 2 +- .../wrapper/t/transaction_query_cache.test | 2 +- .../t/transaction_rollback_delete_delete.test | 2 +- .../t/transaction_rollback_delete_update.test | 2 +- .../mroonga/wrapper/t/truncate.test | 2 +- .../mroonga/wrapper/t/update_fulltext.test | 2 +- .../mroonga/wrapper/t/update_int.test | 2 +- .../wrapper/t/variable_dry_write_delete.test | 2 +- .../wrapper/t/variable_dry_write_insert.test | 2 +- .../wrapper/t/variable_dry_write_update.test | 2 +- ...ble_match_escalation_threshold_global.test | 2 +- ...le_match_escalation_threshold_session.test | 2 +- storage/mroonga/packages/ubuntu/upload.rb | 2 +- storage/mroonga/test/run-sql-test.sh | 2 +- .../test/unit/test_mrn_path_mapper.cpp | 2 +- storage/mroonga/tools/travis/before_script.sh | 2 +- storage/mroonga/tools/travis/install.sh | 2 +- storage/mroonga/tools/travis/script.sh | 2 +- storage/mroonga/udf/mrn_udf_command.cpp | 2 +- storage/mroonga/udf/mrn_udf_escape.cpp | 2 +- .../mroonga/udf/mrn_udf_highlight_html.cpp | 2 +- .../udf/mrn_udf_last_insert_grn_id.cpp | 2 +- storage/mroonga/udf/mrn_udf_normalize.cpp | 2 +- storage/mroonga/udf/mrn_udf_query_expand.cpp | 2 +- storage/mroonga/udf/mrn_udf_snippet.cpp | 2 +- storage/mroonga/udf/mrn_udf_snippet_html.cpp | 2 +- storage/mroonga/vendor/groonga/CMakeLists.txt | 2 +- storage/mroonga/vendor/groonga/COPYING | 4 +- .../benchmark/bench-between-sequential.c | 2 +- .../vendor/groonga/benchmark/bench-cache.c | 2 +- .../groonga/benchmark/bench-ctx-create.c | 2 +- .../groonga/benchmark/bench-geo-distance.c | 2 +- .../groonga/benchmark/bench-geo-select.c | 2 +- .../vendor/groonga/benchmark/bench-nfkc.c | 2 +- .../groonga/benchmark/bench-query-optimizer.c | 2 +- .../groonga/benchmark/bench-range-select.c | 2 +- .../groonga/benchmark/bench-result-set.c | 2 +- .../groonga/benchmark/bench-table-factory.c | 2 +- .../groonga/benchmark/lib/bench-reporter.c | 2 +- .../groonga/benchmark/lib/bench-reporter.h | 2 +- .../groonga/benchmark/lib/bench-utils.c | 2 +- .../groonga/benchmark/lib/bench-utils.h | 2 +- .../vendor/groonga/benchmark/lib/benchmark.c | 2 +- .../vendor/groonga/benchmark/lib/benchmark.h | 2 +- .../groonga/bindings/python/ql/groongaql.c | 2 +- .../build/cmake_modules/ReadFileList.cmake | 2 +- .../vendor/groonga/include/CMakeLists.txt | 2 +- .../mroonga/vendor/groonga/include/groonga.h | 2 +- .../vendor/groonga/include/groonga.hpp | 2 +- .../vendor/groonga/include/groonga/accessor.h | 2 +- .../vendor/groonga/include/groonga/array.h | 2 +- .../vendor/groonga/include/groonga/arrow.h | 2 +- .../vendor/groonga/include/groonga/arrow.hpp | 2 +- .../vendor/groonga/include/groonga/cache.h | 2 +- .../vendor/groonga/include/groonga/column.h | 2 +- .../vendor/groonga/include/groonga/command.h | 2 +- .../vendor/groonga/include/groonga/config.h | 2 +- .../vendor/groonga/include/groonga/dat.h | 2 +- .../vendor/groonga/include/groonga/db.h | 2 +- .../vendor/groonga/include/groonga/dump.h | 2 +- .../vendor/groonga/include/groonga/error.h | 2 +- .../vendor/groonga/include/groonga/expr.h | 2 +- .../groonga/include/groonga/file_reader.h | 2 +- .../vendor/groonga/include/groonga/geo.h | 2 +- .../vendor/groonga/include/groonga/groonga.h | 2 +- .../vendor/groonga/include/groonga/hash.h | 2 +- .../vendor/groonga/include/groonga/id.h | 2 +- .../vendor/groonga/include/groonga/ii.h | 2 +- .../vendor/groonga/include/groonga/nfkc.h | 2 +- .../groonga/include/groonga/normalizer.h | 2 +- .../vendor/groonga/include/groonga/obj.h | 2 +- .../vendor/groonga/include/groonga/operator.h | 2 +- .../vendor/groonga/include/groonga/output.h | 2 +- .../vendor/groonga/include/groonga/pat.h | 2 +- .../vendor/groonga/include/groonga/plugin.h | 2 +- .../groonga/include/groonga/portability.h | 2 +- .../include/groonga/request_canceler.h | 2 +- .../groonga/include/groonga/request_timer.h | 2 +- .../vendor/groonga/include/groonga/scorer.h | 2 +- .../vendor/groonga/include/groonga/table.h | 2 +- .../vendor/groonga/include/groonga/thread.h | 2 +- .../vendor/groonga/include/groonga/time.h | 2 +- .../vendor/groonga/include/groonga/token.h | 2 +- .../groonga/include/groonga/token_filter.h | 2 +- .../groonga/include/groonga/tokenizer.h | 2 +- .../vendor/groonga/include/groonga/type.h | 2 +- .../vendor/groonga/include/groonga/util.h | 2 +- .../groonga/include/groonga/window_function.h | 2 +- .../vendor/groonga/include/groonga/windows.h | 2 +- .../include/groonga/windows_event_logger.h | 2 +- .../mroonga/vendor/groonga/lib/CMakeLists.txt | 2 +- storage/mroonga/vendor/groonga/lib/alloc.c | 2 +- storage/mroonga/vendor/groonga/lib/arrow.cpp | 2 +- storage/mroonga/vendor/groonga/lib/cache.c | 2 +- storage/mroonga/vendor/groonga/lib/column.c | 2 +- storage/mroonga/vendor/groonga/lib/com.c | 2 +- storage/mroonga/vendor/groonga/lib/command.c | 2 +- storage/mroonga/vendor/groonga/lib/config.c | 2 +- storage/mroonga/vendor/groonga/lib/ctx.c | 2 +- .../mroonga/vendor/groonga/lib/ctx_impl_mrb.c | 2 +- storage/mroonga/vendor/groonga/lib/dat.cpp | 2 +- .../mroonga/vendor/groonga/lib/dat/array.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/base.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/block.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/check.hpp | 2 +- .../vendor/groonga/lib/dat/cursor-factory.cpp | 2 +- .../vendor/groonga/lib/dat/cursor-factory.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/cursor.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/dat.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/entry.hpp | 2 +- .../vendor/groonga/lib/dat/file-impl.cpp | 2 +- .../vendor/groonga/lib/dat/file-impl.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/file.cpp | 2 +- .../mroonga/vendor/groonga/lib/dat/file.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/header.hpp | 2 +- .../vendor/groonga/lib/dat/id-cursor.cpp | 2 +- .../vendor/groonga/lib/dat/id-cursor.hpp | 2 +- .../vendor/groonga/lib/dat/key-cursor.cpp | 2 +- .../vendor/groonga/lib/dat/key-cursor.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/key.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/node.hpp | 2 +- .../groonga/lib/dat/predictive-cursor.cpp | 2 +- .../groonga/lib/dat/predictive-cursor.hpp | 2 +- .../vendor/groonga/lib/dat/prefix-cursor.cpp | 2 +- .../vendor/groonga/lib/dat/prefix-cursor.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/string.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/trie.cpp | 2 +- .../mroonga/vendor/groonga/lib/dat/trie.hpp | 2 +- .../mroonga/vendor/groonga/lib/dat/vector.hpp | 2 +- storage/mroonga/vendor/groonga/lib/db.c | 2 +- storage/mroonga/vendor/groonga/lib/dump.c | 2 +- storage/mroonga/vendor/groonga/lib/error.c | 2 +- storage/mroonga/vendor/groonga/lib/expr.c | 2 +- .../mroonga/vendor/groonga/lib/expr_code.c | 2 +- .../vendor/groonga/lib/expr_executor.c | 2 +- .../mroonga/vendor/groonga/lib/file_lock.c | 2 +- .../mroonga/vendor/groonga/lib/file_reader.c | 2 +- storage/mroonga/vendor/groonga/lib/geo.c | 2 +- storage/mroonga/vendor/groonga/lib/grn.h | 2 +- .../mroonga/vendor/groonga/lib/grn_alloc.h | 2 +- .../mroonga/vendor/groonga/lib/grn_cache.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_com.h | 2 +- .../mroonga/vendor/groonga/lib/grn_config.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_ctx.h | 2 +- .../mroonga/vendor/groonga/lib/grn_ctx_impl.h | 2 +- .../vendor/groonga/lib/grn_ctx_impl_mrb.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_dat.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_db.h | 2 +- .../mroonga/vendor/groonga/lib/grn_error.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_expr.h | 2 +- .../vendor/groonga/lib/grn_expr_code.h | 2 +- .../vendor/groonga/lib/grn_expr_executor.h | 2 +- .../vendor/groonga/lib/grn_file_lock.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_geo.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_hash.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_ii.h | 2 +- .../vendor/groonga/lib/grn_index_column.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_io.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_load.h | 2 +- .../mroonga/vendor/groonga/lib/grn_logger.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_mrb.h | 2 +- .../mroonga/vendor/groonga/lib/grn_msgpack.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_nfkc.h | 2 +- .../vendor/groonga/lib/grn_normalizer.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_obj.h | 2 +- .../mroonga/vendor/groonga/lib/grn_output.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_pat.h | 2 +- .../mroonga/vendor/groonga/lib/grn_plugin.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_proc.h | 2 +- .../vendor/groonga/lib/grn_raw_string.h | 2 +- .../mroonga/vendor/groonga/lib/grn_report.h | 2 +- .../vendor/groonga/lib/grn_request_canceler.h | 2 +- .../vendor/groonga/lib/grn_request_timer.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_rset.h | 2 +- .../mroonga/vendor/groonga/lib/grn_scanner.h | 2 +- .../mroonga/vendor/groonga/lib/grn_scorer.h | 2 +- .../mroonga/vendor/groonga/lib/grn_scorers.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_snip.h | 2 +- .../mroonga/vendor/groonga/lib/grn_store.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_str.h | 2 +- .../mroonga/vendor/groonga/lib/grn_string.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_time.h | 2 +- .../vendor/groonga/lib/grn_token_cursor.h | 2 +- .../vendor/groonga/lib/grn_tokenizers.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_ts.h | 2 +- storage/mroonga/vendor/groonga/lib/grn_util.h | 2 +- .../vendor/groonga/lib/grn_window_function.h | 2 +- .../vendor/groonga/lib/grn_window_functions.h | 2 +- .../mroonga/vendor/groonga/lib/grn_windows.h | 2 +- storage/mroonga/vendor/groonga/lib/hash.c | 2 +- storage/mroonga/vendor/groonga/lib/icudump.c | 2 +- storage/mroonga/vendor/groonga/lib/id.c | 2 +- storage/mroonga/vendor/groonga/lib/ii.c | 2 +- .../mroonga/vendor/groonga/lib/index_column.c | 2 +- storage/mroonga/vendor/groonga/lib/io.c | 2 +- storage/mroonga/vendor/groonga/lib/load.c | 2 +- storage/mroonga/vendor/groonga/lib/logger.c | 2 +- storage/mroonga/vendor/groonga/lib/mrb.c | 2 +- .../vendor/groonga/lib/mrb/mrb_accessor.c | 2 +- .../vendor/groonga/lib/mrb/mrb_accessor.h | 2 +- .../vendor/groonga/lib/mrb/mrb_array.c | 2 +- .../vendor/groonga/lib/mrb/mrb_array.h | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_bulk.c | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_bulk.h | 2 +- .../vendor/groonga/lib/mrb/mrb_cache.c | 2 +- .../vendor/groonga/lib/mrb/mrb_cache.h | 2 +- .../vendor/groonga/lib/mrb/mrb_column.c | 2 +- .../vendor/groonga/lib/mrb/mrb_column.h | 2 +- .../vendor/groonga/lib/mrb/mrb_command.c | 2 +- .../vendor/groonga/lib/mrb/mrb_command.h | 2 +- .../groonga/lib/mrb/mrb_command_input.c | 2 +- .../groonga/lib/mrb/mrb_command_input.h | 2 +- .../groonga/lib/mrb/mrb_command_version.c | 2 +- .../groonga/lib/mrb/mrb_command_version.h | 2 +- .../vendor/groonga/lib/mrb/mrb_config.c | 2 +- .../vendor/groonga/lib/mrb/mrb_config.h | 2 +- .../vendor/groonga/lib/mrb/mrb_content_type.c | 2 +- .../vendor/groonga/lib/mrb/mrb_content_type.h | 2 +- .../vendor/groonga/lib/mrb/mrb_converter.c | 2 +- .../vendor/groonga/lib/mrb/mrb_converter.h | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_ctx.c | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_ctx.h | 2 +- .../vendor/groonga/lib/mrb/mrb_database.c | 2 +- .../vendor/groonga/lib/mrb/mrb_database.h | 2 +- .../groonga/lib/mrb/mrb_double_array_trie.c | 2 +- .../groonga/lib/mrb/mrb_double_array_trie.h | 2 +- .../vendor/groonga/lib/mrb/mrb_error.c | 2 +- .../vendor/groonga/lib/mrb/mrb_error.h | 2 +- .../vendor/groonga/lib/mrb/mrb_eval_context.c | 2 +- .../vendor/groonga/lib/mrb/mrb_eval_context.h | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_expr.c | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_expr.h | 2 +- .../groonga/lib/mrb/mrb_fixed_size_column.c | 2 +- .../groonga/lib/mrb/mrb_fixed_size_column.h | 2 +- .../vendor/groonga/lib/mrb/mrb_hash_table.c | 2 +- .../vendor/groonga/lib/mrb/mrb_hash_table.h | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_id.c | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_id.h | 2 +- .../vendor/groonga/lib/mrb/mrb_index_column.c | 2 +- .../vendor/groonga/lib/mrb/mrb_index_column.h | 2 +- .../vendor/groonga/lib/mrb/mrb_index_cursor.c | 2 +- .../vendor/groonga/lib/mrb/mrb_index_cursor.h | 2 +- .../vendor/groonga/lib/mrb/mrb_indexable.c | 2 +- .../vendor/groonga/lib/mrb/mrb_indexable.h | 2 +- .../vendor/groonga/lib/mrb/mrb_logger.c | 2 +- .../vendor/groonga/lib/mrb/mrb_logger.h | 2 +- .../vendor/groonga/lib/mrb/mrb_object.c | 2 +- .../vendor/groonga/lib/mrb/mrb_object.h | 2 +- .../vendor/groonga/lib/mrb/mrb_object_flags.c | 2 +- .../vendor/groonga/lib/mrb/mrb_object_flags.h | 2 +- .../vendor/groonga/lib/mrb/mrb_operator.c | 2 +- .../vendor/groonga/lib/mrb/mrb_operator.h | 2 +- .../vendor/groonga/lib/mrb/mrb_options.c | 2 +- .../vendor/groonga/lib/mrb/mrb_options.h | 2 +- .../groonga/lib/mrb/mrb_patricia_trie.c | 2 +- .../groonga/lib/mrb/mrb_patricia_trie.h | 2 +- .../vendor/groonga/lib/mrb/mrb_pointer.c | 2 +- .../vendor/groonga/lib/mrb/mrb_pointer.h | 2 +- .../vendor/groonga/lib/mrb/mrb_procedure.c | 2 +- .../vendor/groonga/lib/mrb/mrb_procedure.h | 2 +- .../vendor/groonga/lib/mrb/mrb_query_logger.c | 2 +- .../vendor/groonga/lib/mrb/mrb_query_logger.h | 2 +- .../vendor/groonga/lib/mrb/mrb_record.c | 2 +- .../vendor/groonga/lib/mrb/mrb_record.h | 2 +- .../vendor/groonga/lib/mrb/mrb_table.c | 2 +- .../vendor/groonga/lib/mrb/mrb_table.h | 2 +- .../vendor/groonga/lib/mrb/mrb_table_cursor.c | 2 +- .../vendor/groonga/lib/mrb/mrb_table_cursor.h | 2 +- .../groonga/lib/mrb/mrb_table_cursor_flags.c | 2 +- .../groonga/lib/mrb/mrb_table_cursor_flags.h | 2 +- .../groonga/lib/mrb/mrb_table_group_flags.c | 2 +- .../groonga/lib/mrb/mrb_table_group_flags.h | 2 +- .../groonga/lib/mrb/mrb_table_group_result.c | 2 +- .../groonga/lib/mrb/mrb_table_group_result.h | 2 +- .../groonga/lib/mrb/mrb_table_sort_flags.c | 2 +- .../groonga/lib/mrb/mrb_table_sort_flags.h | 2 +- .../groonga/lib/mrb/mrb_table_sort_key.c | 2 +- .../groonga/lib/mrb/mrb_table_sort_key.h | 2 +- .../vendor/groonga/lib/mrb/mrb_thread.c | 2 +- .../vendor/groonga/lib/mrb/mrb_thread.h | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_type.c | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_type.h | 2 +- .../lib/mrb/mrb_variable_size_column.c | 2 +- .../lib/mrb/mrb_variable_size_column.h | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_void.c | 2 +- .../mroonga/vendor/groonga/lib/mrb/mrb_void.h | 2 +- .../groonga/lib/mrb/mrb_window_definition.c | 2 +- .../groonga/lib/mrb/mrb_window_definition.h | 2 +- .../vendor/groonga/lib/mrb/mrb_writer.c | 2 +- .../vendor/groonga/lib/mrb/mrb_writer.h | 2 +- storage/mroonga/vendor/groonga/lib/nfkc.c | 2 +- storage/mroonga/vendor/groonga/lib/nfkc.rb | 4 +- storage/mroonga/vendor/groonga/lib/nfkc50.c | 2 +- .../mroonga/vendor/groonga/lib/normalizer.c | 2 +- storage/mroonga/vendor/groonga/lib/obj.c | 2 +- storage/mroonga/vendor/groonga/lib/operator.c | 2 +- storage/mroonga/vendor/groonga/lib/output.c | 2 +- storage/mroonga/vendor/groonga/lib/pat.c | 2 +- storage/mroonga/vendor/groonga/lib/plugin.c | 2 +- storage/mroonga/vendor/groonga/lib/proc.c | 2 +- .../vendor/groonga/lib/proc/proc_column.c | 2 +- .../vendor/groonga/lib/proc/proc_config.c | 2 +- .../vendor/groonga/lib/proc/proc_dump.c | 2 +- .../groonga/lib/proc/proc_fuzzy_search.c | 2 +- .../vendor/groonga/lib/proc/proc_highlight.c | 2 +- .../vendor/groonga/lib/proc/proc_in_records.c | 2 +- .../vendor/groonga/lib/proc/proc_lock.c | 2 +- .../vendor/groonga/lib/proc/proc_object.c | 2 +- .../groonga/lib/proc/proc_object_inspect.c | 2 +- .../groonga/lib/proc/proc_object_list.c | 2 +- .../vendor/groonga/lib/proc/proc_query.c | 2 +- .../groonga/lib/proc/proc_query_log_flags.c | 2 +- .../vendor/groonga/lib/proc/proc_schema.c | 2 +- .../vendor/groonga/lib/proc/proc_select.c | 2 +- .../vendor/groonga/lib/proc/proc_snippet.c | 2 +- .../vendor/groonga/lib/proc/proc_table.c | 2 +- .../vendor/groonga/lib/proc/proc_tokenize.c | 2 +- .../mroonga/vendor/groonga/lib/raw_string.c | 2 +- storage/mroonga/vendor/groonga/lib/report.c | 2 +- .../vendor/groonga/lib/request_canceler.c | 2 +- .../vendor/groonga/lib/request_timer.c | 2 +- storage/mroonga/vendor/groonga/lib/rset.c | 2 +- storage/mroonga/vendor/groonga/lib/scanner.c | 2 +- storage/mroonga/vendor/groonga/lib/scorer.c | 2 +- storage/mroonga/vendor/groonga/lib/scorers.c | 2 +- storage/mroonga/vendor/groonga/lib/snip.c | 2 +- storage/mroonga/vendor/groonga/lib/store.c | 2 +- storage/mroonga/vendor/groonga/lib/str.c | 2 +- storage/mroonga/vendor/groonga/lib/string.c | 2 +- storage/mroonga/vendor/groonga/lib/table.c | 2 +- storage/mroonga/vendor/groonga/lib/thread.c | 2 +- storage/mroonga/vendor/groonga/lib/time.c | 2 +- .../mroonga/vendor/groonga/lib/token_cursor.c | 2 +- .../mroonga/vendor/groonga/lib/token_filter.c | 2 +- .../mroonga/vendor/groonga/lib/tokenizer.c | 2 +- .../mroonga/vendor/groonga/lib/tokenizers.c | 2 +- storage/mroonga/vendor/groonga/lib/ts.c | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_buf.c | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_buf.h | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_cursor.c | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_cursor.h | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_expr.c | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_expr.h | 2 +- .../vendor/groonga/lib/ts/ts_expr_builder.c | 2 +- .../vendor/groonga/lib/ts/ts_expr_builder.h | 2 +- .../vendor/groonga/lib/ts/ts_expr_node.c | 2 +- .../vendor/groonga/lib/ts/ts_expr_node.h | 2 +- .../vendor/groonga/lib/ts/ts_expr_parser.c | 2 +- .../vendor/groonga/lib/ts/ts_expr_parser.h | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_log.h | 2 +- storage/mroonga/vendor/groonga/lib/ts/ts_op.c | 2 +- storage/mroonga/vendor/groonga/lib/ts/ts_op.h | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_plan.c | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_plan.h | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_sorter.c | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_sorter.h | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_str.c | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_str.h | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_types.h | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_util.c | 2 +- .../mroonga/vendor/groonga/lib/ts/ts_util.h | 2 +- storage/mroonga/vendor/groonga/lib/type.c | 2 +- storage/mroonga/vendor/groonga/lib/util.c | 2 +- .../vendor/groonga/lib/window_function.c | 2 +- .../vendor/groonga/lib/window_functions.c | 2 +- storage/mroonga/vendor/groonga/lib/windows.c | 2 +- .../vendor/groonga/lib/windows_event_logger.c | 2 +- .../vendor/groonga/plugins/CMakeLists.txt | 2 +- .../expression_rewriters/CMakeLists.txt | 2 +- .../groonga/plugins/functions/CMakeLists.txt | 2 +- .../groonga/plugins/functions/index_column.c | 2 +- .../vendor/groonga/plugins/functions/math.c | 2 +- .../vendor/groonga/plugins/functions/number.c | 2 +- .../vendor/groonga/plugins/functions/string.c | 2 +- .../vendor/groonga/plugins/functions/time.c | 2 +- .../vendor/groonga/plugins/functions/vector.c | 2 +- .../plugins/query_expanders/CMakeLists.txt | 2 +- .../groonga/plugins/query_expanders/tsv.c | 2 +- .../groonga/plugins/ruby/CMakeLists.txt | 2 +- .../groonga/plugins/sharding/CMakeLists.txt | 2 +- .../groonga/plugins/suggest/CMakeLists.txt | 2 +- .../vendor/groonga/plugins/suggest/suggest.c | 2 +- .../plugins/token_filters/CMakeLists.txt | 2 +- .../groonga/plugins/token_filters/stem.c | 2 +- .../groonga/plugins/token_filters/stop_word.c | 2 +- .../groonga/plugins/tokenizers/CMakeLists.txt | 2 +- .../groonga/plugins/tokenizers/kytea.cpp | 2 +- .../vendor/groonga/plugins/tokenizers/mecab.c | 2 +- .../mroonga/vendor/groonga/src/CMakeLists.txt | 2 +- storage/mroonga/vendor/groonga/src/grndb.c | 2 +- storage/mroonga/vendor/groonga/src/grnslap.c | 2 +- storage/mroonga/vendor/groonga/src/groonga.c | 2 +- .../vendor/groonga/src/groonga_benchmark.c | 2 +- .../vendor/groonga/src/groonga_mruby.c | 2 +- .../nginx-module/ngx_http_groonga_module.c | 2 +- .../vendor/groonga/src/suggest/CMakeLists.txt | 2 +- .../suggest/groonga_suggest_create_dataset.c | 2 +- .../src/suggest/groonga_suggest_httpd.c | 2 +- .../src/suggest/groonga_suggest_learner.c | 2 +- .../mroonga/vendor/groonga/src/suggest/util.c | 2 +- .../mroonga/vendor/groonga/src/suggest/util.h | 2 +- .../groonga/src/suggest/zmq_compatible.h | 2 +- .../tools/groonga-object-list-checker.rb | 2 +- .../tools/groonga-suggest-httpd-client.rb | 2 +- .../vendor/groonga/vendor/CMakeLists.txt | 2 +- .../vendor/groonga/vendor/lz4/CMakeLists.txt | 2 +- .../groonga/vendor/mecab/CMakeLists.txt | 2 +- .../vendor/message_pack/CMakeLists.txt | 2 +- .../groonga/vendor/mruby/CMakeLists.txt | 2 +- .../groonga/vendor/onigmo/CMakeLists.txt | 2 +- .../groonga/vendor/plugins/CMakeLists.txt | 2 +- .../groonga-normalizer-mysql/CMakeLists.txt | 2 +- .../groonga-normalizer-mysql/Makefile.am | 2 +- .../groonga-normalizer-mysql/autogen.sh | 2 +- .../build/Makefile.am | 2 +- .../build/cmake_modules/Makefile.am | 2 +- .../build/cmake_modules/ReadFileList.cmake | 2 +- .../groonga-normalizer-mysql/configure.ac | 2 +- .../data/travis/setup.sh | 2 +- .../groonga-normalizer-mysql/doc/Makefile.am | 2 +- .../doc/text/Makefile.am | 2 +- .../doc/text/lgpl-2.0.txt | 4 +- .../normalizers/CMakeLists.txt | 2 +- .../normalizers/Makefile.am | 2 +- .../normalizers/mysql.c | 2 +- .../normalizers/mysql_general_ci_table.h | 4 +- ...ana_ci_kana_with_voiced_sound_mark_table.h | 4 +- .../normalizers/mysql_unicode_520_ci_table.h | 4 +- ...ana_ci_kana_with_voiced_sound_mark_table.h | 4 +- .../normalizers/mysql_unicode_ci_table.h | 4 +- .../tool/dump_difference_uca.rb | 2 +- .../tool/dump_difference_utf8.rb | 2 +- .../tool/generate_uca_table.rb | 6 +- .../tool/generate_utf8_table.rb | 6 +- .../groonga-normalizer-mysql/tool/parser.rb | 2 +- .../tool/travis/before_script.sh | 2 +- .../tool/travis/install.sh | 2 +- storage/myisam/CMakeLists.txt | 2 +- storage/myisam/ft_boolean_search.c | 2 +- storage/myisam/ft_myisam.c | 2 +- storage/myisam/ft_nlq_search.c | 2 +- storage/myisam/ft_parser.c | 2 +- storage/myisam/ft_static.c | 2 +- storage/myisam/ft_stopwords.c | 2 +- storage/myisam/ft_update.c | 2 +- storage/myisam/ftbench/Ecompare.pl | 2 +- storage/myisam/ftbench/Ecreate.pl | 2 +- storage/myisam/ftbench/Ereport.pl | 2 +- storage/myisam/ftbench/ft-test-run.sh | 2 +- storage/myisam/ftdefs.h | 2 +- storage/myisam/fulltext.h | 2 +- storage/myisam/ha_myisam.cc | 4 +- storage/myisam/ha_myisam.h | 2 +- storage/myisam/mi_cache.c | 2 +- storage/myisam/mi_changed.c | 2 +- storage/myisam/mi_check.c | 2 +- storage/myisam/mi_checksum.c | 2 +- storage/myisam/mi_close.c | 2 +- storage/myisam/mi_create.c | 2 +- storage/myisam/mi_dbug.c | 2 +- storage/myisam/mi_delete.c | 2 +- storage/myisam/mi_delete_all.c | 2 +- storage/myisam/mi_delete_table.c | 2 +- storage/myisam/mi_dynrec.c | 2 +- storage/myisam/mi_extra.c | 2 +- storage/myisam/mi_extrafunc.h | 2 +- storage/myisam/mi_info.c | 2 +- storage/myisam/mi_key.c | 2 +- storage/myisam/mi_keycache.c | 2 +- storage/myisam/mi_locking.c | 2 +- storage/myisam/mi_log.c | 2 +- storage/myisam/mi_open.c | 2 +- storage/myisam/mi_packrec.c | 2 +- storage/myisam/mi_page.c | 2 +- storage/myisam/mi_panic.c | 2 +- storage/myisam/mi_preload.c | 2 +- storage/myisam/mi_range.c | 2 +- storage/myisam/mi_rename.c | 2 +- storage/myisam/mi_rfirst.c | 2 +- storage/myisam/mi_rkey.c | 2 +- storage/myisam/mi_rlast.c | 2 +- storage/myisam/mi_rnext.c | 2 +- storage/myisam/mi_rnext_same.c | 2 +- storage/myisam/mi_rprev.c | 2 +- storage/myisam/mi_rrnd.c | 2 +- storage/myisam/mi_rsame.c | 2 +- storage/myisam/mi_rsamepos.c | 2 +- storage/myisam/mi_scan.c | 2 +- storage/myisam/mi_search.c | 2 +- storage/myisam/mi_static.c | 2 +- storage/myisam/mi_statrec.c | 2 +- storage/myisam/mi_test1.c | 2 +- storage/myisam/mi_test2.c | 2 +- storage/myisam/mi_test3.c | 2 +- storage/myisam/mi_test_all.sh | 2 +- storage/myisam/mi_unique.c | 2 +- storage/myisam/mi_update.c | 2 +- storage/myisam/mi_write.c | 2 +- storage/myisam/myisam_ftdump.c | 2 +- storage/myisam/myisamchk.c | 2 +- storage/myisam/myisamdef.h | 9 +- storage/myisam/myisamlog.c | 2 +- storage/myisam/myisampack.c | 2 +- storage/myisam/rt_index.c | 2 +- storage/myisam/rt_index.h | 2 +- storage/myisam/rt_key.c | 2 +- storage/myisam/rt_key.h | 2 +- storage/myisam/rt_mbr.c | 2 +- storage/myisam/rt_mbr.h | 2 +- storage/myisam/rt_split.c | 2 +- storage/myisam/rt_test.c | 2 +- storage/myisam/sort.c | 2 +- storage/myisam/sp_defs.h | 2 +- storage/myisam/sp_key.c | 2 +- storage/myisam/sp_test.c | 2 +- storage/myisammrg/CMakeLists.txt | 2 +- storage/myisammrg/ha_myisammrg.cc | 4 +- storage/myisammrg/ha_myisammrg.h | 2 +- storage/myisammrg/myrg_close.c | 2 +- storage/myisammrg/myrg_create.c | 2 +- storage/myisammrg/myrg_def.h | 2 +- storage/myisammrg/myrg_delete.c | 2 +- storage/myisammrg/myrg_extra.c | 2 +- storage/myisammrg/myrg_info.c | 2 +- storage/myisammrg/myrg_locking.c | 2 +- storage/myisammrg/myrg_open.c | 2 +- storage/myisammrg/myrg_panic.c | 2 +- storage/myisammrg/myrg_queue.c | 2 +- storage/myisammrg/myrg_range.c | 2 +- storage/myisammrg/myrg_records.c | 2 +- storage/myisammrg/myrg_rfirst.c | 2 +- storage/myisammrg/myrg_rkey.c | 2 +- storage/myisammrg/myrg_rlast.c | 2 +- storage/myisammrg/myrg_rnext.c | 2 +- storage/myisammrg/myrg_rnext_same.c | 2 +- storage/myisammrg/myrg_rprev.c | 2 +- storage/myisammrg/myrg_rrnd.c | 2 +- storage/myisammrg/myrg_rsame.c | 2 +- storage/myisammrg/myrg_static.c | 2 +- storage/myisammrg/myrg_update.c | 2 +- storage/myisammrg/myrg_write.c | 2 +- storage/oqgraph/graphcore-config.h | 2 +- storage/oqgraph/graphcore-graph.cc | 2 +- storage/oqgraph/graphcore-graph.h | 2 +- storage/oqgraph/graphcore-types.h | 2 +- storage/oqgraph/graphcore.cc | 2 +- storage/oqgraph/graphcore.h | 2 +- storage/oqgraph/ha_oqgraph.cc | 2 +- storage/oqgraph/ha_oqgraph.h | 2 +- storage/oqgraph/oqgraph_judy.cc | 2 +- storage/oqgraph/oqgraph_judy.h | 2 +- storage/oqgraph/oqgraph_probes.d | 2 +- storage/oqgraph/oqgraph_shim.cc | 2 +- storage/oqgraph/oqgraph_shim.h | 2 +- storage/oqgraph/oqgraph_thunk.cc | 2 +- storage/oqgraph/oqgraph_thunk.h | 2 +- storage/perfschema/CMakeLists.txt | 2 +- storage/perfschema/cursor_by_account.cc | 2 +- storage/perfschema/cursor_by_account.h | 2 +- storage/perfschema/cursor_by_host.cc | 2 +- storage/perfschema/cursor_by_host.h | 2 +- storage/perfschema/cursor_by_thread.cc | 2 +- storage/perfschema/cursor_by_thread.h | 2 +- .../cursor_by_thread_connect_attr.cc | 2 +- .../cursor_by_thread_connect_attr.h | 2 +- storage/perfschema/cursor_by_user.cc | 2 +- storage/perfschema/cursor_by_user.h | 2 +- storage/perfschema/gen_pfs_lex_token.cc | 2 +- storage/perfschema/ha_perfschema.cc | 2 +- storage/perfschema/ha_perfschema.h | 2 +- storage/perfschema/pfs.cc | 42 +- storage/perfschema/pfs.h | 2 +- storage/perfschema/pfs_account.cc | 2 +- storage/perfschema/pfs_account.h | 2 +- storage/perfschema/pfs_atomic.h | 2 +- storage/perfschema/pfs_autosize.cc | 2 +- storage/perfschema/pfs_column_types.h | 2 +- storage/perfschema/pfs_column_values.cc | 2 +- storage/perfschema/pfs_column_values.h | 2 +- storage/perfschema/pfs_con_slice.cc | 2 +- storage/perfschema/pfs_con_slice.h | 2 +- storage/perfschema/pfs_defaults.cc | 2 +- storage/perfschema/pfs_defaults.h | 2 +- storage/perfschema/pfs_digest.cc | 2 +- storage/perfschema/pfs_digest.h | 2 +- storage/perfschema/pfs_engine_table.cc | 2 +- storage/perfschema/pfs_engine_table.h | 2 +- storage/perfschema/pfs_events.h | 2 +- storage/perfschema/pfs_events_stages.cc | 2 +- storage/perfschema/pfs_events_stages.h | 2 +- storage/perfschema/pfs_events_statements.cc | 2 +- storage/perfschema/pfs_events_statements.h | 2 +- storage/perfschema/pfs_events_waits.cc | 2 +- storage/perfschema/pfs_events_waits.h | 2 +- storage/perfschema/pfs_global.cc | 2 +- storage/perfschema/pfs_global.h | 4 +- storage/perfschema/pfs_host.cc | 2 +- storage/perfschema/pfs_host.h | 2 +- storage/perfschema/pfs_instr.cc | 2 +- storage/perfschema/pfs_instr.h | 2 +- storage/perfschema/pfs_instr_class.cc | 2 +- storage/perfschema/pfs_instr_class.h | 2 +- storage/perfschema/pfs_lock.h | 2 +- storage/perfschema/pfs_server.cc | 2 +- storage/perfschema/pfs_server.h | 2 +- storage/perfschema/pfs_setup_actor.cc | 2 +- storage/perfschema/pfs_setup_actor.h | 2 +- storage/perfschema/pfs_setup_object.cc | 2 +- storage/perfschema/pfs_setup_object.h | 2 +- storage/perfschema/pfs_stat.h | 2 +- storage/perfschema/pfs_timer.cc | 25 +- storage/perfschema/pfs_timer.h | 4 +- storage/perfschema/pfs_user.cc | 2 +- storage/perfschema/pfs_user.h | 2 +- storage/perfschema/pfs_visitor.cc | 2 +- storage/perfschema/pfs_visitor.h | 2 +- storage/perfschema/table_accounts.cc | 2 +- storage/perfschema/table_accounts.h | 2 +- storage/perfschema/table_all_instr.cc | 2 +- storage/perfschema/table_all_instr.h | 2 +- .../table_esgs_by_account_by_event_name.cc | 2 +- .../table_esgs_by_account_by_event_name.h | 2 +- .../table_esgs_by_host_by_event_name.cc | 2 +- .../table_esgs_by_host_by_event_name.h | 2 +- .../table_esgs_by_thread_by_event_name.cc | 2 +- .../table_esgs_by_thread_by_event_name.h | 2 +- .../table_esgs_by_user_by_event_name.cc | 2 +- .../table_esgs_by_user_by_event_name.h | 2 +- .../table_esgs_global_by_event_name.cc | 2 +- .../table_esgs_global_by_event_name.h | 2 +- .../table_esms_by_account_by_event_name.cc | 2 +- .../table_esms_by_account_by_event_name.h | 2 +- storage/perfschema/table_esms_by_digest.cc | 2 +- storage/perfschema/table_esms_by_digest.h | 2 +- .../table_esms_by_host_by_event_name.cc | 2 +- .../table_esms_by_host_by_event_name.h | 2 +- .../table_esms_by_thread_by_event_name.cc | 2 +- .../table_esms_by_thread_by_event_name.h | 2 +- .../table_esms_by_user_by_event_name.cc | 2 +- .../table_esms_by_user_by_event_name.h | 2 +- .../table_esms_global_by_event_name.cc | 2 +- .../table_esms_global_by_event_name.h | 2 +- storage/perfschema/table_events_stages.cc | 2 +- storage/perfschema/table_events_stages.h | 2 +- storage/perfschema/table_events_statements.cc | 2 +- storage/perfschema/table_events_statements.h | 2 +- storage/perfschema/table_events_waits.cc | 2 +- storage/perfschema/table_events_waits.h | 2 +- .../perfschema/table_events_waits_summary.cc | 2 +- .../perfschema/table_events_waits_summary.h | 2 +- .../table_ews_by_account_by_event_name.cc | 2 +- .../table_ews_by_account_by_event_name.h | 2 +- .../table_ews_by_host_by_event_name.cc | 2 +- .../table_ews_by_host_by_event_name.h | 2 +- .../table_ews_by_thread_by_event_name.cc | 2 +- .../table_ews_by_thread_by_event_name.h | 2 +- .../table_ews_by_user_by_event_name.cc | 2 +- .../table_ews_by_user_by_event_name.h | 2 +- .../table_ews_global_by_event_name.cc | 4 +- .../table_ews_global_by_event_name.h | 4 +- storage/perfschema/table_file_instances.cc | 2 +- storage/perfschema/table_file_instances.h | 2 +- .../table_file_summary_by_event_name.cc | 2 +- .../table_file_summary_by_event_name.h | 2 +- .../table_file_summary_by_instance.cc | 2 +- .../table_file_summary_by_instance.h | 2 +- storage/perfschema/table_helper.cc | 2 +- storage/perfschema/table_helper.h | 2 +- storage/perfschema/table_host_cache.cc | 2 +- storage/perfschema/table_host_cache.h | 2 +- storage/perfschema/table_hosts.cc | 2 +- storage/perfschema/table_hosts.h | 2 +- storage/perfschema/table_os_global_by_type.cc | 2 +- storage/perfschema/table_os_global_by_type.h | 2 +- .../perfschema/table_performance_timers.cc | 12 +- storage/perfschema/table_performance_timers.h | 2 +- .../table_session_account_connect_attrs.cc | 2 +- .../table_session_account_connect_attrs.h | 2 +- storage/perfschema/table_session_connect.cc | 2 +- storage/perfschema/table_session_connect.h | 2 +- .../perfschema/table_session_connect_attrs.cc | 2 +- .../perfschema/table_session_connect_attrs.h | 2 +- storage/perfschema/table_setup_actors.cc | 2 +- storage/perfschema/table_setup_actors.h | 2 +- storage/perfschema/table_setup_consumers.cc | 2 +- storage/perfschema/table_setup_consumers.h | 2 +- storage/perfschema/table_setup_instruments.cc | 2 +- storage/perfschema/table_setup_instruments.h | 2 +- storage/perfschema/table_setup_objects.cc | 2 +- storage/perfschema/table_setup_objects.h | 2 +- storage/perfschema/table_setup_timers.cc | 2 +- storage/perfschema/table_setup_timers.h | 2 +- storage/perfschema/table_socket_instances.cc | 2 +- storage/perfschema/table_socket_instances.h | 2 +- .../table_socket_summary_by_event_name.cc | 2 +- .../table_socket_summary_by_event_name.h | 2 +- .../table_socket_summary_by_instance.cc | 2 +- .../table_socket_summary_by_instance.h | 2 +- storage/perfschema/table_sync_instances.cc | 2 +- storage/perfschema/table_sync_instances.h | 2 +- storage/perfschema/table_threads.cc | 2 +- storage/perfschema/table_threads.h | 2 +- .../perfschema/table_tiws_by_index_usage.cc | 2 +- .../perfschema/table_tiws_by_index_usage.h | 2 +- storage/perfschema/table_tiws_by_table.cc | 2 +- storage/perfschema/table_tiws_by_table.h | 2 +- storage/perfschema/table_tlws_by_table.cc | 2 +- storage/perfschema/table_tlws_by_table.h | 2 +- storage/perfschema/table_users.cc | 2 +- storage/perfschema/table_users.h | 2 +- storage/perfschema/unittest/CMakeLists.txt | 4 +- storage/perfschema/unittest/conf.txt | 2 +- storage/perfschema/unittest/pfs-t.cc | 2 +- .../perfschema/unittest/pfs_account-oom-t.cc | 2 +- .../perfschema/unittest/pfs_connect_attr-t.cc | 2 +- storage/perfschema/unittest/pfs_host-oom-t.cc | 2 +- .../perfschema/unittest/pfs_instr-oom-t.cc | 2 +- storage/perfschema/unittest/pfs_instr-t.cc | 2 +- .../unittest/pfs_instr_class-oom-t.cc | 2 +- .../perfschema/unittest/pfs_instr_class-t.cc | 2 +- storage/perfschema/unittest/pfs_misc-t.cc | 2 +- .../perfschema/unittest/pfs_server_stubs.cc | 4 +- storage/perfschema/unittest/pfs_timer-t.cc | 4 +- storage/perfschema/unittest/pfs_user-oom-t.cc | 2 +- .../perfschema/unittest/stub_pfs_defaults.h | 2 +- storage/perfschema/unittest/stub_pfs_global.h | 2 +- .../perfschema/unittest/stub_print_error.h | 2 +- storage/sequence/sequence.cc | 2 +- storage/spider/ha_spider.cc | 2 +- storage/spider/ha_spider.h | 2 +- storage/spider/hs_client/hs_compat.h | 2 +- storage/spider/scripts/install_spider.sql | 2 +- storage/spider/spd_conn.cc | 2 +- storage/spider/spd_conn.h | 2 +- storage/spider/spd_copy_tables.cc | 2 +- storage/spider/spd_copy_tables.h | 2 +- storage/spider/spd_db_conn.cc | 2 +- storage/spider/spd_db_conn.h | 2 +- storage/spider/spd_db_handlersocket.cc | 2 +- storage/spider/spd_db_handlersocket.h | 2 +- storage/spider/spd_db_include.h | 2 +- storage/spider/spd_db_mysql.cc | 2 +- storage/spider/spd_db_mysql.h | 2 +- storage/spider/spd_db_oracle.cc | 2 +- storage/spider/spd_db_oracle.h | 2 +- storage/spider/spd_direct_sql.cc | 2 +- storage/spider/spd_direct_sql.h | 2 +- storage/spider/spd_err.h | 2 +- storage/spider/spd_i_s.cc | 2 +- storage/spider/spd_include.h | 2 +- storage/spider/spd_malloc.cc | 2 +- storage/spider/spd_malloc.h | 2 +- storage/spider/spd_param.cc | 2 +- storage/spider/spd_param.h | 2 +- storage/spider/spd_ping_table.cc | 2 +- storage/spider/spd_ping_table.h | 2 +- storage/spider/spd_sys_table.cc | 2 +- storage/spider/spd_sys_table.h | 2 +- storage/spider/spd_table.cc | 4 +- storage/spider/spd_table.h | 2 +- storage/spider/spd_trx.cc | 2 +- storage/spider/spd_trx.h | 2 +- storage/spider/spd_udf.cc | 2 +- storage/spider/spd_udf.h | 2 +- .../test_sql_discovery/test_sql_discovery.cc | 2 +- storage/tokudb/PerconaFT/COPYING.GPLv2 | 4 +- .../cmake/merge_archives_unix.cmake.in | 2 +- storage/tokudb/PerconaFT/ft/comparator.h | 14 + storage/tokudb/PerconaFT/ft/ft-ops.cc | 2 + storage/tokudb/PerconaFT/ft/ft-status.cc | 14 + storage/tokudb/PerconaFT/ft/ft-status.h | 14 + storage/tokudb/PerconaFT/ft/logger/logger.cc | 8 +- storage/tokudb/PerconaFT/locktree/keyrange.cc | 1 + storage/tokudb/PerconaFT/locktree/keyrange.h | 1 + .../tokudb/PerconaFT/locktree/lock_request.cc | 1 + .../tokudb/PerconaFT/locktree/lock_request.h | 1 + storage/tokudb/PerconaFT/locktree/locktree.cc | 1 + storage/tokudb/PerconaFT/locktree/locktree.h | 1 + storage/tokudb/PerconaFT/locktree/manager.cc | 1 + .../tokudb/PerconaFT/locktree/range_buffer.cc | 1 + .../tokudb/PerconaFT/locktree/range_buffer.h | 1 + storage/tokudb/PerconaFT/locktree/treenode.cc | 1 + storage/tokudb/PerconaFT/locktree/treenode.h | 1 + .../tokudb/PerconaFT/locktree/txnid_set.cc | 1 + storage/tokudb/PerconaFT/locktree/txnid_set.h | 1 + storage/tokudb/PerconaFT/locktree/wfg.cc | 1 + storage/tokudb/PerconaFT/locktree/wfg.h | 1 + .../tokudb/PerconaFT/portability/memory.cc | 31 +- storage/tokudb/PerconaFT/portability/memory.h | 14 + .../PerconaFT/portability/portability.cc | 2 + .../PerconaFT/portability/toku_atomic.h | 14 + .../portability/toku_instrumentation.h | 46 + .../PerconaFT/portability/toku_portability.h | 14 + .../PerconaFT/portability/toku_pthread.cc | 14 + .../PerconaFT/portability/toku_pthread.h | 14 + .../PerconaFT/portability/toku_race_tools.h | 14 + .../tokudb/PerconaFT/portability/toku_time.cc | 14 + .../tokudb/PerconaFT/portability/toku_time.h | 14 + .../third_party/snappy-1.1.2/aclocal.m4 | 4 +- .../third_party/snappy-1.1.2/configure | 2 +- .../third_party/snappy-1.1.2/ltmain.sh | 2 +- .../third_party/xz-4.999.9beta/COPYING.GPLv2 | 4 +- .../xz-4.999.9beta/COPYING.LGPLv2.1 | 4 +- .../xz-4.999.9beta/build-aux/config.sub | 2 +- .../xz-4.999.9beta/build-aux/ltmain.sh | 2 +- .../third_party/xz-4.999.9beta/configure | 2 +- .../third_party/xz-4.999.9beta/lib/getopt.c | 2 +- .../xz-4.999.9beta/lib/getopt.in.h | 2 +- .../third_party/xz-4.999.9beta/lib/getopt1.c | 2 +- .../xz-4.999.9beta/lib/getopt_int.h | 2 +- .../third_party/xz-4.999.9beta/m4/libtool.m4 | 2 +- storage/tokudb/PerconaFT/util/dbt.h | 14 + .../tokudb/PerconaFT/util/growable_array.h | 1 + storage/tokudb/PerconaFT/util/memarena.cc | 14 + storage/tokudb/PerconaFT/util/memarena.h | 14 + storage/tokudb/PerconaFT/util/omt.cc | 1 + storage/tokudb/PerconaFT/util/omt.h | 1 + .../PerconaFT/util/partitioned_counter.cc | 14 + .../PerconaFT/util/partitioned_counter.h | 14 + storage/tokudb/PerconaFT/util/status.h | 14 + .../tokudb/t/change_column_Makefile | 10 +- .../mysql-test/tokudb/t/change_column_bin.py | 2 +- .../tokudb/t/change_column_bin_rename.py | 2 +- .../mysql-test/tokudb/t/change_column_char.py | 2 +- .../tokudb/t/change_column_char_binary.py | 2 +- .../tokudb/t/change_column_char_charbinary.py | 2 +- .../tokudb/t/change_column_char_rename.py | 2 +- .../mysql-test/tokudb/t/change_column_int.py | 2 +- .../tokudb/t/change_column_int_key.py | 2 +- .../t/change_column_int_not_supported.py | 2 +- .../tokudb/t/change_column_int_rename.py | 2 +- .../mysql-test/tokudb/t/fast_update_Makefile | 4 +- .../t/partition_debug_sync_tokudb-master.opt | 1 - .../t/partition_debug_tokudb-master.opt | 1 - .../t/partition_special_tokudb-master.opt | 1 - storage/xtradb/CMakeLists.txt | 5 +- storage/xtradb/api/api0api.cc | 2 +- storage/xtradb/api/api0misc.cc | 2 +- storage/xtradb/btr/btr0btr.cc | 2 +- storage/xtradb/btr/btr0cur.cc | 2 +- storage/xtradb/btr/btr0defragment.cc | 18 +- storage/xtradb/btr/btr0pcur.cc | 2 +- storage/xtradb/btr/btr0sea.cc | 2 +- storage/xtradb/buf/buf0buddy.cc | 9 +- storage/xtradb/buf/buf0buf.cc | 86 +- storage/xtradb/buf/buf0checksum.cc | 2 +- storage/xtradb/buf/buf0dblwr.cc | 11 +- storage/xtradb/buf/buf0dump.cc | 2 +- storage/xtradb/buf/buf0flu.cc | 2 +- storage/xtradb/buf/buf0lru.cc | 16 +- storage/xtradb/buf/buf0mtflu.cc | 2 +- storage/xtradb/buf/buf0rea.cc | 2 +- storage/xtradb/data/data0data.cc | 2 +- storage/xtradb/data/data0type.cc | 2 +- storage/xtradb/dict/dict0boot.cc | 2 +- storage/xtradb/dict/dict0crea.cc | 2 +- storage/xtradb/dict/dict0dict.cc | 2 +- storage/xtradb/dict/dict0load.cc | 2 +- storage/xtradb/dict/dict0mem.cc | 4 +- storage/xtradb/dict/dict0stats.cc | 14 +- storage/xtradb/dict/dict0stats_bg.cc | 6 +- storage/xtradb/dyn/dyn0dyn.cc | 2 +- storage/xtradb/eval/eval0eval.cc | 5 +- storage/xtradb/eval/eval0proc.cc | 2 +- storage/xtradb/fil/fil0crypt.cc | 23 +- storage/xtradb/fil/fil0fil.cc | 39 +- storage/xtradb/fil/fil0pagecompress.cc | 2 +- storage/xtradb/fsp/fsp0fsp.cc | 2 +- storage/xtradb/fts/fts0ast.cc | 2 +- storage/xtradb/fts/fts0blex.cc | 2 +- storage/xtradb/fts/fts0blex.l | 2 +- storage/xtradb/fts/fts0config.cc | 27 +- storage/xtradb/fts/fts0fts.cc | 264 +- storage/xtradb/fts/fts0opt.cc | 508 +- storage/xtradb/fts/fts0pars.y | 2 +- storage/xtradb/fts/fts0que.cc | 36 +- storage/xtradb/fts/fts0sql.cc | 153 +- storage/xtradb/fts/fts0tlex.cc | 2 +- storage/xtradb/fts/fts0tlex.l | 2 +- storage/xtradb/fts/make_parser.sh | 2 +- storage/xtradb/fut/fut0fut.cc | 2 +- storage/xtradb/fut/fut0lst.cc | 2 +- storage/xtradb/ha/ha0ha.cc | 2 +- storage/xtradb/ha/ha0storage.cc | 2 +- storage/xtradb/ha/hash0hash.cc | 2 +- storage/xtradb/handler/ha_innodb.cc | 353 +- storage/xtradb/handler/ha_innodb.h | 2 +- storage/xtradb/handler/handler0alter.cc | 2 +- storage/xtradb/handler/i_s.cc | 110 +- storage/xtradb/handler/i_s.h | 8 +- storage/xtradb/handler/xtradb_i_s.cc | 2 +- storage/xtradb/handler/xtradb_i_s.h | 2 +- storage/xtradb/ibuf/ibuf0ibuf.cc | 2 +- storage/xtradb/include/api0api.h | 2 +- storage/xtradb/include/api0misc.h | 2 +- storage/xtradb/include/btr0btr.h | 2 +- storage/xtradb/include/btr0btr.ic | 2 +- storage/xtradb/include/btr0cur.h | 2 +- storage/xtradb/include/btr0cur.ic | 2 +- storage/xtradb/include/btr0defragment.h | 2 +- storage/xtradb/include/btr0pcur.h | 2 +- storage/xtradb/include/btr0pcur.ic | 2 +- storage/xtradb/include/btr0sea.h | 2 +- storage/xtradb/include/btr0sea.ic | 2 +- storage/xtradb/include/btr0types.h | 2 +- storage/xtradb/include/buf0buddy.h | 2 +- storage/xtradb/include/buf0buddy.ic | 2 +- storage/xtradb/include/buf0buf.h | 2 +- storage/xtradb/include/buf0buf.ic | 2 +- storage/xtradb/include/buf0checksum.h | 2 +- storage/xtradb/include/buf0dblwr.h | 2 +- storage/xtradb/include/buf0dump.h | 2 +- storage/xtradb/include/buf0flu.h | 2 +- storage/xtradb/include/buf0flu.ic | 2 +- storage/xtradb/include/buf0lru.h | 10 +- storage/xtradb/include/buf0lru.ic | 2 +- storage/xtradb/include/buf0mtflu.h | 2 +- storage/xtradb/include/buf0rea.h | 2 +- storage/xtradb/include/buf0types.h | 2 +- storage/xtradb/include/data0data.h | 2 +- storage/xtradb/include/data0data.ic | 2 +- storage/xtradb/include/data0type.h | 2 +- storage/xtradb/include/data0type.ic | 2 +- storage/xtradb/include/data0types.h | 2 +- storage/xtradb/include/db0err.h | 2 +- storage/xtradb/include/dict0boot.h | 2 +- storage/xtradb/include/dict0boot.ic | 2 +- storage/xtradb/include/dict0crea.h | 2 +- storage/xtradb/include/dict0crea.ic | 2 +- storage/xtradb/include/dict0dict.h | 2 +- storage/xtradb/include/dict0dict.ic | 2 +- storage/xtradb/include/dict0load.h | 2 +- storage/xtradb/include/dict0load.ic | 2 +- storage/xtradb/include/dict0mem.h | 6 +- storage/xtradb/include/dict0mem.ic | 2 +- storage/xtradb/include/dict0pagecompress.h | 2 +- storage/xtradb/include/dict0pagecompress.ic | 2 +- storage/xtradb/include/dict0priv.h | 2 +- storage/xtradb/include/dict0priv.ic | 2 +- storage/xtradb/include/dict0stats.h | 2 +- storage/xtradb/include/dict0stats.ic | 2 +- storage/xtradb/include/dict0stats_bg.h | 2 +- storage/xtradb/include/dict0stats_bg.ic | 2 +- storage/xtradb/include/dict0types.h | 2 +- storage/xtradb/include/dyn0dyn.h | 2 +- storage/xtradb/include/dyn0dyn.ic | 2 +- storage/xtradb/include/eval0eval.h | 2 +- storage/xtradb/include/eval0eval.ic | 2 +- storage/xtradb/include/eval0proc.h | 2 +- storage/xtradb/include/eval0proc.ic | 2 +- storage/xtradb/include/fil0crypt.h | 2 +- storage/xtradb/include/fil0crypt.ic | 2 +- storage/xtradb/include/fil0fil.h | 16 +- storage/xtradb/include/fil0fil.ic | 2 +- storage/xtradb/include/fil0pagecompress.h | 2 +- storage/xtradb/include/fsp0fsp.h | 2 +- storage/xtradb/include/fsp0fsp.ic | 2 +- storage/xtradb/include/fsp0pagecompress.h | 2 +- storage/xtradb/include/fsp0pagecompress.ic | 2 +- storage/xtradb/include/fsp0types.h | 2 +- storage/xtradb/include/fts0ast.h | 2 +- storage/xtradb/include/fts0fts.h | 28 +- storage/xtradb/include/fts0opt.h | 2 +- storage/xtradb/include/fts0priv.h | 34 +- storage/xtradb/include/fts0priv.ic | 2 +- storage/xtradb/include/fts0types.h | 6 +- storage/xtradb/include/fts0types.ic | 2 +- storage/xtradb/include/fts0vlc.ic | 2 +- storage/xtradb/include/fut0fut.h | 2 +- storage/xtradb/include/fut0fut.ic | 2 +- storage/xtradb/include/fut0lst.h | 2 +- storage/xtradb/include/fut0lst.ic | 2 +- storage/xtradb/include/ha0ha.h | 2 +- storage/xtradb/include/ha0ha.ic | 2 +- storage/xtradb/include/ha0storage.h | 2 +- storage/xtradb/include/ha0storage.ic | 2 +- storage/xtradb/include/ha_prototypes.h | 2 +- storage/xtradb/include/handler0alter.h | 2 +- storage/xtradb/include/hash0hash.h | 2 +- storage/xtradb/include/hash0hash.ic | 2 +- storage/xtradb/include/ibuf0ibuf.h | 2 +- storage/xtradb/include/ibuf0ibuf.ic | 2 +- storage/xtradb/include/ibuf0types.h | 2 +- storage/xtradb/include/lock0iter.h | 2 +- storage/xtradb/include/lock0lock.h | 18 +- storage/xtradb/include/lock0lock.ic | 2 +- storage/xtradb/include/lock0priv.h | 14 +- storage/xtradb/include/lock0priv.ic | 2 +- storage/xtradb/include/lock0types.h | 2 +- storage/xtradb/include/log0crypt.h | 2 +- storage/xtradb/include/log0log.h | 2 +- storage/xtradb/include/log0log.ic | 2 +- storage/xtradb/include/log0online.h | 2 +- storage/xtradb/include/log0recv.h | 6 +- storage/xtradb/include/log0recv.ic | 2 +- storage/xtradb/include/mach0data.h | 2 +- storage/xtradb/include/mach0data.ic | 2 +- storage/xtradb/include/mem0dbg.h | 2 +- storage/xtradb/include/mem0dbg.ic | 2 +- storage/xtradb/include/mem0mem.h | 2 +- storage/xtradb/include/mem0mem.ic | 2 +- storage/xtradb/include/mem0pool.h | 2 +- storage/xtradb/include/mem0pool.ic | 2 +- storage/xtradb/include/mtr0log.h | 2 +- storage/xtradb/include/mtr0log.ic | 2 +- storage/xtradb/include/mtr0mtr.h | 2 +- storage/xtradb/include/mtr0mtr.ic | 2 +- storage/xtradb/include/mtr0types.h | 2 +- storage/xtradb/include/os0file.h | 2 +- storage/xtradb/include/os0file.ic | 2 +- storage/xtradb/include/os0once.h | 2 +- storage/xtradb/include/os0proc.h | 2 +- storage/xtradb/include/os0proc.ic | 2 +- storage/xtradb/include/os0stacktrace.h | 2 +- storage/xtradb/include/os0sync.h | 2 +- storage/xtradb/include/os0sync.ic | 2 +- storage/xtradb/include/os0thread.h | 2 +- storage/xtradb/include/os0thread.ic | 2 +- storage/xtradb/include/page0cur.h | 2 +- storage/xtradb/include/page0cur.ic | 2 +- storage/xtradb/include/page0page.h | 2 +- storage/xtradb/include/page0page.ic | 2 +- storage/xtradb/include/page0types.h | 2 +- storage/xtradb/include/page0zip.h | 2 +- storage/xtradb/include/page0zip.ic | 2 +- storage/xtradb/include/pars0grm.h | 2 +- storage/xtradb/include/pars0opt.h | 2 +- storage/xtradb/include/pars0opt.ic | 2 +- storage/xtradb/include/pars0pars.h | 2 +- storage/xtradb/include/pars0pars.ic | 2 +- storage/xtradb/include/pars0sym.h | 2 +- storage/xtradb/include/pars0sym.ic | 2 +- storage/xtradb/include/pars0types.h | 2 +- storage/xtradb/include/que0que.h | 2 +- storage/xtradb/include/que0que.ic | 2 +- storage/xtradb/include/que0types.h | 2 +- storage/xtradb/include/read0i_s.h | 2 +- storage/xtradb/include/read0read.h | 2 +- storage/xtradb/include/read0read.ic | 2 +- storage/xtradb/include/read0types.h | 2 +- storage/xtradb/include/rem0cmp.h | 2 +- storage/xtradb/include/rem0cmp.ic | 2 +- storage/xtradb/include/rem0rec.h | 2 +- storage/xtradb/include/rem0rec.ic | 2 +- storage/xtradb/include/rem0types.h | 2 +- storage/xtradb/include/row0ext.h | 2 +- storage/xtradb/include/row0ext.ic | 2 +- storage/xtradb/include/row0ftsort.h | 2 +- storage/xtradb/include/row0import.h | 2 +- storage/xtradb/include/row0import.ic | 2 +- storage/xtradb/include/row0ins.h | 2 +- storage/xtradb/include/row0ins.ic | 2 +- storage/xtradb/include/row0log.h | 2 +- storage/xtradb/include/row0log.ic | 2 +- storage/xtradb/include/row0merge.h | 2 +- storage/xtradb/include/row0mysql.h | 6 +- storage/xtradb/include/row0mysql.ic | 2 +- storage/xtradb/include/row0purge.h | 2 +- storage/xtradb/include/row0purge.ic | 2 +- storage/xtradb/include/row0quiesce.h | 2 +- storage/xtradb/include/row0quiesce.ic | 2 +- storage/xtradb/include/row0row.h | 2 +- storage/xtradb/include/row0row.ic | 2 +- storage/xtradb/include/row0sel.h | 2 +- storage/xtradb/include/row0sel.ic | 2 +- storage/xtradb/include/row0types.h | 2 +- storage/xtradb/include/row0uins.h | 2 +- storage/xtradb/include/row0uins.ic | 2 +- storage/xtradb/include/row0umod.h | 2 +- storage/xtradb/include/row0umod.ic | 2 +- storage/xtradb/include/row0undo.h | 2 +- storage/xtradb/include/row0undo.ic | 2 +- storage/xtradb/include/row0upd.h | 2 +- storage/xtradb/include/row0upd.ic | 2 +- storage/xtradb/include/row0vers.h | 2 +- storage/xtradb/include/row0vers.ic | 2 +- storage/xtradb/include/srv0conc.h | 2 +- storage/xtradb/include/srv0mon.h | 12 +- storage/xtradb/include/srv0mon.ic | 2 +- storage/xtradb/include/srv0srv.h | 16 +- storage/xtradb/include/srv0srv.ic | 2 +- storage/xtradb/include/srv0start.h | 2 +- storage/xtradb/include/sync0arr.h | 2 +- storage/xtradb/include/sync0arr.ic | 2 +- storage/xtradb/include/sync0rw.h | 2 +- storage/xtradb/include/sync0rw.ic | 2 +- storage/xtradb/include/sync0sync.h | 2 +- storage/xtradb/include/sync0sync.ic | 2 +- storage/xtradb/include/sync0types.h | 2 +- storage/xtradb/include/trx0i_s.h | 7 +- storage/xtradb/include/trx0purge.h | 2 +- storage/xtradb/include/trx0purge.ic | 2 +- storage/xtradb/include/trx0rec.h | 2 +- storage/xtradb/include/trx0rec.ic | 2 +- storage/xtradb/include/trx0roll.h | 2 +- storage/xtradb/include/trx0roll.ic | 2 +- storage/xtradb/include/trx0rseg.h | 2 +- storage/xtradb/include/trx0rseg.ic | 2 +- storage/xtradb/include/trx0sys.h | 2 +- storage/xtradb/include/trx0sys.ic | 2 +- storage/xtradb/include/trx0trx.h | 13 +- storage/xtradb/include/trx0trx.ic | 2 +- storage/xtradb/include/trx0types.h | 2 +- storage/xtradb/include/trx0undo.h | 2 +- storage/xtradb/include/trx0undo.ic | 2 +- storage/xtradb/include/trx0xa.h | 2 +- storage/xtradb/include/univ.i | 6 +- storage/xtradb/include/usr0sess.h | 2 +- storage/xtradb/include/usr0sess.ic | 2 +- storage/xtradb/include/usr0types.h | 2 +- storage/xtradb/include/ut0bh.h | 2 +- storage/xtradb/include/ut0bh.ic | 2 +- storage/xtradb/include/ut0byte.h | 2 +- storage/xtradb/include/ut0byte.ic | 2 +- storage/xtradb/include/ut0counter.h | 2 +- storage/xtradb/include/ut0crc32.h | 2 +- storage/xtradb/include/ut0dbg.h | 2 +- storage/xtradb/include/ut0list.h | 2 +- storage/xtradb/include/ut0list.ic | 2 +- storage/xtradb/include/ut0lst.h | 2 +- storage/xtradb/include/ut0mem.h | 2 +- storage/xtradb/include/ut0mem.ic | 2 +- storage/xtradb/include/ut0rbt.h | 2 +- storage/xtradb/include/ut0rnd.h | 2 +- storage/xtradb/include/ut0rnd.ic | 2 +- storage/xtradb/include/ut0sort.h | 2 +- storage/xtradb/include/ut0timer.h | 69 - storage/xtradb/include/ut0timer.ic | 56 - storage/xtradb/include/ut0ut.h | 82 +- storage/xtradb/include/ut0ut.ic | 2 +- storage/xtradb/include/ut0vec.h | 2 +- storage/xtradb/include/ut0vec.ic | 2 +- storage/xtradb/include/ut0wqueue.h | 4 +- storage/xtradb/lock/lock0iter.cc | 2 +- storage/xtradb/lock/lock0lock.cc | 265 +- storage/xtradb/lock/lock0wait.cc | 67 +- storage/xtradb/log/log0crypt.cc | 2 +- storage/xtradb/log/log0log.cc | 28 +- storage/xtradb/log/log0online.cc | 2 +- storage/xtradb/log/log0recv.cc | 49 +- storage/xtradb/mach/mach0data.cc | 2 +- storage/xtradb/mem/mem0dbg.cc | 2 +- storage/xtradb/mem/mem0mem.cc | 2 +- storage/xtradb/mem/mem0pool.cc | 2 +- storage/xtradb/mtr/mtr0log.cc | 2 +- storage/xtradb/mtr/mtr0mtr.cc | 2 +- storage/xtradb/os/os0file.cc | 43 +- storage/xtradb/os/os0proc.cc | 2 +- storage/xtradb/os/os0stacktrace.cc | 2 +- storage/xtradb/os/os0sync.cc | 28 +- storage/xtradb/os/os0thread.cc | 2 +- storage/xtradb/page/page0cur.cc | 12 +- storage/xtradb/page/page0page.cc | 2 +- storage/xtradb/page/page0zip.cc | 14 +- storage/xtradb/pars/lexyy.cc | 2 +- storage/xtradb/pars/make_bison.sh | 2 +- storage/xtradb/pars/make_flex.sh | 2 +- storage/xtradb/pars/pars0grm.cc | 2 +- storage/xtradb/pars/pars0grm.y | 2 +- storage/xtradb/pars/pars0lex.l | 2 +- storage/xtradb/pars/pars0opt.cc | 2 +- storage/xtradb/pars/pars0pars.cc | 2 +- storage/xtradb/pars/pars0sym.cc | 2 +- storage/xtradb/que/que0que.cc | 12 +- storage/xtradb/read/read0read.cc | 2 +- storage/xtradb/rem/rem0cmp.cc | 2 +- storage/xtradb/rem/rem0rec.cc | 2 +- storage/xtradb/row/row0ext.cc | 2 +- storage/xtradb/row/row0ftsort.cc | 3 +- storage/xtradb/row/row0import.cc | 2 +- storage/xtradb/row/row0ins.cc | 9 +- storage/xtradb/row/row0log.cc | 2 +- storage/xtradb/row/row0merge.cc | 23 +- storage/xtradb/row/row0mysql.cc | 26 +- storage/xtradb/row/row0purge.cc | 2 +- storage/xtradb/row/row0quiesce.cc | 2 +- storage/xtradb/row/row0row.cc | 2 +- storage/xtradb/row/row0sel.cc | 2 +- storage/xtradb/row/row0uins.cc | 2 +- storage/xtradb/row/row0umod.cc | 2 +- storage/xtradb/row/row0undo.cc | 2 +- storage/xtradb/row/row0upd.cc | 2 +- storage/xtradb/row/row0vers.cc | 2 +- storage/xtradb/srv/srv0conc.cc | 18 +- storage/xtradb/srv/srv0mon.cc | 30 +- storage/xtradb/srv/srv0srv.cc | 53 +- storage/xtradb/srv/srv0start.cc | 6 +- storage/xtradb/sync/sync0arr.cc | 12 +- storage/xtradb/sync/sync0rw.cc | 2 +- storage/xtradb/sync/sync0sync.cc | 2 +- storage/xtradb/trx/trx0i_s.cc | 39 +- storage/xtradb/trx/trx0purge.cc | 5 +- storage/xtradb/trx/trx0rec.cc | 2 +- storage/xtradb/trx/trx0roll.cc | 6 +- storage/xtradb/trx/trx0rseg.cc | 2 +- storage/xtradb/trx/trx0sys.cc | 2 +- storage/xtradb/trx/trx0trx.cc | 29 +- storage/xtradb/trx/trx0undo.cc | 2 +- storage/xtradb/usr/usr0sess.cc | 2 +- storage/xtradb/ut/ut0bh.cc | 2 +- storage/xtradb/ut/ut0byte.cc | 2 +- storage/xtradb/ut/ut0crc32.cc | 23 +- storage/xtradb/ut/ut0dbg.cc | 2 +- storage/xtradb/ut/ut0list.cc | 2 +- storage/xtradb/ut/ut0mem.cc | 2 +- storage/xtradb/ut/ut0rbt.cc | 2 +- storage/xtradb/ut/ut0rnd.cc | 2 +- storage/xtradb/ut/ut0timer.cc | 92 - storage/xtradb/ut/ut0ut.cc | 219 +- storage/xtradb/ut/ut0vec.cc | 2 +- storage/xtradb/ut/ut0wqueue.cc | 4 +- strings/CMakeLists.txt | 2 +- strings/conf_to_src.c | 4 +- strings/ctype-big5.c | 2 +- strings/ctype-bin.c | 2 +- strings/ctype-cp932.c | 2 +- strings/ctype-czech.c | 2 +- strings/ctype-euc_kr.c | 2 +- strings/ctype-eucjpms.c | 2 +- strings/ctype-extra.c | 2 +- strings/ctype-gb2312.c | 2 +- strings/ctype-gbk.c | 2 +- strings/ctype-latin1.c | 2 +- strings/ctype-mb.c | 2 +- strings/ctype-mb.ic | 2 +- strings/ctype-simple.c | 2 +- strings/ctype-sjis.c | 2 +- strings/ctype-uca.c | 2 +- strings/ctype-ucs2.c | 2 +- strings/ctype-ujis.c | 2 +- strings/ctype-utf8.c | 2 +- strings/ctype-win1250ch.c | 2 +- strings/ctype.c | 2 +- strings/decimal.c | 2 +- strings/do_ctype.c | 2 +- strings/dtoa.c | 2 +- strings/dump_map.c | 2 +- strings/my_strchr.c | 2 +- strings/my_vsnprintf.c | 2 +- strings/strcoll.ic | 2 +- strings/strings_def.h | 2 +- strings/strmake.c | 2 +- strings/strmov_overlapp.c | 2 +- strings/t_ctype.h | 2 +- strings/uca-dump.c | 2 +- strings/uctypedump.c | 2 +- strings/utr11-dump.c | 2 +- strings/xml.c | 2 +- support-files/CMakeLists.txt | 2 +- support-files/MacOSX/Description.plist.sh | 2 +- support-files/MacOSX/Info.plist.sh | 2 +- support-files/MacOSX/MySQLCOM | 2 +- .../MacOSX/StartupItem.Description.plist | 2 +- support-files/MacOSX/StartupItem.Info.plist | 2 +- support-files/MacOSX/StartupItem.postinstall | 2 +- .../MacOSX/StartupParameters.plist.sh | 2 +- support-files/MacOSX/mwar-wrapper | 2 +- support-files/MacOSX/mwcc-wrapper | 2 +- support-files/MacOSX/postflight.sh | 2 +- support-files/MacOSX/preflight.sh | 2 +- support-files/dtrace/locktime.d | 2 +- support-files/dtrace/query-execandqc.d | 2 +- support-files/dtrace/query-filesort-time.d | 2 +- support-files/dtrace/query-network-time.d | 2 +- support-files/dtrace/query-parse-time.d | 2 +- support-files/dtrace/query-rowops.d | 2 +- support-files/dtrace/query-time.d | 2 +- support-files/dtrace/statement-time.d | 2 +- .../dtrace/statement-type-aggregate.d | 2 +- support-files/mysql.m4 | 2 +- support-files/mysql.server.sh | 2 +- support-files/rpm/server-postin.sh | 2 +- tests/CMakeLists.txt | 2 +- tests/big_record.pl | 2 +- tests/bug25714.c | 2 +- tests/connect_test.c | 2 +- tests/deadlock_test.c | 2 +- tests/drop_test.pl | 2 +- tests/export.pl | 2 +- tests/fork2_test.pl | 2 +- tests/fork_big.pl | 2 +- tests/fork_big2.pl | 2 +- tests/grant.pl | 2 +- tests/index_corrupt.pl | 2 +- tests/insert_and_repair.pl | 2 +- tests/insert_test.c | 2 +- tests/list_test.c | 2 +- tests/lock_test.pl | 2 +- tests/mysql_client_fw.c | 2 +- tests/mysql_client_test.c | 2 +- tests/pmail.pl | 2 +- tests/rename_test.pl | 2 +- tests/select_test.c | 2 +- tests/showdb_test.c | 2 +- tests/ssl_test.c | 2 +- tests/table_types.pl | 2 +- tests/test_delayed_insert.pl | 2 +- tests/thread_test.c | 2 +- tests/truncate.pl | 2 +- unittest/examples/CMakeLists.txt | 2 +- unittest/examples/core-t.c | 2 +- unittest/examples/no_plan-t.c | 2 +- unittest/examples/simple-t.c | 2 +- unittest/examples/skip-t.c | 2 +- unittest/examples/skip_all-t.c | 2 +- unittest/examples/todo-t.c | 2 +- unittest/my_decimal/CMakeLists.txt | 2 +- unittest/my_decimal/my_decimal-t.cc | 2 +- unittest/mysys/CMakeLists.txt | 2 +- unittest/mysys/aes-t.c | 2 +- unittest/mysys/base64-t.c | 2 +- unittest/mysys/bitmap-t.c | 2 +- unittest/mysys/dynstring-t.c | 2 +- unittest/mysys/lf-t.c | 2 +- unittest/mysys/my_atomic-t.c | 2 +- unittest/mysys/my_delete-t.c | 2 +- unittest/mysys/my_malloc-t.c | 2 +- unittest/mysys/my_rdtsc-t.c | 2 +- unittest/mysys/my_vsnprintf-t.c | 2 +- unittest/mysys/thr_template.c | 2 +- unittest/mysys/waiting_threads-t.c | 2 +- unittest/mytap/CMakeLists.txt | 2 +- unittest/mytap/t/basic-t.c | 2 +- unittest/mytap/tap.c | 2 +- unittest/mytap/tap.h | 2 +- unittest/sql/CMakeLists.txt | 2 +- unittest/sql/explain_filename-t.cc | 2 +- unittest/sql/mf_iocache-t.cc | 2 +- unittest/sql/my_apc-t.cc | 2 +- unittest/strings/strings-t.c | 2 +- unittest/unit.pl | 2 +- vio/CMakeLists.txt | 2 +- vio/test-ssl.c | 2 +- vio/test-sslclient.c | 2 +- vio/test-sslserver.c | 2 +- vio/vio.c | 2 +- vio/vio_priv.h | 2 +- vio/viopipe.c | 2 +- vio/vioshm.c | 2 +- vio/viosocket.c | 2 +- vio/viossl.c | 2 +- vio/viosslfactories.c | 2 +- vio/viotest-ssl.c | 2 +- vio/viotest-sslconnect.cc | 2 +- vio/viotest.cc | 2 +- win/create_def_file.js | 2 +- win/packaging/CMakeLists.txt | 2 +- win/packaging/COPYING.rtf | 4 +- win/packaging/ca/CMakeLists.txt | 2 +- win/packaging/ca/CustomAction.cpp | 2 +- win/packaging/heidisql.cmake | 9 +- win/packaging/heidisql.wxi.in | 20 +- wsrep/CMakeLists.txt | 2 +- wsrep/wsrep_api.h | 2 +- wsrep/wsrep_dummy.c | 2 +- wsrep/wsrep_gtid.c | 2 +- wsrep/wsrep_loader.c | 2 +- wsrep/wsrep_uuid.c | 2 +- zlib/CMakeLists.txt | 7 +- 4301 files changed, 28419 insertions(+), 23209 deletions(-) create mode 100644 .clang-format create mode 100644 mysql-test/extra/rpl_tests/rpl_blackhole_basic.test create mode 100644 mysql-test/r/ctype_utf8_def_upgrade.result create mode 100644 mysql-test/r/multi_update_debug.result create mode 100644 mysql-test/r/ps_innodb.result create mode 100644 mysql-test/suite/binlog/r/binlog_mysqlbinlog_stop_never.result create mode 100644 mysql-test/suite/binlog/t/binlog_mysqlbinlog_stop_never.test delete mode 100644 mysql-test/suite/encryption/r/innodb_lotoftables.result delete mode 100644 mysql-test/suite/encryption/t/innodb_lotoftables.opt delete mode 100644 mysql-test/suite/encryption/t/innodb_lotoftables.test create mode 100644 mysql-test/suite/innodb/include/show_i_s_tables.inc create mode 100644 mysql-test/suite/innodb/include/show_i_s_tablespaces.inc create mode 100644 mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff create mode 100644 mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff create mode 100644 mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff create mode 100644 mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff create mode 100644 mysql-test/suite/innodb/r/check_ibd_filesize.result create mode 100644 mysql-test/suite/innodb/r/create_select.result create mode 100644 mysql-test/suite/innodb/r/innodb-system-table-view.result create mode 100644 mysql-test/suite/innodb/r/innodb-wl5980-debug.result create mode 100644 mysql-test/suite/innodb/r/trx_id_future.result create mode 100644 mysql-test/suite/innodb/t/check_ibd_filesize.test create mode 100644 mysql-test/suite/innodb/t/create_select.test create mode 100644 mysql-test/suite/innodb/t/innodb-system-table-view.opt create mode 100644 mysql-test/suite/innodb/t/innodb-system-table-view.test create mode 100644 mysql-test/suite/innodb/t/innodb-wl5980-debug.test create mode 100644 mysql-test/suite/innodb/t/trx_id_future.test create mode 100644 mysql-test/suite/innodb_fts/r/innodb_ft_aux_table.result create mode 100644 mysql-test/suite/innodb_fts/t/innodb_ft_aux_table.opt create mode 100644 mysql-test/suite/innodb_fts/t/innodb_ft_aux_table.test create mode 100644 mysql-test/suite/multi_source/mdev-8874.cnf create mode 100644 mysql-test/suite/multi_source/mdev-8874.result create mode 100644 mysql-test/suite/multi_source/mdev-8874.test create mode 100644 mysql-test/suite/rpl/r/mdev_17588.result create mode 100644 mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result create mode 100644 mysql-test/suite/rpl/r/rpl_row_drop_temp_table.result create mode 100644 mysql-test/suite/rpl/t/mdev_17588-slave.opt create mode 100644 mysql-test/suite/rpl/t/mdev_17588.test create mode 100644 mysql-test/suite/rpl/t/rpl_blackhole_row_annotate-master.opt create mode 100644 mysql-test/suite/rpl/t/rpl_blackhole_row_annotate-slave.opt create mode 100644 mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test create mode 100644 mysql-test/suite/rpl/t/rpl_row_drop_temp_table.test create mode 100644 mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit,32bit.rdiff rename mysql-test/suite/sys_vars/r/{innodb_ft_result_cache_limit_64.result => innodb_ft_result_cache_limit.result} (100%) delete mode 100644 mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_32.result rename mysql-test/suite/sys_vars/t/{innodb_ft_result_cache_limit_32.test => innodb_ft_result_cache_limit.test} (90%) delete mode 100644 mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_64.test create mode 100644 mysql-test/t/ctype_utf8_def_upgrade.opt create mode 100644 mysql-test/t/ctype_utf8_def_upgrade.test create mode 100644 mysql-test/t/multi_update_debug.test create mode 100644 mysql-test/t/ps_innodb.test create mode 100644 plugin/disks/mysql-test/disks/disks_notembedded.result create mode 100644 plugin/disks/mysql-test/disks/disks_notembedded.test delete mode 100644 storage/innobase/include/ut0timer.h delete mode 100644 storage/innobase/include/ut0timer.ic delete mode 100644 storage/innobase/ut/ut0timer.cc delete mode 100644 storage/tokudb/mysql-test/tokudb_parts/t/partition_debug_sync_tokudb-master.opt delete mode 100644 storage/tokudb/mysql-test/tokudb_parts/t/partition_debug_tokudb-master.opt delete mode 100644 storage/tokudb/mysql-test/tokudb_parts/t/partition_special_tokudb-master.opt delete mode 100644 storage/xtradb/include/ut0timer.h delete mode 100644 storage/xtradb/include/ut0timer.ic delete mode 100644 storage/xtradb/ut/ut0timer.cc diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..1ad93ead8 --- /dev/null +++ b/.clang-format @@ -0,0 +1,117 @@ +--- +Language: Cpp +AccessModifierOffset: -2 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Right +AlignOperands: true +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: true +AllowAllConstructorInitializersOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: All +AllowShortLambdasOnASingleLine: All +AllowShortIfStatementsOnASingleLine: Never +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: MultiLine +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterCaseLabel: true + AfterClass: true + AfterControlStatement: true + AfterEnum: true + AfterFunction: true + AfterNamespace: true + AfterStruct: true + AfterUnion: true + AfterExternBlock: true + BeforeCatch: true + BeforeElse: true + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +BreakBeforeInheritanceComma: false +BreakInheritanceList: BeforeColon +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeColon +BreakStringLiterals: true +ColumnLimit: 79 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IncludeBlocks: Preserve +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + - Regex: '^(<|"(gtest|gmock|isl|json)/)' + Priority: 3 + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +IndentPPDirectives: None +IndentWidth: 2 +IndentWrappedFunctionNames: false +KeepEmptyLinesAtTheStartOfBlocks: true +Language: Cpp +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PointerAlignment: Right +ReflowComments: true +SortIncludes: true +SortUsingDeclarations: true +SpaceAfterCStyleCast: true +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: false +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp11 +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 8 +UseTab: Never +... diff --git a/BUILD/FINISH.sh b/BUILD/FINISH.sh index 86085fcc5..7e4f47760 100644 --- a/BUILD/FINISH.sh +++ b/BUILD/FINISH.sh @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA cflags="$c_warnings $extra_flags $EXTRA_FLAGS $EXTRA_CFLAGS" cxxflags="$cxx_warnings $base_cxxflags $extra_flags $EXTRA_FLAGS $EXTRA_CXXFLAGS" diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh index 36072ebaa..ed1f069b4 100755 --- a/BUILD/SETUP.sh +++ b/BUILD/SETUP.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA ######################################################################## diff --git a/BUILD/autorun.sh b/BUILD/autorun.sh index 39346270a..a705c726e 100755 --- a/BUILD/autorun.sh +++ b/BUILD/autorun.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # Create MySQL cmake configure wrapper diff --git a/BUILD/check-cpu b/BUILD/check-cpu index c1c85cfd9..814c217c0 100755 --- a/BUILD/check-cpu +++ b/BUILD/check-cpu @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # Check cpu of current machine and find the diff --git a/BUILD/cleanup b/BUILD/cleanup index 1a3cfa7b2..3d7912965 100755 --- a/BUILD/cleanup +++ b/BUILD/cleanup @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/cmake_configure.sh b/BUILD/cmake_configure.sh index 668d6a81b..7f877de21 100644 --- a/BUILD/cmake_configure.sh +++ b/BUILD/cmake_configure.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # Ensure cmake and perl are there cmake -P cmake/check_minimal_version.cmake >/dev/null 2>&1 || HAVE_CMAKE=no diff --git a/BUILD/compile-alpha b/BUILD/compile-alpha index 45f72eb90..cb3c4478a 100755 --- a/BUILD/compile-alpha +++ b/BUILD/compile-alpha @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-amd64-debug-max b/BUILD/compile-amd64-debug-max index 923379598..281f2775c 100755 --- a/BUILD/compile-amd64-debug-max +++ b/BUILD/compile-amd64-debug-max @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-amd64-debug-max-no-ndb b/BUILD/compile-amd64-debug-max-no-ndb index d45a51eba..0fa8b428c 100755 --- a/BUILD/compile-amd64-debug-max-no-ndb +++ b/BUILD/compile-amd64-debug-max-no-ndb @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-amd64-gcov b/BUILD/compile-amd64-gcov index 80936d1f3..c9bd3f36d 100755 --- a/BUILD/compile-amd64-gcov +++ b/BUILD/compile-amd64-gcov @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-amd64-gprof b/BUILD/compile-amd64-gprof index b6e38a68b..2be4fdfaf 100755 --- a/BUILD/compile-amd64-gprof +++ b/BUILD/compile-amd64-gprof @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-amd64-max b/BUILD/compile-amd64-max index 3814a98b7..6d3470deb 100755 --- a/BUILD/compile-amd64-max +++ b/BUILD/compile-amd64-max @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-amd64-valgrind-max b/BUILD/compile-amd64-valgrind-max index 303b73e4b..2d6fa68bd 100755 --- a/BUILD/compile-amd64-valgrind-max +++ b/BUILD/compile-amd64-valgrind-max @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-bintar b/BUILD/compile-bintar index 94d1371f6..56c3cb725 100755 --- a/BUILD/compile-bintar +++ b/BUILD/compile-bintar @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. # This script's purpose is to build the binary tarball packages for MariaDB diff --git a/BUILD/compile-darwin-mwcc b/BUILD/compile-darwin-mwcc index 06332910e..811de47e2 100755 --- a/BUILD/compile-darwin-mwcc +++ b/BUILD/compile-darwin-mwcc @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-dist b/BUILD/compile-dist index 853fd3397..7f4437bf9 100755 --- a/BUILD/compile-dist +++ b/BUILD/compile-dist @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # This script's purpose is to update the automake/autoconf helper scripts and diff --git a/BUILD/compile-hpux11-parisc2-aCC b/BUILD/compile-hpux11-parisc2-aCC index 0a3c8e78b..15e9b9644 100755 --- a/BUILD/compile-hpux11-parisc2-aCC +++ b/BUILD/compile-hpux11-parisc2-aCC @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA if [ ! -f "sql/mysqld.cc" ]; then echo "You must run this script from the MySQL top-level directory." diff --git a/BUILD/compile-ia64-debug-max b/BUILD/compile-ia64-debug-max index 508cadf73..415d3cec7 100755 --- a/BUILD/compile-ia64-debug-max +++ b/BUILD/compile-ia64-debug-max @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA gmake -k maintainer-clean || true /bin/rm -f */.deps/*.P config.cache storage/innobase/config.cache diff --git a/BUILD/compile-innodb b/BUILD/compile-innodb index fa791282b..b3001061e 100755 --- a/BUILD/compile-innodb +++ b/BUILD/compile-innodb @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, -# Fifth Floor, Boston, MA 02110-1301 USA +# Fifth Floor, Boston, MA 02110-1335 USA # # we assume this script is in storage/innobase/ diff --git a/BUILD/compile-irix-mips64-mipspro b/BUILD/compile-irix-mips64-mipspro index 4a55654e9..917f3d07b 100755 --- a/BUILD/compile-irix-mips64-mipspro +++ b/BUILD/compile-irix-mips64-mipspro @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA if [ ! -f "sql/mysqld.cc" ]; then echo "You must run this script from the MySQL top-level directory." diff --git a/BUILD/compile-pentium b/BUILD/compile-pentium index c197d9b49..15a041fc0 100755 --- a/BUILD/compile-pentium +++ b/BUILD/compile-pentium @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-cybozu b/BUILD/compile-pentium-cybozu index fc65adf1e..4ff01e73a 100755 --- a/BUILD/compile-pentium-cybozu +++ b/BUILD/compile-pentium-cybozu @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-debug b/BUILD/compile-pentium-debug index faeb1b895..d19292773 100755 --- a/BUILD/compile-pentium-debug +++ b/BUILD/compile-pentium-debug @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-debug-max b/BUILD/compile-pentium-debug-max index 0c925d842..59d471af1 100755 --- a/BUILD/compile-pentium-debug-max +++ b/BUILD/compile-pentium-debug-max @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-debug-max-no-embedded b/BUILD/compile-pentium-debug-max-no-embedded index 2394c8aa2..9564836c0 100755 --- a/BUILD/compile-pentium-debug-max-no-embedded +++ b/BUILD/compile-pentium-debug-max-no-embedded @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-debug-max-no-ndb b/BUILD/compile-pentium-debug-max-no-ndb index 705164c20..409d645be 100755 --- a/BUILD/compile-pentium-debug-max-no-ndb +++ b/BUILD/compile-pentium-debug-max-no-ndb @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-debug-openssl b/BUILD/compile-pentium-debug-openssl index abf6b41a2..3fd461353 100755 --- a/BUILD/compile-pentium-debug-openssl +++ b/BUILD/compile-pentium-debug-openssl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-debug-yassl b/BUILD/compile-pentium-debug-yassl index e8cfff6cb..0a53e7f97 100755 --- a/BUILD/compile-pentium-debug-yassl +++ b/BUILD/compile-pentium-debug-yassl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-gcov b/BUILD/compile-pentium-gcov index 56072f619..11fc6dd9c 100755 --- a/BUILD/compile-pentium-gcov +++ b/BUILD/compile-pentium-gcov @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA # Need to disable ccache, or we loose the gcov-needed compiler output files. diff --git a/BUILD/compile-pentium-gprof b/BUILD/compile-pentium-gprof index 52231e783..75dbd7558 100755 --- a/BUILD/compile-pentium-gprof +++ b/BUILD/compile-pentium-gprof @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-icc b/BUILD/compile-pentium-icc index 23333a13c..385e8a411 100755 --- a/BUILD/compile-pentium-icc +++ b/BUILD/compile-pentium-icc @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-icc-valgrind-max b/BUILD/compile-pentium-icc-valgrind-max index 4858f796f..182028629 100755 --- a/BUILD/compile-pentium-icc-valgrind-max +++ b/BUILD/compile-pentium-icc-valgrind-max @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. # @@ -27,7 +27,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-icc-yassl b/BUILD/compile-pentium-icc-yassl index ef0ec1a5d..cd4d8dc82 100644 --- a/BUILD/compile-pentium-icc-yassl +++ b/BUILD/compile-pentium-icc-yassl @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-max b/BUILD/compile-pentium-max index 470596f8e..41cb3a269 100755 --- a/BUILD/compile-pentium-max +++ b/BUILD/compile-pentium-max @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-myodbc b/BUILD/compile-pentium-myodbc index d9b1dd471..62e06a4b5 100755 --- a/BUILD/compile-pentium-myodbc +++ b/BUILD/compile-pentium-myodbc @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-valgrind-max b/BUILD/compile-pentium-valgrind-max index c4cb1845b..da0c903bc 100755 --- a/BUILD/compile-pentium-valgrind-max +++ b/BUILD/compile-pentium-valgrind-max @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. # @@ -27,7 +27,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium-valgrind-max-no-ndb b/BUILD/compile-pentium-valgrind-max-no-ndb index 4eb47cb2f..94dc3092a 100755 --- a/BUILD/compile-pentium-valgrind-max-no-ndb +++ b/BUILD/compile-pentium-valgrind-max-no-ndb @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium64-debug b/BUILD/compile-pentium64-debug index 74909c346..f30c6634e 100755 --- a/BUILD/compile-pentium64-debug +++ b/BUILD/compile-pentium64-debug @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium64-debug-max b/BUILD/compile-pentium64-debug-max index 49a9c7daf..09061de68 100755 --- a/BUILD/compile-pentium64-debug-max +++ b/BUILD/compile-pentium64-debug-max @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium64-gcov b/BUILD/compile-pentium64-gcov index 36d4b6192..598d43c05 100755 --- a/BUILD/compile-pentium64-gcov +++ b/BUILD/compile-pentium64-gcov @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium64-gprof b/BUILD/compile-pentium64-gprof index b7821e06b..5940dc6b2 100755 --- a/BUILD/compile-pentium64-gprof +++ b/BUILD/compile-pentium64-gprof @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium64-max b/BUILD/compile-pentium64-max index 7f63d408f..a7bf969d0 100755 --- a/BUILD/compile-pentium64-max +++ b/BUILD/compile-pentium64-max @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium64-valgrind-max b/BUILD/compile-pentium64-valgrind-max index beb2ee253..0653fb7fe 100755 --- a/BUILD/compile-pentium64-valgrind-max +++ b/BUILD/compile-pentium64-valgrind-max @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. # @@ -27,7 +27,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-pentium64-wsrep b/BUILD/compile-pentium64-wsrep index 53c0e897e..285cdaca3 100644 --- a/BUILD/compile-pentium64-wsrep +++ b/BUILD/compile-pentium64-wsrep @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02111-1301, USA +# MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-ppc b/BUILD/compile-ppc index 18051aa33..18c8842d7 100755 --- a/BUILD/compile-ppc +++ b/BUILD/compile-ppc @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-ppc-debug b/BUILD/compile-ppc-debug index cbd8ef653..504ffcf8d 100755 --- a/BUILD/compile-ppc-debug +++ b/BUILD/compile-ppc-debug @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-ppc-debug-max b/BUILD/compile-ppc-debug-max index ecc2b183b..ef8d79842 100755 --- a/BUILD/compile-ppc-debug-max +++ b/BUILD/compile-ppc-debug-max @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-ppc-debug-max-no-ndb b/BUILD/compile-ppc-debug-max-no-ndb index 0642ddf7a..ebcd5b3f4 100755 --- a/BUILD/compile-ppc-debug-max-no-ndb +++ b/BUILD/compile-ppc-debug-max-no-ndb @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-ppc-max b/BUILD/compile-ppc-max index 419f096a9..10ffdfc56 100755 --- a/BUILD/compile-ppc-max +++ b/BUILD/compile-ppc-max @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-solaris-amd64-debug b/BUILD/compile-solaris-amd64-debug index 49e1e90eb..78d664954 100755 --- a/BUILD/compile-solaris-amd64-debug +++ b/BUILD/compile-solaris-amd64-debug @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA path=`dirname $0` . "$path/SETUP.sh" diff --git a/BUILD/compile-solaris-amd64-forte b/BUILD/compile-solaris-amd64-forte index a55627d24..4dee546b2 100755 --- a/BUILD/compile-solaris-amd64-forte +++ b/BUILD/compile-solaris-amd64-forte @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # See file compile-solaris-amd64 for basic pre-requisites. diff --git a/BUILD/compile-solaris-sparc b/BUILD/compile-solaris-sparc index ddecb0e34..911d0025a 100755 --- a/BUILD/compile-solaris-sparc +++ b/BUILD/compile-solaris-sparc @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA make -k clean || true /bin/rm -f */.deps/*.P config.cache diff --git a/BUILD/compile-solaris-sparc-forte b/BUILD/compile-solaris-sparc-forte index cf17fa49c..5e513ebcf 100755 --- a/BUILD/compile-solaris-sparc-forte +++ b/BUILD/compile-solaris-sparc-forte @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Copyright (c) 2001, 2002, 2005, 2007 MySQL AB, 2008 Sun Microsystems, Inc. # Use is subject to license terms. @@ -29,7 +29,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Assume Forte is installed in /opt/SUNWSpro and ld is installed in # /usr/ccs/bin diff --git a/BUILD/util.sh b/BUILD/util.sh index 010b3d86e..d1f4722b6 100644 --- a/BUILD/util.sh +++ b/BUILD/util.sh @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. # Setting cpu options. get_cpuopt () { diff --git a/CMakeLists.txt b/CMakeLists.txt index 54645e0b5..083fa753b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA CMAKE_MINIMUM_REQUIRED(VERSION 2.6) # Avoid warnings in higher versions @@ -191,6 +191,8 @@ INCLUDE(check_compiler_flag) OPTION(WITH_ASAN "Enable address sanitizer" OFF) IF (WITH_ASAN) + # this flag might be set by default on some OS + MY_CHECK_AND_SET_COMPILER_FLAG("-U_FORTIFY_SOURCE" DEBUG RELWITHDEBINFO) # gcc 4.8.1 and new versions of clang MY_CHECK_AND_SET_COMPILER_FLAG("-fsanitize=address -O1 -Wno-error -fPIC" DEBUG RELWITHDEBINFO) @@ -216,22 +218,22 @@ ENDIF() OPTION(WITH_UBSAN "Enable undefined behavior sanitizer" OFF) IF (WITH_UBSAN) - IF(SECURITY_HARDENED) - MESSAGE(FATAL_ERROR "WITH_UBSAN and SECURITY_HARDENED are mutually exclusive") - ENDIF() - MY_CHECK_AND_SET_COMPILER_FLAG("-fsanitize=undefined" DEBUG RELWITHDEBINFO) + MY_CHECK_AND_SET_COMPILER_FLAG("-fsanitize=undefined -U_FORTIFY_SOURCE" DEBUG RELWITHDEBINFO) ENDIF() # enable security hardening features, like most distributions do # in our benchmarks that costs about ~1% of performance, depending on the load -IF(CMAKE_C_COMPILER_VERSION VERSION_LESS "4.6") +IF(CMAKE_C_COMPILER_VERSION VERSION_LESS "4.6" OR WITH_ASAN OR WITH_UBSAN) SET(security_default OFF) ELSE() SET(security_default ON) ENDIF() OPTION(SECURITY_HARDENED "Use security-enhancing compiler features (stack protector, relro, etc)" ${security_default}) IF(SECURITY_HARDENED) + IF(WITH_ASAN OR WITH_UBSAN) + MESSAGE(FATAL_ERROR "WITH_ASAN/WITH_UBSAN and SECURITY_HARDENED are mutually exclusive") + ENDIF() # security-enhancing flags MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC") MY_CHECK_AND_SET_COMPILER_FLAG("-Wl,-z,relro,-z,now") diff --git a/COPYING b/COPYING index d511905c1..6e475df55 100644 --- a/COPYING +++ b/COPYING @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. Also add information on how to contact you by electronic and paper mail. diff --git a/COPYING.thirdparty b/COPYING.thirdparty index 7edd61f21..35bb238ed 100644 --- a/COPYING.thirdparty +++ b/COPYING.thirdparty @@ -110,7 +110,7 @@ cmake-2.4.8/Utilities/cmtar/compat/gethostname.c: You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. + Boston, MA 02110-1335 USA. As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. @@ -485,7 +485,7 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -758,7 +758,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. Also add information on how to contact you by electronic and paper mail. @@ -1187,7 +1187,7 @@ Use of any of this software is governed by the terms of the license below: You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* * Copyright (c) 1997, 1999 Kungliga Tekniska H366gskolan @@ -1274,7 +1274,7 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -1577,7 +1577,7 @@ the "copyright" line and a pointer to where the full notice is found. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. Also add information on how to contact you by electronic and paper mail. diff --git a/Docs/INFO_SRC b/Docs/INFO_SRC index 608196210..788680810 100644 --- a/Docs/INFO_SRC +++ b/Docs/INFO_SRC @@ -1,8 +1,8 @@ -commit: f92f313368a2f2a8bed116085a407ce522f7a52c -date: 2019-05-07 16:41:07 -0400 -build-date: 2019-05-07 20:49:18 +0000 -short: f92f313 +commit: 403e6615fdd3f5f4de6d159457b2bd2fe566e0ad +date: 2019-07-26 18:17:55 +0300 +build-date: 2019-07-26 16:34:57 +0000 +short: 403e661 branch: HEAD -MariaDB source 10.1.40 +MariaDB source 10.1.41 diff --git a/Docs/README-wsrep b/Docs/README-wsrep index 2058e1eb1..542567e75 100644 --- a/Docs/README-wsrep +++ b/Docs/README-wsrep @@ -269,9 +269,6 @@ innodb_autoinc_lock_mode=2 autoinc lock modes 0 and 1 can cause unresolved deadlock, and make the system unresponsive. -innodb_locks_unsafe_for_binlog=1 - This option is required for parallel applying. - 5.2 WSREP OPTIONS All options are optional except for wsrep_provider, wsrep_cluster_address, and diff --git a/VERSION b/VERSION index 6c97b2be1..3e7ee0131 100644 --- a/VERSION +++ b/VERSION @@ -1,3 +1,3 @@ MYSQL_VERSION_MAJOR=10 MYSQL_VERSION_MINOR=1 -MYSQL_VERSION_PATCH=40 +MYSQL_VERSION_PATCH=41 diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 40df176c6..0dc9fc573 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/include diff --git a/client/client_priv.h b/client/client_priv.h index 1419d9dfa..1668227cc 100644 --- a/client/client_priv.h +++ b/client/client_priv.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Common defines for all clients */ diff --git a/client/completion_hash.cc b/client/completion_hash.cc index c170b69de..553d0a1f9 100644 --- a/client/completion_hash.cc +++ b/client/completion_hash.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Quick & light hash implementation for tab completion purposes * diff --git a/client/completion_hash.h b/client/completion_hash.h index 70c2cf1b3..57483e0f8 100644 --- a/client/completion_hash.h +++ b/client/completion_hash.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - MA 02110-1301, USA */ + MA 02110-1335 USA */ #ifndef _HASH_ #define _HASH_ diff --git a/client/echo.c b/client/echo.c index 2a3cb915d..90a538faf 100644 --- a/client/echo.c +++ b/client/echo.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* echo is a replacement for the "echo" command builtin to cmd.exe diff --git a/client/get_password.c b/client/get_password.c index 8a507d94e..04c5537fc 100644 --- a/client/get_password.c +++ b/client/get_password.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* ** Ask for a password from tty diff --git a/client/my_readline.h b/client/my_readline.h index 57537308f..ec43d81f2 100644 --- a/client/my_readline.h +++ b/client/my_readline.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* readline for batch mode */ diff --git a/client/mysql.cc b/client/mysql.cc index cb7761f81..31c1d4436 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* mysql command tool * Commands compatible with mSQL by David J. Hughes @@ -3128,7 +3128,7 @@ static int com_help(String *buffer __attribute__((unused)), char *line __attribute__((unused))) { - reg1 int i, j; + int i, j; char * help_arg= strchr(line,' '), buff[32], *end; if (help_arg) { diff --git a/client/mysql_plugin.c b/client/mysql_plugin.c index c353fb039..682a2365a 100644 --- a/client/mysql_plugin.c +++ b/client/mysql_plugin.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c index 5eb495774..d18dc97c9 100644 --- a/client/mysql_upgrade.c +++ b/client/mysql_upgrade.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "client_priv.h" diff --git a/client/mysqladmin.cc b/client/mysqladmin.cc index d4d40b0a0..03a10bfa5 100644 --- a/client/mysqladmin.cc +++ b/client/mysqladmin.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* maintaince of mysql databases */ diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 4ba76cb3b..11dc98943 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/client/mysqlcheck.c b/client/mysqlcheck.c index eafd47132..5e4e22b67 100644 --- a/client/mysqlcheck.c +++ b/client/mysqlcheck.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* By Jani Tolonen, 2001-04-20, MySQL Development Team */ diff --git a/client/mysqldump.c b/client/mysqldump.c index f00d11885..44f984930 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* mysqldump.c - Dump a tables contents and format to an ASCII file diff --git a/client/mysqlimport.c b/client/mysqlimport.c index a9c24e20b..4cd51477e 100644 --- a/client/mysqlimport.c +++ b/client/mysqlimport.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* @@ -48,8 +48,8 @@ static char *add_load_option(char *ptr,const char *object, const char *statement); static my_bool verbose=0,lock_tables=0,ignore_errors=0,opt_delete=0, - replace=0,silent=0,ignore=0,opt_compress=0, - opt_low_priority= 0, tty_password= 0; + replace, silent, ignore, ignore_foreign_keys, + opt_compress, opt_low_priority, tty_password; static my_bool debug_info_flag= 0, debug_check_flag= 0; static uint opt_use_threads=0, opt_local_file=0, my_end_arg= 0; static char *opt_password=0, *current_user=0, @@ -123,6 +123,10 @@ static struct my_option my_long_options[] = ¤t_host, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"ignore", 'i', "If duplicate unique key was found, keep old row.", &ignore, &ignore, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, + {"ignore-foreign-keys", 'k', + "Disable foreign key checks while importing the data.", + &ignore_foreign_keys, &ignore_foreign_keys, 0, GET_BOOL, NO_ARG, + 0, 0, 0, 0, 0, 0}, {"ignore-lines", OPT_IGN_LINES, "Ignore first n lines of data infile.", &opt_ignore_lines, &opt_ignore_lines, 0, GET_LL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -487,6 +491,9 @@ static MYSQL *db_connect(char *host, char *database, ignore_errors=0; db_error(mysql); } + if (ignore_foreign_keys) + mysql_query(mysql, "set foreign_key_checks= 0;"); + return mysql; } diff --git a/client/mysqlshow.c b/client/mysqlshow.c index 95ee8d697..8246d4364 100644 --- a/client/mysqlshow.c +++ b/client/mysqlshow.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Show databases, tables or columns */ diff --git a/client/mysqlslap.c b/client/mysqlslap.c index fd3077644..5dca3fae2 100644 --- a/client/mysqlslap.c +++ b/client/mysqlslap.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/client/mysqltest.cc b/client/mysqltest.cc index cc1d61e5d..1f17f75e1 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* mysqltest @@ -1044,8 +1044,8 @@ void do_eval(DYNAMIC_STRING *query_eval, const char *query, const char *query_end, my_bool pass_through_escape_chars) { const char *p; - register char c, next_c; - register int escaped = 0; + char c, next_c; + int escaped = 0; VAR *v; DBUG_ENTER("do_eval"); @@ -2341,7 +2341,7 @@ C_MODE_START static uchar *get_var_key(const uchar* var, size_t *len, my_bool __attribute__((unused)) t) { - register char* key; + char* key; key = ((VAR*)var)->name; *len = ((VAR*)var)->name_len; return (uchar*)key; @@ -9900,7 +9900,7 @@ typedef struct st_pointer_array { /* when using array-strings */ struct st_replace *init_replace(char * *from, char * *to, uint count, char * word_end_chars); -int insert_pointer_name(reg1 POINTER_ARRAY *pa,char * name); +int insert_pointer_name(POINTER_ARRAY *pa,char * name); void free_pointer_array(POINTER_ARRAY *pa); /* @@ -9984,8 +9984,8 @@ void replace_strings_append(REPLACE *rep, DYNAMIC_STRING* ds, const char *str, int len __attribute__((unused))) { - reg1 REPLACE *rep_pos; - reg2 REPLACE_STRING *rep_str; + REPLACE *rep_pos; + REPLACE_STRING *rep_str; const char *start, *from; DBUG_ENTER("replace_strings_append"); @@ -10891,7 +10891,7 @@ void internal_clear_bit(REP_SET *set, uint bit) void or_bits(REP_SET *to,REP_SET *from) { - reg1 uint i; + uint i; for (i=0 ; i < to->size_of_bits ; i++) to->bits[i]|=from->bits[i]; return; @@ -10993,7 +10993,7 @@ uint end_of_word(char * pos) #define PC_MALLOC 256 /* Bytes for pointers */ #define PS_MALLOC 512 /* Bytes for data */ -int insert_pointer_name(reg1 POINTER_ARRAY *pa,char * name) +int insert_pointer_name(POINTER_ARRAY *pa,char * name) { uint i,length,old_count; uchar *new_pos; diff --git a/client/readline.cc b/client/readline.cc index 23b1f8d7a..12df8b312 100644 --- a/client/readline.cc +++ b/client/readline.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* readline for batch mode */ diff --git a/client/sql_string.cc.dontuse b/client/sql_string.cc.dontuse index 65b14e36c..72736ef55 100644 --- a/client/sql_string.cc.dontuse +++ b/client/sql_string.cc.dontuse @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file is originally from the mysql distribution. Coded by monty */ diff --git a/client/sql_string.h.dontuse b/client/sql_string.h.dontuse index 94f844dc6..e5bf8e0b6 100644 --- a/client/sql_string.h.dontuse +++ b/client/sql_string.h.dontuse @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file is originally from the mysql distribution. Coded by monty */ diff --git a/cmake/abi_check.cmake b/cmake/abi_check.cmake index 02124ae7b..805322229 100644 --- a/cmake/abi_check.cmake +++ b/cmake/abi_check.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # Headers which need to be checked for abi/api compatibility are in diff --git a/cmake/bison.cmake b/cmake/bison.cmake index 0892a213d..24adcb788 100644 --- a/cmake/bison.cmake +++ b/cmake/bison.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA IF(CMAKE_SYSTEM_NAME MATCHES "SunOS") # On Solaris, /opt/csw often contains a newer bison diff --git a/cmake/build_configurations/mysql_release.cmake b/cmake/build_configurations/mysql_release.cmake index 709d97ec6..64432e079 100644 --- a/cmake/build_configurations/mysql_release.cmake +++ b/cmake/build_configurations/mysql_release.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This file includes build settings used for MySQL release diff --git a/cmake/bzip2.cmake b/cmake/bzip2.cmake index 0c15853d0..26fd70312 100644 --- a/cmake/bzip2.cmake +++ b/cmake/bzip2.cmake @@ -10,7 +10,7 @@ # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(WITH_INNODB_BZIP2 AUTO CACHE STRING "Build with bzip2. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'") diff --git a/cmake/cat.cmake b/cmake/cat.cmake index 1ffe2ecfa..3a76b20da 100644 --- a/cmake/cat.cmake +++ b/cmake/cat.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Concatenate files # diff --git a/cmake/character_sets.cmake b/cmake/character_sets.cmake index 1c93441cb..37de79758 100644 --- a/cmake/character_sets.cmake +++ b/cmake/character_sets.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Charsets and collations IF(NOT DEFAULT_CHARSET) diff --git a/cmake/check_compiler_flag.cmake b/cmake/check_compiler_flag.cmake index 673361ab8..547325e4f 100644 --- a/cmake/check_compiler_flag.cmake +++ b/cmake/check_compiler_flag.cmake @@ -13,7 +13,8 @@ SET(fail_patterns FAIL_REGEX "warning:.*redefined" FAIL_REGEX "[Ww]arning: [Oo]ption" ) - +#The regex patterns above are not localized, thus LANG=C +SET(ENV{LANG} C) MACRO (MY_CHECK_C_COMPILER_FLAG flag) STRING(REGEX REPLACE "[-,= +]" "_" result "HAVE_C_${flag}") SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") diff --git a/cmake/check_minimal_version.cmake b/cmake/check_minimal_version.cmake index d96c6a934..5bef555b3 100644 --- a/cmake/check_minimal_version.cmake +++ b/cmake/check_minimal_version.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a helper script is used to check for the minimal required version # It helps to decide whether to use autoconf based configure or cmake's diff --git a/cmake/cmake_parse_arguments.cmake b/cmake/cmake_parse_arguments.cmake index 487fe2bac..800fef6e7 100644 --- a/cmake/cmake_parse_arguments.cmake +++ b/cmake/cmake_parse_arguments.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Handy macro to parse macro arguments MACRO(MYSQL_PARSE_ARGUMENTS prefix arg_names option_names) diff --git a/cmake/compile_flags.cmake b/cmake/compile_flags.cmake index b39bf7b79..a87846e99 100644 --- a/cmake/compile_flags.cmake +++ b/cmake/compile_flags.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ## ADD_COMPILE_FLAGS( COMPILE_FLAGS ) diff --git a/cmake/configure.pl b/cmake/configure.pl index 68baf436c..70122664a 100644 --- a/cmake/configure.pl +++ b/cmake/configure.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; use Cwd 'abs_path'; diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake index 02886ef6a..534af081d 100644 --- a/cmake/cpack_rpm.cmake +++ b/cmake/cpack_rpm.cmake @@ -37,7 +37,7 @@ IF(CMAKE_VERSION VERSION_LESS "3.6.0") SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${VERSION}-${RPM}-${CMAKE_SYSTEM_PROCESSOR}") ELSE() SET(CPACK_RPM_FILE_NAME "RPM-DEFAULT") - SET(CPACK_RPM_DEBUGINFO_PACKAGE ON) + SET(CPACK_RPM_DEBUGINFO_PACKAGE ON CACHE INTERNAL "") ENDIF() SET(CPACK_RPM_PACKAGE_RELEASE "1%{?dist}") diff --git a/cmake/cpack_source_ignore_files.cmake b/cmake/cpack_source_ignore_files.cmake index 8e1b7bd5e..65abf9e8a 100644 --- a/cmake/cpack_source_ignore_files.cmake +++ b/cmake/cpack_source_ignore_files.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(CPACK_SOURCE_IGNORE_FILES \\\\.git/ diff --git a/cmake/cpu_info.cmake b/cmake/cpu_info.cmake index 1772510e7..f3ddd33df 100644 --- a/cmake/cpu_info.cmake +++ b/cmake/cpu_info.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Symbols with information about the CPU. diff --git a/cmake/create_initial_db.cmake.in b/cmake/create_initial_db.cmake.in index c77e28d88..4847d5ef3 100644 --- a/cmake/create_initial_db.cmake.in +++ b/cmake/create_initial_db.cmake.in @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This script creates initial database for packaging on Windows SET(CMAKE_SOURCE_DIR "@CMAKE_SOURCE_DIR@") diff --git a/cmake/do_abi_check.cmake b/cmake/do_abi_check.cmake index c0ffce353..43d8b15a7 100644 --- a/cmake/do_abi_check.cmake +++ b/cmake/do_abi_check.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # Rules for checking that the abi/api has not changed. diff --git a/cmake/dtrace.cmake b/cmake/dtrace.cmake index bb45eaf86..4e0f75010 100644 --- a/cmake/dtrace.cmake +++ b/cmake/dtrace.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SIZEOF_VOID_P EQUAL 4) diff --git a/cmake/dtrace_prelink.cmake b/cmake/dtrace_prelink.cmake index 0efc2bb64..f2e678f06 100644 --- a/cmake/dtrace_prelink.cmake +++ b/cmake/dtrace_prelink.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Generates an ELF object file with dtrace entry points. # This object that must to be linked with together with diff --git a/cmake/info_bin.cmake b/cmake/info_bin.cmake index 9cec3de0e..d59b512bc 100644 --- a/cmake/info_bin.cmake +++ b/cmake/info_bin.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # The sole purpose of this cmake control file is to create the "INFO_BIN" file. diff --git a/cmake/info_macros.cmake.in b/cmake/info_macros.cmake.in index 89b04666c..89ca1ec79 100644 --- a/cmake/info_macros.cmake.in +++ b/cmake/info_macros.cmake.in @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Handle/create the "INFO_*" files describing a MariaDB (server) binary. diff --git a/cmake/info_src.cmake b/cmake/info_src.cmake index ce9873cc9..df6249f11 100644 --- a/cmake/info_src.cmake +++ b/cmake/info_src.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # The sole purpose of this cmake control file is to create the "INFO_SRC" file. diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake index 5484691e9..e4d317e97 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # The purpose of this file is to set the default installation layout. # diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake index b0263e63b..0c05b0620 100644 --- a/cmake/install_macros.cmake +++ b/cmake/install_macros.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA GET_FILENAME_COMPONENT(MYSQL_CMAKE_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake) diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake index 2a218bc63..00d2def58 100644 --- a/cmake/libutils.cmake +++ b/cmake/libutils.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This file exports macros that emulate some functionality found in GNU libtool diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake index ec0e2aa85..098bf54f6 100644 --- a/cmake/lz4.cmake +++ b/cmake/lz4.cmake @@ -10,7 +10,7 @@ # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(WITH_INNODB_LZ4 AUTO CACHE STRING "Build with lz4. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'") diff --git a/cmake/lzma.cmake b/cmake/lzma.cmake index 12a28a17a..93de0a293 100644 --- a/cmake/lzma.cmake +++ b/cmake/lzma.cmake @@ -10,7 +10,7 @@ # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(WITH_INNODB_LZMA AUTO CACHE STRING "Build with lzma. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'") diff --git a/cmake/lzo.cmake b/cmake/lzo.cmake index 07cba011c..236eac2d1 100644 --- a/cmake/lzo.cmake +++ b/cmake/lzo.cmake @@ -10,7 +10,7 @@ # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(WITH_INNODB_LZO AUTO CACHE STRING "Build with lzo. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'") diff --git a/cmake/maintainer.cmake b/cmake/maintainer.cmake index caba370c4..8c2deeb8e 100644 --- a/cmake/maintainer.cmake +++ b/cmake/maintainer.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Common warning flags for GCC, G++, Clang and Clang++ SET(MY_WARNING_FLAGS diff --git a/cmake/make_dist.cmake.in b/cmake/make_dist.cmake.in index f35d16834..d9153604a 100644 --- a/cmake/make_dist.cmake.in +++ b/cmake/make_dist.cmake.in @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Make source distribution # If bzr is present, run bzr export. diff --git a/cmake/merge_archives_unix.cmake.in b/cmake/merge_archives_unix.cmake.in index d05336d6c..7bb5f54f4 100644 --- a/cmake/merge_archives_unix.cmake.in +++ b/cmake/merge_archives_unix.cmake.in @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This script merges many static libraries into # one big library on Unix. diff --git a/cmake/mysql_add_executable.cmake b/cmake/mysql_add_executable.cmake index c8a2e522d..12635f2b5 100644 --- a/cmake/mysql_add_executable.cmake +++ b/cmake/mysql_add_executable.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Add executable plus some additional MySQL specific stuff # Usage (same as for standard CMake's ADD_EXECUTABLE) diff --git a/cmake/mysql_version.cmake b/cmake/mysql_version.cmake index 1802b1a26..ca8dafaa4 100644 --- a/cmake/mysql_version.cmake +++ b/cmake/mysql_version.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # Global constants, only to be changed between major releases. diff --git a/cmake/os/AIX.cmake b/cmake/os/AIX.cmake index c86392f8b..12ddf30d4 100644 --- a/cmake/os/AIX.cmake +++ b/cmake/os/AIX.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA #Enable 64 bit file offsets diff --git a/cmake/os/Cygwin.cmake b/cmake/os/Cygwin.cmake index 9c29277c6..a54241654 100644 --- a/cmake/os/Cygwin.cmake +++ b/cmake/os/Cygwin.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Cygwin is not Windows SET(WIN32 0) \ No newline at end of file diff --git a/cmake/os/Darwin.cmake b/cmake/os/Darwin.cmake index 4ac72070e..21e18360d 100644 --- a/cmake/os/Darwin.cmake +++ b/cmake/os/Darwin.cmake @@ -11,6 +11,6 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This file includes OSX specific options and quirks, related to system checks diff --git a/cmake/os/FreeBSD.cmake b/cmake/os/FreeBSD.cmake index ffb89c812..b9c335e4d 100644 --- a/cmake/os/FreeBSD.cmake +++ b/cmake/os/FreeBSD.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This file includes FreeBSD specific options and quirks, related to system checks diff --git a/cmake/os/HP-UX.cmake b/cmake/os/HP-UX.cmake index 4cadddc7b..5bbc79942 100644 --- a/cmake/os/HP-UX.cmake +++ b/cmake/os/HP-UX.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE(CheckCXXSourceCompiles) # Enable 64 bit file offsets diff --git a/cmake/os/Linux.cmake b/cmake/os/Linux.cmake index 55be86748..2bd98c79d 100644 --- a/cmake/os/Linux.cmake +++ b/cmake/os/Linux.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This file includes Linux specific options and quirks, related to system checks diff --git a/cmake/os/OS400.cmake b/cmake/os/OS400.cmake index 502eeccc3..5a9b2aba6 100644 --- a/cmake/os/OS400.cmake +++ b/cmake/os/OS400.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA GET_FILENAME_COMPONENT(_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) INCLUDE(${_SCRIPT_DIR}/AIX.cmake) \ No newline at end of file diff --git a/cmake/os/SunOS.cmake b/cmake/os/SunOS.cmake index d5a4b5c96..4a77b53fb 100644 --- a/cmake/os/SunOS.cmake +++ b/cmake/os/SunOS.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE(CheckSymbolExists) INCLUDE(CheckCSourceRuns) diff --git a/cmake/os/Windows.cmake b/cmake/os/Windows.cmake index 803c95154..2e7577ec5 100644 --- a/cmake/os/Windows.cmake +++ b/cmake/os/Windows.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This file includes Windows specific hacks, mostly around compiler flags diff --git a/cmake/os/WindowsCache.cmake b/cmake/os/WindowsCache.cmake index 07a8085a4..a4d46df2a 100644 --- a/cmake/os/WindowsCache.cmake +++ b/cmake/os/WindowsCache.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Avoid system checks on Windows by pre-caching results. Most of the system checks # are not relevant for Windows anyway and it takes lot more time to run them, diff --git a/cmake/package_name.cmake b/cmake/package_name.cmake index a8bd1596f..8acf52f1b 100644 --- a/cmake/package_name.cmake +++ b/cmake/package_name.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Produce meaningful package name for the binary package # The logic is rather involved with special cases for different OSes diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake index 4396a0a6c..c9c18f7c0 100644 --- a/cmake/plugin.cmake +++ b/cmake/plugin.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA GET_FILENAME_COMPONENT(MYSQL_CMAKE_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) diff --git a/cmake/readline.cmake b/cmake/readline.cmake index 9cfbe4f0d..082dd04cf 100644 --- a/cmake/readline.cmake +++ b/cmake/readline.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE(CheckCXXSourceCompiles) diff --git a/cmake/snappy.cmake b/cmake/snappy.cmake index cb0839a34..2810472ce 100644 --- a/cmake/snappy.cmake +++ b/cmake/snappy.cmake @@ -10,7 +10,7 @@ # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(WITH_INNODB_SNAPPY AUTO CACHE STRING "Build with snappy. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'") diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake index 308f725a0..fef78600d 100644 --- a/cmake/ssl.cmake +++ b/cmake/ssl.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # We support different versions of SSL: # - "bundled" uses source code in /extra/yassl diff --git a/cmake/stack_direction.c b/cmake/stack_direction.c index d75bbbfa0..1f7a5d0b1 100644 --- a/cmake/stack_direction.c +++ b/cmake/stack_direction.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Check stack direction (0-down, 1-up) */ int f(int *a) diff --git a/cmake/systemd.cmake b/cmake/systemd.cmake index 478930c9f..23eb467f9 100644 --- a/cmake/systemd.cmake +++ b/cmake/systemd.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE(FindPkgConfig) # http://www.cmake.org/cmake/help/v3.0/module/FindPkgConfig.html @@ -27,13 +27,9 @@ MACRO(CHECK_SYSTEMD) pkg_search_module(LIBSYSTEMD libsystemd libsystemd-daemon) ENDIF() IF(HAVE_DLOPEN) - SET(LIBSYSTEMD ${LIBSYSTEMD_LIBRARIES}) - #SET(CMAKE_REQUIRED_FLAGS ${LIBSYSTEMD_CFLAGS}) - SET(MYSQLD_LINK_FLAGS "${MYSQLD_LINK_FLAGS} ${LIBSYSTEMD_LDFLAGS}") + SET(LIBSYSTEMD ${LIBSYSTEMD_LDFLAGS} ${LIBSYSTEMD_LIBRARIES}) ELSE() - SET(LIBSYSTEMD ${LIBSYSTEMD_STATIC_LIBRARIES}) - #SET(CMAKE_REQUIRED_FLAGS ${LIBSYSTEMD_STATIC_CFLAGS}) - SET(MYSQLD_LINK_FLAGS "${MYSQLD_LINK_FLAGS} ${LIBSYSTEMD_STATIC_LDFLAGS}") + SET(LIBSYSTEMD ${LIBSYSTEMD_STATIC_LDFLAGS} ${LIBSYSTEMD_STATIC_LIBRARIES}) ENDIF() ELSE() SET(LIBSYSTEMD systemd) diff --git a/cmake/tags.cmake b/cmake/tags.cmake index 07c1411a1..309bfae98 100644 --- a/cmake/tags.cmake +++ b/cmake/tags.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Generate tag files IF(UNIX) diff --git a/cmake/versioninfo.rc.in b/cmake/versioninfo.rc.in index cd880b917..29b393531 100644 --- a/cmake/versioninfo.rc.in +++ b/cmake/versioninfo.rc.in @@ -11,7 +11,7 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA #include VS_VERSION_INFO VERSIONINFO diff --git a/cmake/wsrep.cmake b/cmake/wsrep.cmake index b272df51a..a1e8fc39f 100644 --- a/cmake/wsrep.cmake +++ b/cmake/wsrep.cmake @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # Galera library does not compile with windows diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake index e269c473f..628bbf15f 100644 --- a/cmake/zlib.cmake +++ b/cmake/zlib.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA MACRO (MYSQL_USE_BUNDLED_ZLIB) SET(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_BINARY_DIR}/zlib) diff --git a/config.h.cmake b/config.h.cmake index 3750ab717..eb3e6228b 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MY_CONFIG_H #define MY_CONFIG_H diff --git a/configure.cmake b/configure.cmake index 38165e5b4..8d477abc9 100644 --- a/configure.cmake +++ b/configure.cmake @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # INCLUDE (CheckCSourceCompiles) diff --git a/dbug/CMakeLists.txt b/dbug/CMakeLists.txt index c40c70b68..cf015ee3e 100644 --- a/dbug/CMakeLists.txt +++ b/dbug/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/dbug diff --git a/dbug/dbug_add_tags.pl b/dbug/dbug_add_tags.pl index fe3637b4d..7be8fb9b1 100755 --- a/dbug/dbug_add_tags.pl +++ b/dbug/dbug_add_tags.pl @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA die "No files specified\n" unless $ARGV[0]; diff --git a/extra/CMakeLists.txt b/extra/CMakeLists.txt index c8e15dd4f..3e4ac442f 100644 --- a/extra/CMakeLists.txt +++ b/extra/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${ZLIB_INCLUDE_DIR}) diff --git a/extra/charset2html.c b/extra/charset2html.c index 5851f206a..3a2b62d7b 100644 --- a/extra/charset2html.c +++ b/extra/charset2html.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/extra/comp_err.c b/extra/comp_err.c index 3fc4b05fa..221265433 100644 --- a/extra/comp_err.c +++ b/extra/comp_err.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/extra/innochecksum.cc b/extra/innochecksum.cc index b3fcbbfb9..d7c5cd749 100644 --- a/extra/innochecksum.cc +++ b/extra/innochecksum.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/extra/mariabackup/CMakeLists.txt b/extra/mariabackup/CMakeLists.txt index aa05b3615..9e5b85066 100644 --- a/extra/mariabackup/CMakeLists.txt +++ b/extra/mariabackup/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA OPTION(WITH_MARIABACKUP "Include mariabackup" ON) diff --git a/extra/mariabackup/backup_copy.cc b/extra/mariabackup/backup_copy.cc index a27032521..b31edfd65 100644 --- a/extra/mariabackup/backup_copy.cc +++ b/extra/mariabackup/backup_copy.cc @@ -17,7 +17,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA ******************************************************* @@ -35,8 +35,8 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA +this program; if not, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/backup_mysql.cc b/extra/mariabackup/backup_mysql.cc index ac46a854f..543fd4102 100644 --- a/extra/mariabackup/backup_mysql.cc +++ b/extra/mariabackup/backup_mysql.cc @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA ******************************************************* @@ -34,8 +34,8 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA +this program; if not, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ #define MYSQL_CLIENT @@ -1393,8 +1393,6 @@ write_xtrabackup_info(MYSQL *connection) const char *xb_stream_name[] = {"file", "tar", "xbstream"}; - ut_ad(xtrabackup_stream_fmt < 3); - uuid = read_mysql_one_value(connection, "SELECT UUID()"); server_version = read_mysql_one_value(connection, "SELECT VERSION()"); localtime_r(&history_start_time, &tm); diff --git a/extra/mariabackup/backup_wsrep.h b/extra/mariabackup/backup_wsrep.h index 5fa261f8d..0807da8a5 100644 --- a/extra/mariabackup/backup_wsrep.h +++ b/extra/mariabackup/backup_wsrep.h @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ #ifndef MARIABACKUP_WSREP_H diff --git a/extra/mariabackup/changed_page_bitmap.cc b/extra/mariabackup/changed_page_bitmap.cc index d4d3b71f9..372d5b62a 100644 --- a/extra/mariabackup/changed_page_bitmap.cc +++ b/extra/mariabackup/changed_page_bitmap.cc @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/changed_page_bitmap.h b/extra/mariabackup/changed_page_bitmap.h index 6f549f474..1a0e2ec37 100644 --- a/extra/mariabackup/changed_page_bitmap.h +++ b/extra/mariabackup/changed_page_bitmap.h @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/common.h b/extra/mariabackup/common.h index 340ad66e2..8fd636a59 100644 --- a/extra/mariabackup/common.h +++ b/extra/mariabackup/common.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/crc/CMakeLists.txt b/extra/mariabackup/crc/CMakeLists.txt index 91758cdf5..c057e59a7 100644 --- a/extra/mariabackup/crc/CMakeLists.txt +++ b/extra/mariabackup/crc/CMakeLists.txt @@ -11,7 +11,7 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA PROJECT(crc C) diff --git a/extra/mariabackup/crc/config.h.cmake b/extra/mariabackup/crc/config.h.cmake index fe81c1859..beca62d1e 100644 --- a/extra/mariabackup/crc/config.h.cmake +++ b/extra/mariabackup/crc/config.h.cmake @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/crc/crc-intel-pclmul.c b/extra/mariabackup/crc/crc-intel-pclmul.c index d470c2bee..8fdac3189 100644 --- a/extra/mariabackup/crc/crc-intel-pclmul.c +++ b/extra/mariabackup/crc/crc-intel-pclmul.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ @@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA * */ diff --git a/extra/mariabackup/crc/crc-intel-pclmul.h b/extra/mariabackup/crc/crc-intel-pclmul.h index 120058165..c95c59601 100644 --- a/extra/mariabackup/crc/crc-intel-pclmul.h +++ b/extra/mariabackup/crc/crc-intel-pclmul.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/crc/crc_glue.c b/extra/mariabackup/crc/crc_glue.c index 11d2c2188..a9709c837 100644 --- a/extra/mariabackup/crc/crc_glue.c +++ b/extra/mariabackup/crc/crc_glue.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ #include "my_config.h" diff --git a/extra/mariabackup/crc/crc_glue.h b/extra/mariabackup/crc/crc_glue.h index e287fa4a7..598330263 100644 --- a/extra/mariabackup/crc/crc_glue.h +++ b/extra/mariabackup/crc/crc_glue.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/datasink.c b/extra/mariabackup/datasink.c index 1459da2fb..4ce54891d 100644 --- a/extra/mariabackup/datasink.c +++ b/extra/mariabackup/datasink.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/datasink.h b/extra/mariabackup/datasink.h index 5962e9ba4..201bbfd32 100644 --- a/extra/mariabackup/datasink.h +++ b/extra/mariabackup/datasink.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_archive.c b/extra/mariabackup/ds_archive.c index 50afcce4b..3826029e1 100644 --- a/extra/mariabackup/ds_archive.c +++ b/extra/mariabackup/ds_archive.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_archive.h b/extra/mariabackup/ds_archive.h index 3f4e4463c..f419fca0c 100644 --- a/extra/mariabackup/ds_archive.h +++ b/extra/mariabackup/ds_archive.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_buffer.c b/extra/mariabackup/ds_buffer.c index 8e13e8789..32c7a90d8 100644 --- a/extra/mariabackup/ds_buffer.c +++ b/extra/mariabackup/ds_buffer.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_buffer.h b/extra/mariabackup/ds_buffer.h index f8d2d6326..54ffd5c2a 100644 --- a/extra/mariabackup/ds_buffer.h +++ b/extra/mariabackup/ds_buffer.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_compress.c b/extra/mariabackup/ds_compress.c index af848db2f..5237b24fa 100644 --- a/extra/mariabackup/ds_compress.c +++ b/extra/mariabackup/ds_compress.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_compress.h b/extra/mariabackup/ds_compress.h index 8498c965e..f44c1acf3 100644 --- a/extra/mariabackup/ds_compress.h +++ b/extra/mariabackup/ds_compress.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_local.cc b/extra/mariabackup/ds_local.cc index f1068d251..40a47b48e 100644 --- a/extra/mariabackup/ds_local.cc +++ b/extra/mariabackup/ds_local.cc @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_local.h b/extra/mariabackup/ds_local.h index e30906b57..5555a332d 100644 --- a/extra/mariabackup/ds_local.h +++ b/extra/mariabackup/ds_local.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_stdout.c b/extra/mariabackup/ds_stdout.c index 391a34551..b5820e305 100644 --- a/extra/mariabackup/ds_stdout.c +++ b/extra/mariabackup/ds_stdout.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_stdout.h b/extra/mariabackup/ds_stdout.h index 58940264f..6174720d1 100644 --- a/extra/mariabackup/ds_stdout.h +++ b/extra/mariabackup/ds_stdout.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_tmpfile.c b/extra/mariabackup/ds_tmpfile.c index 27a8d9688..d9b5bc0b5 100644 --- a/extra/mariabackup/ds_tmpfile.c +++ b/extra/mariabackup/ds_tmpfile.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_tmpfile.h b/extra/mariabackup/ds_tmpfile.h index c21f1a3f0..24fa9ad69 100644 --- a/extra/mariabackup/ds_tmpfile.h +++ b/extra/mariabackup/ds_tmpfile.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_xbstream.c b/extra/mariabackup/ds_xbstream.c index 544929fb2..b09a4552e 100644 --- a/extra/mariabackup/ds_xbstream.c +++ b/extra/mariabackup/ds_xbstream.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/ds_xbstream.h b/extra/mariabackup/ds_xbstream.h index 30f34ac83..acfbb33cd 100644 --- a/extra/mariabackup/ds_xbstream.h +++ b/extra/mariabackup/ds_xbstream.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/fil_cur.cc b/extra/mariabackup/fil_cur.cc index ce9aaecfc..f0825d8c3 100644 --- a/extra/mariabackup/fil_cur.cc +++ b/extra/mariabackup/fil_cur.cc @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/fil_cur.h b/extra/mariabackup/fil_cur.h index f3601823a..0c37fd154 100644 --- a/extra/mariabackup/fil_cur.h +++ b/extra/mariabackup/fil_cur.h @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/innobackupex.cc b/extra/mariabackup/innobackupex.cc index a134abb31..5382f876f 100644 --- a/extra/mariabackup/innobackupex.cc +++ b/extra/mariabackup/innobackupex.cc @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA ******************************************************* @@ -34,8 +34,8 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA +this program; if not, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/innobackupex.h b/extra/mariabackup/innobackupex.h index e2ad9bd25..ba1347412 100644 --- a/extra/mariabackup/innobackupex.h +++ b/extra/mariabackup/innobackupex.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/read_filt.cc b/extra/mariabackup/read_filt.cc index 05e6b7c86..787f1ca06 100644 --- a/extra/mariabackup/read_filt.cc +++ b/extra/mariabackup/read_filt.cc @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/read_filt.h b/extra/mariabackup/read_filt.h index d16f4e109..edc395c5c 100644 --- a/extra/mariabackup/read_filt.h +++ b/extra/mariabackup/read_filt.h @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/write_filt.cc b/extra/mariabackup/write_filt.cc index 6a206db07..d84f1dfe2 100644 --- a/extra/mariabackup/write_filt.cc +++ b/extra/mariabackup/write_filt.cc @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/write_filt.h b/extra/mariabackup/write_filt.h index 69655db5b..febf25f2a 100644 --- a/extra/mariabackup/write_filt.h +++ b/extra/mariabackup/write_filt.h @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/wsrep.cc b/extra/mariabackup/wsrep.cc index 7b0b26d80..eab3d7b64 100644 --- a/extra/mariabackup/wsrep.cc +++ b/extra/mariabackup/wsrep.cc @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA ******************************************************* @@ -36,7 +36,7 @@ permission notice: You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xb0xb.h b/extra/mariabackup/xb0xb.h index 6b09306c7..1e79c0b42 100644 --- a/extra/mariabackup/xb0xb.h +++ b/extra/mariabackup/xb0xb.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xb_regex.h b/extra/mariabackup/xb_regex.h index 2e07e434e..9b8f5789e 100644 --- a/extra/mariabackup/xb_regex.h +++ b/extra/mariabackup/xb_regex.h @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xbcloud.cc b/extra/mariabackup/xbcloud.cc index 878b4c810..fed937be8 100644 --- a/extra/mariabackup/xbcloud.cc +++ b/extra/mariabackup/xbcloud.cc @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xbstream.c b/extra/mariabackup/xbstream.c index f3880f9ec..59e0095f6 100644 --- a/extra/mariabackup/xbstream.c +++ b/extra/mariabackup/xbstream.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xbstream.h b/extra/mariabackup/xbstream.h index 08b017ca5..702f27647 100644 --- a/extra/mariabackup/xbstream.h +++ b/extra/mariabackup/xbstream.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xbstream_read.c b/extra/mariabackup/xbstream_read.c index 8d1924230..546578d05 100644 --- a/extra/mariabackup/xbstream_read.c +++ b/extra/mariabackup/xbstream_read.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xbstream_write.c b/extra/mariabackup/xbstream_write.c index 978be71e7..df8740a8d 100644 --- a/extra/mariabackup/xbstream_write.c +++ b/extra/mariabackup/xbstream_write.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index e5d2474ba..40539b1e6 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA ******************************************************* @@ -34,8 +34,8 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA +this program; if not, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/mariabackup/xtrabackup.h b/extra/mariabackup/xtrabackup.h index 38c002083..50a2adb7b 100644 --- a/extra/mariabackup/xtrabackup.h +++ b/extra/mariabackup/xtrabackup.h @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA *******************************************************/ diff --git a/extra/my_print_defaults.c b/extra/my_print_defaults.c index 07c95a79d..5992af3bb 100644 --- a/extra/my_print_defaults.c +++ b/extra/my_print_defaults.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/extra/mysql_waitpid.c b/extra/mysql_waitpid.c index 5cdf1dedc..e19f92261 100644 --- a/extra/mysql_waitpid.c +++ b/extra/mysql_waitpid.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Wait until a program dies */ diff --git a/extra/perror.c b/extra/perror.c index 062a04003..ce072759b 100644 --- a/extra/perror.c +++ b/extra/perror.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Return error-text for system error messages and handler messages */ diff --git a/extra/readline/CMakeLists.txt b/extra/readline/CMakeLists.txt index bdecdd1fc..9a02d9b82 100644 --- a/extra/readline/CMakeLists.txt +++ b/extra/readline/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/extra/readline/COPYING b/extra/readline/COPYING index 18e17032a..7ca98023b 100644 --- a/extra/readline/COPYING +++ b/extra/readline/COPYING @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Also add information on how to contact you by electronic and paper mail. diff --git a/extra/readline/ansi_stdlib.h b/extra/readline/ansi_stdlib.h index 42ac66ebc..3c6da58c4 100644 --- a/extra/readline/ansi_stdlib.h +++ b/extra/readline/ansi_stdlib.h @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with Bash; see the file COPYING. If not, write to the Free Software - Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_STDLIB_H_) #define _STDLIB_H_ 1 diff --git a/extra/readline/bind.c b/extra/readline/bind.c index d979f244f..282053e80 100644 --- a/extra/readline/bind.c +++ b/extra/readline/bind.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY diff --git a/extra/readline/callback.c b/extra/readline/callback.c index 08c2f0ce8..df15a65d7 100644 --- a/extra/readline/callback.c +++ b/extra/readline/callback.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/chardefs.h b/extra/readline/chardefs.h index 6aa185d93..0c3bf8334 100644 --- a/extra/readline/chardefs.h +++ b/extra/readline/chardefs.h @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #ifndef _CHARDEFS_H_ #define _CHARDEFS_H_ diff --git a/extra/readline/compat.c b/extra/readline/compat.c index c16771b8f..9f9e3f855 100644 --- a/extra/readline/compat.c +++ b/extra/readline/compat.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/complete.c b/extra/readline/complete.c index b6c20789d..44bf13821 100644 --- a/extra/readline/complete.c +++ b/extra/readline/complete.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/configure.in b/extra/readline/configure.in index 949da7293..067e37ca6 100644 --- a/extra/readline/configure.in +++ b/extra/readline/configure.in @@ -20,7 +20,7 @@ dnl Process this file with autoconf to produce a configure script. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA. +# MA 02110-1335 USA. AC_REVISION([for Readline 5.2, version 2.61]) diff --git a/extra/readline/display.c b/extra/readline/display.c index 4226cdae5..b8500f30b 100644 --- a/extra/readline/display.c +++ b/extra/readline/display.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/emacs_keymap.c b/extra/readline/emacs_keymap.c index a42443f39..31e6b4909 100644 --- a/extra/readline/emacs_keymap.c +++ b/extra/readline/emacs_keymap.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (BUFSIZ) #include diff --git a/extra/readline/funmap.c b/extra/readline/funmap.c index d3a537dfa..23b3ce196 100644 --- a/extra/readline/funmap.c +++ b/extra/readline/funmap.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/histexpand.c b/extra/readline/histexpand.c index 73286614d..38292c604 100644 --- a/extra/readline/histexpand.c +++ b/extra/readline/histexpand.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY diff --git a/extra/readline/histfile.c b/extra/readline/histfile.c index 1d433b98b..1ad828d41 100644 --- a/extra/readline/histfile.c +++ b/extra/readline/histfile.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ /* The goal is to make the implementation transparent, so that you don't have to know what data types are used, just what functions diff --git a/extra/readline/histlib.h b/extra/readline/histlib.h index 4418f5373..4d63ca744 100644 --- a/extra/readline/histlib.h +++ b/extra/readline/histlib.h @@ -17,7 +17,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_HISTLIB_H_) #define _HISTLIB_H_ diff --git a/extra/readline/history.c b/extra/readline/history.c index f36bbe4bc..a77722924 100644 --- a/extra/readline/history.c +++ b/extra/readline/history.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ /* The goal is to make the implementation transparent, so that you don't have to know what data types are used, just what functions diff --git a/extra/readline/history.h b/extra/readline/history.h index c196b0361..dd8169dc5 100644 --- a/extra/readline/history.h +++ b/extra/readline/history.h @@ -17,7 +17,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #ifndef _HISTORY_H_ #define _HISTORY_H_ diff --git a/extra/readline/histsearch.c b/extra/readline/histsearch.c index dcf6b420b..43cac20a1 100644 --- a/extra/readline/histsearch.c +++ b/extra/readline/histsearch.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY diff --git a/extra/readline/input.c b/extra/readline/input.c index 3f8eb65c0..e88df08a2 100644 --- a/extra/readline/input.c +++ b/extra/readline/input.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (__TANDEM) diff --git a/extra/readline/isearch.c b/extra/readline/isearch.c index 83829f486..750113f5d 100644 --- a/extra/readline/isearch.c +++ b/extra/readline/isearch.c @@ -23,7 +23,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/keymaps.c b/extra/readline/keymaps.c index 17436cf20..f431b9daa 100644 --- a/extra/readline/keymaps.c +++ b/extra/readline/keymaps.c @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with Readline; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/keymaps.h b/extra/readline/keymaps.h index 1de567ddc..64bd4c14c 100644 --- a/extra/readline/keymaps.h +++ b/extra/readline/keymaps.h @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #ifndef _KEYMAPS_H_ #define _KEYMAPS_H_ diff --git a/extra/readline/kill.c b/extra/readline/kill.c index bfe6afe77..accda4385 100644 --- a/extra/readline/kill.c +++ b/extra/readline/kill.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/macro.c b/extra/readline/macro.c index 7a26fc40c..0dd02fd13 100644 --- a/extra/readline/macro.c +++ b/extra/readline/macro.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/mbutil.c b/extra/readline/mbutil.c index b3d5c1b0e..1d6d8bbf9 100644 --- a/extra/readline/mbutil.c +++ b/extra/readline/mbutil.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/misc.c b/extra/readline/misc.c index 033a0dd94..6d5f2732a 100644 --- a/extra/readline/misc.c +++ b/extra/readline/misc.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/nls.c b/extra/readline/nls.c index ddfca55d6..089ef8a6a 100644 --- a/extra/readline/nls.c +++ b/extra/readline/nls.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/parens.c b/extra/readline/parens.c index 6b2a4d8d2..d9390e41b 100644 --- a/extra/readline/parens.c +++ b/extra/readline/parens.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (__TANDEM) diff --git a/extra/readline/posixdir.h b/extra/readline/posixdir.h index fe4cb2311..156ad3638 100644 --- a/extra/readline/posixdir.h +++ b/extra/readline/posixdir.h @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with Bash; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ /* This file should be included instead of or . */ diff --git a/extra/readline/posixjmp.h b/extra/readline/posixjmp.h index a2c89b83d..94af2bd11 100644 --- a/extra/readline/posixjmp.h +++ b/extra/readline/posixjmp.h @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with Bash; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #ifndef _POSIXJMP_H_ #define _POSIXJMP_H_ diff --git a/extra/readline/posixstat.h b/extra/readline/posixstat.h index d3eca09b6..e09572608 100644 --- a/extra/readline/posixstat.h +++ b/extra/readline/posixstat.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with Bash; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ /* This file should be included instead of . It relies on the local sys/stat.h to work though. */ diff --git a/extra/readline/readline.c b/extra/readline/readline.c index d2e710875..77e8e17c2 100644 --- a/extra/readline/readline.c +++ b/extra/readline/readline.c @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/readline.h b/extra/readline/readline.h index 867b2e716..ace11f7c9 100644 --- a/extra/readline/readline.h +++ b/extra/readline/readline.h @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_READLINE_H_) #define _READLINE_H_ diff --git a/extra/readline/rlconf.h b/extra/readline/rlconf.h index 4aacbb9e7..57103da7d 100644 --- a/extra/readline/rlconf.h +++ b/extra/readline/rlconf.h @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RLCONF_H_) #define _RLCONF_H_ diff --git a/extra/readline/rldefs.h b/extra/readline/rldefs.h index 732bd54ba..f8334bd45 100644 --- a/extra/readline/rldefs.h +++ b/extra/readline/rldefs.h @@ -21,7 +21,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RLDEFS_H_) #define _RLDEFS_H_ diff --git a/extra/readline/rlmbutil.h b/extra/readline/rlmbutil.h index 63c4055f9..3e8fa2221 100644 --- a/extra/readline/rlmbutil.h +++ b/extra/readline/rlmbutil.h @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RL_MBUTIL_H_) #define _RL_MBUTIL_H_ diff --git a/extra/readline/rlprivate.h b/extra/readline/rlprivate.h index a693bd988..cf3d20381 100644 --- a/extra/readline/rlprivate.h +++ b/extra/readline/rlprivate.h @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RL_PRIVATE_H_) #define _RL_PRIVATE_H_ diff --git a/extra/readline/rlshell.h b/extra/readline/rlshell.h index 629b0e03b..8d5db8893 100644 --- a/extra/readline/rlshell.h +++ b/extra/readline/rlshell.h @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RL_SHELL_H_) #define _RL_SHELL_H_ diff --git a/extra/readline/rlstdc.h b/extra/readline/rlstdc.h index 2a2272895..1bcaff3ee 100644 --- a/extra/readline/rlstdc.h +++ b/extra/readline/rlstdc.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with Bash; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RL_STDC_H_) #define _RL_STDC_H_ diff --git a/extra/readline/rltty.c b/extra/readline/rltty.c index ca8caee7d..0efacf18f 100644 --- a/extra/readline/rltty.c +++ b/extra/readline/rltty.c @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/rltty.h b/extra/readline/rltty.h index 3a4770d25..3fa38bb9e 100644 --- a/extra/readline/rltty.h +++ b/extra/readline/rltty.h @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RLTTY_H_) #define _RLTTY_H_ diff --git a/extra/readline/rltypedefs.h b/extra/readline/rltypedefs.h index 2a0773b06..233166227 100644 --- a/extra/readline/rltypedefs.h +++ b/extra/readline/rltypedefs.h @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #ifndef _RL_TYPEDEFS_H_ #define _RL_TYPEDEFS_H_ diff --git a/extra/readline/rlwinsize.h b/extra/readline/rlwinsize.h index ad671693c..14a1f8bfa 100644 --- a/extra/readline/rlwinsize.h +++ b/extra/readline/rlwinsize.h @@ -20,7 +20,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RLWINSIZE_H_) #define _RLWINSIZE_H_ diff --git a/extra/readline/savestring.c b/extra/readline/savestring.c index 9c431a0e8..2a9ad425c 100644 --- a/extra/readline/savestring.c +++ b/extra/readline/savestring.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #include "config_readline.h" diff --git a/extra/readline/search.c b/extra/readline/search.c index cf50a7cc4..9345be4f5 100644 --- a/extra/readline/search.c +++ b/extra/readline/search.c @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/shell.c b/extra/readline/shell.c index d67f3e650..3b331e927 100644 --- a/extra/readline/shell.c +++ b/extra/readline/shell.c @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/signals.c b/extra/readline/signals.c index db392b3dc..cda33b7c7 100644 --- a/extra/readline/signals.c +++ b/extra/readline/signals.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/tcap.h b/extra/readline/tcap.h index d1e212869..28ec669b3 100644 --- a/extra/readline/tcap.h +++ b/extra/readline/tcap.h @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_RLTCAP_H_) #define _RLTCAP_H_ diff --git a/extra/readline/terminal.c b/extra/readline/terminal.c index 43086d42e..27397c820 100644 --- a/extra/readline/terminal.c +++ b/extra/readline/terminal.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/text.c b/extra/readline/text.c index 90ad77870..c9cceac96 100644 --- a/extra/readline/text.c +++ b/extra/readline/text.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/tilde.c b/extra/readline/tilde.c index 3d84fd481..aace95d78 100644 --- a/extra/readline/tilde.c +++ b/extra/readline/tilde.c @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with Readline; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if defined (HAVE_CONFIG_H) # include "config_readline.h" diff --git a/extra/readline/tilde.h b/extra/readline/tilde.h index 6060ec650..56986c974 100644 --- a/extra/readline/tilde.h +++ b/extra/readline/tilde.h @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_TILDE_H_) # define _TILDE_H_ diff --git a/extra/readline/undo.c b/extra/readline/undo.c index 6b217e45e..f9931b4aa 100644 --- a/extra/readline/undo.c +++ b/extra/readline/undo.c @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/util.c b/extra/readline/util.c index 7c98bcaae..fafb5d8a1 100644 --- a/extra/readline/util.c +++ b/extra/readline/util.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/vi_keymap.c b/extra/readline/vi_keymap.c index 85a90fe70..89acdf22e 100644 --- a/extra/readline/vi_keymap.c +++ b/extra/readline/vi_keymap.c @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (BUFSIZ) #include diff --git a/extra/readline/vi_mode.c b/extra/readline/vi_mode.c index 7a7dda760..cae0b29e1 100644 --- a/extra/readline/vi_mode.c +++ b/extra/readline/vi_mode.c @@ -19,7 +19,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY /* **************************************************************** */ diff --git a/extra/readline/xmalloc.c b/extra/readline/xmalloc.c index 60a142ec1..73d760ae1 100644 --- a/extra/readline/xmalloc.c +++ b/extra/readline/xmalloc.c @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with Readline; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) diff --git a/extra/readline/xmalloc.h b/extra/readline/xmalloc.h index 58b17f39f..5a01449b3 100644 --- a/extra/readline/xmalloc.h +++ b/extra/readline/xmalloc.h @@ -18,7 +18,7 @@ The GNU General Public License is often shipped with GNU software, and is generally kept in a file called COPYING or LICENSE. If you do not have a copy of the license, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #if !defined (_XMALLOC_H_) #define _XMALLOC_H_ diff --git a/extra/replace.c b/extra/replace.c index eabf95383..b1b1700e9 100644 --- a/extra/replace.c +++ b/extra/replace.c @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - 02110-1301 USA */ + 02110-1335 USA */ /* Replace strings in textfile diff --git a/extra/resolve_stack_dump.c b/extra/resolve_stack_dump.c index 576710e0b..44c43eaeb 100644 --- a/extra/resolve_stack_dump.c +++ b/extra/resolve_stack_dump.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Resolve numeric stack dump produced by mysqld 3.23.30 and later versions into symbolic names. By Sasha Pachev diff --git a/extra/resolveip.c b/extra/resolveip.c index b6840d9d4..d3a33282c 100644 --- a/extra/resolveip.c +++ b/extra/resolveip.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Resolves IP's to hostname and hostnames to IP's */ diff --git a/extra/yassl/CMakeLists.txt b/extra/yassl/CMakeLists.txt index c456af9be..41408b012 100644 --- a/extra/yassl/CMakeLists.txt +++ b/extra/yassl/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/include diff --git a/extra/yassl/COPYING b/extra/yassl/COPYING index d20476ee1..98861a540 100644 --- a/extra/yassl/COPYING +++ b/extra/yassl/COPYING @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Also add information on how to contact you by electronic and paper mail. diff --git a/extra/yassl/examples/client/client.cpp b/extra/yassl/examples/client/client.cpp index 102ed6173..d2c07897f 100644 --- a/extra/yassl/examples/client/client.cpp +++ b/extra/yassl/examples/client/client.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* client.cpp */ diff --git a/extra/yassl/examples/echoclient/echoclient.cpp b/extra/yassl/examples/echoclient/echoclient.cpp index fabcfbec2..99a8b4d9c 100644 --- a/extra/yassl/examples/echoclient/echoclient.cpp +++ b/extra/yassl/examples/echoclient/echoclient.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* echoclient.cpp */ diff --git a/extra/yassl/examples/echoserver/echoserver.cpp b/extra/yassl/examples/echoserver/echoserver.cpp index 82696568a..3f6394698 100644 --- a/extra/yassl/examples/echoserver/echoserver.cpp +++ b/extra/yassl/examples/echoserver/echoserver.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* echoserver.cpp */ diff --git a/extra/yassl/examples/server/server.cpp b/extra/yassl/examples/server/server.cpp index 1540f6d36..8a3a0a7db 100644 --- a/extra/yassl/examples/server/server.cpp +++ b/extra/yassl/examples/server/server.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* server.cpp */ diff --git a/extra/yassl/include/buffer.hpp b/extra/yassl/include/buffer.hpp index 77d2ed819..71bea3c10 100644 --- a/extra/yassl/include/buffer.hpp +++ b/extra/yassl/include/buffer.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/include/cert_wrapper.hpp b/extra/yassl/include/cert_wrapper.hpp index ad4c34d65..d32870fcf 100644 --- a/extra/yassl/include/cert_wrapper.hpp +++ b/extra/yassl/include/cert_wrapper.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/include/crypto_wrapper.hpp b/extra/yassl/include/crypto_wrapper.hpp index 0472b3046..97cd989b7 100644 --- a/extra/yassl/include/crypto_wrapper.hpp +++ b/extra/yassl/include/crypto_wrapper.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/include/factory.hpp b/extra/yassl/include/factory.hpp index 5c60335fb..e0f420844 100644 --- a/extra/yassl/include/factory.hpp +++ b/extra/yassl/include/factory.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* The factory header defines an Object Factory, used by SSL message and diff --git a/extra/yassl/include/handshake.hpp b/extra/yassl/include/handshake.hpp index a8ed0545a..dc472690c 100644 --- a/extra/yassl/include/handshake.hpp +++ b/extra/yassl/include/handshake.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* The handshake header declares function prototypes for creating and reading diff --git a/extra/yassl/include/lock.hpp b/extra/yassl/include/lock.hpp index 5273f92f1..3f66ea145 100644 --- a/extra/yassl/include/lock.hpp +++ b/extra/yassl/include/lock.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* lock.hpp provides an os specific Lock, locks mutex on entry and unlocks diff --git a/extra/yassl/include/log.hpp b/extra/yassl/include/log.hpp index faaf68e64..8dc33684a 100644 --- a/extra/yassl/include/log.hpp +++ b/extra/yassl/include/log.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/include/openssl/crypto.h b/extra/yassl/include/openssl/crypto.h index 103fcbb0e..f229f8b61 100644 --- a/extra/yassl/include/openssl/crypto.h +++ b/extra/yassl/include/openssl/crypto.h @@ -14,12 +14,12 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* crypto.h for openSSL */ -#ifndef ysSSL_crypto_h__ +#ifndef yaSSL_crypto_h__ #define yaSSL_crypto_h__ #ifdef YASSL_PREFIX diff --git a/extra/yassl/include/openssl/des.h b/extra/yassl/include/openssl/des.h index f7394b656..71cd7e9b1 100644 --- a/extra/yassl/include/openssl/des.h +++ b/extra/yassl/include/openssl/des.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* des.h for openssl */ diff --git a/extra/yassl/include/openssl/des_old.h b/extra/yassl/include/openssl/des_old.h index b6e2e3e96..b24671854 100644 --- a/extra/yassl/include/openssl/des_old.h +++ b/extra/yassl/include/openssl/des_old.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* des_old.h for openvn */ diff --git a/extra/yassl/include/openssl/engine.h b/extra/yassl/include/openssl/engine.h index 15ddcd146..52c43f080 100644 --- a/extra/yassl/include/openssl/engine.h +++ b/extra/yassl/include/openssl/engine.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* engine.h for libcurl */ diff --git a/extra/yassl/include/openssl/err.h b/extra/yassl/include/openssl/err.h index 948474296..fc96330e9 100644 --- a/extra/yassl/include/openssl/err.h +++ b/extra/yassl/include/openssl/err.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* err.h for openssl */ diff --git a/extra/yassl/include/openssl/evp.h b/extra/yassl/include/openssl/evp.h index 6aa7335da..a57c4a908 100644 --- a/extra/yassl/include/openssl/evp.h +++ b/extra/yassl/include/openssl/evp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* evp.h for openSSL */ diff --git a/extra/yassl/include/openssl/generate_prefix_files.pl b/extra/yassl/include/openssl/generate_prefix_files.pl index 8fbfb1469..d7609aeba 100755 --- a/extra/yassl/include/openssl/generate_prefix_files.pl +++ b/extra/yassl/include/openssl/generate_prefix_files.pl @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA # # This script generates defines for all functions diff --git a/extra/yassl/include/openssl/hmac.h b/extra/yassl/include/openssl/hmac.h index 5da6644e1..0a3861c09 100644 --- a/extra/yassl/include/openssl/hmac.h +++ b/extra/yassl/include/openssl/hmac.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* hmac.h for openvpn */ diff --git a/extra/yassl/include/openssl/lhash.h b/extra/yassl/include/openssl/lhash.h index 6d64df7d9..bde2d3742 100644 --- a/extra/yassl/include/openssl/lhash.h +++ b/extra/yassl/include/openssl/lhash.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* lhash.h for openSSL */ diff --git a/extra/yassl/include/openssl/md4.h b/extra/yassl/include/openssl/md4.h index 8a864993c..360499018 100644 --- a/extra/yassl/include/openssl/md4.h +++ b/extra/yassl/include/openssl/md4.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* md4.h for libcurl */ diff --git a/extra/yassl/include/openssl/md5.h b/extra/yassl/include/openssl/md5.h index b54ebcd91..abe6200a4 100644 --- a/extra/yassl/include/openssl/md5.h +++ b/extra/yassl/include/openssl/md5.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* md5.h for openssl */ diff --git a/extra/yassl/include/openssl/objects.h b/extra/yassl/include/openssl/objects.h index ed2c02945..fb9a265a1 100644 --- a/extra/yassl/include/openssl/objects.h +++ b/extra/yassl/include/openssl/objects.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* objects.h for openvpn */ diff --git a/extra/yassl/include/openssl/opensslv.h b/extra/yassl/include/openssl/opensslv.h index 88b9ca6d2..477d26566 100644 --- a/extra/yassl/include/openssl/opensslv.h +++ b/extra/yassl/include/openssl/opensslv.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* opensslv.h compatibility */ diff --git a/extra/yassl/include/openssl/pem.h b/extra/yassl/include/openssl/pem.h index c467e461d..4b308a58a 100644 --- a/extra/yassl/include/openssl/pem.h +++ b/extra/yassl/include/openssl/pem.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* pem.h for libcurl */ diff --git a/extra/yassl/include/openssl/pkcs12.h b/extra/yassl/include/openssl/pkcs12.h index c3f8ee679..4f848209c 100644 --- a/extra/yassl/include/openssl/pkcs12.h +++ b/extra/yassl/include/openssl/pkcs12.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* pkcs12.h for libcurl */ diff --git a/extra/yassl/include/openssl/prefix_crypto.h b/extra/yassl/include/openssl/prefix_crypto.h index 895dd51a2..acf3e7bd7 100644 --- a/extra/yassl/include/openssl/prefix_crypto.h +++ b/extra/yassl/include/openssl/prefix_crypto.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ #define SSLeay_version yaSSLeay_version diff --git a/extra/yassl/include/openssl/prefix_ssl.h b/extra/yassl/include/openssl/prefix_ssl.h index 19725206c..7698dcf73 100644 --- a/extra/yassl/include/openssl/prefix_ssl.h +++ b/extra/yassl/include/openssl/prefix_ssl.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ #define Copyright yaCopyright diff --git a/extra/yassl/include/openssl/rand.h b/extra/yassl/include/openssl/rand.h index 9e0cedf3e..7f605915e 100644 --- a/extra/yassl/include/openssl/rand.h +++ b/extra/yassl/include/openssl/rand.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* rand.h for openSSL */ diff --git a/extra/yassl/include/openssl/rsa.h b/extra/yassl/include/openssl/rsa.h index 95305a84b..453161a7c 100644 --- a/extra/yassl/include/openssl/rsa.h +++ b/extra/yassl/include/openssl/rsa.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* rsa.h for openSSL */ diff --git a/extra/yassl/include/openssl/sha.h b/extra/yassl/include/openssl/sha.h index 5b7c6bd23..af0973098 100644 --- a/extra/yassl/include/openssl/sha.h +++ b/extra/yassl/include/openssl/sha.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* sha.h for openvpn */ diff --git a/extra/yassl/include/openssl/ssl.h b/extra/yassl/include/openssl/ssl.h index a5ccef102..d9850b51c 100644 --- a/extra/yassl/include/openssl/ssl.h +++ b/extra/yassl/include/openssl/ssl.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* ssl.h defines openssl compatibility layer diff --git a/extra/yassl/include/openssl/transport_types.h b/extra/yassl/include/openssl/transport_types.h index 229d7c14e..3c31eb3d8 100644 --- a/extra/yassl/include/openssl/transport_types.h +++ b/extra/yassl/include/openssl/transport_types.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ #ifndef yaSSL_transport_types_h__ diff --git a/extra/yassl/include/openssl/x509.h b/extra/yassl/include/openssl/x509.h index 74eb83eb1..dd79e6833 100644 --- a/extra/yassl/include/openssl/x509.h +++ b/extra/yassl/include/openssl/x509.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* x509.h for libcurl */ diff --git a/extra/yassl/include/openssl/x509v3.h b/extra/yassl/include/openssl/x509v3.h index b48e9b485..4a7a2175e 100644 --- a/extra/yassl/include/openssl/x509v3.h +++ b/extra/yassl/include/openssl/x509v3.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* x509v3.h for libcurl */ diff --git a/extra/yassl/include/socket_wrapper.hpp b/extra/yassl/include/socket_wrapper.hpp index ee4c1fbc7..3fc9c7ee9 100644 --- a/extra/yassl/include/socket_wrapper.hpp +++ b/extra/yassl/include/socket_wrapper.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/include/timer.hpp b/extra/yassl/include/timer.hpp index 1587c079b..57b402248 100644 --- a/extra/yassl/include/timer.hpp +++ b/extra/yassl/include/timer.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* timer.hpp provides a high res and low res timers diff --git a/extra/yassl/include/yassl.hpp b/extra/yassl/include/yassl.hpp index e7b9a6f25..ff6869a3e 100644 --- a/extra/yassl/include/yassl.hpp +++ b/extra/yassl/include/yassl.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/include/yassl_error.hpp b/extra/yassl/include/yassl_error.hpp index d63244dca..bc97058d8 100644 --- a/extra/yassl/include/yassl_error.hpp +++ b/extra/yassl/include/yassl_error.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/include/yassl_imp.hpp b/extra/yassl/include/yassl_imp.hpp index a952da0d3..fbd2ebb93 100644 --- a/extra/yassl/include/yassl_imp.hpp +++ b/extra/yassl/include/yassl_imp.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* yaSSL implementation header defines all strucutres from the SSL.v3 diff --git a/extra/yassl/include/yassl_int.hpp b/extra/yassl/include/yassl_int.hpp index 781eaa38d..15fd99450 100644 --- a/extra/yassl/include/yassl_int.hpp +++ b/extra/yassl/include/yassl_int.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/include/yassl_types.hpp b/extra/yassl/include/yassl_types.hpp index 129661c58..3132d75a6 100644 --- a/extra/yassl/include/yassl_types.hpp +++ b/extra/yassl/include/yassl_types.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* yaSSL types header defines all constants, enums, and typedefs diff --git a/extra/yassl/src/buffer.cpp b/extra/yassl/src/buffer.cpp index 532da3875..919aa9c74 100644 --- a/extra/yassl/src/buffer.cpp +++ b/extra/yassl/src/buffer.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/src/cert_wrapper.cpp b/extra/yassl/src/cert_wrapper.cpp index 1092e4283..bb2ab2953 100644 --- a/extra/yassl/src/cert_wrapper.cpp +++ b/extra/yassl/src/cert_wrapper.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/src/crypto_wrapper.cpp b/extra/yassl/src/crypto_wrapper.cpp index 031f75608..acafea500 100644 --- a/extra/yassl/src/crypto_wrapper.cpp +++ b/extra/yassl/src/crypto_wrapper.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* The crypto wrapper source implements the policies for the cipher diff --git a/extra/yassl/src/handshake.cpp b/extra/yassl/src/handshake.cpp index 6e181a997..91d3d6b59 100644 --- a/extra/yassl/src/handshake.cpp +++ b/extra/yassl/src/handshake.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/src/lock.cpp b/extra/yassl/src/lock.cpp index c74ea1c6b..44cbcc115 100644 --- a/extra/yassl/src/lock.cpp +++ b/extra/yassl/src/lock.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* Locking functions diff --git a/extra/yassl/src/log.cpp b/extra/yassl/src/log.cpp index c4be306a7..5adbe401d 100644 --- a/extra/yassl/src/log.cpp +++ b/extra/yassl/src/log.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* Debug logging functions diff --git a/extra/yassl/src/make.bat b/extra/yassl/src/make.bat index cbe5f3f71..da7cc3153 100755 --- a/extra/yassl/src/make.bat +++ b/extra/yassl/src/make.bat @@ -11,7 +11,7 @@ REM GNU General Public License for more details. REM REM You should have received a copy of the GNU General Public License REM along with this program; if not, write to the Free Software -REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA REM quick and dirty build file for testing different MSDEVs setlocal diff --git a/extra/yassl/src/socket_wrapper.cpp b/extra/yassl/src/socket_wrapper.cpp index 9b0999735..759a96600 100644 --- a/extra/yassl/src/socket_wrapper.cpp +++ b/extra/yassl/src/socket_wrapper.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/src/ssl.cpp b/extra/yassl/src/ssl.cpp index 28927c41c..b09a952dd 100644 --- a/extra/yassl/src/ssl.cpp +++ b/extra/yassl/src/ssl.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* SSL source implements all openssl compatibility API functions diff --git a/extra/yassl/src/timer.cpp b/extra/yassl/src/timer.cpp index 0c3f044c7..dadb3ebf3 100644 --- a/extra/yassl/src/timer.cpp +++ b/extra/yassl/src/timer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* timer.cpp implements a high res and low res timer diff --git a/extra/yassl/src/yassl.cpp b/extra/yassl/src/yassl.cpp index b6b9a87e0..896003594 100644 --- a/extra/yassl/src/yassl.cpp +++ b/extra/yassl/src/yassl.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/src/yassl_error.cpp b/extra/yassl/src/yassl_error.cpp index f339655be..bb3825ca9 100644 --- a/extra/yassl/src/yassl_error.cpp +++ b/extra/yassl/src/yassl_error.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/src/yassl_imp.cpp b/extra/yassl/src/yassl_imp.cpp index 971a5b665..a4b1b50e1 100644 --- a/extra/yassl/src/yassl_imp.cpp +++ b/extra/yassl/src/yassl_imp.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* yaSSL source implements all SSL.v3 secification structures. diff --git a/extra/yassl/src/yassl_int.cpp b/extra/yassl/src/yassl_int.cpp index 884e8b5fa..78e541394 100644 --- a/extra/yassl/src/yassl_int.cpp +++ b/extra/yassl/src/yassl_int.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/CMakeLists.txt b/extra/yassl/taocrypt/CMakeLists.txt index 7d95348c6..ebfa70e87 100644 --- a/extra/yassl/taocrypt/CMakeLists.txt +++ b/extra/yassl/taocrypt/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extra/yassl/taocrypt/mySTL ${CMAKE_SOURCE_DIR}/extra/yassl/taocrypt/include) diff --git a/extra/yassl/taocrypt/COPYING b/extra/yassl/taocrypt/COPYING index d20476ee1..98861a540 100644 --- a/extra/yassl/taocrypt/COPYING +++ b/extra/yassl/taocrypt/COPYING @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Also add information on how to contact you by electronic and paper mail. diff --git a/extra/yassl/taocrypt/benchmark/benchmark.cpp b/extra/yassl/taocrypt/benchmark/benchmark.cpp index 834f340b6..6afad32ed 100644 --- a/extra/yassl/taocrypt/benchmark/benchmark.cpp +++ b/extra/yassl/taocrypt/benchmark/benchmark.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ // benchmark.cpp diff --git a/extra/yassl/taocrypt/benchmark/make.bat b/extra/yassl/taocrypt/benchmark/make.bat index f6971f720..8f445986c 100755 --- a/extra/yassl/taocrypt/benchmark/make.bat +++ b/extra/yassl/taocrypt/benchmark/make.bat @@ -11,7 +11,7 @@ REM GNU General Public License for more details. REM REM You should have received a copy of the GNU General Public License REM along with this program; if not, write to the Free Software -REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA REM quick and dirty build file for testing different MSDEVs setlocal diff --git a/extra/yassl/taocrypt/include/aes.hpp b/extra/yassl/taocrypt/include/aes.hpp index bccf6e73f..191f294b2 100644 --- a/extra/yassl/taocrypt/include/aes.hpp +++ b/extra/yassl/taocrypt/include/aes.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* aes.hpp defines AES diff --git a/extra/yassl/taocrypt/include/algebra.hpp b/extra/yassl/taocrypt/include/algebra.hpp index e084172b9..b216e5ccc 100644 --- a/extra/yassl/taocrypt/include/algebra.hpp +++ b/extra/yassl/taocrypt/include/algebra.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's algebra.h from CryptoPP */ diff --git a/extra/yassl/taocrypt/include/arc4.hpp b/extra/yassl/taocrypt/include/arc4.hpp index 333d05716..ed6a35e05 100644 --- a/extra/yassl/taocrypt/include/arc4.hpp +++ b/extra/yassl/taocrypt/include/arc4.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* arc4.hpp defines ARC4 diff --git a/extra/yassl/taocrypt/include/asn.hpp b/extra/yassl/taocrypt/include/asn.hpp index 999e853b9..e8a8820ed 100644 --- a/extra/yassl/taocrypt/include/asn.hpp +++ b/extra/yassl/taocrypt/include/asn.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* asn.hpp provides ASN1 BER, PublicKey, and x509v3 decoding diff --git a/extra/yassl/taocrypt/include/block.hpp b/extra/yassl/taocrypt/include/block.hpp index 1e4bd454b..b5958a069 100644 --- a/extra/yassl/taocrypt/include/block.hpp +++ b/extra/yassl/taocrypt/include/block.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/include/blowfish.hpp b/extra/yassl/taocrypt/include/blowfish.hpp index 347cf05de..74ea7f994 100644 --- a/extra/yassl/taocrypt/include/blowfish.hpp +++ b/extra/yassl/taocrypt/include/blowfish.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* blowfish.hpp defines Blowfish diff --git a/extra/yassl/taocrypt/include/coding.hpp b/extra/yassl/taocrypt/include/coding.hpp index 8c30169c7..758ac4526 100644 --- a/extra/yassl/taocrypt/include/coding.hpp +++ b/extra/yassl/taocrypt/include/coding.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* coding.hpp defines hex and base64 encoding/decoing diff --git a/extra/yassl/taocrypt/include/des.hpp b/extra/yassl/taocrypt/include/des.hpp index d88e9ef2f..074cc80d3 100644 --- a/extra/yassl/taocrypt/include/des.hpp +++ b/extra/yassl/taocrypt/include/des.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* des.hpp defines DES, DES_EDE2, and DES_EDE3 diff --git a/extra/yassl/taocrypt/include/dh.hpp b/extra/yassl/taocrypt/include/dh.hpp index 2dff8dcd5..84c410041 100644 --- a/extra/yassl/taocrypt/include/dh.hpp +++ b/extra/yassl/taocrypt/include/dh.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* dh.hpp provides Diffie-Hellman support diff --git a/extra/yassl/taocrypt/include/dsa.hpp b/extra/yassl/taocrypt/include/dsa.hpp index 9dffcbe44..e35b56a1d 100644 --- a/extra/yassl/taocrypt/include/dsa.hpp +++ b/extra/yassl/taocrypt/include/dsa.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* dsa.hpp provides Digitial Signautre Algorithm see FIPS 186-2 diff --git a/extra/yassl/taocrypt/include/error.hpp b/extra/yassl/taocrypt/include/error.hpp index 49bc62e6e..a749c00d8 100644 --- a/extra/yassl/taocrypt/include/error.hpp +++ b/extra/yassl/taocrypt/include/error.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* error.hpp provides a taocrypt error numbers diff --git a/extra/yassl/taocrypt/include/file.hpp b/extra/yassl/taocrypt/include/file.hpp index c340c4fa3..1e2955d87 100644 --- a/extra/yassl/taocrypt/include/file.hpp +++ b/extra/yassl/taocrypt/include/file.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* file.hpp provies File Sources and Sinks diff --git a/extra/yassl/taocrypt/include/hash.hpp b/extra/yassl/taocrypt/include/hash.hpp index 4d2f7dd35..4ffb30586 100644 --- a/extra/yassl/taocrypt/include/hash.hpp +++ b/extra/yassl/taocrypt/include/hash.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* hash.hpp provides a base for digest types diff --git a/extra/yassl/taocrypt/include/hc128.hpp b/extra/yassl/taocrypt/include/hc128.hpp index 0449b28d8..e1ed337de 100644 --- a/extra/yassl/taocrypt/include/hc128.hpp +++ b/extra/yassl/taocrypt/include/hc128.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* hc128.hpp defines HC128 diff --git a/extra/yassl/taocrypt/include/hmac.hpp b/extra/yassl/taocrypt/include/hmac.hpp index 16e208eed..a5b16cdaf 100644 --- a/extra/yassl/taocrypt/include/hmac.hpp +++ b/extra/yassl/taocrypt/include/hmac.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* hamc.hpp implements HMAC, see RFC 2104 diff --git a/extra/yassl/taocrypt/include/integer.hpp b/extra/yassl/taocrypt/include/integer.hpp index 05fe189fd..613ed44b1 100644 --- a/extra/yassl/taocrypt/include/integer.hpp +++ b/extra/yassl/taocrypt/include/integer.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's integer.h from CryptoPP */ diff --git a/extra/yassl/taocrypt/include/kernelc.hpp b/extra/yassl/taocrypt/include/kernelc.hpp index 0840b3f27..5d0ceadc4 100644 --- a/extra/yassl/taocrypt/include/kernelc.hpp +++ b/extra/yassl/taocrypt/include/kernelc.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* kernelc.hpp provides support for C std lib when compiled in kernel mode diff --git a/extra/yassl/taocrypt/include/md2.hpp b/extra/yassl/taocrypt/include/md2.hpp index 49fefa9a2..89226fc93 100644 --- a/extra/yassl/taocrypt/include/md2.hpp +++ b/extra/yassl/taocrypt/include/md2.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* md2.hpp provides MD2 digest support, see RFC 1319 diff --git a/extra/yassl/taocrypt/include/md4.hpp b/extra/yassl/taocrypt/include/md4.hpp index e27efbe82..a4e87b5cc 100644 --- a/extra/yassl/taocrypt/include/md4.hpp +++ b/extra/yassl/taocrypt/include/md4.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* md4.hpp provides MD4 digest support diff --git a/extra/yassl/taocrypt/include/md5.hpp b/extra/yassl/taocrypt/include/md5.hpp index 49a411e86..a065d3d6e 100644 --- a/extra/yassl/taocrypt/include/md5.hpp +++ b/extra/yassl/taocrypt/include/md5.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* md5.hpp provides MD5 digest support, see RFC 1321 diff --git a/extra/yassl/taocrypt/include/misc.hpp b/extra/yassl/taocrypt/include/misc.hpp index cb4d26e70..ebfb02a71 100644 --- a/extra/yassl/taocrypt/include/misc.hpp +++ b/extra/yassl/taocrypt/include/misc.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's misc.h from CryptoPP */ diff --git a/extra/yassl/taocrypt/include/modarith.hpp b/extra/yassl/taocrypt/include/modarith.hpp index 75bf9b475..e536b5722 100644 --- a/extra/yassl/taocrypt/include/modarith.hpp +++ b/extra/yassl/taocrypt/include/modarith.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/include/modes.hpp b/extra/yassl/taocrypt/include/modes.hpp index bfe8c6ec5..db192bf7b 100644 --- a/extra/yassl/taocrypt/include/modes.hpp +++ b/extra/yassl/taocrypt/include/modes.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* modes.hpp provides ECB and CBC modes for block cipher encryption/decryption diff --git a/extra/yassl/taocrypt/include/pwdbased.hpp b/extra/yassl/taocrypt/include/pwdbased.hpp index 32da429f7..57495d01b 100644 --- a/extra/yassl/taocrypt/include/pwdbased.hpp +++ b/extra/yassl/taocrypt/include/pwdbased.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/include/rabbit.hpp b/extra/yassl/taocrypt/include/rabbit.hpp index fb4e12c66..e9af478fe 100644 --- a/extra/yassl/taocrypt/include/rabbit.hpp +++ b/extra/yassl/taocrypt/include/rabbit.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* rabbit.hpp defines Rabbit diff --git a/extra/yassl/taocrypt/include/random.hpp b/extra/yassl/taocrypt/include/random.hpp index b51b4c3c3..90d38de79 100644 --- a/extra/yassl/taocrypt/include/random.hpp +++ b/extra/yassl/taocrypt/include/random.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* random.hpp provides a crypto secure Random Number Generator using an OS diff --git a/extra/yassl/taocrypt/include/ripemd.hpp b/extra/yassl/taocrypt/include/ripemd.hpp index 0599bdc5a..d50a17142 100644 --- a/extra/yassl/taocrypt/include/ripemd.hpp +++ b/extra/yassl/taocrypt/include/ripemd.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* ripemd.hpp provides RIPEMD digest support diff --git a/extra/yassl/taocrypt/include/rsa.hpp b/extra/yassl/taocrypt/include/rsa.hpp index ee3e378a6..446752c64 100644 --- a/extra/yassl/taocrypt/include/rsa.hpp +++ b/extra/yassl/taocrypt/include/rsa.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* rsa.hpp provides RSA ES encrypt/decrypt, SSL (block type 1) sign and verify diff --git a/extra/yassl/taocrypt/include/runtime.hpp b/extra/yassl/taocrypt/include/runtime.hpp index ef2facf32..90f084320 100644 --- a/extra/yassl/taocrypt/include/runtime.hpp +++ b/extra/yassl/taocrypt/include/runtime.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* runtime.hpp provides C++ runtime support functions when building a pure C diff --git a/extra/yassl/taocrypt/include/sha.hpp b/extra/yassl/taocrypt/include/sha.hpp index cf6d0d09a..8b18b7a66 100644 --- a/extra/yassl/taocrypt/include/sha.hpp +++ b/extra/yassl/taocrypt/include/sha.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* sha.hpp provides SHA-1 digests, see RFC 3174 diff --git a/extra/yassl/taocrypt/include/twofish.hpp b/extra/yassl/taocrypt/include/twofish.hpp index 236daed55..c2b0e6f75 100644 --- a/extra/yassl/taocrypt/include/twofish.hpp +++ b/extra/yassl/taocrypt/include/twofish.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* twofish.hpp defines Twofish diff --git a/extra/yassl/taocrypt/include/type_traits.hpp b/extra/yassl/taocrypt/include/type_traits.hpp index 3383c23cd..f85ae552c 100644 --- a/extra/yassl/taocrypt/include/type_traits.hpp +++ b/extra/yassl/taocrypt/include/type_traits.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* type_traits defines fundamental types diff --git a/extra/yassl/taocrypt/include/types.hpp b/extra/yassl/taocrypt/include/types.hpp index 973e1d198..97136970e 100644 --- a/extra/yassl/taocrypt/include/types.hpp +++ b/extra/yassl/taocrypt/include/types.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's misc.h from CryptoPP, basic crypt types */ diff --git a/extra/yassl/taocrypt/mySTL/algorithm.hpp b/extra/yassl/taocrypt/mySTL/algorithm.hpp index 02a7c8c07..06731525b 100644 --- a/extra/yassl/taocrypt/mySTL/algorithm.hpp +++ b/extra/yassl/taocrypt/mySTL/algorithm.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/mySTL/helpers.hpp b/extra/yassl/taocrypt/mySTL/helpers.hpp index 10ebb0ac6..ec9266ddf 100644 --- a/extra/yassl/taocrypt/mySTL/helpers.hpp +++ b/extra/yassl/taocrypt/mySTL/helpers.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/mySTL/list.hpp b/extra/yassl/taocrypt/mySTL/list.hpp index d3297db44..c71ebc8de 100644 --- a/extra/yassl/taocrypt/mySTL/list.hpp +++ b/extra/yassl/taocrypt/mySTL/list.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/mySTL/memory.hpp b/extra/yassl/taocrypt/mySTL/memory.hpp index 0c57620ff..fdd34cda1 100644 --- a/extra/yassl/taocrypt/mySTL/memory.hpp +++ b/extra/yassl/taocrypt/mySTL/memory.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/mySTL/memory_array.hpp b/extra/yassl/taocrypt/mySTL/memory_array.hpp index cc49208e9..af4c2cdf2 100644 --- a/extra/yassl/taocrypt/mySTL/memory_array.hpp +++ b/extra/yassl/taocrypt/mySTL/memory_array.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/mySTL/pair.hpp b/extra/yassl/taocrypt/mySTL/pair.hpp index 1c9579fa0..9dd97f63b 100644 --- a/extra/yassl/taocrypt/mySTL/pair.hpp +++ b/extra/yassl/taocrypt/mySTL/pair.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/mySTL/stdexcept.hpp b/extra/yassl/taocrypt/mySTL/stdexcept.hpp index 79ae6de33..8c12b51e1 100644 --- a/extra/yassl/taocrypt/mySTL/stdexcept.hpp +++ b/extra/yassl/taocrypt/mySTL/stdexcept.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/mySTL/vector.hpp b/extra/yassl/taocrypt/mySTL/vector.hpp index f3702b751..0abcf910b 100644 --- a/extra/yassl/taocrypt/mySTL/vector.hpp +++ b/extra/yassl/taocrypt/mySTL/vector.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/aes.cpp b/extra/yassl/taocrypt/src/aes.cpp index 2321c7255..4e4ea849c 100644 --- a/extra/yassl/taocrypt/src/aes.cpp +++ b/extra/yassl/taocrypt/src/aes.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* C++ based on Wei Dai's aes.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/aestables.cpp b/extra/yassl/taocrypt/src/aestables.cpp index 60795a549..7c6a53bdc 100644 --- a/extra/yassl/taocrypt/src/aestables.cpp +++ b/extra/yassl/taocrypt/src/aestables.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's aestables.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/algebra.cpp b/extra/yassl/taocrypt/src/algebra.cpp index 7dae7d6a9..b24333bef 100644 --- a/extra/yassl/taocrypt/src/algebra.cpp +++ b/extra/yassl/taocrypt/src/algebra.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's algebra.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/arc4.cpp b/extra/yassl/taocrypt/src/arc4.cpp index 10a3a7d6f..6d11f5c11 100644 --- a/extra/yassl/taocrypt/src/arc4.cpp +++ b/extra/yassl/taocrypt/src/arc4.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's arc4.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/asn.cpp b/extra/yassl/taocrypt/src/asn.cpp index 80bcd612d..0a677c4b0 100644 --- a/extra/yassl/taocrypt/src/asn.cpp +++ b/extra/yassl/taocrypt/src/asn.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* asn.cpp implements ASN1 BER, PublicKey, and x509v3 decoding diff --git a/extra/yassl/taocrypt/src/bftables.cpp b/extra/yassl/taocrypt/src/bftables.cpp index 8e0bde1fe..088f9778d 100644 --- a/extra/yassl/taocrypt/src/bftables.cpp +++ b/extra/yassl/taocrypt/src/bftables.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's bfinit.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/blowfish.cpp b/extra/yassl/taocrypt/src/blowfish.cpp index 87b055675..45f6fb793 100644 --- a/extra/yassl/taocrypt/src/blowfish.cpp +++ b/extra/yassl/taocrypt/src/blowfish.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* C++ code based on Wei Dai's blowfish.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/coding.cpp b/extra/yassl/taocrypt/src/coding.cpp index 8f317a484..85d657c35 100644 --- a/extra/yassl/taocrypt/src/coding.cpp +++ b/extra/yassl/taocrypt/src/coding.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* coding.cpp implements hex and base64 encoding/decoing diff --git a/extra/yassl/taocrypt/src/des.cpp b/extra/yassl/taocrypt/src/des.cpp index 673c21ed2..f921cfcc9 100644 --- a/extra/yassl/taocrypt/src/des.cpp +++ b/extra/yassl/taocrypt/src/des.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* C++ part based on Wei Dai's des.cpp from CryptoPP */ @@ -224,7 +224,7 @@ void BasicDES::SetKey(const byte* key, word32 /*length*/, CipherDir dir) byte *const pc1m = buffer; /* place to modify pc1 into */ byte *const pcr = pc1m + 56; /* place to rotate pc1 into */ byte *const ks = pcr + 56; - register int i,j,l; + int i,j,l; int m; for (j = 0; j < 56; j++) { /* convert pc1 to bits of key */ diff --git a/extra/yassl/taocrypt/src/dh.cpp b/extra/yassl/taocrypt/src/dh.cpp index b7f1d7e6d..cc677cba4 100644 --- a/extra/yassl/taocrypt/src/dh.cpp +++ b/extra/yassl/taocrypt/src/dh.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/dsa.cpp b/extra/yassl/taocrypt/src/dsa.cpp index fda01881d..ccdefa460 100644 --- a/extra/yassl/taocrypt/src/dsa.cpp +++ b/extra/yassl/taocrypt/src/dsa.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/file.cpp b/extra/yassl/taocrypt/src/file.cpp index ab7a5c2b6..5dfc19ca7 100644 --- a/extra/yassl/taocrypt/src/file.cpp +++ b/extra/yassl/taocrypt/src/file.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* file.cpp implements File Sources and Sinks diff --git a/extra/yassl/taocrypt/src/hash.cpp b/extra/yassl/taocrypt/src/hash.cpp index c176e6a68..9fa65a360 100644 --- a/extra/yassl/taocrypt/src/hash.cpp +++ b/extra/yassl/taocrypt/src/hash.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* hash.cpp implements a base for digest types diff --git a/extra/yassl/taocrypt/src/hc128.cpp b/extra/yassl/taocrypt/src/hc128.cpp index 8934c3187..4e1542097 100644 --- a/extra/yassl/taocrypt/src/hc128.cpp +++ b/extra/yassl/taocrypt/src/hc128.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/integer.cpp b/extra/yassl/taocrypt/src/integer.cpp index dd8425396..432a0ad20 100644 --- a/extra/yassl/taocrypt/src/integer.cpp +++ b/extra/yassl/taocrypt/src/integer.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/make.bat b/extra/yassl/taocrypt/src/make.bat index f302db510..6572d7f35 100755 --- a/extra/yassl/taocrypt/src/make.bat +++ b/extra/yassl/taocrypt/src/make.bat @@ -11,7 +11,7 @@ REM GNU General Public License for more details. REM REM You should have received a copy of the GNU General Public License REM along with this program; if not, write to the Free Software -REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA REM quick and dirty build file for testing different MSDEVs setlocal diff --git a/extra/yassl/taocrypt/src/md2.cpp b/extra/yassl/taocrypt/src/md2.cpp index aefe30452..b1a7190d1 100644 --- a/extra/yassl/taocrypt/src/md2.cpp +++ b/extra/yassl/taocrypt/src/md2.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/md4.cpp b/extra/yassl/taocrypt/src/md4.cpp index 9364a1c23..02613fcf1 100644 --- a/extra/yassl/taocrypt/src/md4.cpp +++ b/extra/yassl/taocrypt/src/md4.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/md5.cpp b/extra/yassl/taocrypt/src/md5.cpp index 45cfa8a33..b68be738e 100644 --- a/extra/yassl/taocrypt/src/md5.cpp +++ b/extra/yassl/taocrypt/src/md5.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/misc.cpp b/extra/yassl/taocrypt/src/misc.cpp index 198f1ba17..41249bcf3 100644 --- a/extra/yassl/taocrypt/src/misc.cpp +++ b/extra/yassl/taocrypt/src/misc.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's misc.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/rabbit.cpp b/extra/yassl/taocrypt/src/rabbit.cpp index 5e32f3834..d0d4b0ef3 100644 --- a/extra/yassl/taocrypt/src/rabbit.cpp +++ b/extra/yassl/taocrypt/src/rabbit.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/random.cpp b/extra/yassl/taocrypt/src/random.cpp index 4b89b5b32..44ac324df 100644 --- a/extra/yassl/taocrypt/src/random.cpp +++ b/extra/yassl/taocrypt/src/random.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/ripemd.cpp b/extra/yassl/taocrypt/src/ripemd.cpp index 5d03dc61c..04b8f82ff 100644 --- a/extra/yassl/taocrypt/src/ripemd.cpp +++ b/extra/yassl/taocrypt/src/ripemd.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ diff --git a/extra/yassl/taocrypt/src/rsa.cpp b/extra/yassl/taocrypt/src/rsa.cpp index 73f678e26..e458a1adb 100644 --- a/extra/yassl/taocrypt/src/rsa.cpp +++ b/extra/yassl/taocrypt/src/rsa.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's rsa.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/sha.cpp b/extra/yassl/taocrypt/src/sha.cpp index 4206f7f64..e7ba5582d 100644 --- a/extra/yassl/taocrypt/src/sha.cpp +++ b/extra/yassl/taocrypt/src/sha.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's sha.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/tftables.cpp b/extra/yassl/taocrypt/src/tftables.cpp index bf9be335b..1dd4a846a 100644 --- a/extra/yassl/taocrypt/src/tftables.cpp +++ b/extra/yassl/taocrypt/src/tftables.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* based on Wei Dai's tftables.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/src/twofish.cpp b/extra/yassl/taocrypt/src/twofish.cpp index 8eb82210b..2e28ae52c 100644 --- a/extra/yassl/taocrypt/src/twofish.cpp +++ b/extra/yassl/taocrypt/src/twofish.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ /* C++ based on Wei Dai's twofish.cpp from CryptoPP */ diff --git a/extra/yassl/taocrypt/test/make.bat b/extra/yassl/taocrypt/test/make.bat index 8f22226ca..cfb762ce8 100755 --- a/extra/yassl/taocrypt/test/make.bat +++ b/extra/yassl/taocrypt/test/make.bat @@ -11,7 +11,7 @@ REM GNU General Public License for more details. REM REM You should have received a copy of the GNU General Public License REM along with this program; if not, write to the Free Software -REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA REM quick and dirty build file for testing different MSDEVs setlocal diff --git a/extra/yassl/taocrypt/test/memory.cpp b/extra/yassl/taocrypt/test/memory.cpp index 053d79688..99f1fd646 100644 --- a/extra/yassl/taocrypt/test/memory.cpp +++ b/extra/yassl/taocrypt/test/memory.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ // memory.cpp diff --git a/extra/yassl/taocrypt/test/test.cpp b/extra/yassl/taocrypt/test/test.cpp index b07a9eb9f..cf1ec551f 100644 --- a/extra/yassl/taocrypt/test/test.cpp +++ b/extra/yassl/taocrypt/test/test.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ // test.cpp diff --git a/extra/yassl/testsuite/make.bat b/extra/yassl/testsuite/make.bat index b2028e7bf..eddbe90c4 100755 --- a/extra/yassl/testsuite/make.bat +++ b/extra/yassl/testsuite/make.bat @@ -11,7 +11,7 @@ REM GNU General Public License for more details. REM REM You should have received a copy of the GNU General Public License REM along with this program; if not, write to the Free Software -REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +REM Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA REM quick and dirty build file for testing different MSDEVs setlocal diff --git a/extra/yassl/testsuite/test.hpp b/extra/yassl/testsuite/test.hpp index a65a212cf..12da450ff 100644 --- a/extra/yassl/testsuite/test.hpp +++ b/extra/yassl/testsuite/test.hpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ // test.hpp diff --git a/extra/yassl/testsuite/testsuite.cpp b/extra/yassl/testsuite/testsuite.cpp index 7973a3704..1792a2a3d 100644 --- a/extra/yassl/testsuite/testsuite.cpp +++ b/extra/yassl/testsuite/testsuite.cpp @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA. + MA 02110-1335 USA. */ // testsuite.cpp diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index d0c4768e8..26ac7f3a8 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(HEADERS_GEN_CONFIGURE mysql_version.h diff --git a/include/atomic/gcc_builtins.h b/include/atomic/gcc_builtins.h index 56a0323ae..dd19ccd9e 100644 --- a/include/atomic/gcc_builtins.h +++ b/include/atomic/gcc_builtins.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #define make_atomic_add_body(S) \ v= __sync_fetch_and_add(a, v); diff --git a/include/atomic/generic-msvc.h b/include/atomic/generic-msvc.h index 6c5272c98..754f0bfa8 100644 --- a/include/atomic/generic-msvc.h +++ b/include/atomic/generic-msvc.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _atomic_h_cleanup_ #define _atomic_h_cleanup_ "atomic/generic-msvc.h" diff --git a/include/atomic/nolock.h b/include/atomic/nolock.h index 2137445a0..8bbc9ca44 100644 --- a/include/atomic/nolock.h +++ b/include/atomic/nolock.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #if defined(__i386__) || defined(_MSC_VER) || defined(__x86_64__) \ || defined(HAVE_GCC_ATOMIC_BUILTINS) \ diff --git a/include/atomic/solaris.h b/include/atomic/solaris.h index 7b6f0561f..cac340409 100644 --- a/include/atomic/solaris.h +++ b/include/atomic/solaris.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _atomic_h_cleanup_ #define _atomic_h_cleanup_ "atomic/solaris.h" diff --git a/include/atomic/x86-gcc.h b/include/atomic/x86-gcc.h index 173e32e79..679ecd367 100644 --- a/include/atomic/x86-gcc.h +++ b/include/atomic/x86-gcc.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* XXX 64-bit atomic operations can be implemented using diff --git a/include/big_endian.h b/include/big_endian.h index 021b6abc3..6487f8292 100644 --- a/include/big_endian.h +++ b/include/big_endian.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Data in big-endian format. diff --git a/include/byte_order_generic.h b/include/byte_order_generic.h index d4ac27eeb..451202be3 100644 --- a/include/byte_order_generic.h +++ b/include/byte_order_generic.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Endianness-independent definitions for architectures other diff --git a/include/byte_order_generic_x86.h b/include/byte_order_generic_x86.h index a97dd0f43..4b2cbbe55 100644 --- a/include/byte_order_generic_x86.h +++ b/include/byte_order_generic_x86.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Optimized function-like macros for the x86 architecture (_WIN32 included). diff --git a/include/byte_order_generic_x86_64.h b/include/byte_order_generic_x86_64.h index 8c7493965..d235e8db3 100644 --- a/include/byte_order_generic_x86_64.h +++ b/include/byte_order_generic_x86_64.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Optimized function-like macros for the x86 architecture (_WIN32 included). diff --git a/include/decimal.h b/include/decimal.h index 2adeb8243..648e908f8 100644 --- a/include/decimal.h +++ b/include/decimal.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _decimal_h #define _decimal_h diff --git a/include/errmsg.h b/include/errmsg.h index be4203b7f..c0c4cfc58 100644 --- a/include/errmsg.h +++ b/include/errmsg.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Error messages numbers for MySQL clients. diff --git a/include/ft_global.h b/include/ft_global.h index aad3b4cb5..725363c3a 100644 --- a/include/ft_global.h +++ b/include/ft_global.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Written by Sergei A. Golubchik, who has a shared copyright to this code */ diff --git a/include/handler_ername.h b/include/handler_ername.h index 50f7f5358..fe55062e6 100644 --- a/include/handler_ername.h +++ b/include/handler_ername.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Names of all handler error numbers. Used by mysqltest */ diff --git a/include/hash.h b/include/hash.h index fde7fc30d..22bd6fc4f 100644 --- a/include/hash.h +++ b/include/hash.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Dynamic hashing of record with different key-length */ diff --git a/include/heap.h b/include/heap.h index e92f649b8..d0c907a48 100644 --- a/include/heap.h +++ b/include/heap.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file should be included when using heap_database_functions */ @@ -217,7 +217,7 @@ extern int heap_write(HP_INFO *info,const uchar *buff); extern int heap_update(HP_INFO *info,const uchar *old,const uchar *newdata); extern int heap_rrnd(HP_INFO *info,uchar *buf,uchar *pos); extern int heap_scan_init(HP_INFO *info); -extern int heap_scan(register HP_INFO *info, uchar *record); +extern int heap_scan(HP_INFO *info, uchar *record); extern int heap_delete(HP_INFO *info,const uchar *buff); extern int heap_info(HP_INFO *info,HEAPINFO *x,int flag); extern int heap_create(const char *name, diff --git a/include/keycache.h b/include/keycache.h index 85937ebef..14fd9c80b 100644 --- a/include/keycache.h +++ b/include/keycache.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Key cache variable structures */ diff --git a/include/lf.h b/include/lf.h index 19bdafce6..9d6f77da1 100644 --- a/include/lf.h +++ b/include/lf.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef INCLUDE_LF_INCLUDED #define INCLUDE_LF_INCLUDED diff --git a/include/little_endian.h b/include/little_endian.h index 7223fea64..dcddbdd9e 100644 --- a/include/little_endian.h +++ b/include/little_endian.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Data in little-endian format. diff --git a/include/m_ctype.h b/include/m_ctype.h index 74dd2a299..875ff9557 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* A better inplementation of the UNIX ctype(3) library. diff --git a/include/m_string.h b/include/m_string.h index d088b510d..e17bc6973 100644 --- a/include/m_string.h +++ b/include/m_string.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* There may be prolems include all of theese. Try to test in configure with ones are needed? */ diff --git a/include/maria.h b/include/maria.h index ab8fc944c..cbc03687f 100644 --- a/include/maria.h +++ b/include/maria.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file should be included when using maria functions */ @@ -366,7 +366,7 @@ int maria_sort_index(HA_CHECK *param, MARIA_HA *info, char * name); int maria_zerofill(HA_CHECK *param, MARIA_HA *info, const char *name); int maria_repair_by_sort(HA_CHECK *param, MARIA_HA *info, const char *name, my_bool rep_quick); -int maria_repair_parallel(HA_CHECK *param, register MARIA_HA *info, +int maria_repair_parallel(HA_CHECK *param, MARIA_HA *info, const char *name, my_bool rep_quick); int maria_change_to_newfile(const char *filename, const char *old_ext, const char *new_ext, time_t backup_time, diff --git a/include/my_alarm.h b/include/my_alarm.h index 73bb6ab76..6010da6e2 100644 --- a/include/my_alarm.h +++ b/include/my_alarm.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* File to include when we want to use alarm or a loop_counter to display diff --git a/include/my_alloc.h b/include/my_alloc.h index 85ac75fc6..52c04fe1b 100644 --- a/include/my_alloc.h +++ b/include/my_alloc.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Data structures for mysys/my_alloc.c (root memory allocator) diff --git a/include/my_atomic.h b/include/my_atomic.h index 855b781df..e226f5c59 100644 --- a/include/my_atomic.h +++ b/include/my_atomic.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This header defines five atomic operations: diff --git a/include/my_attribute.h b/include/my_attribute.h index 14ed35cfe..0bdec175f 100644 --- a/include/my_attribute.h +++ b/include/my_attribute.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Helper macros used for setting different __attributes__ diff --git a/include/my_base.h b/include/my_base.h index 8b546edac..edd14e6a2 100644 --- a/include/my_base.h +++ b/include/my_base.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file includes constants used with all databases */ @@ -622,6 +622,7 @@ typedef ulong ha_rows; #define HA_POS_ERROR (~ (ha_rows) 0) #define HA_OFFSET_ERROR (~ (my_off_t) 0) +#define HA_ROWS_MAX HA_POS_ERROR #if SYSTEM_SIZEOF_OFF_T == 4 #define MAX_FILE_SIZE INT_MAX32 diff --git a/include/my_bit.h b/include/my_bit.h index c571581f5..aee5240ac 100644 --- a/include/my_bit.h +++ b/include/my_bit.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MY_BIT_INCLUDED #define MY_BIT_INCLUDED diff --git a/include/my_bitmap.h b/include/my_bitmap.h index 9c9550e31..da685ce19 100644 --- a/include/my_bitmap.h +++ b/include/my_bitmap.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_bitmap_h_ #define _my_bitmap_h_ diff --git a/include/my_byteorder.h b/include/my_byteorder.h index 1f29248bf..c302781d9 100644 --- a/include/my_byteorder.h +++ b/include/my_byteorder.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/include/my_check_opt.h b/include/my_check_opt.h index ccf003dec..f5ec522ed 100644 --- a/include/my_check_opt.h +++ b/include/my_check_opt.h @@ -11,7 +11,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_check_opt_h #define _my_check_opt_h diff --git a/include/my_compare.h b/include/my_compare.h index 1c50ff937..38a024c44 100644 --- a/include/my_compare.h +++ b/include/my_compare.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_compare_h #define _my_compare_h diff --git a/include/my_compiler.h b/include/my_compiler.h index 000d4e428..86ba250da 100644 --- a/include/my_compiler.h +++ b/include/my_compiler.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** Header for compiler-dependent features. diff --git a/include/my_cpu.h b/include/my_cpu.h index 026b92c1b..ebabe6c72 100644 --- a/include/my_cpu.h +++ b/include/my_cpu.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* instructions for specific cpu's */ diff --git a/include/my_crypt.h b/include/my_crypt.h index 719e349bf..eced2cd40 100644 --- a/include/my_crypt.h +++ b/include/my_crypt.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MY_CRYPT_INCLUDED #define MY_CRYPT_INCLUDED diff --git a/include/my_dbug.h b/include/my_dbug.h index d56033ab0..866bc619e 100644 --- a/include/my_dbug.h +++ b/include/my_dbug.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_dbug_h #define _my_dbug_h diff --git a/include/my_decimal_limits.h b/include/my_decimal_limits.h index 0aa247ff0..34117f8c5 100644 --- a/include/my_decimal_limits.h +++ b/include/my_decimal_limits.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define DECIMAL_LONGLONG_DIGITS 22 #define DECIMAL_LONG_DIGITS 10 diff --git a/include/my_default.h b/include/my_default.h index bd3a21f03..865833de3 100644 --- a/include/my_default.h +++ b/include/my_default.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Definitions for mysys/my_default.c */ diff --git a/include/my_dir.h b/include/my_dir.h index be988ae79..c92c82541 100644 --- a/include/my_dir.h +++ b/include/my_dir.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MY_DIR_H #define MY_DIR_H diff --git a/include/my_getopt.h b/include/my_getopt.h index 584c00946..c6aa21eda 100644 --- a/include/my_getopt.h +++ b/include/my_getopt.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_getopt_h #define _my_getopt_h diff --git a/include/my_global.h b/include/my_global.h index 36e4b5368..60249a153 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This is the include file that should be included 'first' in every C file. */ diff --git a/include/my_handler_errors.h b/include/my_handler_errors.h index 5af6a3593..5e882da59 100644 --- a/include/my_handler_errors.h +++ b/include/my_handler_errors.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Errors a handler can give you diff --git a/include/my_libwrap.h b/include/my_libwrap.h index 9a0176114..b52008041 100644 --- a/include/my_libwrap.h +++ b/include/my_libwrap.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef HAVE_LIBWRAP #include diff --git a/include/my_list.h b/include/my_list.h index 294be663d..0bb785bdb 100644 --- a/include/my_list.h +++ b/include/my_list.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _list_h_ #define _list_h_ diff --git a/include/my_md5.h b/include/my_md5.h index 141ea309c..c3919bf15 100644 --- a/include/my_md5.h +++ b/include/my_md5.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "m_string.h" diff --git a/include/my_net.h b/include/my_net.h index 91d780a27..bd42ccf63 100644 --- a/include/my_net.h +++ b/include/my_net.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file is also used to make handling of sockets and ioctl() diff --git a/include/my_nosys.h b/include/my_nosys.h index 97f36d00c..ff13a04d2 100644 --- a/include/my_nosys.h +++ b/include/my_nosys.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Header to remove use of my_functions in functions where we need speed and diff --git a/include/my_pthread.h b/include/my_pthread.h index 2b3edb735..778123976 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Defines to make different thread packages compatible */ diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h index d24e21167..df421225f 100644 --- a/include/my_rdtsc.h +++ b/include/my_rdtsc.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* rdtsc3 -- multi-platform timer code diff --git a/include/my_rnd.h b/include/my_rnd.h index ab8b3e10d..a3e378808 100644 --- a/include/my_rnd.h +++ b/include/my_rnd.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_rnd_h #define _my_rnd_h diff --git a/include/my_service_manager.h b/include/my_service_manager.h index 4d88e992b..c8d634e49 100644 --- a/include/my_service_manager.h +++ b/include/my_service_manager.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ diff --git a/include/my_stacktrace.h b/include/my_stacktrace.h index fad6e532d..6aaf6728c 100644 --- a/include/my_stacktrace.h +++ b/include/my_stacktrace.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_stacktrace_h_ #define _my_stacktrace_h_ diff --git a/include/my_sys.h b/include/my_sys.h index c30580a8c..1cb957242 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_sys_h #define _my_sys_h diff --git a/include/my_time.h b/include/my_time.h index 557dcdd56..6e4a625f2 100644 --- a/include/my_time.h +++ b/include/my_time.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This is a private header of sql-common library, containing diff --git a/include/my_tree.h b/include/my_tree.h index 59d02218a..d0c898f76 100644 --- a/include/my_tree.h +++ b/include/my_tree.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _tree_h #define _tree_h diff --git a/include/my_uctype.h b/include/my_uctype.h index 80ef01c07..82949ffe2 100644 --- a/include/my_uctype.h +++ b/include/my_uctype.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Unicode ctype data diff --git a/include/my_user.h b/include/my_user.h index 404996e99..a4b39edad 100644 --- a/include/my_user.h +++ b/include/my_user.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This is a header for libraries containing functions used in both server and diff --git a/include/my_valgrind.h b/include/my_valgrind.h index 78e5cf1ba..ad22f0cad 100644 --- a/include/my_valgrind.h +++ b/include/my_valgrind.h @@ -11,7 +11,10 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ + +#ifndef MY_VALGRIND_INCLUDED +#define MY_VALGRIND_INCLUDED /* clang -> gcc */ #ifndef __has_feature @@ -33,6 +36,7 @@ # define MEM_NOACCESS(a,len) VALGRIND_MAKE_MEM_NOACCESS(a,len) # define MEM_CHECK_ADDRESSABLE(a,len) VALGRIND_CHECK_MEM_IS_ADDRESSABLE(a,len) # define MEM_CHECK_DEFINED(a,len) VALGRIND_CHECK_MEM_IS_DEFINED(a,len) +# define REDZONE_SIZE 8 #elif defined(__SANITIZE_ADDRESS__) # include /* How to do manual poisoning: @@ -41,11 +45,13 @@ # define MEM_NOACCESS(a,len) ASAN_POISON_MEMORY_REGION(a,len) # define MEM_CHECK_ADDRESSABLE(a,len) ((void) 0) # define MEM_CHECK_DEFINED(a,len) ((void) 0) +# define REDZONE_SIZE 8 #else # define MEM_UNDEFINED(a,len) ((void) (a), (void) (len)) # define MEM_NOACCESS(a,len) ((void) 0) # define MEM_CHECK_ADDRESSABLE(a,len) ((void) 0) # define MEM_CHECK_DEFINED(a,len) ((void) 0) +# define REDZONE_SIZE 0 #endif /* HAVE_VALGRIND */ #ifndef DBUG_OFF @@ -55,3 +61,5 @@ #endif #define TRASH_ALLOC(A,B) do { TRASH_FILL(A,B,0xA5); MEM_UNDEFINED(A,B); } while(0) #define TRASH_FREE(A,B) do { TRASH_FILL(A,B,0x8F); MEM_NOACCESS(A,B); } while(0) + +#endif /* MY_VALGRIND_INCLUDED */ diff --git a/include/my_xml.h b/include/my_xml.h index cd7665df9..846448a06 100644 --- a/include/my_xml.h +++ b/include/my_xml.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_xml_h diff --git a/include/myisam.h b/include/myisam.h index f7a3ae8cc..2a3444f78 100644 --- a/include/myisam.h +++ b/include/myisam.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file should be included when using myisam_funktions */ @@ -373,7 +373,7 @@ typedef struct st_mi_sort_param int (*key_read)(struct st_mi_sort_param *,void *); int (*key_write)(struct st_mi_sort_param *, const void *); void (*lock_in_memory)(HA_CHECK *); - int (*write_keys)(struct st_mi_sort_param *, register uchar **, + int (*write_keys)(struct st_mi_sort_param *, uchar **, ulonglong , struct st_buffpek *, IO_CACHE *); my_off_t (*read_to_buffer)(IO_CACHE *,struct st_buffpek *, uint); int (*write_key)(struct st_mi_sort_param *, IO_CACHE *,uchar *, @@ -383,16 +383,16 @@ typedef struct st_mi_sort_param /* functions in mi_check */ void myisamchk_init(HA_CHECK *param); int chk_status(HA_CHECK *param, MI_INFO *info); -int chk_del(HA_CHECK *param, register MI_INFO *info, ulonglong test_flag); +int chk_del(HA_CHECK *param, MI_INFO *info, ulonglong test_flag); int chk_size(HA_CHECK *param, MI_INFO *info); int chk_key(HA_CHECK *param, MI_INFO *info); int chk_data_link(HA_CHECK *param, MI_INFO *info, my_bool extend); -int mi_repair(HA_CHECK *param, register MI_INFO *info, +int mi_repair(HA_CHECK *param, MI_INFO *info, char * name, int rep_quick); -int mi_sort_index(HA_CHECK *param, register MI_INFO *info, char * name); -int mi_repair_by_sort(HA_CHECK *param, register MI_INFO *info, +int mi_sort_index(HA_CHECK *param, MI_INFO *info, char * name); +int mi_repair_by_sort(HA_CHECK *param, MI_INFO *info, const char * name, int rep_quick); -int mi_repair_parallel(HA_CHECK *param, register MI_INFO *info, +int mi_repair_parallel(HA_CHECK *param, MI_INFO *info, const char * name, int rep_quick); int change_to_newfile(const char * filename, const char * old_ext, const char * new_ext, time_t backup_time, myf myflags); diff --git a/include/myisamchk.h b/include/myisamchk.h index 3520cff7d..4ff8a86c5 100644 --- a/include/myisamchk.h +++ b/include/myisamchk.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Definitions needed for myisamchk/mariachk.c */ diff --git a/include/myisammrg.h b/include/myisammrg.h index 892935379..a1b921bbb 100644 --- a/include/myisammrg.h +++ b/include/myisammrg.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file should be included when using merge_isam_funktions */ diff --git a/include/myisampack.h b/include/myisampack.h index 0795455dc..22820ca71 100644 --- a/include/myisampack.h +++ b/include/myisampack.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Storing of values in high byte first order. diff --git a/include/mysql.h b/include/mysql.h index c538614c5..1ab727de7 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file defines the client API to MySQL and also the ABI of the diff --git a/include/mysql/auth_dialog_client.h b/include/mysql/auth_dialog_client.h index 5cbafcc22..f1ad3e698 100644 --- a/include/mysql/auth_dialog_client.h +++ b/include/mysql/auth_dialog_client.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/client_plugin.h b/include/mysql/client_plugin.h index 84fb3c679..990cecc97 100644 --- a/include/mysql/client_plugin.h +++ b/include/mysql/client_plugin.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/plugin.h b/include/mysql/plugin.h index 47a3b9b43..b098439d2 100644 --- a/include/mysql/plugin.h +++ b/include/mysql/plugin.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_PLUGIN_INCLUDED #define MYSQL_PLUGIN_INCLUDED diff --git a/include/mysql/plugin_audit.h b/include/mysql/plugin_audit.h index cbdd6591b..b90d8d664 100644 --- a/include/mysql/plugin_audit.h +++ b/include/mysql/plugin_audit.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_audit_h #define _my_audit_h diff --git a/include/mysql/plugin_auth.h b/include/mysql/plugin_auth.h index 807bfd4e6..561acbf22 100644 --- a/include/mysql/plugin_auth.h +++ b/include/mysql/plugin_auth.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/plugin_auth_common.h b/include/mysql/plugin_auth_common.h index 9d7dd2a08..8edd71287 100644 --- a/include/mysql/plugin_auth_common.h +++ b/include/mysql/plugin_auth_common.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef _WIN32 #include diff --git a/include/mysql/plugin_encryption.h b/include/mysql/plugin_encryption.h index 5d08f6d30..3c574aa43 100644 --- a/include/mysql/plugin_encryption.h +++ b/include/mysql/plugin_encryption.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/plugin_ftparser.h b/include/mysql/plugin_ftparser.h index 4dace4ef3..99bb6b24f 100644 --- a/include/mysql/plugin_ftparser.h +++ b/include/mysql/plugin_ftparser.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_plugin_ftparser_h #define _my_plugin_ftparser_h diff --git a/include/mysql/plugin_password_validation.h b/include/mysql/plugin_password_validation.h index 18c643e87..894d17cba 100644 --- a/include/mysql/plugin_password_validation.h +++ b/include/mysql/plugin_password_validation.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/psi/mysql_file.h b/include/mysql/psi/mysql_file.h index be9d7116b..0b7d73e59 100644 --- a/include/mysql/psi/mysql_file.h +++ b/include/mysql/psi/mysql_file.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_FILE_H #define MYSQL_FILE_H diff --git a/include/mysql/psi/mysql_idle.h b/include/mysql/psi/mysql_idle.h index 5c72b715b..1d054e644 100644 --- a/include/mysql/psi/mysql_idle.h +++ b/include/mysql/psi/mysql_idle.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_IDLE_H #define MYSQL_IDLE_H diff --git a/include/mysql/psi/mysql_socket.h b/include/mysql/psi/mysql_socket.h index fc0a3ce2e..bf057c661 100644 --- a/include/mysql/psi/mysql_socket.h +++ b/include/mysql/psi/mysql_socket.h @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -02110-1301 USA +02110-1335 USA */ #ifndef MYSQL_SOCKET_H diff --git a/include/mysql/psi/mysql_stage.h b/include/mysql/psi/mysql_stage.h index 91a5c12f8..b6ab09fef 100644 --- a/include/mysql/psi/mysql_stage.h +++ b/include/mysql/psi/mysql_stage.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_STAGE_H #define MYSQL_STAGE_H diff --git a/include/mysql/psi/mysql_statement.h b/include/mysql/psi/mysql_statement.h index 3d5943fa5..767337dac 100644 --- a/include/mysql/psi/mysql_statement.h +++ b/include/mysql/psi/mysql_statement.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_STATEMENT_H #define MYSQL_STATEMENT_H diff --git a/include/mysql/psi/mysql_table.h b/include/mysql/psi/mysql_table.h index 74217a32b..7b9ebcedd 100644 --- a/include/mysql/psi/mysql_table.h +++ b/include/mysql/psi/mysql_table.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_TABLE_H #define MYSQL_TABLE_H diff --git a/include/mysql/psi/mysql_thread.h b/include/mysql/psi/mysql_thread.h index 08dfeac37..bea43943b 100644 --- a/include/mysql/psi/mysql_thread.h +++ b/include/mysql/psi/mysql_thread.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_THREAD_H #define MYSQL_THREAD_H diff --git a/include/mysql/psi/psi.h b/include/mysql/psi/psi.h index 3f43445e0..6feb1f87f 100644 --- a/include/mysql/psi/psi.h +++ b/include/mysql/psi/psi.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_PERFORMANCE_SCHEMA_INTERFACE_H #define MYSQL_PERFORMANCE_SCHEMA_INTERFACE_H diff --git a/include/mysql/psi/psi_abi_v0.h b/include/mysql/psi/psi_abi_v0.h index c896f15a5..0601b61a5 100644 --- a/include/mysql/psi/psi_abi_v0.h +++ b/include/mysql/psi/psi_abi_v0.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file mysql/psi/psi_abi_v0.h diff --git a/include/mysql/psi/psi_abi_v1.h b/include/mysql/psi/psi_abi_v1.h index 54c49f0c5..2d5e81f59 100644 --- a/include/mysql/psi/psi_abi_v1.h +++ b/include/mysql/psi/psi_abi_v1.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file mysql/psi/psi_abi_v1.h diff --git a/include/mysql/psi/psi_abi_v2.h b/include/mysql/psi/psi_abi_v2.h index d2e6f2527..420cc63fc 100644 --- a/include/mysql/psi/psi_abi_v2.h +++ b/include/mysql/psi/psi_abi_v2.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file mysql/psi/psi_abi_v1.h diff --git a/include/mysql/service_base64.h b/include/mysql/service_base64.h index 6020daed6..271cf9d4f 100644 --- a/include/mysql/service_base64.h +++ b/include/mysql/service_base64.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_debug_sync.h b/include/mysql/service_debug_sync.h index eee8e6bbe..0bd49a134 100644 --- a/include/mysql/service_debug_sync.h +++ b/include/mysql/service_debug_sync.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_encryption.h b/include/mysql/service_encryption.h index 77afc0473..a4e908f9a 100644 --- a/include/mysql/service_encryption.h +++ b/include/mysql/service_encryption.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_encryption_scheme.h b/include/mysql/service_encryption_scheme.h index 195c7aa4a..bcd4d646d 100644 --- a/include/mysql/service_encryption_scheme.h +++ b/include/mysql/service_encryption_scheme.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_kill_statement.h b/include/mysql/service_kill_statement.h index bfb222301..9f3415a7d 100644 --- a/include/mysql/service_kill_statement.h +++ b/include/mysql/service_kill_statement.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_SERVICE_KILL_STATEMENT_INCLUDED #define MYSQL_SERVICE_KILL_STATEMENT_INCLUDED diff --git a/include/mysql/service_logger.h b/include/mysql/service_logger.h index aa2c1b335..5979901bd 100644 --- a/include/mysql/service_logger.h +++ b/include/mysql/service_logger.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_SERVICE_LOGGER_INCLUDED #define MYSQL_SERVICE_LOGGER_INCLUDED diff --git a/include/mysql/service_md5.h b/include/mysql/service_md5.h index 5e589e574..336cf70f8 100644 --- a/include/mysql/service_md5.h +++ b/include/mysql/service_md5.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_my_crypt.h b/include/mysql/service_my_crypt.h index 83de0378e..de4a8bb69 100644 --- a/include/mysql/service_my_crypt.h +++ b/include/mysql/service_my_crypt.h @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_my_print_error.h b/include/mysql/service_my_print_error.h index 636151655..4026233ea 100644 --- a/include/mysql/service_my_print_error.h +++ b/include/mysql/service_my_print_error.h @@ -11,7 +11,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_SERVICE_MY_PRINT_ERROR_INCLUDED #define MYSQL_SERVICE_MY_PRINT_ERROR_INCLUDED diff --git a/include/mysql/service_my_snprintf.h b/include/mysql/service_my_snprintf.h index 4a99561dd..bd1f069c5 100644 --- a/include/mysql/service_my_snprintf.h +++ b/include/mysql/service_my_snprintf.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_progress_report.h b/include/mysql/service_progress_report.h index fc935b6bd..11fc24dc3 100644 --- a/include/mysql/service_progress_report.h +++ b/include/mysql/service_progress_report.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_sha1.h b/include/mysql/service_sha1.h index e000c898d..d864e23fa 100644 --- a/include/mysql/service_sha1.h +++ b/include/mysql/service_sha1.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_sha2.h b/include/mysql/service_sha2.h index ee4975f7f..00834a9b8 100644 --- a/include/mysql/service_sha2.h +++ b/include/mysql/service_sha2.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_thd_alloc.h b/include/mysql/service_thd_alloc.h index e92f81b52..98785b902 100644 --- a/include/mysql/service_thd_alloc.h +++ b/include/mysql/service_thd_alloc.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_thd_autoinc.h b/include/mysql/service_thd_autoinc.h index a4e336ab2..28bd2bb1a 100644 --- a/include/mysql/service_thd_autoinc.h +++ b/include/mysql/service_thd_autoinc.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_thd_error_context.h b/include/mysql/service_thd_error_context.h index 7619aa440..0b9082dd3 100644 --- a/include/mysql/service_thd_error_context.h +++ b/include/mysql/service_thd_error_context.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_thd_rnd.h b/include/mysql/service_thd_rnd.h index 21133c788..78a93fe17 100644 --- a/include/mysql/service_thd_rnd.h +++ b/include/mysql/service_thd_rnd.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_thd_specifics.h b/include/mysql/service_thd_specifics.h index 161385c38..a4078bd5c 100644 --- a/include/mysql/service_thd_specifics.h +++ b/include/mysql/service_thd_specifics.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_thd_timezone.h b/include/mysql/service_thd_timezone.h index f44f011b8..89e75274c 100644 --- a/include/mysql/service_thd_timezone.h +++ b/include/mysql/service_thd_timezone.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/service_thd_wait.h b/include/mysql/service_thd_wait.h index c35b35df8..c20878fd8 100644 --- a/include/mysql/service_thd_wait.h +++ b/include/mysql/service_thd_wait.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_SERVICE_THD_WAIT_INCLUDED #define MYSQL_SERVICE_THD_WAIT_INCLUDED diff --git a/include/mysql/service_wsrep.h b/include/mysql/service_wsrep.h index 267c8cb4e..499fbf2c1 100644 --- a/include/mysql/service_wsrep.h +++ b/include/mysql/service_wsrep.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/include/mysql/services.h b/include/mysql/services.h index 6168c5ed8..986d430db 100644 --- a/include/mysql/services.h +++ b/include/mysql/services.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef __cplusplus extern "C" { diff --git a/include/mysql_async.h b/include/mysql_async.h index 04b975211..89f263560 100644 --- a/include/mysql_async.h +++ b/include/mysql_async.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Common definitions for MariaDB non-blocking client library. */ diff --git a/include/mysql_com.h b/include/mysql_com.h index dd55daf77..bdbdc4246 100644 --- a/include/mysql_com.h +++ b/include/mysql_com.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* ** Common definition between mysql server & client diff --git a/include/mysql_com_server.h b/include/mysql_com_server.h index 1ea040207..d8bf531c1 100644 --- a/include/mysql_com_server.h +++ b/include/mysql_com_server.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Definitions private to the server, diff --git a/include/mysql_embed.h b/include/mysql_embed.h index 12b18ff96..e9cbdb6a2 100644 --- a/include/mysql_embed.h +++ b/include/mysql_embed.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Defines that are unique to the embedded version of MySQL */ diff --git a/include/mysql_time.h b/include/mysql_time.h index 24fd7ed61..ef78441ba 100644 --- a/include/mysql_time.h +++ b/include/mysql_time.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _mysql_time_h_ #define _mysql_time_h_ diff --git a/include/mysys_err.h b/include/mysys_err.h index f173ccd7a..e313d82ee 100644 --- a/include/mysys_err.h +++ b/include/mysys_err.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _mysys_err_h #define _mysys_err_h diff --git a/include/password.h b/include/password.h index 082f917e7..917ec1acc 100644 --- a/include/password.h +++ b/include/password.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef PASSWORD_INCLUDED #define PASSWORD_INCLUDED diff --git a/include/probes_mysql.d.base b/include/probes_mysql.d.base index 02eb9ec1a..68daa5d7f 100644 --- a/include/probes_mysql.d.base +++ b/include/probes_mysql.d.base @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* The actual probe names in DTrace scripts will replace '__' by '-'. Thus diff --git a/include/probes_mysql.h b/include/probes_mysql.h index 6d44b972c..ce5be0417 100644 --- a/include/probes_mysql.h +++ b/include/probes_mysql.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef PROBES_MYSQL_H diff --git a/include/rijndael.h b/include/rijndael.h index 474b3250d..552430ae8 100644 --- a/include/rijndael.h +++ b/include/rijndael.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/include/service_versions.h b/include/service_versions.h index 3bbf2a9a6..a614cd715 100644 --- a/include/service_versions.h +++ b/include/service_versions.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef _WIN32 #define SERVICE_VERSION __declspec(dllexport) void * diff --git a/include/sql_common.h b/include/sql_common.h index 34b2a093e..c30ca4b10 100644 --- a/include/sql_common.h +++ b/include/sql_common.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef __cplusplus extern "C" { diff --git a/include/sslopt-case.h b/include/sslopt-case.h index 4a8c65948..fe53088e8 100644 --- a/include/sslopt-case.h +++ b/include/sslopt-case.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) case OPT_SSL_KEY: diff --git a/include/sslopt-longopts.h b/include/sslopt-longopts.h index e605d0134..be64e7f65 100644 --- a/include/sslopt-longopts.h +++ b/include/sslopt-longopts.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) diff --git a/include/sslopt-vars.h b/include/sslopt-vars.h index 8e669760f..c65aa693b 100644 --- a/include/sslopt-vars.h +++ b/include/sslopt-vars.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) #ifdef SSL_VARS_NOT_STATIC diff --git a/include/t_ctype.h b/include/t_ctype.h index 7db3b7bbf..9164c6222 100644 --- a/include/t_ctype.h +++ b/include/t_ctype.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Copyright (C) 1998, 1999 by Pruet Boonma, all rights reserved. diff --git a/include/thr_alarm.h b/include/thr_alarm.h index 8de70d4cd..250590a0e 100644 --- a/include/thr_alarm.h +++ b/include/thr_alarm.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Prototypes when using thr_alarm library functions */ diff --git a/include/thr_lock.h b/include/thr_lock.h index bc916b8ec..f596e0fa4 100644 --- a/include/thr_lock.h +++ b/include/thr_lock.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* For use with thr_lock:s */ diff --git a/include/thr_timer.h b/include/thr_timer.h index 724fdac41..4f0c4f086 100644 --- a/include/thr_timer.h +++ b/include/thr_timer.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Prototypes when using thr_timer functions */ diff --git a/include/thread_pool_priv.h b/include/thread_pool_priv.h index 4270c32c8..d8cdc58f0 100644 --- a/include/thread_pool_priv.h +++ b/include/thread_pool_priv.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef THREAD_POOL_PRIV_INCLUDED diff --git a/include/typelib.h b/include/typelib.h index ab5a0f0d2..8cfb5c6be 100644 --- a/include/typelib.h +++ b/include/typelib.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _typelib_h diff --git a/include/violite.h b/include/violite.h index a7165ca91..589350a82 100644 --- a/include/violite.h +++ b/include/violite.h @@ -11,8 +11,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + along with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* * Vio Lite. diff --git a/include/waiting_threads.h b/include/waiting_threads.h index cd4db3570..217b49bd8 100644 --- a/include/waiting_threads.h +++ b/include/waiting_threads.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _waiting_threads_h #define _waiting_threads_h diff --git a/include/welcome_copyright_notice.h b/include/welcome_copyright_notice.h index 1b4b17cfc..22d8d2042 100644 --- a/include/welcome_copyright_notice.h +++ b/include/welcome_copyright_notice.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _welcome_copyright_notice_h_ #define _welcome_copyright_notice_h_ diff --git a/include/wqueue.h b/include/wqueue.h index 69cb715a9..ce7fe4e40 100644 --- a/include/wqueue.h +++ b/include/wqueue.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef WQUEUE_INCLUDED #define WQUEUE_INCLUDED diff --git a/include/wsrep.h b/include/wsrep.h index d9800b701..f0d42265e 100644 --- a/include/wsrep.h +++ b/include/wsrep.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt index 001bd8848..9e2f8c50f 100644 --- a/libmysql/CMakeLists.txt +++ b/libmysql/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/include diff --git a/libmysql/client_settings.h b/libmysql/client_settings.h index b233614fa..8a5990f72 100644 --- a/libmysql/client_settings.h +++ b/libmysql/client_settings.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef CLIENT_SETTINGS_INCLUDED #define CLIENT_SETTINGS_INCLUDED diff --git a/libmysql/conf_to_src.c b/libmysql/conf_to_src.c index 0e92388c9..57d3ee864 100644 --- a/libmysql/conf_to_src.c +++ b/libmysql/conf_to_src.c @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* can't use -lmysys because this prog is used to create -lstrings */ diff --git a/libmysql/errmsg.c b/libmysql/errmsg.c index e30cdc976..50f25fc16 100644 --- a/libmysql/errmsg.c +++ b/libmysql/errmsg.c @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Error messages for MySQL clients */ /* (Error messages for the daemon are in share/language/errmsg.sys) */ diff --git a/libmysql/get_password.c b/libmysql/get_password.c index 36f8f9b08..3f4bc3740 100644 --- a/libmysql/get_password.c +++ b/libmysql/get_password.c @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* ** Ask for a password from tty diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 9b884ebbd..e9a3feefd 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt index 4621670c2..98410b805 100644 --- a/libmysqld/CMakeLists.txt +++ b/libmysqld/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ADD_DEFINITIONS(-DMYSQL_SERVER -DEMBEDDED_LIBRARY ${SSL_DEFINES}) diff --git a/libmysqld/emb_qcache.cc b/libmysqld/emb_qcache.cc index a1a66421d..edb5ee913 100644 --- a/libmysqld/emb_qcache.cc +++ b/libmysqld/emb_qcache.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "my_global.h" // HAVE_* #include "sql_priv.h" diff --git a/libmysqld/emb_qcache.h b/libmysqld/emb_qcache.h index 8fd166df8..fc60194d7 100644 --- a/libmysqld/emb_qcache.h +++ b/libmysqld/emb_qcache.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "sql_cache.h" /* Query_cache_block */ diff --git a/libmysqld/embedded_priv.h b/libmysqld/embedded_priv.h index c096954a4..77955ea49 100644 --- a/libmysqld/embedded_priv.h +++ b/libmysqld/embedded_priv.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Prototypes for the embedded version of MySQL */ diff --git a/libmysqld/examples/CMakeLists.txt b/libmysqld/examples/CMakeLists.txt index 1eb07a2ad..52fbe42aa 100644 --- a/libmysqld/examples/CMakeLists.txt +++ b/libmysqld/examples/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/libmysqld/include diff --git a/libmysqld/examples/builder-sample/emb_sample.bpr b/libmysqld/examples/builder-sample/emb_sample.bpr index 100e5b98d..ab66dce87 100644 --- a/libmysqld/examples/builder-sample/emb_sample.bpr +++ b/libmysqld/examples/builder-sample/emb_sample.bpr @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # --------------------------------------------------------------------------- !if !$d(BCB) diff --git a/libmysqld/examples/builder-sample/emb_sample.cpp b/libmysqld/examples/builder-sample/emb_sample.cpp index 0c8f4fa05..61b867c91 100644 --- a/libmysqld/examples/builder-sample/emb_sample.cpp +++ b/libmysqld/examples/builder-sample/emb_sample.cpp @@ -12,7 +12,7 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA //--------------------------------------------------------------------------- #include diff --git a/libmysqld/examples/builder-sample/emb_samples.cpp b/libmysqld/examples/builder-sample/emb_samples.cpp index aab1385f6..94787d587 100644 --- a/libmysqld/examples/builder-sample/emb_samples.cpp +++ b/libmysqld/examples/builder-sample/emb_samples.cpp @@ -12,7 +12,7 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA //--------------------------------------------------------------------------- #include diff --git a/libmysqld/examples/builder-sample/emb_samples.h b/libmysqld/examples/builder-sample/emb_samples.h index 3024e75d5..310f051af 100644 --- a/libmysqld/examples/builder-sample/emb_samples.h +++ b/libmysqld/examples/builder-sample/emb_samples.h @@ -12,7 +12,7 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA //--------------------------------------------------------------------------- #ifndef emb_samplesH diff --git a/libmysqld/examples/test-run b/libmysqld/examples/test-run index 3b1cff2dd..7c221ad9b 100755 --- a/libmysqld/examples/test-run +++ b/libmysqld/examples/test-run @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA # This is slapped together as a quick way to run the tests and # is not meant for prime time. Please hack at it and submit diff --git a/libmysqld/libmysqld.c b/libmysqld/libmysqld.c index 543ab8664..8f3680a49 100644 --- a/libmysqld/libmysqld.c +++ b/libmysqld/libmysqld.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/libservices/CMakeLists.txt b/libservices/CMakeLists.txt index e20be6d7a..819775371 100644 --- a/libservices/CMakeLists.txt +++ b/libservices/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) diff --git a/libservices/base64_service.c b/libservices/base64_service.c index af35ccd2a..d892f39f2 100644 --- a/libservices/base64_service.c +++ b/libservices/base64_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION base64_service= (void*)VERSION_base64; diff --git a/libservices/debug_sync_service.c b/libservices/debug_sync_service.c index 3afa088de..364e753af 100644 --- a/libservices/debug_sync_service.c +++ b/libservices/debug_sync_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/libservices/encryption_scheme_service.c b/libservices/encryption_scheme_service.c index 87d85df16..a27fe1621 100644 --- a/libservices/encryption_scheme_service.c +++ b/libservices/encryption_scheme_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION encryption_scheme_service= (void*)VERSION_encryption_scheme; diff --git a/libservices/encryption_service.c b/libservices/encryption_service.c index f57575ae3..bf31aacdc 100644 --- a/libservices/encryption_service.c +++ b/libservices/encryption_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION encryption_service= (void*)VERSION_encryption; diff --git a/libservices/kill_statement_service.c b/libservices/kill_statement_service.c index 4c7cacb24..c3d1e3173 100644 --- a/libservices/kill_statement_service.c +++ b/libservices/kill_statement_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION thd_kill_statement_service= (void*)VERSION_kill_statement; diff --git a/libservices/logger_service.c b/libservices/logger_service.c index 7d2ab40a7..36ba00916 100644 --- a/libservices/logger_service.c +++ b/libservices/logger_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/libservices/my_md5_service.c b/libservices/my_md5_service.c index f993751a9..3937f6c97 100644 --- a/libservices/my_md5_service.c +++ b/libservices/my_md5_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION my_md5_service= (void*)VERSION_my_md5; diff --git a/libservices/my_print_error_service.c b/libservices/my_print_error_service.c index 7642668d4..85ab4b742 100644 --- a/libservices/my_print_error_service.c +++ b/libservices/my_print_error_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION my_print_error_service= (void*)VERSION_my_print_error; \ No newline at end of file diff --git a/libservices/my_sha1_service.c b/libservices/my_sha1_service.c index 196c19390..7a8c3c698 100644 --- a/libservices/my_sha1_service.c +++ b/libservices/my_sha1_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION my_sha1_service= (void*)VERSION_my_sha1; diff --git a/libservices/my_sha2_service.c b/libservices/my_sha2_service.c index aa174e7d1..040deb6e3 100644 --- a/libservices/my_sha2_service.c +++ b/libservices/my_sha2_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION my_sha2_service= (void*)VERSION_my_sha2; diff --git a/libservices/my_snprintf_service.c b/libservices/my_snprintf_service.c index 8ac507394..6609cd144 100644 --- a/libservices/my_snprintf_service.c +++ b/libservices/my_snprintf_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION my_snprintf_service= (void*)VERSION_my_snprintf; diff --git a/libservices/progress_report_service.c b/libservices/progress_report_service.c index cbae2d674..02e8c7dc4 100644 --- a/libservices/progress_report_service.c +++ b/libservices/progress_report_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION progress_report_service= (void*)VERSION_progress_report; diff --git a/libservices/thd_alloc_service.c b/libservices/thd_alloc_service.c index 54e498c6c..cf8f514e7 100644 --- a/libservices/thd_alloc_service.c +++ b/libservices/thd_alloc_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION thd_alloc_service= (void*)VERSION_thd_alloc; diff --git a/libservices/thd_autoinc_service.c b/libservices/thd_autoinc_service.c index cb859a70e..bfaec3438 100644 --- a/libservices/thd_autoinc_service.c +++ b/libservices/thd_autoinc_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION thd_autoinc_service= (void *) VERSION_thd_autoinc; diff --git a/libservices/thd_error_context_service.c b/libservices/thd_error_context_service.c index 80eb6263b..3acb0ea7e 100644 --- a/libservices/thd_error_context_service.c +++ b/libservices/thd_error_context_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION thd_error_context_service= (void *) VERSION_thd_error_context; diff --git a/libservices/thd_rnd_service.c b/libservices/thd_rnd_service.c index fbba611a8..cc3a99ea6 100644 --- a/libservices/thd_rnd_service.c +++ b/libservices/thd_rnd_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION thd_rnd_service= (void *) VERSION_thd_rnd; diff --git a/libservices/thd_specifics_service.c b/libservices/thd_specifics_service.c index 19d4eb280..f11381e82 100644 --- a/libservices/thd_specifics_service.c +++ b/libservices/thd_specifics_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION thd_specifics_service= (void *) VERSION_thd_specifics; diff --git a/libservices/thd_timezone_service.c b/libservices/thd_timezone_service.c index 2c93453f8..89d8c1a64 100644 --- a/libservices/thd_timezone_service.c +++ b/libservices/thd_timezone_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include SERVICE_VERSION thd_timezone_service= (void *) VERSION_thd_timezone; diff --git a/libservices/thd_wait_service.c b/libservices/thd_wait_service.c index 1f8c19ac5..a8424ae06 100644 --- a/libservices/thd_wait_service.c +++ b/libservices/thd_wait_service.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/libservices/wsrep_service.c b/libservices/wsrep_service.c index cdd7e4005..ceb7ebf9d 100644 --- a/libservices/wsrep_service.c +++ b/libservices/wsrep_service.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt index 75e5615a6..6580820a8 100644 --- a/man/CMakeLists.txt +++ b/man/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(MAN1_SERVER innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1 aria_chk.1 aria_dump_log.1 aria_ftdump.1 aria_pack.1 aria_read_log.1 diff --git a/man/comp_err.1 b/man/comp_err.1 index da1cf0316..b3b3d6840 100644 --- a/man/comp_err.1 +++ b/man/comp_err.1 @@ -253,7 +253,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/innochecksum.1 b/man/innochecksum.1 index c4c026472..1c04eb6f6 100644 --- a/man/innochecksum.1 +++ b/man/innochecksum.1 @@ -231,7 +231,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/make_win_bin_dist.1 b/man/make_win_bin_dist.1 index a49641868..6effde8a8 100644 --- a/man/make_win_bin_dist.1 +++ b/man/make_win_bin_dist.1 @@ -168,7 +168,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/msql2mysql.1 b/man/msql2mysql.1 index d7c37afe8..b5b2e54d5 100644 --- a/man/msql2mysql.1 +++ b/man/msql2mysql.1 @@ -59,7 +59,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/my_print_defaults.1 b/man/my_print_defaults.1 index 814db1db3..9dff513d7 100644 --- a/man/my_print_defaults.1 +++ b/man/my_print_defaults.1 @@ -212,7 +212,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/myisam_ftdump.1 b/man/myisam_ftdump.1 index fbcafd0b2..de00fca7a 100644 --- a/man/myisam_ftdump.1 +++ b/man/myisam_ftdump.1 @@ -241,7 +241,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/myisamchk.1 b/man/myisamchk.1 index 0582b92cd..b93f8c3ef 100644 --- a/man/myisamchk.1 +++ b/man/myisamchk.1 @@ -2513,7 +2513,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/myisamlog.1 b/man/myisamlog.1 index 043f974d5..c5ba4bf23 100644 --- a/man/myisamlog.1 +++ b/man/myisamlog.1 @@ -224,7 +224,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/myisampack.1 b/man/myisampack.1 index a9a50d5b9..b8a6e1848 100644 --- a/man/myisampack.1 +++ b/man/myisampack.1 @@ -831,7 +831,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql-stress-test.pl.1 b/man/mysql-stress-test.pl.1 index 4f20384c0..58c36cced 100644 --- a/man/mysql-stress-test.pl.1 +++ b/man/mysql-stress-test.pl.1 @@ -488,7 +488,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql-test-run.pl.1 b/man/mysql-test-run.pl.1 index 6292bd2ff..8b8eafd7b 100644 --- a/man/mysql-test-run.pl.1 +++ b/man/mysql-test-run.pl.1 @@ -2318,7 +2318,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql.1 b/man/mysql.1 index ec11f050c..53cc1cd6c 100644 --- a/man/mysql.1 +++ b/man/mysql.1 @@ -3098,7 +3098,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "NOTES" .IP " 1." 4 diff --git a/man/mysql.server.1 b/man/mysql.server.1 index 3aed4452e..1e6bd3fd8 100644 --- a/man/mysql.server.1 +++ b/man/mysql.server.1 @@ -172,7 +172,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_client_test.1 b/man/mysql_client_test.1 index fc5f2a9d4..d7ee02573 100644 --- a/man/mysql_client_test.1 +++ b/man/mysql_client_test.1 @@ -325,7 +325,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_config.1 b/man/mysql_config.1 index 47e8a3a0e..afe7a0fdb 100644 --- a/man/mysql_config.1 +++ b/man/mysql_config.1 @@ -239,7 +239,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_convert_table_format.1 b/man/mysql_convert_table_format.1 index bd4ce64ea..2bd447053 100644 --- a/man/mysql_convert_table_format.1 +++ b/man/mysql_convert_table_format.1 @@ -214,7 +214,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_find_rows.1 b/man/mysql_find_rows.1 index 8d42bffdc..44232c2fd 100644 --- a/man/mysql_find_rows.1 +++ b/man/mysql_find_rows.1 @@ -150,7 +150,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_fix_extensions.1 b/man/mysql_fix_extensions.1 index c7057cce0..297ab4e72 100644 --- a/man/mysql_fix_extensions.1 +++ b/man/mysql_fix_extensions.1 @@ -60,7 +60,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_install_db.1 b/man/mysql_install_db.1 index 636c59740..cce89467e 100644 --- a/man/mysql_install_db.1 +++ b/man/mysql_install_db.1 @@ -375,7 +375,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_plugin.1 b/man/mysql_plugin.1 index b3feb3f19..4f8bc7e6f 100644 --- a/man/mysql_plugin.1 +++ b/man/mysql_plugin.1 @@ -367,7 +367,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_secure_installation.1 b/man/mysql_secure_installation.1 index 4009e1bee..788956cba 100644 --- a/man/mysql_secure_installation.1 +++ b/man/mysql_secure_installation.1 @@ -159,7 +159,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_setpermission.1 b/man/mysql_setpermission.1 index d3697c2c9..8ff12ab16 100644 --- a/man/mysql_setpermission.1 +++ b/man/mysql_setpermission.1 @@ -160,7 +160,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_tzinfo_to_sql.1 b/man/mysql_tzinfo_to_sql.1 index 8f96d3f65..dcf7b8a1c 100644 --- a/man/mysql_tzinfo_to_sql.1 +++ b/man/mysql_tzinfo_to_sql.1 @@ -111,7 +111,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_upgrade.1 b/man/mysql_upgrade.1 index f04fa1223..0d4d15d84 100644 --- a/man/mysql_upgrade.1 +++ b/man/mysql_upgrade.1 @@ -702,7 +702,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_waitpid.1 b/man/mysql_waitpid.1 index c5f0c9d0c..98539f140 100644 --- a/man/mysql_waitpid.1 +++ b/man/mysql_waitpid.1 @@ -119,7 +119,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysql_zap.1 b/man/mysql_zap.1 index ed9596cea..980f03d68 100644 --- a/man/mysql_zap.1 +++ b/man/mysql_zap.1 @@ -115,7 +115,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqlaccess.1 b/man/mysqlaccess.1 index 0262870e6..c13b118b1 100644 --- a/man/mysqlaccess.1 +++ b/man/mysqlaccess.1 @@ -421,7 +421,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqladmin.1 b/man/mysqladmin.1 index cfda6f1c4..f2eb9cc5f 100644 --- a/man/mysqladmin.1 +++ b/man/mysqladmin.1 @@ -1483,7 +1483,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqlbinlog.1 b/man/mysqlbinlog.1 index 12fc89259..40e1e4467 100644 --- a/man/mysqlbinlog.1 +++ b/man/mysqlbinlog.1 @@ -2068,7 +2068,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "NOTES" .IP " 1." 4 diff --git a/man/mysqlbug.1 b/man/mysqlbug.1 index 76572150a..204ad9556 100644 --- a/man/mysqlbug.1 +++ b/man/mysqlbug.1 @@ -63,7 +63,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqlcheck.1 b/man/mysqlcheck.1 index 914a6f895..0f7199b2f 100644 --- a/man/mysqlcheck.1 +++ b/man/mysqlcheck.1 @@ -1149,7 +1149,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqld.8 b/man/mysqld.8 index 37cdbb3e1..e28c3d620 100644 --- a/man/mysqld.8 +++ b/man/mysqld.8 @@ -51,7 +51,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqld_multi.1 b/man/mysqld_multi.1 index bb0da44bc..4c5e85563 100644 --- a/man/mysqld_multi.1 +++ b/man/mysqld_multi.1 @@ -674,7 +674,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqld_safe.1 b/man/mysqld_safe.1 index a70fb0cd4..00dc9d17b 100644 --- a/man/mysqld_safe.1 +++ b/man/mysqld_safe.1 @@ -876,7 +876,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqldump.1 b/man/mysqldump.1 index b5abf0a95..82aa4cddb 100644 --- a/man/mysqldump.1 +++ b/man/mysqldump.1 @@ -2644,7 +2644,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "NOTES" .IP " 1." 4 diff --git a/man/mysqldumpslow.1 b/man/mysqldumpslow.1 index ee9daf5a1..3beebbc9a 100644 --- a/man/mysqldumpslow.1 +++ b/man/mysqldumpslow.1 @@ -331,7 +331,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqlhotcopy.1 b/man/mysqlhotcopy.1 index c06858b6f..d11d798ca 100644 --- a/man/mysqlhotcopy.1 +++ b/man/mysqlhotcopy.1 @@ -526,7 +526,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqlimport.1 b/man/mysqlimport.1 index d14d6a03e..61d270d70 100644 --- a/man/mysqlimport.1 +++ b/man/mysqlimport.1 @@ -1,6 +1,6 @@ '\" t .\" -.TH "\FBMYSQLIMPORT\FR" "1" "14/12/2015" "MariaDB 10\&.1" "MariaDB Database System" +.TH "\FBMYSQLIMPORT\FR" "1" "21 May 2019" "MariaDB 10\&.1" "MariaDB Database System" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -346,6 +346,22 @@ option\&. .sp -1 .IP \(bu 2.3 .\} +.\" mysqlimport: ignore-foreign-keys option +.\" ignore-foreign-keys option: mysqlimport +\fB\-\-ignore\-foreign\-keys\fR, +\fB\-k\fR +.sp +Disable foreign key checks while importing the data\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} .\" mysqlimport: ignore-lines option .\" ignore-lines option: mysqlimport \fB\-\-ignore\-lines=\fR\fB\fIN\fR\fR @@ -853,7 +869,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqlshow.1 b/man/mysqlshow.1 index c4ee9f40c..8208e8411 100644 --- a/man/mysqlshow.1 +++ b/man/mysqlshow.1 @@ -711,7 +711,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqlslap.1 b/man/mysqlslap.1 index 7bf08e291..81ad91031 100644 --- a/man/mysqlslap.1 +++ b/man/mysqlslap.1 @@ -1161,7 +1161,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/mysqltest.1 b/man/mysqltest.1 index 4e75c7450..385196cf4 100644 --- a/man/mysqltest.1 +++ b/man/mysqltest.1 @@ -1076,7 +1076,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/perror.1 b/man/perror.1 index 2108a6b76..fe0d8f02d 100644 --- a/man/perror.1 +++ b/man/perror.1 @@ -149,7 +149,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/replace.1 b/man/replace.1 index f6bb858e6..9c1f84d68 100644 --- a/man/replace.1 +++ b/man/replace.1 @@ -159,7 +159,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/resolve_stack_dump.1 b/man/resolve_stack_dump.1 index f12726d01..6fb78d994 100644 --- a/man/resolve_stack_dump.1 +++ b/man/resolve_stack_dump.1 @@ -116,7 +116,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/resolveip.1 b/man/resolveip.1 index 07f344ebc..de38cecf6 100644 --- a/man/resolveip.1 +++ b/man/resolveip.1 @@ -98,7 +98,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/man/tokuftdump.1 b/man/tokuftdump.1 index d0a11a840..5b293e546 100644 --- a/man/tokuftdump.1 +++ b/man/tokuftdump.1 @@ -229,7 +229,7 @@ This documentation is free software; you can redistribute it and/or modify it on .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt index c03f0c358..f0a45d849 100644 --- a/mysql-test/CMakeLists.txt +++ b/mysql-test/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INSTALL_MYSQL_TEST("." ".") diff --git a/mysql-test/extra/binlog_tests/drop_temp_table.test b/mysql-test/extra/binlog_tests/drop_temp_table.test index c852ee4c8..9139ac760 100644 --- a/mysql-test/extra/binlog_tests/drop_temp_table.test +++ b/mysql-test/extra/binlog_tests/drop_temp_table.test @@ -1,3 +1,4 @@ +--source include/have_innodb.inc --disable_warnings DROP DATABASE IF EXISTS `drop-temp+table-test`; @@ -14,12 +15,8 @@ CREATE TEMPORARY TABLE `table:name` (a INT); CREATE TEMPORARY TABLE shortn2 (a INT); ############################################################################## -# BUG#46572 DROP TEMPORARY table IF EXISTS does not have a consistent behavior -# in ROW mode -# -# In RBR, 'DROP TEMPORARY TABLE ...' statement should never be binlogged no -# matter if the tables exist or not. In contrast, both in SBR and MBR, the -# statement should be always binlogged no matter if the tables exist or not. +# MDEV-20091: DROP TEMPORARY TABLE IF EXISTS statements will be written +# to binlog only if the corresponding temporary table exists. ############################################################################## CREATE TEMPORARY TABLE tmp(c1 int); CREATE TEMPORARY TABLE tmp1(c1 int); @@ -30,12 +27,12 @@ CREATE TABLE t(c1 int); DROP TEMPORARY TABLE IF EXISTS tmp; --disable_warnings -# Before fixing BUG#46572, 'DROP TEMPORARY TABLE IF EXISTS...' statement was -# binlogged when the table did not exist in RBR. +# Post MDEV-20091: Following DROP TEMPORARY TABLE statement should not be +# logged as the table is already dropped above. DROP TEMPORARY TABLE IF EXISTS tmp; -# In RBR, 'DROP TEMPORARY TABLE ...' statement is never binlogged no matter if -# the tables exist or not. +# Post MDEV-20091: Only DROP TEMPORARY TABLE statement should be written only +# for 'tmp1' table. DROP TEMPORARY TABLE IF EXISTS tmp, tmp1; DROP TEMPORARY TABLE tmp3; @@ -79,6 +76,12 @@ DROP DATABASE `drop-temp+table-test`; # if there are open temporary tables. As such the implicit drop # for temporary tables on session closing must be logged. # +# MDEV-20091: DROP TEMPORARY TABLE IF EXISTS statements will be written to +# binlog only if the corresponding temporary table exists. In row based +# replication temporary tables are not replicated hence their corresponding +# DROP TEMPORARY TABLE statement will be not be written to binary log upon +# session closure. +# RESET MASTER; @@ -92,11 +95,82 @@ SELECT @@session.binlog_format; --disconnect con1 -- connection default +if (!`SELECT @@BINLOG_FORMAT = 'ROW'`) { --let $wait_binlog_event= DROP --source include/wait_for_binlog_event.inc +} -- source include/show_binlog_events.inc RESET MASTER; DROP TABLE t1; # End of 4.1 tests + + +--echo # +--echo # BUG#28642318: POINT IN TIME RECOVERY USING MYSQLBINLOG BROKEN +--echo # WITH TEMPORARY TABLE -> ERRORS + +--echo # Test case for DELETE query. + +RESET MASTER; +connect (con1,localhost,root,,); + +--echo # Set up. +--connection default +--disable_warnings +SET @save_binlog_format= @@session.binlog_format; +SET @@session.binlog_format=STATEMENT; +let $MYSQLD_DATADIR= `select @@datadir`; +CREATE TABLE t1 (a INT) ENGINE=INNODB; + +--connection con1 +SET @@session.binlog_format=STATEMENT; +CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB; + +--connection default +DELETE d1, d2 FROM t1 AS d1, t1 AS d2 WHERE d1.a<>d2.a; + +--exec $MYSQL_BINLOG --force-if-open $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/bug28642318.sql + +--connection default +DROP TABLE t1; + +--echo # DELETE query fails with table re-open error without patch. +--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug28642318.sql + +--echo # Clean up. +--connection con1 +DROP TABLE IF EXISTS t1; + +--connection default +DROP TABLE IF EXISTS t1; +RESET MASTER; + +--echo # Test case for DROP query. + +--connection default +CREATE TABLE t1 (a INT) ENGINE=INNODB; + +--connection con1 +CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB; + +--connection default +DROP TABLE t1; + +--connection con1 +DROP TABLE t1; + +--connection default +--exec $MYSQL_BINLOG --force-if-open $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/bug28642318.sql + +--echo # DROP table query fails with unknown table error without patch. +--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug28642318.sql + +--echo # Clean up +--connection default +SET @@session.binlog_format= @save_binlog_format; +RESET MASTER; + +--disconnect con1 +--enable_warnings diff --git a/mysql-test/extra/rpl_tests/rpl_blackhole.test b/mysql-test/extra/rpl_tests/rpl_blackhole.test index 1a0eeb3cf..569a24e52 100644 --- a/mysql-test/extra/rpl_tests/rpl_blackhole.test +++ b/mysql-test/extra/rpl_tests/rpl_blackhole.test @@ -11,7 +11,7 @@ # executing statement. If difference is >0, then something was # written to the binary log on the slave. -connection slave; +# On Connection Slave let $before = query_get_value("SHOW MASTER STATUS", Position, 1); --echo [on master] diff --git a/mysql-test/extra/rpl_tests/rpl_blackhole_basic.test b/mysql-test/extra/rpl_tests/rpl_blackhole_basic.test new file mode 100644 index 000000000..f3fdc9150 --- /dev/null +++ b/mysql-test/extra/rpl_tests/rpl_blackhole_basic.test @@ -0,0 +1,97 @@ +# PURPOSE. Test that blackhole works with replication in all three +# modes: STATEMENT, MIXED, and ROW. +# +# METHOD. We start by creating a table on the master and then change +# the engine to use blackhole on the slave. +# +# After insert/update/delete of one or more rows, the test the +# proceeds to check that replication is running after replicating an +# change, that the blackhole engine does not contain anything (which +# is just a check that the correct engine is used), and that something +# is written to the binary log. +# +# Whe check INSERT, UPDATE, and DELETE statement for tables with no +# key (forcing a range search on the slave), primary keys (using a +# primary key lookup), and index/key with multiple matches (forcing an +# index search). + +# We start with no primary key +CREATE TABLE t1 (a INT, b INT, c INT); +CREATE TABLE t2 (a INT, b INT, c INT); + +sync_slave_with_master; +ALTER TABLE t1 ENGINE=BLACKHOLE; + +connection master; +INSERT INTO t2 VALUES (1,9,1), (2,9,2), (3,9,3), (4,9,4); +sync_slave_with_master; + +# Test insert, no primary key +let $statement = INSERT INTO t1 VALUES (1,1,1),(2,1,2),(3,1,3),(4,1,4); +source extra/rpl_tests/rpl_blackhole.test; + +# Test update, no primary key +let $statement = UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 1; +source extra/rpl_tests/rpl_blackhole.test; + +# Test delete, no primary key +let $statement = DELETE FROM t1 WHERE a % 2 = 0 AND b = 1; +source extra/rpl_tests/rpl_blackhole.test; + +# Test INSERT-SELECT into Blackhole, no primary key +let $statement = INSERT INTO t1 SELECT * FROM t2; +source extra/rpl_tests/rpl_blackhole.test; + +# +# The MASTER has MyISAM as the engine for both tables. The SLAVE has Blackhole +# on t1 (transactional engine) and MyISAM on t2 (non-transactional engine). +# +# In MIXED mode, the command "INSERT INTO t2 SELECT * FROM t1" is logged as +# statement on the master. On the slave, it is tagged as unsafe because the +# statement mixes both transactional and non-transactional engines and as such +# its changes are logged as rows. However, due to the nature of the blackhole +# engine, no rows are returned and thus any chain replication would make the +# next master on the chain diverge. +# +# Fo this reason, we have disabled the statement. +# +# Test INSERT-SELECT from Blackhole, no primary key +# let $statement = INSERT INTO t2 SELECT * FROM t1; +# source extra/rpl_tests/rpl_blackhole.test; +# + +connection master; +ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b); +sync_slave_with_master; + +# Test insert, primary key +let $statement = INSERT INTO t1 VALUES (1,2,1),(2,2,2),(3,2,3),(4,2,4); +source extra/rpl_tests/rpl_blackhole.test; + +# Test update, primary key +let $statement = UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 2; +source extra/rpl_tests/rpl_blackhole.test; + +# Test delete, primary key +let $statement = DELETE FROM t1 WHERE a % 2 = 0 AND b = 2; +source extra/rpl_tests/rpl_blackhole.test; + +connection master; +ALTER TABLE t1 DROP PRIMARY KEY, ADD KEY key_t1 (a); +sync_slave_with_master; + +# Test insert, key +let $statement = INSERT INTO t1 VALUES (1,3,1),(2,3,2),(3,3,3),(4,3,4); +source extra/rpl_tests/rpl_blackhole.test; + +# Test update, key +let $statement = UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 3; +source extra/rpl_tests/rpl_blackhole.test; + +# Test delete, key +let $statement = DELETE FROM t1 WHERE a % 2 = 0 AND b = 3; +source extra/rpl_tests/rpl_blackhole.test; + +connection master; +DROP TABLE t1,t2; +sync_slave_with_master; diff --git a/mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.test b/mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.test index ffd7fe1a5..f8b521e3a 100644 --- a/mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.test +++ b/mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.test @@ -32,6 +32,10 @@ # is any # Drop-Temp-TT-Temp - Drops two temporary T-tables if there is any # Drop-Temp-NN-Temp - Drops two temporary N-tables if there is any +# +# Note: MDEV-20091: DROP TEMPORARY TABLE IF EXISTS statements will be written +# to binlog only if the corresponding temporary table exists. +# # Drop-Temp-Xe-Temp - Tries to drop a temporary table that does not exist # Drop-Temp-NXe-Temp - Drops a temporary N-table if there is any and # a temporary table that does not exist diff --git a/mysql-test/include/binlog_parallel_replication_marks.test b/mysql-test/include/binlog_parallel_replication_marks.test index ff35875ae..4e673bd30 100644 --- a/mysql-test/include/binlog_parallel_replication_marks.test +++ b/mysql-test/include/binlog_parallel_replication_marks.test @@ -49,9 +49,16 @@ connection default; # We need to wait for the implicit DROP TEMPORARY TABLE to be logged after # tmp_con disconnect, otherwise we get sporadic test failures. +# MDEV-20091: DROP TEMPORARY TABLE IF EXISTS statements will be written to +# binlog only if the corresponding temporary table exists. In row based +# replication temporary tables are not replicated hence their corresponding +# DROP TEMPORARY TABLE statement will be not be written to binary log upon +# session closure. + +if (!`SELECT @@BINLOG_FORMAT = 'ROW'`) { --let $wait_condition= SELECT variable_value > $before_drop_pos FROM information_schema.global_status WHERE variable_name = 'binlog_snapshot_position' --source include/wait_condition.inc - +} --let $binlog_pos2=query_get_value(SHOW MASTER STATUS, Position, 1) --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1) diff --git a/mysql-test/include/default_my.cnf b/mysql-test/include/default_my.cnf index 6b0493cdb..a46e748da 100644 --- a/mysql-test/include/default_my.cnf +++ b/mysql-test/include/default_my.cnf @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Use default setting for mysqld processes !include default_mysqld.cnf diff --git a/mysql-test/include/default_mysqld.cnf b/mysql-test/include/default_mysqld.cnf index 44a7fd12d..568881ef5 100644 --- a/mysql-test/include/default_mysqld.cnf +++ b/mysql-test/include/default_mysqld.cnf @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Default values that applies to all MySQL Servers [mysqld] diff --git a/mysql-test/include/have_perfschema.inc b/mysql-test/include/have_perfschema.inc index d932ce0f9..6b68d717e 100644 --- a/mysql-test/include/have_perfschema.inc +++ b/mysql-test/include/have_perfschema.inc @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA if (!`SELECT count(*) FROM information_schema.engines WHERE (support = 'YES' OR support = 'DEFAULT') AND diff --git a/mysql-test/include/mtr_check.sql b/mysql-test/include/mtr_check.sql index 6b25c7527..c00e0f978 100644 --- a/mysql-test/include/mtr_check.sql +++ b/mysql-test/include/mtr_check.sql @@ -12,7 +12,7 @@ -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software Foundation, --- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA delimiter ||; diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql index 535090b75..40dcfadf1 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql @@ -11,7 +11,7 @@ -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software Foundation, --- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA delimiter ||; diff --git a/mysql-test/include/set_binlog_format_mixed.sql b/mysql-test/include/set_binlog_format_mixed.sql index 65c779ef1..9e127cfda 100644 --- a/mysql-test/include/set_binlog_format_mixed.sql +++ b/mysql-test/include/set_binlog_format_mixed.sql @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA SET GLOBAL BINLOG_FORMAT=MIXED; SET SESSION BINLOG_FORMAT=MIXED; diff --git a/mysql-test/include/set_binlog_format_row.sql b/mysql-test/include/set_binlog_format_row.sql index 0400ed48b..2fedf941c 100644 --- a/mysql-test/include/set_binlog_format_row.sql +++ b/mysql-test/include/set_binlog_format_row.sql @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA SET GLOBAL BINLOG_FORMAT=ROW; SET SESSION BINLOG_FORMAT=ROW; diff --git a/mysql-test/include/set_binlog_format_statement.sql b/mysql-test/include/set_binlog_format_statement.sql index b582230e6..624df1c89 100644 --- a/mysql-test/include/set_binlog_format_statement.sql +++ b/mysql-test/include/set_binlog_format_statement.sql @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA SET GLOBAL BINLOG_FORMAT=STATEMENT; SET SESSION BINLOG_FORMAT=STATEMENT; diff --git a/mysql-test/lib/My/Config.pm b/mysql-test/lib/My/Config.pm index 4af59a178..86bb7a5f9 100644 --- a/mysql-test/lib/My/Config.pm +++ b/mysql-test/lib/My/Config.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::Config::Option; @@ -327,7 +327,13 @@ sub new { # Skip comment next; } - + # Correctly process Replication Filter when they are defined + # with connection name. + elsif ( $line =~ /^([\w]+.[\w]+)\s*=\s*(.*)\s*/){ + my $option= $1; + my $value= $2; + $self->insert($group_name, $option, $value); + } else { croak "Unexpected line '$line' found in '$path'"; } diff --git a/mysql-test/lib/My/ConfigFactory.pm b/mysql-test/lib/My/ConfigFactory.pm index 7584a99c0..a137bb9ca 100644 --- a/mysql-test/lib/My/ConfigFactory.pm +++ b/mysql-test/lib/My/ConfigFactory.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::ConfigFactory; diff --git a/mysql-test/lib/My/CoreDump.pm b/mysql-test/lib/My/CoreDump.pm index a421d51ec..1ba94223b 100644 --- a/mysql-test/lib/My/CoreDump.pm +++ b/mysql-test/lib/My/CoreDump.pm @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::CoreDump; diff --git a/mysql-test/lib/My/File/Path.pm b/mysql-test/lib/My/File/Path.pm index 1b7982d6b..d60027c90 100644 --- a/mysql-test/lib/My/File/Path.pm +++ b/mysql-test/lib/My/File/Path.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::File::Path; use strict; diff --git a/mysql-test/lib/My/Find.pm b/mysql-test/lib/My/Find.pm index 1d5e0f368..b5a07ac86 100644 --- a/mysql-test/lib/My/Find.pm +++ b/mysql-test/lib/My/Find.pm @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::Find; diff --git a/mysql-test/lib/My/Handles.pm b/mysql-test/lib/My/Handles.pm index d120eb7b1..3c9513fec 100644 --- a/mysql-test/lib/My/Handles.pm +++ b/mysql-test/lib/My/Handles.pm @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::Handles; diff --git a/mysql-test/lib/My/Options.pm b/mysql-test/lib/My/Options.pm index ff3992ecb..6e0efe862 100644 --- a/mysql-test/lib/My/Options.pm +++ b/mysql-test/lib/My/Options.pm @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::Options; diff --git a/mysql-test/lib/My/Platform.pm b/mysql-test/lib/My/Platform.pm index 110cf8a20..cb2ac3895 100644 --- a/mysql-test/lib/My/Platform.pm +++ b/mysql-test/lib/My/Platform.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::Platform; diff --git a/mysql-test/lib/My/SafeProcess.pm b/mysql-test/lib/My/SafeProcess.pm index 298099229..926d17ed6 100644 --- a/mysql-test/lib/My/SafeProcess.pm +++ b/mysql-test/lib/My/SafeProcess.pm @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::SafeProcess; diff --git a/mysql-test/lib/My/SafeProcess/Base.pm b/mysql-test/lib/My/SafeProcess/Base.pm index c5ac2ab51..818e6e34e 100644 --- a/mysql-test/lib/My/SafeProcess/Base.pm +++ b/mysql-test/lib/My/SafeProcess/Base.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/My/SafeProcess/CMakeLists.txt b/mysql-test/lib/My/SafeProcess/CMakeLists.txt index 7d39129d0..543e1dfb8 100644 --- a/mysql-test/lib/My/SafeProcess/CMakeLists.txt +++ b/mysql-test/lib/My/SafeProcess/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA IF (NOT INSTALL_MYSQLTESTDIR) RETURN() diff --git a/mysql-test/lib/My/SafeProcess/safe_kill_win.cc b/mysql-test/lib/My/SafeProcess/safe_kill_win.cc index 2ac29c61b..a8c401101 100644 --- a/mysql-test/lib/My/SafeProcess/safe_kill_win.cc +++ b/mysql-test/lib/My/SafeProcess/safe_kill_win.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/mysql-test/lib/My/SafeProcess/safe_process.cc b/mysql-test/lib/My/SafeProcess/safe_process.cc index f8bed8001..a63c15652 100644 --- a/mysql-test/lib/My/SafeProcess/safe_process.cc +++ b/mysql-test/lib/My/SafeProcess/safe_process.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/mysql-test/lib/My/SafeProcess/safe_process_win.cc b/mysql-test/lib/My/SafeProcess/safe_process_win.cc index dca2faded..7d81bf1a1 100644 --- a/mysql-test/lib/My/SafeProcess/safe_process_win.cc +++ b/mysql-test/lib/My/SafeProcess/safe_process_win.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/mysql-test/lib/My/SysInfo.pm b/mysql-test/lib/My/SysInfo.pm index 4cca11662..1e5ac353d 100644 --- a/mysql-test/lib/My/SysInfo.pm +++ b/mysql-test/lib/My/SysInfo.pm @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::SysInfo; diff --git a/mysql-test/lib/My/Test.pm b/mysql-test/lib/My/Test.pm index 806c90734..49ce2fb5a 100644 --- a/mysql-test/lib/My/Test.pm +++ b/mysql-test/lib/My/Test.pm @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index d758b81c1..8c94c281e 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/mtr_gcov.pl b/mysql-test/lib/mtr_gcov.pl index a6e1f8efd..bad4969f7 100644 --- a/mysql-test/lib/mtr_gcov.pl +++ b/mysql-test/lib/mtr_gcov.pl @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/mtr_gprof.pl b/mysql-test/lib/mtr_gprof.pl index 34e722a25..eb440e488 100644 --- a/mysql-test/lib/mtr_gprof.pl +++ b/mysql-test/lib/mtr_gprof.pl @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/mtr_io.pl b/mysql-test/lib/mtr_io.pl index 0de4d9612..0010c1627 100644 --- a/mysql-test/lib/mtr_io.pl +++ b/mysql-test/lib/mtr_io.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/mtr_match.pm b/mysql-test/lib/mtr_match.pm index 140885b62..73cdb3bdc 100644 --- a/mysql-test/lib/mtr_match.pm +++ b/mysql-test/lib/mtr_match.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/mtr_misc.pl b/mysql-test/lib/mtr_misc.pl index 98f2c27eb..24085f542 100644 --- a/mysql-test/lib/mtr_misc.pl +++ b/mysql-test/lib/mtr_misc.pl @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/mtr_process.pl b/mysql-test/lib/mtr_process.pl index 4bb6be711..cee9f2b6e 100644 --- a/mysql-test/lib/mtr_process.pl +++ b/mysql-test/lib/mtr_process.pl @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/mtr_report.pm b/mysql-test/lib/mtr_report.pm index d93d8adf3..3701ad79b 100644 --- a/mysql-test/lib/mtr_report.pm +++ b/mysql-test/lib/mtr_report.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the @@ -36,6 +36,21 @@ use POSIX qw[ _exit ]; use IO::Handle qw[ flush ]; use mtr_results; +use Term::ANSIColor; + +my %color_map = qw/pass green + retry-pass green + fail red + retry-fail red + disabled bright_black + skipped yellow + reset reset/; +sub xterm_color { + if (-t STDOUT and defined $ENV{TERM} and $ENV{TERM} =~ /xterm/) { + syswrite STDOUT, color($color_map{$_[0]}); + } +} + my $tot_real_time= 0; our $timestamp= 0; @@ -498,7 +513,16 @@ sub mtr_print (@) { sub mtr_report (@) { if (defined $verbose) { - print _name(). join(" ", @_). "\n"; + my @s = split /\[ (\S+) \]/, _name() . "@_\n"; + if (@s > 1) { + print $s[0]; + xterm_color($s[1]); + print "[ $s[1] ]"; + xterm_color('reset'); + print $s[2]; + } else { + print $s[0]; + } } } diff --git a/mysql-test/lib/mtr_results.pm b/mysql-test/lib/mtr_results.pm index 92b03756c..9438b9368 100644 --- a/mysql-test/lib/mtr_results.pm +++ b/mysql-test/lib/mtr_results.pm @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package mtr_results; use strict; diff --git a/mysql-test/lib/mtr_stress.pl b/mysql-test/lib/mtr_stress.pl index 6ab607e64..3a9ca8faf 100644 --- a/mysql-test/lib/mtr_stress.pl +++ b/mysql-test/lib/mtr_stress.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/mtr_unique.pm b/mysql-test/lib/mtr_unique.pm index 8d7197862..f276e6e10 100644 --- a/mysql-test/lib/mtr_unique.pm +++ b/mysql-test/lib/mtr_unique.pm @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package mtr_unique; diff --git a/mysql-test/lib/t/Base.t b/mysql-test/lib/t/Base.t index b540944f3..d31670afc 100644 --- a/mysql-test/lib/t/Base.t +++ b/mysql-test/lib/t/Base.t @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use Test::More qw(no_plan); use strict; diff --git a/mysql-test/lib/t/Find.t b/mysql-test/lib/t/Find.t index d609fd86d..e6b8f5a89 100644 --- a/mysql-test/lib/t/Find.t +++ b/mysql-test/lib/t/Find.t @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use Test::More qw(no_plan); use strict; diff --git a/mysql-test/lib/t/Options.t b/mysql-test/lib/t/Options.t index c832b885c..d0a52e0c2 100644 --- a/mysql-test/lib/t/Options.t +++ b/mysql-test/lib/t/Options.t @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use Test::More qw(no_plan); use strict; diff --git a/mysql-test/lib/t/Platform.t b/mysql-test/lib/t/Platform.t index c78c22ddb..4a9df1a5f 100644 --- a/mysql-test/lib/t/Platform.t +++ b/mysql-test/lib/t/Platform.t @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use Test::More qw(no_plan); use strict; diff --git a/mysql-test/lib/t/SafeProcess.t b/mysql-test/lib/t/SafeProcess.t index 0fab69b90..e9f87d883 100644 --- a/mysql-test/lib/t/SafeProcess.t +++ b/mysql-test/lib/t/SafeProcess.t @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; use FindBin; diff --git a/mysql-test/lib/t/SafeProcessStress.pl b/mysql-test/lib/t/SafeProcessStress.pl index a5dbeecfb..f591e9665 100755 --- a/mysql-test/lib/t/SafeProcessStress.pl +++ b/mysql-test/lib/t/SafeProcessStress.pl @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; use FindBin; diff --git a/mysql-test/lib/t/copytree.t b/mysql-test/lib/t/copytree.t index cdb99b851..15a41081b 100644 --- a/mysql-test/lib/t/copytree.t +++ b/mysql-test/lib/t/copytree.t @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; diff --git a/mysql-test/lib/t/dummyd.pl b/mysql-test/lib/t/dummyd.pl index fae747354..15164428b 100644 --- a/mysql-test/lib/t/dummyd.pl +++ b/mysql-test/lib/t/dummyd.pl @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; use Getopt::Long; diff --git a/mysql-test/lib/t/rmtree.t b/mysql-test/lib/t/rmtree.t index 8c9863a1e..40c9e96ea 100644 --- a/mysql-test/lib/t/rmtree.t +++ b/mysql-test/lib/t/rmtree.t @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; diff --git a/mysql-test/lib/t/testMyConfig.t b/mysql-test/lib/t/testMyConfig.t index f79e87766..9f7067f43 100755 --- a/mysql-test/lib/t/testMyConfig.t +++ b/mysql-test/lib/t/testMyConfig.t @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; use warnings; diff --git a/mysql-test/lib/t/testMyConfigFactory.t b/mysql-test/lib/t/testMyConfigFactory.t index 9f43bed3d..f38f660e8 100755 --- a/mysql-test/lib/t/testMyConfigFactory.t +++ b/mysql-test/lib/t/testMyConfigFactory.t @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; use warnings; diff --git a/mysql-test/lib/t/test_child.pl b/mysql-test/lib/t/test_child.pl index 38d9f9067..efbec4a96 100755 --- a/mysql-test/lib/t/test_child.pl +++ b/mysql-test/lib/t/test_child.pl @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use strict; use Getopt::Long; diff --git a/mysql-test/lib/v1/My/Config.pm b/mysql-test/lib/v1/My/Config.pm index cc4c34b2d..13405dc28 100644 --- a/mysql-test/lib/v1/My/Config.pm +++ b/mysql-test/lib/v1/My/Config.pm @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA package My::Config::Option; diff --git a/mysql-test/lib/v1/mtr_cases.pl b/mysql-test/lib/v1/mtr_cases.pl index 067e7e5e4..faa673a93 100644 --- a/mysql-test/lib/v1/mtr_cases.pl +++ b/mysql-test/lib/v1/mtr_cases.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_gcov.pl b/mysql-test/lib/v1/mtr_gcov.pl index 56942be72..b5839fe4d 100644 --- a/mysql-test/lib/v1/mtr_gcov.pl +++ b/mysql-test/lib/v1/mtr_gcov.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_gprof.pl b/mysql-test/lib/v1/mtr_gprof.pl index 04c6eced2..c794eb5f2 100644 --- a/mysql-test/lib/v1/mtr_gprof.pl +++ b/mysql-test/lib/v1/mtr_gprof.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_im.pl b/mysql-test/lib/v1/mtr_im.pl index c34acc9c8..2aff160d4 100644 --- a/mysql-test/lib/v1/mtr_im.pl +++ b/mysql-test/lib/v1/mtr_im.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_io.pl b/mysql-test/lib/v1/mtr_io.pl index 5769240bf..2176c07f5 100644 --- a/mysql-test/lib/v1/mtr_io.pl +++ b/mysql-test/lib/v1/mtr_io.pl @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_match.pl b/mysql-test/lib/v1/mtr_match.pl index 5cc74efb8..f1933cd98 100644 --- a/mysql-test/lib/v1/mtr_match.pl +++ b/mysql-test/lib/v1/mtr_match.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_misc.pl b/mysql-test/lib/v1/mtr_misc.pl index 07b50e865..e7c652b42 100644 --- a/mysql-test/lib/v1/mtr_misc.pl +++ b/mysql-test/lib/v1/mtr_misc.pl @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_process.pl b/mysql-test/lib/v1/mtr_process.pl index 3518b3383..fd9f38176 100644 --- a/mysql-test/lib/v1/mtr_process.pl +++ b/mysql-test/lib/v1/mtr_process.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_report.pl b/mysql-test/lib/v1/mtr_report.pl index 738236a73..e1f6bddb8 100644 --- a/mysql-test/lib/v1/mtr_report.pl +++ b/mysql-test/lib/v1/mtr_report.pl @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_stress.pl b/mysql-test/lib/v1/mtr_stress.pl index 7f92c4172..c248b8089 100644 --- a/mysql-test/lib/v1/mtr_stress.pl +++ b/mysql-test/lib/v1/mtr_stress.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_timer.pl b/mysql-test/lib/v1/mtr_timer.pl index 4fc68afa3..630a93ca7 100644 --- a/mysql-test/lib/v1/mtr_timer.pl +++ b/mysql-test/lib/v1/mtr_timer.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the diff --git a/mysql-test/lib/v1/mtr_unique.pl b/mysql-test/lib/v1/mtr_unique.pl index 4e4e720e6..b9ed9138d 100644 --- a/mysql-test/lib/v1/mtr_unique.pl +++ b/mysql-test/lib/v1/mtr_unique.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # This file is used from mysql-test-run.pl when choosing diff --git a/mysql-test/lib/v1/mysql-test-run.pl b/mysql-test/lib/v1/mysql-test-run.pl index 01b4fd868..b3d8f1e62 100755 --- a/mysql-test/lib/v1/mysql-test-run.pl +++ b/mysql-test/lib/v1/mysql-test-run.pl @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ############################################################################## # diff --git a/mysql-test/mysql-stress-test.pl b/mysql-test/mysql-stress-test.pl index 74394e2af..79511273e 100755 --- a/mysql-test/mysql-stress-test.pl +++ b/mysql-test/mysql-stress-test.pl @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # ====================================================================== # MySQL server stress test system diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index b5d145f91..f9906a99b 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # ############################################################################## @@ -1880,7 +1880,10 @@ sub collect_mysqld_features { if (/Copyright/ .. /^-{30,}/) { # here we want to detect all not mandatory plugins # they are listed in the --help output as - # --archive[=name] Enable or disable ARCHIVE plugin. Possible values are ON, OFF, FORCE (don't start if the plugin fails to load). + # --archive[=name] + # Enable or disable ARCHIVE plugin. Possible values are ON, OFF, + # FORCE (don't start if the plugin fails to load), + # FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not be uninstalled). push @optional_plugins, $1 if /^ --([-a-z0-9]+)\[=name\] +Enable or disable \w+ plugin. One of: ON, OFF, FORCE/; next; diff --git a/mysql-test/purify.supp b/mysql-test/purify.supp index 0bb31d002..8960151c9 100644 --- a/mysql-test/purify.supp +++ b/mysql-test/purify.supp @@ -14,7 +14,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA suppress UMR rw_read_held; mi_open; ha_myisam::open64; handler::ha_open; openfrm suppress UMR my_end; main diff --git a/mysql-test/r/connect_debug.result b/mysql-test/r/connect_debug.result index 0452b238d..3151166a0 100644 --- a/mysql-test/r/connect_debug.result +++ b/mysql-test/r/connect_debug.result @@ -3,3 +3,8 @@ set global debug_dbug='+d,auth_disconnect'; create user 'bad' identified by 'worse'; set global debug_dbug=@old_dbug; drop user bad; +set global debug_dbug='+d,auth_invalid_plugin'; +create user 'bad' identified by 'worse'; +ERROR 2059 (HY000): Authentication plugin 'foo/bar' cannot be loaded: invalid plugin name +set global debug_dbug=@old_dbug; +drop user bad; diff --git a/mysql-test/r/ctype_utf8_def_upgrade.result b/mysql-test/r/ctype_utf8_def_upgrade.result new file mode 100644 index 000000000..1b921289a --- /dev/null +++ b/mysql-test/r/ctype_utf8_def_upgrade.result @@ -0,0 +1,99 @@ +# +# Start of 10.1 tests +# +# +# MDEV-19675 Wrong charset is chosen when opening a pre-4.1 table +# +# Test with a saved table from 3.23 +SELECT @@character_set_database; +@@character_set_database +utf8 +SET @@character_set_database="latin1"; +SELECT COUNT(*) FROM t1; +ERROR HY000: Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump an" from storage engine MyISAM +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check Error Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump an" from storage engine MyISAM +test.t1 check error Corrupt +REPAIR TABLE t1; +Table Op Msg_type Msg_text +test.t1 repair Error Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump an" from storage engine MyISAM +test.t1 repair error Corrupt +REPAIR TABLE t1 USE_FRM; +Table Op Msg_type Msg_text +test.t1 repair status OK +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `Host` char(60) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '', + `Db` char(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '', + `Select_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Insert_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Update_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Delete_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Create_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Drop_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Grant_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `References_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Index_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Alter_priv` enum('N','Y') NOT NULL DEFAULT 'N', + PRIMARY KEY (`Host`,`Db`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Host privileges; Merged with database privileges' +DROP TABLE t1; +SET @@character_set_database=DEFAULT; +# Now do the same, but doing 'ALTER DATABASE' to create the db.opt file, +# instead of setting variables directly. +# Emulate a pre-4.1 database without db.opt +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ +USE db1; +SELECT @@character_set_database, 'taken from defaults' AS comment; +@@character_set_database comment +utf8 taken from defaults +USE test; +ALTER DATABASE db1 DEFAULT CHARACTER SET latin1; +USE db1; +SELECT @@character_set_database, 'taken from db.opt' AS comment; +@@character_set_database comment +latin1 taken from db.opt +SELECT COUNT(*) FROM t1; +ERROR HY000: Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump an" from storage engine MyISAM +REPAIR TABLE t1 USE_FRM; +Table Op Msg_type Msg_text +db1.t1 repair status OK +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +CHECK TABLE t1; +Table Op Msg_type Msg_text +db1.t1 check status OK +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `Host` char(60) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '', + `Db` char(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '', + `Select_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Insert_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Update_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Delete_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Create_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Drop_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Grant_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `References_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Index_priv` enum('N','Y') NOT NULL DEFAULT 'N', + `Alter_priv` enum('N','Y') NOT NULL DEFAULT 'N', + PRIMARY KEY (`Host`,`Db`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Host privileges; Merged with database privileges' +DROP TABLE t1; +DROP DATABASE db1; +USE test; +# +# End of 10.1 tests +# diff --git a/mysql-test/r/derived.result b/mysql-test/r/derived.result index 6f786e34a..be241c0e9 100644 --- a/mysql-test/r/derived.result +++ b/mysql-test/r/derived.result @@ -1,4 +1,3 @@ -drop table if exists t1,t2,t3; set @save_derived_optimizer_switch=@@optimizer_switch; set optimizer_switch='derived_merge=off,derived_with_keys=off'; select * from (select 2 from DUAL) b; @@ -602,6 +601,17 @@ select x.id, message from (select id from t1) x left join (select id, 1 as message from t2) y on x.id=y.id where coalesce(message,0) <> 0; id message +explain extended +select x.id, message from (select id from t1) x left join +(select id, 1 as message from t2) y on x.id=y.id +where message <> 0; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY ALL NULL NULL NULL NULL 3 100.00 +1 PRIMARY ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +3 DERIVED t2 ALL NULL NULL NULL NULL 3 100.00 +2 DERIVED t1 ALL NULL NULL NULL NULL 3 100.00 +Warnings: +Note 1003 select `x`.`id` AS `id`,`y`.`message` AS `message` from (select `test`.`t1`.`id` AS `id` from `test`.`t1`) `x` join (select `test`.`t2`.`id` AS `id`,1 AS `message` from `test`.`t2`) `y` where ((`y`.`id` = `x`.`id`) and (`y`.`message` <> 0)) drop table t1,t2; # # MDEV-7827: Assertion `!table || (!table->read_set || diff --git a/mysql-test/r/derived_view.result b/mysql-test/r/derived_view.result index 416d4e3ae..83e58493a 100644 --- a/mysql-test/r/derived_view.result +++ b/mysql-test/r/derived_view.result @@ -1298,7 +1298,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 3 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1276 Field or reference 't.a' of SELECT #3 was resolved in SELECT #1 -Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (1,<`test`.`t1`.`a`>(exists(select 28 from `test`.`t3` where ('j' < `test`.`t1`.`a`)))) +Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (1,<`test`.`t1`.`a`>(exists(select 28 from `test`.`t3` where ('j' < `test`.`t1`.`a`) limit 1))) SELECT * FROM (SELECT * FROM t1) AS t WHERE EXISTS (SELECT t2.a FROM t3 RIGHT JOIN t2 ON (t3.a = t2.a) WHERE t2.b < t.a); @@ -2651,3 +2651,461 @@ Note 1003 select straight_join `test`.`t1`.`c1` AS `c1` from `test`.`t1` where < DROP TABLE t1, t2; set optimizer_switch=@exit_optimizer_switch; set join_cache_level=@exit_join_cache_level; +# +# Bug mdev-18479: EXPLAIN for query with many expensive derived +# +CREATE TABLE t1 +(id int auto_increment primary key, +uid int NOT NULL, +gp_id int NOT NULL, +r int NOT NULL +); +INSERT INTO t1(uid,gp_id,r) VALUES +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1); +CREATE TABLE t2 (id int) ; +INSERT INTO t2 VALUES (1); +explain SELECT 1 FROM t2 JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_1 ON gp_1.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_2 ON gp_2.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id +JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_3 ON gp_3.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id +JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_4 ON gp_4.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id +JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_5 ON gp_5.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id +JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_6 ON gp_6.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id +JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +WHERE p1.gp_id=7) gp_7 ON gp_7.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_8 ON gp_8.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_9 ON gp_9.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_14 ON gp_14.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_15 ON gp_15.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +) gp_16 ON gp_16.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +)gp_17 ON gp_17.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +)gp_18 ON gp_18.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id +JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id +)gp_19 ON gp_19.id=t2.id +JOIN +(SELECT t2.id +FROM t2 +JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id +JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id +JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id +JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id +JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id +) gp_20 ON gp_20.id=t2.id ; +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY p4 ALL NULL NULL NULL NULL 550 Using where +1 PRIMARY p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +1 PRIMARY p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p4 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p1 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p3 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p4 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p1 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p3 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p4 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p1 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p3 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p4 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 50328437500000 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 27680640625000000 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 15224352343750000640 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 15224352343750000640 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 15224352343750000640 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 15224352343750000640 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 15224352343750000640 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 15224352343750000640 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 15224352343750000640 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using where; Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using where; Using join buffer (incremental, BNL join) +17 DERIVED t2 system NULL NULL NULL NULL 1 +17 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +17 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +17 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +17 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +17 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +16 DERIVED t2 system NULL NULL NULL NULL 1 +16 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +16 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +16 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +16 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +16 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +16 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +16 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +15 DERIVED t2 system NULL NULL NULL NULL 1 +15 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +15 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +15 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +15 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +15 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +15 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +15 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +14 DERIVED t2 system NULL NULL NULL NULL 1 +14 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +14 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +14 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +14 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +14 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +14 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +13 DERIVED t2 system NULL NULL NULL NULL 1 +13 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +13 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +13 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +13 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +13 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +13 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +13 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +12 DERIVED t2 system NULL NULL NULL NULL 1 +12 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +12 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +12 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +12 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +12 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +12 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +12 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +11 DERIVED t2 system NULL NULL NULL NULL 1 +11 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +11 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +11 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +11 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +11 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +11 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +11 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +10 DERIVED t2 system NULL NULL NULL NULL 1 +10 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +10 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +10 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +10 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +10 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +10 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +10 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +9 DERIVED t2 system NULL NULL NULL NULL 1 +9 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where +9 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +9 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +9 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +9 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +9 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +9 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +8 DERIVED t2 system NULL NULL NULL NULL 1 +8 DERIVED p1 ALL NULL NULL NULL NULL 550 Using where +8 DERIVED p3 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +8 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +8 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +8 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +8 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +8 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +8 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +8 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +7 DERIVED t2 system NULL NULL NULL NULL 1 +7 DERIVED p1 ALL NULL NULL NULL NULL 550 Using where +7 DERIVED p3 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (flat, BNL join) +7 DERIVED p4 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +7 DERIVED p5 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +7 DERIVED p6 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +7 DERIVED p7 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +7 DERIVED p8 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +7 DERIVED p9 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +7 DERIVED p10 ALL NULL NULL NULL NULL 550 Using where; Using join buffer (incremental, BNL join) +DROP TABLE t1, t2; +# +# MDEV-19778: equality condition for mergeable view returning constants +# in its columns and used as inner table of outer join +# +create table t1 (pk int, a int); +insert into t1 values (1,7), (2,3), (3,2), (4,3); +create table t2 (b int); +insert into t2 values (5), (1), (NULL), (3); +create table t3 (c int); +insert into t3 values (1), (8); +create view v1 as +select 3 as d, t2.b from t2; +select * from t1 left join v1 on t1.pk <= 2 where t1.a=v1.d; +pk a d b +2 3 3 5 +2 3 3 1 +2 3 3 NULL +2 3 3 3 +explain extended select * from t1 left join v1 on t1.pk <= 2 where t1.a=v1.d; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00 Using where +1 SIMPLE t2 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (flat, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`a` AS `a`,3 AS `d`,`test`.`t2`.`b` AS `b` from `test`.`t1` join `test`.`t2` where ((`test`.`t1`.`a` = 3) and (`test`.`t1`.`pk` <= 2)) +select * from t1 left join (select 3 as d, t2.b from t2) dt on t1.pk <= 2 +where t1.a=dt.d; +pk a d b +2 3 3 5 +2 3 3 1 +2 3 3 NULL +2 3 3 3 +explain extended select * from t1 left join (select 3 as d, t2.b from t2) dt on t1.pk <= 2 +where t1.a=dt.d; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00 Using where +1 SIMPLE t2 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (flat, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`a` AS `a`,3 AS `d`,`test`.`t2`.`b` AS `b` from `test`.`t1` join `test`.`t2` where ((`test`.`t1`.`a` = 3) and (`test`.`t1`.`pk` <= 2)) +select * from t1 left join (v1,t3) on t1.pk <= 2 where t1.a=v1.d; +pk a d b c +2 3 3 5 1 +2 3 3 5 8 +2 3 3 1 1 +2 3 3 1 8 +2 3 3 NULL 1 +2 3 3 NULL 8 +2 3 3 3 1 +2 3 3 3 8 +explain extended select * from t1 left join (v1,t3) on t1.pk <= 2 where t1.a=v1.d; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`a` AS `a`,3 AS `d`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`c` AS `c` from `test`.`t1` join `test`.`t2` join `test`.`t3` where ((`test`.`t1`.`a` = 3) and (`test`.`t1`.`pk` <= 2)) +drop view v1; +drop table t1,t2,t3; diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result index b9875faac..06323f5b3 100644 --- a/mysql-test/r/func_group.result +++ b/mysql-test/r/func_group.result @@ -1981,6 +1981,7 @@ NULL Warnings: Warning 1292 Truncated incorrect DOUBLE value: 'j' Warning 1292 Truncated incorrect DOUBLE value: 'j' +Warning 1292 Truncated incorrect DOUBLE value: 'j' EXPLAIN SELECT MIN(t2.pk) @@ -1995,6 +1996,7 @@ id select_type table type possible_keys key key_len ref rows Extra Warnings: Warning 1292 Truncated incorrect DOUBLE value: 'j' Warning 1292 Truncated incorrect DOUBLE value: 'j' +Warning 1292 Truncated incorrect DOUBLE value: 'j' # # 2) Test that subquery materialization is setup for query with diff --git a/mysql-test/r/information_schema_parameters.result b/mysql-test/r/information_schema_parameters.result index 93c7634a9..1a17c7c3a 100644 --- a/mysql-test/r/information_schema_parameters.result +++ b/mysql-test/r/information_schema_parameters.result @@ -392,7 +392,7 @@ SPECIFIC_CATALOG SPECIFIC_SCHEMA SPECIFIC_NAME ORDINAL_POSITION PARAMETER_MODE P DROP DATABASE IF EXISTS i_s_parameters_test; CREATE DATABASE i_s_parameters_test; USE i_s_parameters_test; -CREATE PROCEDURE testproc (OUT param1 INT) +CREATE PROCEDURE testproc (IN param1 INT) BEGIN SELECT 2+2 as param1; END; @@ -400,7 +400,7 @@ END; SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_SCHEMA = 'i_s_parameters_test' AND SPECIFIC_NAME = 'testproc'; SPECIFIC_CATALOG SPECIFIC_SCHEMA SPECIFIC_NAME ORDINAL_POSITION PARAMETER_MODE PARAMETER_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_TYPE -def i_s_parameters_test testproc 1 OUT param1 int NULL NULL 10 0 NULL NULL NULL int(11) PROCEDURE +def i_s_parameters_test testproc 1 IN param1 int NULL NULL 10 0 NULL NULL NULL int(11) PROCEDURE # ========== parameters.5 ========== DROP DATABASE IF EXISTS i_s_parameters_test; CREATE DATABASE i_s_parameters_test; diff --git a/mysql-test/r/join.result b/mysql-test/r/join.result index 8c529b27e..ff5d72eec 100644 --- a/mysql-test/r/join.result +++ b/mysql-test/r/join.result @@ -1137,7 +1137,7 @@ SELECT 1 FROM v1 right join v1 AS v2 ON RAND(); id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00 Using where -1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where 1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1003 select 1 AS `1` from `test`.`t1` left join `test`.`t1` `t2` on((1 = 1)) left join (`test`.`t1` left join `test`.`t1` `t2` on((1 = 1))) on(rand()) where 1 @@ -1542,6 +1542,1390 @@ ERROR 23000: Column 'c' in field list is ambiguous DROP PROCEDURE p1; DROP TABLE t1,t2,t3,t4,t5; # +# MDEV-19421: Embedding inner joins +# +create table t1 (a int); +insert into t1 values (7), (5), (3); +create table s1 (b int); +insert into s1 values (7), (5), (3); +create table t2 (a int); +insert into t2 values (5), (1), (7); +create table s2 (b int); +insert into s2 values (5), (1), (7); +create table t3 (a int); +insert into t3 values (2), (7), (3); +create table t4 (a int); +insert into t4 values (4), (7), (9), (5); +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t2.a=t3.a on t1.a=t2.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` where ((`test`.`t2`.`a` = `test`.`t1`.`a`) and (`test`.`t3`.`a` = `test`.`t1`.`a`)) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t2.a=t3.a on t1.a=t2.a; +t1_a t2_a t3_a +7 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t2.a=t3.a on t1.a=t2.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t1`.`a`)) where (`test`.`t2`.`a` = `test`.`t1`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t2.a=t3.a on t1.a=t2.a; +t1_a t2_a t3_a +7 7 7 +5 5 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t2.a=t3.a on t1.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t3` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`t1`.`a`)) where (`test`.`t3`.`a` = `test`.`t1`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t2.a=t3.a on t1.a=t3.a; +t1_a t2_a t3_a +7 7 7 +3 NULL 3 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 using(a) using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` where ((`test`.`t2`.`a` = `test`.`t1`.`a`) and (`test`.`t3`.`a` = `test`.`t1`.`a`)) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 using(a) using(a); +t1_a t2_a t3_a +7 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 using(a) using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t1`.`a`)) where (`test`.`t2`.`a` = `test`.`t1`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 using(a) using(a); +t1_a t2_a t3_a +7 7 7 +5 5 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 using(a) using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t3` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`t1`.`a`)) where (`test`.`t3`.`a` = `test`.`t1`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 using(a) using(a); +t1_a t2_a t3_a +7 7 7 +3 NULL 3 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` where (`test`.`t3`.`a` = `test`.`t2`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t2.a=t3.a; +t1_a t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t2`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t2.a=t3.a; +t1_a t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +7 5 NULL +5 5 NULL +3 5 NULL +7 1 NULL +5 1 NULL +3 1 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t3` left join (`test`.`t1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t2.a=t3.a; +t1_a t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +NULL NULL 2 +NULL NULL 3 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t1.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` where (`test`.`t3`.`a` = `test`.`t1`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t1.a=t3.a; +t1_a t2_a t3_a +7 5 7 +7 1 7 +7 7 7 +3 5 3 +3 1 3 +3 7 3 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t1.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t1`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t1.a=t3.a; +t1_a t2_a t3_a +7 5 7 +7 1 7 +7 7 7 +3 5 3 +3 1 3 +3 7 3 +5 5 NULL +5 1 NULL +5 7 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t1.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t3` left join (`test`.`t1` join `test`.`t2`) on((`test`.`t1`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t1.a=t3.a; +t1_a t2_a t3_a +7 5 7 +3 5 3 +7 1 7 +3 1 3 +7 7 7 +3 7 3 +NULL NULL 2 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 join t3 on t2.a=t3.a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` where (`test`.`t3`.`a` = `test`.`t2`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 join t3 on t2.a=t3.a); +t1_a t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 left join t3 on t2.a=t3.a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t2`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 left join t3 on t2.a=t3.a); +t1_a t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +7 5 NULL +5 5 NULL +3 5 NULL +7 1 NULL +5 1 NULL +3 1 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 right join t3 on t2.a=t3.a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t3` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 right join t3 on t2.a=t3.a); +t1_a t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +7 NULL 2 +5 NULL 2 +3 NULL 2 +7 NULL 3 +5 NULL 3 +3 NULL 3 +explain extended select * +from s1 join t2 join t3 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`s1`.`b` AS `b` from `test`.`s1` join `test`.`t2` join `test`.`t3` where (`test`.`t3`.`a` = `test`.`t2`.`a`) +select * +from s1 join t2 join t3 using(a); +a b +7 7 +7 5 +7 3 +explain extended select * +from s1 join t2 left join t3 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`s1`.`b` AS `b` from `test`.`s1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t2`.`a`)) where 1 +select * +from s1 join t2 left join t3 using(a); +a b +7 7 +7 5 +7 3 +5 7 +5 5 +5 3 +1 7 +1 5 +1 3 +explain extended select * +from s1 join t2 right join t3 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t3`.`a` AS `a`,`test`.`s1`.`b` AS `b` from `test`.`t3` left join (`test`.`s1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select * +from s1 join t2 right join t3 using(a); +a b +7 7 +7 5 +7 3 +2 NULL +3 NULL +explain extended select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 join t3 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `b`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`s1` join `test`.`t2` join `test`.`t3` where (`test`.`t3`.`a` = `test`.`t2`.`a`) +select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 join t3 using(a); +b t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +explain extended select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 left join t3 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `b`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`s1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t2`.`a`)) where 1 +select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 left join t3 using(a); +b t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +7 5 NULL +5 5 NULL +3 5 NULL +7 1 NULL +5 1 NULL +3 1 NULL +explain extended select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 right join t3 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `b`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t3` left join (`test`.`s1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 right join t3 using(a); +b t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +NULL NULL 2 +NULL NULL 3 +explain extended select s1.b, t2.a as t2_a, t3.a as t3_a +from (s1 join t2) right join t3 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `b`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t3` left join (`test`.`s1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select s1.b, t2.a as t2_a, t3.a as t3_a +from (s1 join t2) right join t3 using(a); +b t2_a t3_a +7 7 7 +5 7 7 +3 7 7 +NULL NULL 2 +NULL NULL 3 +explain extended select * +from s1 join t2 natural join t3; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`s1`.`b` AS `b` from `test`.`s1` join `test`.`t2` join `test`.`t3` where (`test`.`t3`.`a` = `test`.`t2`.`a`) +select * +from s1 join t2 natural join t3; +a b +7 7 +7 5 +7 3 +explain extended select * +from s1 join t2 natural left join t3; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`s1`.`b` AS `b` from `test`.`s1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t2`.`a`)) where 1 +select * +from s1 join t2 natural left join t3; +a b +7 7 +7 5 +7 3 +5 7 +5 5 +5 3 +1 7 +1 5 +1 3 +explain extended select * +from s1 join t2 natural right join t3; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t3`.`a` AS `a`,`test`.`s1`.`b` AS `b` from `test`.`t3` left join (`test`.`s1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select * +from s1 join t2 natural right join t3; +a b +7 7 +7 5 +7 3 +2 NULL +3 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3; +t1_a t2_a t3_a +7 5 2 +5 5 2 +3 5 2 +7 1 2 +5 1 2 +3 1 2 +7 7 2 +5 7 2 +3 7 2 +7 5 7 +5 5 7 +3 5 7 +7 1 7 +5 1 7 +3 1 7 +7 7 7 +5 7 7 +3 7 7 +7 5 3 +5 5 3 +3 5 3 +7 1 3 +5 1 3 +3 1 3 +7 7 3 +5 7 3 +3 7 3 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 +where t1.a=t2.a and t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` where ((`test`.`t2`.`a` = `test`.`t1`.`a`) and (`test`.`t3`.`a` = `test`.`t1`.`a`)) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 +where t1.a=t2.a and t2.a=t3.a; +t1_a t2_a t3_a +7 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` join `test`.`t4` where ((`test`.`t3`.`a` = `test`.`t2`.`a`) and (`test`.`t4`.`a` = `test`.`t2`.`a`)) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t3`.`a` = `test`.`t2`.`a`) and (`test`.`t4`.`a` = `test`.`t2`.`a`))) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 5 NULL NULL +5 5 NULL NULL +3 5 NULL NULL +7 1 NULL NULL +5 1 NULL NULL +3 1 NULL NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 left join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` left join (`test`.`t3` left join `test`.`t4` on((`test`.`t4`.`a` = `test`.`t2`.`a`))) on((`test`.`t3`.`a` = `test`.`t2`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 left join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 5 NULL NULL +5 5 NULL NULL +3 5 NULL NULL +7 1 NULL NULL +5 1 NULL NULL +3 1 NULL NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` left join (`test`.`t4` join `test`.`t3`) on(((`test`.`t3`.`a` = `test`.`t2`.`a`) and (`test`.`t4`.`a` = `test`.`t2`.`a`))) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 5 NULL NULL +5 5 NULL NULL +3 5 NULL NULL +7 1 NULL NULL +5 1 NULL NULL +3 1 NULL NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t3` join `test`.`t4` left join (`test`.`t1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where (`test`.`t4`.`a` = `test`.`t3`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 left join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`a` = `test`.`t3`.`a`)) left join (`test`.`t1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 left join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +NULL NULL 2 NULL +NULL NULL 3 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t4`.`a`)) left join (`test`.`t1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` join `test`.`t4` where (`test`.`t4`.`a` = `test`.`t3`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +7 5 7 7 +5 5 7 7 +3 5 7 7 +7 1 7 7 +5 1 7 7 +3 1 7 7 +7 7 7 7 +5 7 7 7 +3 7 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 left join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 left join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +7 5 7 7 +5 5 7 7 +3 5 7 7 +7 1 7 7 +5 1 7 7 +3 1 7 7 +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 5 2 NULL +5 5 2 NULL +3 5 2 NULL +7 1 2 NULL +5 1 2 NULL +3 1 2 NULL +7 7 2 NULL +5 7 2 NULL +3 7 2 NULL +7 5 3 NULL +5 5 3 NULL +3 5 3 NULL +7 1 3 NULL +5 1 3 NULL +3 1 3 NULL +7 7 3 NULL +5 7 3 NULL +3 7 3 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 right join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join (`test`.`t1` join `test`.`t2` join `test`.`t3`) on((`test`.`t3`.`a` = `test`.`t4`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 right join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +7 5 7 7 +5 5 7 7 +3 5 7 7 +7 1 7 7 +5 1 7 7 +3 1 7 7 +7 7 7 7 +5 7 7 7 +3 7 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +explain extended select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 join t4 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`s2`.`b` AS `s2_b`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`s1` join `test`.`s2` join `test`.`t3` join `test`.`t4` where (`test`.`t4`.`a` = `test`.`t3`.`a`) +select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 join t4 using(a); +s1_b s2_b t3_a t4_a +7 5 7 7 +5 5 7 7 +3 5 7 7 +7 1 7 7 +5 1 7 7 +3 1 7 7 +7 7 7 7 +5 7 7 7 +3 7 7 7 +explain extended select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 left join t4 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`s2`.`b` AS `s2_b`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`s1` join `test`.`s2` join `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`a` = `test`.`t3`.`a`)) where 1 +select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 left join t4 using(a); +s1_b s2_b t3_a t4_a +7 5 7 7 +5 5 7 7 +3 5 7 7 +7 1 7 7 +5 1 7 7 +3 1 7 7 +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 5 2 NULL +5 5 2 NULL +3 5 2 NULL +7 1 2 NULL +5 1 2 NULL +3 1 2 NULL +7 7 2 NULL +5 7 2 NULL +3 7 2 NULL +7 5 3 NULL +5 5 3 NULL +3 5 3 NULL +7 1 3 NULL +5 1 3 NULL +3 1 3 NULL +7 7 3 NULL +5 7 3 NULL +3 7 3 NULL +explain extended select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 right join t4 using(a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE s2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`s2`.`b` AS `s2_b`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join (`test`.`s1` join `test`.`s2` join `test`.`t3`) on((`test`.`t3`.`a` = `test`.`t4`.`a`)) where 1 +select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 right join t4 using(a); +s1_b s2_b t3_a t4_a +7 5 7 7 +5 5 7 7 +3 5 7 7 +7 1 7 7 +5 1 7 7 +3 1 7 7 +7 7 7 7 +5 7 7 7 +3 7 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 on t2.a=t3.a join t4; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` join `test`.`t4` where (`test`.`t3`.`a` = `test`.`t2`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 on t2.a=t3.a join t4; +t1_a t2_a t3_a t4_a +7 7 7 4 +5 7 7 4 +3 7 7 4 +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 7 7 9 +5 7 7 9 +3 7 7 9 +7 7 7 5 +5 7 7 5 +3 7 7 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 on t2.a=t3.a join t4; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t2`.`a`)) join `test`.`t4` where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 on t2.a=t3.a join t4; +t1_a t2_a t3_a t4_a +7 7 7 4 +5 7 7 4 +3 7 7 4 +7 5 NULL 4 +5 5 NULL 4 +3 5 NULL 4 +7 1 NULL 4 +5 1 NULL 4 +3 1 NULL 4 +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 5 NULL 7 +5 5 NULL 7 +3 5 NULL 7 +7 1 NULL 7 +5 1 NULL 7 +3 1 NULL 7 +7 7 7 9 +5 7 7 9 +3 7 7 9 +7 5 NULL 9 +5 5 NULL 9 +3 5 NULL 9 +7 1 NULL 9 +5 1 NULL 9 +3 1 NULL 9 +7 7 7 5 +5 7 7 5 +3 7 7 5 +7 5 NULL 5 +5 5 NULL 5 +3 5 NULL 5 +7 1 NULL 5 +5 1 NULL 5 +3 1 NULL 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 on t2.a=t3.a join t4; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t3` left join (`test`.`t1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) join `test`.`t4` where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 on t2.a=t3.a join t4; +t1_a t2_a t3_a t4_a +7 7 7 4 +5 7 7 4 +3 7 7 4 +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 7 7 9 +5 7 7 9 +3 7 7 9 +7 7 7 5 +5 7 7 5 +3 7 7 5 +NULL NULL 2 4 +NULL NULL 3 4 +NULL NULL 2 7 +NULL NULL 3 7 +NULL NULL 2 9 +NULL NULL 3 9 +NULL NULL 2 5 +NULL NULL 3 5 +explain extended select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 join t3 using(a) join t4; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`s1` join `test`.`t2` join `test`.`t3` join `test`.`t4` where (`test`.`t3`.`a` = `test`.`t2`.`a`) +select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 join t3 using(a) join t4; +s1_b t2_a t3_a t4_a +7 7 7 4 +5 7 7 4 +3 7 7 4 +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 7 7 9 +5 7 7 9 +3 7 7 9 +7 7 7 5 +5 7 7 5 +3 7 7 5 +explain extended select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 left join t3 using(a) join t4; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`s1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t2`.`a`)) join `test`.`t4` where 1 +select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 left join t3 using(a) join t4; +s1_b t2_a t3_a t4_a +7 7 7 4 +5 7 7 4 +3 7 7 4 +7 5 NULL 4 +5 5 NULL 4 +3 5 NULL 4 +7 1 NULL 4 +5 1 NULL 4 +3 1 NULL 4 +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 5 NULL 7 +5 5 NULL 7 +3 5 NULL 7 +7 1 NULL 7 +5 1 NULL 7 +3 1 NULL 7 +7 7 7 9 +5 7 7 9 +3 7 7 9 +7 5 NULL 9 +5 5 NULL 9 +3 5 NULL 9 +7 1 NULL 9 +5 1 NULL 9 +3 1 NULL 9 +7 7 7 5 +5 7 7 5 +3 7 7 5 +7 5 NULL 5 +5 5 NULL 5 +3 5 NULL 5 +7 1 NULL 5 +5 1 NULL 5 +3 1 NULL 5 +explain extended select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 right join t3 using(a) join t4; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t3` left join (`test`.`s1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) join `test`.`t4` where 1 +select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 right join t3 using(a) join t4; +s1_b t2_a t3_a t4_a +7 7 7 4 +5 7 7 4 +3 7 7 4 +7 7 7 7 +5 7 7 7 +3 7 7 7 +7 7 7 9 +5 7 7 9 +3 7 7 9 +7 7 7 5 +5 7 7 5 +3 7 7 5 +NULL NULL 2 4 +NULL NULL 3 4 +NULL NULL 2 7 +NULL NULL 3 7 +NULL NULL 2 9 +NULL NULL 3 9 +NULL NULL 2 5 +NULL NULL 3 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` join `test`.`t4` where ((`test`.`t4`.`a` = `test`.`t3`.`a`) and (`test`.`t2`.`a` = `test`.`t1`.`a`)) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +5 5 7 7 +7 7 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` join `test`.`t2` join `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`a` = `test`.`t3`.`a`)) where (`test`.`t2`.`a` = `test`.`t1`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +5 5 7 7 +7 7 7 7 +5 5 2 NULL +7 7 2 NULL +5 5 3 NULL +7 7 3 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join (`test`.`t1` join `test`.`t2` join `test`.`t3`) on(((`test`.`t3`.`a` = `test`.`t4`.`a`) and (`test`.`t2`.`a` = `test`.`t1`.`a`))) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +5 5 7 7 +7 7 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`t1`.`a`)) join `test`.`t3` join `test`.`t4` where (`test`.`t4`.`a` = `test`.`t3`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +5 5 7 7 +7 7 7 7 +3 NULL 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`t1`.`a`)) join `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +5 5 7 7 +7 7 7 7 +3 NULL 7 7 +5 5 2 NULL +7 7 2 NULL +3 NULL 2 NULL +5 5 3 NULL +7 7 3 NULL +3 NULL 3 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join (`test`.`t1` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`t1`.`a`)) join `test`.`t3`) on((`test`.`t3`.`a` = `test`.`t4`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +5 5 7 7 +7 7 7 7 +3 NULL 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t2` left join `test`.`t1` on((`test`.`t1`.`a` = `test`.`t2`.`a`)) join `test`.`t3` join `test`.`t4` where (`test`.`t4`.`a` = `test`.`t3`.`a`) +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 5 7 7 +NULL 1 7 7 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t2` left join `test`.`t1` on((`test`.`t1`.`a` = `test`.`t2`.`a`)) join `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 5 7 7 +NULL 1 7 7 +7 7 2 NULL +5 5 2 NULL +NULL 1 2 NULL +7 7 3 NULL +5 5 3 NULL +NULL 1 3 NULL +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join (`test`.`t2` left join `test`.`t1` on((`test`.`t1`.`a` = `test`.`t2`.`a`)) join `test`.`t3`) on((`test`.`t3`.`a` = `test`.`t4`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 5 7 7 +NULL 1 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +explain extended select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 join t4 on t4.a=s1.b; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`s1` join `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`s1`.`b`)) join `test`.`t3` join `test`.`t4` where (`test`.`t4`.`a` = `test`.`s1`.`b`) +select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 join t4 on t4.a=s1.b; +s1_b t1_a t2_a t3_a t4_a +7 7 7 2 7 +7 5 7 2 7 +7 3 7 2 7 +7 7 7 7 7 +7 5 7 7 7 +7 3 7 7 7 +7 7 7 3 7 +7 5 7 3 7 +7 3 7 3 7 +5 7 5 2 5 +5 5 5 2 5 +5 3 5 2 5 +5 7 5 7 5 +5 5 5 7 5 +5 3 5 7 5 +5 7 5 3 5 +5 5 5 3 5 +5 3 5 3 5 +explain extended select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 left join t4 on t4.a=s1.b; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`s1` join `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`s1`.`b`)) join `test`.`t3` left join `test`.`t4` on((`test`.`t4`.`a` = `test`.`s1`.`b`)) where 1 +select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 left join t4 on t4.a=s1.b; +s1_b t1_a t2_a t3_a t4_a +7 7 7 2 7 +7 5 7 2 7 +7 3 7 2 7 +7 7 7 7 7 +7 5 7 7 7 +7 3 7 7 7 +7 7 7 3 7 +7 5 7 3 7 +7 3 7 3 7 +5 7 5 2 5 +5 5 5 2 5 +5 3 5 2 5 +5 7 5 7 5 +5 5 5 7 5 +5 3 5 7 5 +5 7 5 3 5 +5 5 5 3 5 +5 3 5 3 5 +3 7 NULL 2 NULL +3 5 NULL 2 NULL +3 3 NULL 2 NULL +3 7 NULL 7 NULL +3 5 NULL 7 NULL +3 3 NULL 7 NULL +3 7 NULL 3 NULL +3 5 NULL 3 NULL +3 3 NULL 3 NULL +explain extended select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 right join t4 on t4.a=s1.b; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join (`test`.`s1` join `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`a` = `test`.`t4`.`a`)) join `test`.`t3`) on((`test`.`s1`.`b` = `test`.`t4`.`a`)) where 1 +select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 right join t4 on t4.a=s1.b; +s1_b t1_a t2_a t3_a t4_a +5 7 5 2 5 +5 5 5 2 5 +5 3 5 2 5 +7 7 7 2 7 +7 5 7 2 7 +7 3 7 2 7 +5 7 5 7 5 +5 5 5 7 5 +5 3 5 7 5 +7 7 7 7 7 +7 5 7 7 7 +7 3 7 7 7 +5 7 5 3 5 +5 5 5 3 5 +5 3 5 3 5 +7 7 7 3 7 +7 5 7 3 7 +7 3 7 3 7 +NULL NULL NULL NULL 4 +NULL NULL NULL NULL 9 +explain extended select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE s2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`s2`.`b` AS `s2_b`,`test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t2` left join (`test`.`s1` join `test`.`s2` join `test`.`t1`) on(((`test`.`t1`.`a` = `test`.`t2`.`a`) and (`test`.`s2`.`b` = `test`.`s1`.`b`))) join `test`.`t3` where 1 +select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +s1_b s2_b t1_a t2_a t3_a +5 5 7 7 2 +7 7 7 7 2 +5 5 5 5 2 +7 7 5 5 2 +5 5 7 7 7 +7 7 7 7 7 +5 5 5 5 7 +7 7 5 5 7 +5 5 7 7 3 +7 7 7 7 3 +5 5 5 5 3 +7 7 5 5 3 +NULL NULL NULL 1 2 +NULL NULL NULL 1 7 +NULL NULL NULL 1 3 +explain extended select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 left join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE s2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`s2`.`b` AS `s2_b`,`test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t2` left join (`test`.`s1` left join `test`.`s2` on((`test`.`s2`.`b` = `test`.`s1`.`b`)) join `test`.`t1`) on((`test`.`t1`.`a` = `test`.`t2`.`a`)) join `test`.`t3` where 1 +select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 left join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +s1_b s2_b t1_a t2_a t3_a +5 5 7 7 2 +7 7 7 7 2 +3 NULL 7 7 2 +5 5 5 5 2 +7 7 5 5 2 +3 NULL 5 5 2 +5 5 7 7 7 +7 7 7 7 7 +3 NULL 7 7 7 +5 5 5 5 7 +7 7 5 5 7 +3 NULL 5 5 7 +5 5 7 7 3 +7 7 7 7 3 +3 NULL 7 7 3 +5 5 5 5 3 +7 7 5 5 3 +3 NULL 5 5 3 +NULL NULL NULL 1 2 +NULL NULL NULL 1 7 +NULL NULL NULL 1 3 +explain extended select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 right join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE s2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (flat, BNL join) +1 SIMPLE s1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`s1`.`b` AS `s1_b`,`test`.`s2`.`b` AS `s2_b`,`test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a` from `test`.`t2` left join (`test`.`s2` left join `test`.`s1` on((`test`.`s1`.`b` = `test`.`s2`.`b`)) join `test`.`t1`) on((`test`.`t1`.`a` = `test`.`t2`.`a`)) join `test`.`t3` where 1 +select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 right join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +s1_b s2_b t1_a t2_a t3_a +7 7 7 7 2 +5 5 7 7 2 +NULL 1 7 7 2 +7 7 5 5 2 +5 5 5 5 2 +NULL 1 5 5 2 +7 7 7 7 7 +5 5 7 7 7 +NULL 1 7 7 7 +7 7 5 5 7 +5 5 5 5 7 +NULL 1 5 5 7 +7 7 7 7 3 +5 5 7 7 3 +NULL 1 7 7 3 +7 7 5 5 3 +5 5 5 5 3 +NULL 1 5 5 3 +NULL NULL NULL 1 2 +NULL NULL NULL 1 7 +NULL NULL NULL 1 3 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t4`.`a`)) left join (`test`.`t1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from (t1 join t2) right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t4`.`a`)) left join (`test`.`t1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from (t1 join t2) right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +explain extended select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from (t1, t2) right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t4 ALL NULL NULL NULL NULL 4 100.00 +1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using join buffer (incremental, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `t1_a`,`test`.`t2`.`a` AS `t2_a`,`test`.`t3`.`a` AS `t3_a`,`test`.`t4`.`a` AS `t4_a` from `test`.`t4` left join `test`.`t3` on((`test`.`t3`.`a` = `test`.`t4`.`a`)) left join (`test`.`t1` join `test`.`t2`) on((`test`.`t2`.`a` = `test`.`t3`.`a`)) where 1 +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from (t1, t2) right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +t1_a t2_a t3_a t4_a +7 7 7 7 +5 7 7 7 +3 7 7 7 +NULL NULL NULL 4 +NULL NULL NULL 9 +NULL NULL NULL 5 +drop table t1,t2,t3,t4,s1,s2; +# # End of MariaDB 5.5 tests # # diff --git a/mysql-test/r/join_cache.result b/mysql-test/r/join_cache.result index 01339f7c1..cf23979b4 100644 --- a/mysql-test/r/join_cache.result +++ b/mysql-test/r/join_cache.result @@ -2885,6 +2885,37 @@ Klaipeda Lithuania xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Panevezys Lithuania xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx set join_cache_level=default; set join_buffer_size=default; +# +# MDEV-17752: Plan changes from hash_index_merge to index_merge with new optimizer defaults +# +set @save_optimizer_use_condition_selectivity=@@optimizer_use_condition_selectivity; +set @save_use_stat_tables=@@use_stat_tables; +set optimizer_use_condition_selectivity=4; +set use_stat_tables='preferably'; +use world; +set join_cache_level=4; +CREATE INDEX City_Name ON City(Name); +ANALYZE TABLE City, Country; +EXPLAIN +SELECT Country.Name, Country.Population, City.Name, City.Population +FROM Country LEFT JOIN City +ON City.Country=Country.Code AND City.Population > 5000000 +WHERE Country.Name LIKE 'C%' AND Country.Population > 10000000; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE Country range Name Name 302 NULL 15 Using index condition; Using where; Rowid-ordered scan +1 SIMPLE City hash_range Population,Country #hash#Country:Population 3:4 world.Country.Code 25 Using where; Rowid-ordered scan; Using join buffer (flat, BNLH join) +EXPLAIN +SELECT Country.Name, Country.Population, City.Name, City.Population +FROM Country LEFT JOIN City +ON City.Country=Country.Code AND +(City.Population > 5000000 OR City.Name LIKE 'Za%') +WHERE Country.Name LIKE 'C%' AND Country.Population > 10000000; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE Country range Name Name 302 NULL 15 Using index condition; Using where; Rowid-ordered scan +1 SIMPLE City hash_index_merge Population,Country,City_Name #hash#Country:Population,City_Name 3:4,35 world.Country.Code 96 Using sort_union(Population,City_Name); Using where; Using join buffer (flat, BNLH join) +set @@optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity; +set @@use_stat_tables=@save_use_stat_tables; +set join_cache_level=default; DROP DATABASE world; use test; CREATE TABLE t1( diff --git a/mysql-test/r/join_nested.result b/mysql-test/r/join_nested.result index 6ddd39cbf..d618f7c3a 100644 --- a/mysql-test/r/join_nested.result +++ b/mysql-test/r/join_nested.result @@ -1966,3 +1966,36 @@ Note 1003 select 1 AS `K1`,'T1Row1' AS `Name`,`t2a`.`K2` AS `K2`,`t2a`.`K1r` AS DROP VIEW v1; DROP TABLE t1,t2; set optimizer_search_depth= @tmp_mdev621; +# +# MDEV-19588: Nested left joins using optimized join cache +# +set optimizer_switch='optimize_join_buffer_size=on'; +set @save_join_cache_level= @@join_cache_level; +set join_cache_level=2; +CREATE TABLE t1 (i1 int, c1 varchar(20), pk int) engine=myisam; +CREATE TABLE t2 (pk int, c1 varchar(20), i1 int) engine=myisam; +INSERT INTO t2 VALUES (7,'a',-912),(8,'a',5); +CREATE TABLE t3 (pk int, c1 varchar(20), i1 int) engine=myisam; +INSERT INTO t3 VALUES +(1,'a',-145),(2,'a',6),(3,'a',1),(7,'a',NULL),(8,'a',889),(9,'a',146), +(10,'a',177),(16,'a',-433),(17,'a',NULL),(18,'a',2),(19,'a',3),(20,'a',5), +(21,'a',-484),(22,'a',369),(23,'a',-192),(24,'a',-163),(25,'a',5),(26,'a',NULL); +SELECT t3.* +FROM t3 LEFT JOIN t1 LEFT JOIN t2 ON t1.i1 = t2.i1 ON t3.i1 = t1.i1 +WHERE t2.pk < 13 OR t3.i1 IS NULL; +pk c1 i1 +7 a NULL +17 a NULL +26 a NULL +explain extended SELECT t3.* +FROM t3 LEFT JOIN t1 LEFT JOIN t2 ON t1.i1 = t2.i1 ON t3.i1 = t1.i1 +WHERE t2.pk < 13 OR t3.i1 IS NULL; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 18 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 0 0.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t3`.`pk` AS `pk`,`test`.`t3`.`c1` AS `c1`,`test`.`t3`.`i1` AS `i1` from `test`.`t3` left join (`test`.`t1` left join `test`.`t2` on((`test`.`t2`.`i1` = `test`.`t3`.`i1`))) on((`test`.`t1`.`i1` = `test`.`t3`.`i1`)) where ((`test`.`t2`.`pk` < 13) or isnull(`test`.`t3`.`i1`)) +DROP TABLE t1,t2,t3; +set join_cache_level= @save_join_cache_level; +set optimizer_switch=@save_optimizer_switch; diff --git a/mysql-test/r/join_nested_jcl6.result b/mysql-test/r/join_nested_jcl6.result index bac8e1cb7..dff9feda6 100644 --- a/mysql-test/r/join_nested_jcl6.result +++ b/mysql-test/r/join_nested_jcl6.result @@ -1342,7 +1342,7 @@ EXPLAIN SELECT * FROM t1 LEFT JOIN (t2 LEFT JOIN t3 ON c21=c31) ON c11=c21; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 2 1 SIMPLE t2 hash_ALL NULL #hash#$hj 5 test.t1.c11 0 Using where; Using join buffer (flat, BNLH join) -1 SIMPLE t3 ALL NULL NULL NULL NULL 0 Using where; Using join buffer (incremental, BNL join) +1 SIMPLE t3 hash_ALL NULL #hash#$hj 5 test.t1.c11 0 Using where; Using join buffer (incremental, BNLH join) DROP TABLE t1,t2,t3; CREATE TABLE t1 (goods int(12) NOT NULL, price varchar(128) NOT NULL); INSERT INTO t1 VALUES (23, 2340), (26, 9900); @@ -1977,6 +1977,39 @@ Note 1003 select 1 AS `K1`,'T1Row1' AS `Name`,`t2a`.`K2` AS `K2`,`t2a`.`K1r` AS DROP VIEW v1; DROP TABLE t1,t2; set optimizer_search_depth= @tmp_mdev621; +# +# MDEV-19588: Nested left joins using optimized join cache +# +set optimizer_switch='optimize_join_buffer_size=on'; +set @save_join_cache_level= @@join_cache_level; +set join_cache_level=2; +CREATE TABLE t1 (i1 int, c1 varchar(20), pk int) engine=myisam; +CREATE TABLE t2 (pk int, c1 varchar(20), i1 int) engine=myisam; +INSERT INTO t2 VALUES (7,'a',-912),(8,'a',5); +CREATE TABLE t3 (pk int, c1 varchar(20), i1 int) engine=myisam; +INSERT INTO t3 VALUES +(1,'a',-145),(2,'a',6),(3,'a',1),(7,'a',NULL),(8,'a',889),(9,'a',146), +(10,'a',177),(16,'a',-433),(17,'a',NULL),(18,'a',2),(19,'a',3),(20,'a',5), +(21,'a',-484),(22,'a',369),(23,'a',-192),(24,'a',-163),(25,'a',5),(26,'a',NULL); +SELECT t3.* +FROM t3 LEFT JOIN t1 LEFT JOIN t2 ON t1.i1 = t2.i1 ON t3.i1 = t1.i1 +WHERE t2.pk < 13 OR t3.i1 IS NULL; +pk c1 i1 +7 a NULL +17 a NULL +26 a NULL +explain extended SELECT t3.* +FROM t3 LEFT JOIN t1 LEFT JOIN t2 ON t1.i1 = t2.i1 ON t3.i1 = t1.i1 +WHERE t2.pk < 13 OR t3.i1 IS NULL; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 18 100.00 +1 SIMPLE t1 ALL NULL NULL NULL NULL 0 0.00 Using where; Using join buffer (flat, BNL join) +1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (incremental, BNL join) +Warnings: +Note 1003 select `test`.`t3`.`pk` AS `pk`,`test`.`t3`.`c1` AS `c1`,`test`.`t3`.`i1` AS `i1` from `test`.`t3` left join (`test`.`t1` left join `test`.`t2` on((`test`.`t2`.`i1` = `test`.`t3`.`i1`))) on((`test`.`t1`.`i1` = `test`.`t3`.`i1`)) where ((`test`.`t2`.`pk` < 13) or isnull(`test`.`t3`.`i1`)) +DROP TABLE t1,t2,t3; +set join_cache_level= @save_join_cache_level; +set optimizer_switch=@save_optimizer_switch; CREATE TABLE t5 (a int, b int, c int, PRIMARY KEY(a), KEY b_i (b)); CREATE TABLE t6 (a int, b int, c int, PRIMARY KEY(a), KEY b_i (b)); CREATE TABLE t7 (a int, b int, c int, PRIMARY KEY(a), KEY b_i (b)); diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index 6bd12dbe1..739216b19 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -2447,7 +2447,7 @@ t1.b1+'0' t2.b2 + '0' 0 0 1 1 DROP TABLE t1, t2; -set @join_cache_level= @save_join_cache_level; +set @@join_cache_level= @save_join_cache_level; # # MDEV-14779: using left join causes incorrect results with materialization and derived tables # @@ -2512,5 +2512,176 @@ WHERE tb1.pk = 40 ORDER BY tb1.i1; v2 DROP TABLE t1,t2; +# +# MDEV-19790 : IS NOT TRUE / IS NOT FALSE predicates over +# inner tables of outer joins +# +create table t1 (a int); +create table t2 (b int); +insert into t1 values (3), (7), (1); +insert into t2 values (7), (4), (3); +select * from t1 left join t2 on a=b; +a b +3 3 +7 7 +1 NULL +select * from t1 left join t2 on a=b where (b > 3) is not true; +a b +3 3 +1 NULL +explain extended select * from t1 left join t2 on a=b where (b > 3) is not true; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`b` = `test`.`t1`.`a`)) where ((`test`.`t2`.`b` > 3) is not true) +select * from t1 left join t2 on a=b where (b > 3) is not false; +a b +7 7 +1 NULL +explain extended select * from t1 left join t2 on a=b where (b > 3) is not false; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`b` = `test`.`t1`.`a`)) where ((`test`.`t2`.`b` > 3) is not false) +drop table t1,t2; # end of 5.5 tests +# +# MDEV-19258: chained right joins all converted to inner joins +# +CREATE TABLE t1 ( +id int NOT NULL AUTO_INCREMENT, +timestamp bigint NOT NULL, +modifiedBy varchar(255) DEFAULT NULL, +PRIMARY KEY (id) +); +CREATE TABLE t2 ( +id int NOT NULL, +REV int NOT NULL, +REVTYPE tinyint DEFAULT NULL, +profile_id int DEFAULT NULL, +PRIMARY KEY (id,REV) +); +CREATE TABLE t3 ( +id int NOT NULL, +REV int NOT NULL, +person_id int DEFAULT NULL, +PRIMARY KEY (id,REV) +); +CREATE TABLE t4 ( +id int NOT NULL, +REV int NOT NULL, +PRIMARY KEY (id,REV) +); +INSERT INTO t1 VALUES +(1,1294391193890,'Cxqy$*9.kKeE'),(2,1294643906883,'rE4wqGV0gif@'), +(3,1294643927456,'L?3yt(%dY$Br'),(4,1294644343525,'WH&ObiZ$#2S4'), +(5,1294644616416,'YXnCbt?olUZ0'),(6,1294644954537,'8Npe4!(#lU@k'), +(7,1294645046659,'knc0GhXB1#ib'),(8,1294645183829,'w*oPpVfuS8^m'), +(9,1294645386701,'hwXR@3qVzrbU'),(10,1294645525982,'BeLW*Y9ndP0l'), +(11,1294645627723,'nTegib^)qZ$I'),(12,1294650860266,'u62C^Kzx3wH8'), +(13,1294657613745,'4&BkFjGa!qLg'),(14,1294660627161,')anpt312SCoh'), +(15,1294661023336,'LtJ2PX?*kTmx'),(16,1294662838066,'POGRr@?#ofpl'), +(17,1294663020989,'o.)1EOT2jnF7'),(18,1294663308065,'&TZ0F0LHE6.h'), +(19,1294664900039,'j)kSC%^In$9d'),(20,1294668904556,'97glN50)cAo.'), +(21,1294728056853,'lrKZxmw?I.Ek'),(22,1294728157174,'@P*SRg!pT.q?'), +(23,1294728327099,'W9gPrptF.)8n'),(24,1294728418481,'$q*c^sM&URd#'), +(25,1294728729620,'9*f4&bTPRtHo'),(26,1294728906014,')4VtTEnS7$oI'), +(27,1294732190003,'8dkNSPq2u3AQ'),(28,1294733205065,'SV2N6IoEf438'), +(29,1294741984927,'rBKj.0S^Ey%*'),(30,1294751748352,'j$2DvlBqk)Fw'), +(31,1294753902212,'C$N6OrEw8elz'),(32,1294758120598,'DCSVZw!rnxXq'), +(33,1294761769556,'OTS@QU8a6s5c'),(34,1294816845305,'IUE2stG0D3L5'), +(35,1294816966909,'Xd16yka.9nHe'),(36,1294817116302,'lOQHZpm%!8qb'), +(37,1294817374775,'^&pE3IhNf7ey'),(38,1294817538907,'oEn4#7C0Vhfp'), +(39,1294818482950,'bx54J*O0Va&?'),(40,1294819047024,'J%@a&1.qgdb?'), +(41,1294821826077,'C9kojr$L3Phz'),(42,1294825454458,'gG#BOnM80ZPi'), +(43,1294904129918,'F^!TrjM#zdvc'),(44,1294904254166,'Va&Tb)k0RvlM'), +(45,1294904414964,'dJjq0M6HvhR#'),(46,1294904505784,'nJmxg)ELqY(b'), +(47,1294904602835,'dhF#or$Vge!7'),(48,1294904684728,'?bIh5E3l!0em'), +(49,1294904877898,'Y*WflOdcxnk.'),(50,1294905002390,'*?H!lUgez5A.'), +(51,1294905096043,'wlEIY3n9uz!p'),(52,1294905404621,'T?qv3H6&hlQD'), +(53,1294905603922,'S@Bhys^Ti7bt'),(54,1294905788416,'KR?a5NVukz#l'), +(55,1294905993190,'A*&q4kWhED!o'),(56,1294906205254,'fT0%7z0DF6h*'), +(57,1294906319680,'LhzdW4?ivjR0'),(58,1294906424296,'h0KDlns%U*6T'), +(59,1294906623844,'b$CfB1noI6Ax'),(60,1294911258896,'#T1*LP!3$Oys'); +INSERT INTO t2 VALUES +(1,1,0,10209),(1,42480,1,10209),(1,61612,1,10209),(1,257545,1,10209), +(1,385332,1,10209),(1,1687999,1,10209),(3,1,0,10210),(3,617411,2,10210), +(4,11,0,14),(4,95149,1,10211),(4,607890,2,10211),(5,1,0,10212), +(6,1,0,10213),(6,93344,1,10213),(6,295578,1,10213),(6,295579,1,10213), +(6,295644,1,10213),(7,1,0,10214),(7,12,1,7),(7,688796,1,10214), +(7,1140433,1,10214),(7,1715227,1,10214),(8,1,0,10215),(8,74253,1,10215), +(8,93345,1,10215),(8,12,2,2),(9,1,0,10216),(9,93342,1,10216), +(9,122354,1,10216),(9,301499,2,10216),(10,11,0,5),(10,93343,1,10217), +(10,122355,1,10217),(10,123050,1,10217),(10,301500,2,10217),(11,1,0,10218), +(11,87852,1,10218),(11,605499,2,10218),(12,1,0,10219),(12,88024,1,10219), +(12,605892,2,10219),(13,1,0,10220); +INSERT INTO t3 VALUES +(1,1,300003),(1,117548,NULL),(2,1,300003),(2,117548,300006), +(3,1,300153),(3,117548,NULL),(4,1,300153),(4,117548,NULL), +(5,1,300153),(5,117548,NULL),(6,1,300182),(6,117548,NULL), +(7,1,300205),(7,117548,NULL),(8,1,300217),(8,117548,NULL), +(9,1,300290),(9,117548,NULL),(10,1,300290),(10,117548,NULL), +(11,1,300405),(11,117548,NULL),(12,1,300670),(12,117548,NULL), +(13,1,300670),(13,117548,NULL),(14,1,300006),(14,117548,NULL), +(15,1,300671),(15,117548,NULL),(16,1,300732),(16,117548,NULL); +INSERT INTO t4 VALUES +(300000,1),(300001,1),(300003,1),(300004,1), +(300005,1),(300005,688796),(300006,1),(300006,97697), +(300009,1),(300010,1),(300011,1),(300012,1),(300013,1), +(300014,1),(300015,1),(300016,1),(300017,1),(300018,1), +(300019,1),(300020,1),(300021,1),(300022,1),(300023,1), +(300024,1),(300025,1),(300026,1),(300027,1),(300028,1); +# This should have join order of t2,t3,t4,t1 +EXPLAIN EXTENDED SELECT * +FROM t1 INNER JOIN t2 ON t2.REV=t1.id +INNER JOIN t3 ON t3.id=t2.profile_id +INNER JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 AND +t2.REVTYPE=2; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 42 100.00 Using where +1 SIMPLE t3 ref PRIMARY PRIMARY 4 test.t2.profile_id 1 100.00 Using where +1 SIMPLE t4 ref PRIMARY PRIMARY 4 test.t3.person_id 1 100.00 Using index +1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.REV 1 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`timestamp` AS `timestamp`,`test`.`t1`.`modifiedBy` AS `modifiedBy`,`test`.`t2`.`id` AS `id`,`test`.`t2`.`REV` AS `REV`,`test`.`t2`.`REVTYPE` AS `REVTYPE`,`test`.`t2`.`profile_id` AS `profile_id`,`test`.`t3`.`id` AS `id`,`test`.`t3`.`REV` AS `REV`,`test`.`t3`.`person_id` AS `person_id`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`REV` AS `REV` from `test`.`t1` join `test`.`t2` join `test`.`t3` join `test`.`t4` where ((`test`.`t2`.`REVTYPE` = 2) and (`test`.`t4`.`id` = `test`.`t3`.`person_id`) and (`test`.`t3`.`id` = `test`.`t2`.`profile_id`) and (`test`.`t1`.`id` = `test`.`t2`.`REV`) and (`test`.`t1`.`timestamp` < 1294664900039) and (`test`.`t1`.`timestamp` > 1294644616416)) +SELECT * +FROM t1 INNER JOIN t2 ON t2.REV=t1.id +INNER JOIN t3 ON t3.id=t2.profile_id +INNER JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 AND +t2.REVTYPE=2; +id timestamp modifiedBy id REV REVTYPE profile_id id REV person_id id REV +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 1 300003 300003 1 +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 117548 300006 300006 1 +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 117548 300006 300006 97697 +# This should have join order of t2,t3,t4,t1 with the same plan as above +# because all RIGHT JOIN operations are converted into INNER JOIN +EXPLAIN EXTENDED SELECT * +FROM t1 RIGHT JOIN t2 ON t2.REV=t1.id +RIGHT JOIN t3 ON t3.id=t2.profile_id +RIGHT JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 +AND t2.REVTYPE=2; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 42 100.00 Using where +1 SIMPLE t3 ref PRIMARY PRIMARY 4 test.t2.profile_id 1 100.00 Using where +1 SIMPLE t4 ref PRIMARY PRIMARY 4 test.t3.person_id 1 100.00 Using index +1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.REV 1 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`timestamp` AS `timestamp`,`test`.`t1`.`modifiedBy` AS `modifiedBy`,`test`.`t2`.`id` AS `id`,`test`.`t2`.`REV` AS `REV`,`test`.`t2`.`REVTYPE` AS `REVTYPE`,`test`.`t2`.`profile_id` AS `profile_id`,`test`.`t3`.`id` AS `id`,`test`.`t3`.`REV` AS `REV`,`test`.`t3`.`person_id` AS `person_id`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`REV` AS `REV` from `test`.`t4` join `test`.`t3` join `test`.`t2` join `test`.`t1` where ((`test`.`t2`.`REVTYPE` = 2) and (`test`.`t1`.`id` = `test`.`t2`.`REV`) and (`test`.`t3`.`id` = `test`.`t2`.`profile_id`) and (`test`.`t4`.`id` = `test`.`t3`.`person_id`) and (`test`.`t1`.`timestamp` < 1294664900039) and (`test`.`t1`.`timestamp` > 1294644616416)) +SELECT * +FROM t1 RIGHT JOIN t2 ON t2.REV=t1.id +RIGHT JOIN t3 ON t3.id=t2.profile_id +RIGHT JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 +AND t2.REVTYPE=2; +id timestamp modifiedBy id REV REVTYPE profile_id id REV person_id id REV +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 1 300003 300003 1 +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 117548 300006 300006 1 +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 117548 300006 300006 97697 +DROP TABLE t1,t2,t3,t4; +# end of 10.1 tests SET optimizer_switch=@save_optimizer_switch; diff --git a/mysql-test/r/join_outer_innodb.result b/mysql-test/r/join_outer_innodb.result index 339cc59ed..538f97630 100644 --- a/mysql-test/r/join_outer_innodb.result +++ b/mysql-test/r/join_outer_innodb.result @@ -486,7 +486,7 @@ Note 1051 Unknown table 'test.t2' Note 1051 Unknown table 'test.t3' create table t2(a int,unique key (a)) engine=innodb; create table t3(b int) engine=innodb; -create table t1(a int,b int)engine=innodb; +create table t1(c int,b int)engine=innodb; set @mdev4270_opl= @@optimizer_prune_level; set @mdev4270_osd= @@optimizer_search_depth; set optimizer_prune_level=0; diff --git a/mysql-test/r/join_outer_jcl6.result b/mysql-test/r/join_outer_jcl6.result index faad87468..568b832f8 100644 --- a/mysql-test/r/join_outer_jcl6.result +++ b/mysql-test/r/join_outer_jcl6.result @@ -2458,7 +2458,7 @@ t1.b1+'0' t2.b2 + '0' 0 0 1 1 DROP TABLE t1, t2; -set @join_cache_level= @save_join_cache_level; +set @@join_cache_level= @save_join_cache_level; # # MDEV-14779: using left join causes incorrect results with materialization and derived tables # @@ -2523,7 +2523,178 @@ WHERE tb1.pk = 40 ORDER BY tb1.i1; v2 DROP TABLE t1,t2; +# +# MDEV-19790 : IS NOT TRUE / IS NOT FALSE predicates over +# inner tables of outer joins +# +create table t1 (a int); +create table t2 (b int); +insert into t1 values (3), (7), (1); +insert into t2 values (7), (4), (3); +select * from t1 left join t2 on a=b; +a b +7 7 +3 3 +1 NULL +select * from t1 left join t2 on a=b where (b > 3) is not true; +a b +3 3 +1 NULL +explain extended select * from t1 left join t2 on a=b where (b > 3) is not true; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`b` = `test`.`t1`.`a`)) where ((`test`.`t2`.`b` > 3) is not true) +select * from t1 left join t2 on a=b where (b > 3) is not false; +a b +7 7 +1 NULL +explain extended select * from t1 left join t2 on a=b where (b > 3) is not false; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer (flat, BNL join) +Warnings: +Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`b` = `test`.`t1`.`a`)) where ((`test`.`t2`.`b` > 3) is not false) +drop table t1,t2; # end of 5.5 tests +# +# MDEV-19258: chained right joins all converted to inner joins +# +CREATE TABLE t1 ( +id int NOT NULL AUTO_INCREMENT, +timestamp bigint NOT NULL, +modifiedBy varchar(255) DEFAULT NULL, +PRIMARY KEY (id) +); +CREATE TABLE t2 ( +id int NOT NULL, +REV int NOT NULL, +REVTYPE tinyint DEFAULT NULL, +profile_id int DEFAULT NULL, +PRIMARY KEY (id,REV) +); +CREATE TABLE t3 ( +id int NOT NULL, +REV int NOT NULL, +person_id int DEFAULT NULL, +PRIMARY KEY (id,REV) +); +CREATE TABLE t4 ( +id int NOT NULL, +REV int NOT NULL, +PRIMARY KEY (id,REV) +); +INSERT INTO t1 VALUES +(1,1294391193890,'Cxqy$*9.kKeE'),(2,1294643906883,'rE4wqGV0gif@'), +(3,1294643927456,'L?3yt(%dY$Br'),(4,1294644343525,'WH&ObiZ$#2S4'), +(5,1294644616416,'YXnCbt?olUZ0'),(6,1294644954537,'8Npe4!(#lU@k'), +(7,1294645046659,'knc0GhXB1#ib'),(8,1294645183829,'w*oPpVfuS8^m'), +(9,1294645386701,'hwXR@3qVzrbU'),(10,1294645525982,'BeLW*Y9ndP0l'), +(11,1294645627723,'nTegib^)qZ$I'),(12,1294650860266,'u62C^Kzx3wH8'), +(13,1294657613745,'4&BkFjGa!qLg'),(14,1294660627161,')anpt312SCoh'), +(15,1294661023336,'LtJ2PX?*kTmx'),(16,1294662838066,'POGRr@?#ofpl'), +(17,1294663020989,'o.)1EOT2jnF7'),(18,1294663308065,'&TZ0F0LHE6.h'), +(19,1294664900039,'j)kSC%^In$9d'),(20,1294668904556,'97glN50)cAo.'), +(21,1294728056853,'lrKZxmw?I.Ek'),(22,1294728157174,'@P*SRg!pT.q?'), +(23,1294728327099,'W9gPrptF.)8n'),(24,1294728418481,'$q*c^sM&URd#'), +(25,1294728729620,'9*f4&bTPRtHo'),(26,1294728906014,')4VtTEnS7$oI'), +(27,1294732190003,'8dkNSPq2u3AQ'),(28,1294733205065,'SV2N6IoEf438'), +(29,1294741984927,'rBKj.0S^Ey%*'),(30,1294751748352,'j$2DvlBqk)Fw'), +(31,1294753902212,'C$N6OrEw8elz'),(32,1294758120598,'DCSVZw!rnxXq'), +(33,1294761769556,'OTS@QU8a6s5c'),(34,1294816845305,'IUE2stG0D3L5'), +(35,1294816966909,'Xd16yka.9nHe'),(36,1294817116302,'lOQHZpm%!8qb'), +(37,1294817374775,'^&pE3IhNf7ey'),(38,1294817538907,'oEn4#7C0Vhfp'), +(39,1294818482950,'bx54J*O0Va&?'),(40,1294819047024,'J%@a&1.qgdb?'), +(41,1294821826077,'C9kojr$L3Phz'),(42,1294825454458,'gG#BOnM80ZPi'), +(43,1294904129918,'F^!TrjM#zdvc'),(44,1294904254166,'Va&Tb)k0RvlM'), +(45,1294904414964,'dJjq0M6HvhR#'),(46,1294904505784,'nJmxg)ELqY(b'), +(47,1294904602835,'dhF#or$Vge!7'),(48,1294904684728,'?bIh5E3l!0em'), +(49,1294904877898,'Y*WflOdcxnk.'),(50,1294905002390,'*?H!lUgez5A.'), +(51,1294905096043,'wlEIY3n9uz!p'),(52,1294905404621,'T?qv3H6&hlQD'), +(53,1294905603922,'S@Bhys^Ti7bt'),(54,1294905788416,'KR?a5NVukz#l'), +(55,1294905993190,'A*&q4kWhED!o'),(56,1294906205254,'fT0%7z0DF6h*'), +(57,1294906319680,'LhzdW4?ivjR0'),(58,1294906424296,'h0KDlns%U*6T'), +(59,1294906623844,'b$CfB1noI6Ax'),(60,1294911258896,'#T1*LP!3$Oys'); +INSERT INTO t2 VALUES +(1,1,0,10209),(1,42480,1,10209),(1,61612,1,10209),(1,257545,1,10209), +(1,385332,1,10209),(1,1687999,1,10209),(3,1,0,10210),(3,617411,2,10210), +(4,11,0,14),(4,95149,1,10211),(4,607890,2,10211),(5,1,0,10212), +(6,1,0,10213),(6,93344,1,10213),(6,295578,1,10213),(6,295579,1,10213), +(6,295644,1,10213),(7,1,0,10214),(7,12,1,7),(7,688796,1,10214), +(7,1140433,1,10214),(7,1715227,1,10214),(8,1,0,10215),(8,74253,1,10215), +(8,93345,1,10215),(8,12,2,2),(9,1,0,10216),(9,93342,1,10216), +(9,122354,1,10216),(9,301499,2,10216),(10,11,0,5),(10,93343,1,10217), +(10,122355,1,10217),(10,123050,1,10217),(10,301500,2,10217),(11,1,0,10218), +(11,87852,1,10218),(11,605499,2,10218),(12,1,0,10219),(12,88024,1,10219), +(12,605892,2,10219),(13,1,0,10220); +INSERT INTO t3 VALUES +(1,1,300003),(1,117548,NULL),(2,1,300003),(2,117548,300006), +(3,1,300153),(3,117548,NULL),(4,1,300153),(4,117548,NULL), +(5,1,300153),(5,117548,NULL),(6,1,300182),(6,117548,NULL), +(7,1,300205),(7,117548,NULL),(8,1,300217),(8,117548,NULL), +(9,1,300290),(9,117548,NULL),(10,1,300290),(10,117548,NULL), +(11,1,300405),(11,117548,NULL),(12,1,300670),(12,117548,NULL), +(13,1,300670),(13,117548,NULL),(14,1,300006),(14,117548,NULL), +(15,1,300671),(15,117548,NULL),(16,1,300732),(16,117548,NULL); +INSERT INTO t4 VALUES +(300000,1),(300001,1),(300003,1),(300004,1), +(300005,1),(300005,688796),(300006,1),(300006,97697), +(300009,1),(300010,1),(300011,1),(300012,1),(300013,1), +(300014,1),(300015,1),(300016,1),(300017,1),(300018,1), +(300019,1),(300020,1),(300021,1),(300022,1),(300023,1), +(300024,1),(300025,1),(300026,1),(300027,1),(300028,1); +# This should have join order of t2,t3,t4,t1 +EXPLAIN EXTENDED SELECT * +FROM t1 INNER JOIN t2 ON t2.REV=t1.id +INNER JOIN t3 ON t3.id=t2.profile_id +INNER JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 AND +t2.REVTYPE=2; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 42 100.00 Using where +1 SIMPLE t3 ref PRIMARY PRIMARY 4 test.t2.profile_id 1 100.00 Using where +1 SIMPLE t4 ref PRIMARY PRIMARY 4 test.t3.person_id 1 100.00 Using index +1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.REV 1 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`timestamp` AS `timestamp`,`test`.`t1`.`modifiedBy` AS `modifiedBy`,`test`.`t2`.`id` AS `id`,`test`.`t2`.`REV` AS `REV`,`test`.`t2`.`REVTYPE` AS `REVTYPE`,`test`.`t2`.`profile_id` AS `profile_id`,`test`.`t3`.`id` AS `id`,`test`.`t3`.`REV` AS `REV`,`test`.`t3`.`person_id` AS `person_id`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`REV` AS `REV` from `test`.`t1` join `test`.`t2` join `test`.`t3` join `test`.`t4` where ((`test`.`t2`.`REVTYPE` = 2) and (`test`.`t4`.`id` = `test`.`t3`.`person_id`) and (`test`.`t3`.`id` = `test`.`t2`.`profile_id`) and (`test`.`t1`.`id` = `test`.`t2`.`REV`) and (`test`.`t1`.`timestamp` < 1294664900039) and (`test`.`t1`.`timestamp` > 1294644616416)) +SELECT * +FROM t1 INNER JOIN t2 ON t2.REV=t1.id +INNER JOIN t3 ON t3.id=t2.profile_id +INNER JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 AND +t2.REVTYPE=2; +id timestamp modifiedBy id REV REVTYPE profile_id id REV person_id id REV +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 1 300003 300003 1 +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 117548 300006 300006 1 +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 117548 300006 300006 97697 +# This should have join order of t2,t3,t4,t1 with the same plan as above +# because all RIGHT JOIN operations are converted into INNER JOIN +EXPLAIN EXTENDED SELECT * +FROM t1 RIGHT JOIN t2 ON t2.REV=t1.id +RIGHT JOIN t3 ON t3.id=t2.profile_id +RIGHT JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 +AND t2.REVTYPE=2; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 42 100.00 Using where +1 SIMPLE t3 ref PRIMARY PRIMARY 4 test.t2.profile_id 1 100.00 Using where +1 SIMPLE t4 ref PRIMARY PRIMARY 4 test.t3.person_id 1 100.00 Using index +1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.REV 1 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`timestamp` AS `timestamp`,`test`.`t1`.`modifiedBy` AS `modifiedBy`,`test`.`t2`.`id` AS `id`,`test`.`t2`.`REV` AS `REV`,`test`.`t2`.`REVTYPE` AS `REVTYPE`,`test`.`t2`.`profile_id` AS `profile_id`,`test`.`t3`.`id` AS `id`,`test`.`t3`.`REV` AS `REV`,`test`.`t3`.`person_id` AS `person_id`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`REV` AS `REV` from `test`.`t4` join `test`.`t3` join `test`.`t2` join `test`.`t1` where ((`test`.`t2`.`REVTYPE` = 2) and (`test`.`t1`.`id` = `test`.`t2`.`REV`) and (`test`.`t3`.`id` = `test`.`t2`.`profile_id`) and (`test`.`t4`.`id` = `test`.`t3`.`person_id`) and (`test`.`t1`.`timestamp` < 1294664900039) and (`test`.`t1`.`timestamp` > 1294644616416)) +SELECT * +FROM t1 RIGHT JOIN t2 ON t2.REV=t1.id +RIGHT JOIN t3 ON t3.id=t2.profile_id +RIGHT JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 +AND t2.REVTYPE=2; +id timestamp modifiedBy id REV REVTYPE profile_id id REV person_id id REV +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 1 300003 300003 1 +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 117548 300006 300006 1 +12 1294650860266 u62C^Kzx3wH8 8 12 2 2 2 117548 300006 300006 97697 +DROP TABLE t1,t2,t3,t4; +# end of 10.1 tests SET optimizer_switch=@save_optimizer_switch; set join_cache_level=default; show variables like 'join_cache_level'; diff --git a/mysql-test/r/mdev13607.result b/mysql-test/r/mdev13607.result index 08848bc64..f5edfa6a8 100644 --- a/mysql-test/r/mdev13607.result +++ b/mysql-test/r/mdev13607.result @@ -76,21 +76,21 @@ id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY p7 ALL NULL NULL NULL NULL 50 Using where; Using join buffer (incremental, BNL join) 1 PRIMARY p8 ALL NULL NULL NULL NULL 50 Using where; Using join buffer (incremental, BNL join) 1 PRIMARY p9 ALL NULL NULL NULL NULL 50 Using where; Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) -1 PRIMARY ALL NULL NULL NULL NULL -1127208515966861312 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) +1 PRIMARY ALL NULL NULL NULL NULL 18446744073709551615 Using join buffer (incremental, BNL join) 17 DERIVED r1 ALL NULL NULL NULL NULL 2 17 DERIVED d1 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join) 17 DERIVED r2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (incremental, BNL join) diff --git a/mysql-test/r/multi_update.result b/mysql-test/r/multi_update.result index f614ea1e4..ec8ba1c53 100644 --- a/mysql-test/r/multi_update.result +++ b/mysql-test/r/multi_update.result @@ -1039,7 +1039,27 @@ triggered triggered drop table t1,t2, t3; drop user foo; -end of 5.5 tests +create table t1 (a int, b int); +create table t2 (c int, d int); +insert t1 values (1,2),(3,4); +insert t2 values (5,6),(7,8); +create table t0 (x int); +insert t0 values (11), (22); +create trigger tr1 before update on t2 for each row insert t0 values (new.c); +lock table t0 write; +update t1 join t2 on (a=c+4) set b=d; +drop table t1, t2, t0; +create table t1 (a int, b varchar(50), c varchar(50)); +insert t1 (a,b) values (1,'1'), (2,'2'), (3,'3'); +create function f1() returns varchar(50) return 'result'; +create trigger tr before update on t1 for each row set new.c = (select f1()); +create table t2 select a, b from t1; +update t1 join t2 using (a) set t1.b = t2.b; +drop table t1, t2; +drop function f1; +# +# end of 5.5 tests +# # Bug mdev-5970 # Bug#13256831 - ERROR 1032 (HY000): CAN'T FIND RECORD diff --git a/mysql-test/r/multi_update_debug.result b/mysql-test/r/multi_update_debug.result new file mode 100644 index 000000000..8bcd813e5 --- /dev/null +++ b/mysql-test/r/multi_update_debug.result @@ -0,0 +1,13 @@ +create table t1 (a int, b int); +create table t2 (c int, d int); +insert t1 values (1,2),(3,4); +insert t2 values (5,6),(7,8); +create table t0 (x int); +insert t0 values (11), (22); +create trigger tr1 before update on t1 for each row insert t0 values (new.b); +set debug_sync='open_tables_after_open_and_process_table WAIT_FOR cont'; +update t1 join t2 on (a=c+4) set b=d; +set debug_sync='mdl_acquire_lock_wait SIGNAL cont'; +lock table t1 write, t0 write; +drop table t1, t2, t0; +set debug_sync='reset'; diff --git a/mysql-test/r/multi_update_innodb.result b/mysql-test/r/multi_update_innodb.result index 643287c3a..5da8cf46f 100644 --- a/mysql-test/r/multi_update_innodb.result +++ b/mysql-test/r/multi_update_innodb.result @@ -67,3 +67,20 @@ SELECT * FROM t2; col_int_key pk_1 pk_2 col_int 1 2 3 4 DROP TABLE t1,t2; +create table t1 (id serial, size int(11)) engine=innodb; +create table t2 (id serial, size int, account_id int) engine=innodb; +create table t3 (id serial, size int, article_id int) engine=innodb; +create table t4 (id serial, file_id int, article_id int) engine=innodb; +insert t1 values(null, 400); +insert t2 values(null, 0, 1), (null, 1, 1); +insert t3 values(null, 100, 1); +insert t4 values(null, 1, 2); +create trigger file_update_article before update on t3 for each row +update t2 set t2.size = new.size where t2.id = new.article_id; +create trigger article_update_account before update on t2 for each row +update t1 set t1.size = t1.size + new.size where t1.id = new.account_id; +update t3 join t4 on t4.file_id =t3.id and t4.article_id=2 set t3.size=t3.size + 2; +drop table t1, t2, t3, t4; +# +# end of 5.5 tests +# diff --git a/mysql-test/r/mysqld--help.result b/mysql-test/r/mysqld--help.result index 4ff44dcd2..68aa84b6d 100644 --- a/mysql-test/r/mysqld--help.result +++ b/mysql-test/r/mysqld--help.result @@ -1,4 +1,4 @@ -Windows bug: happens when a new line is exactly at the right offset. +Windows bug: new line disappears when it is exactly at the right offset. The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file. @@ -115,7 +115,9 @@ The following specify which files/extra groups are read (specified before remain that this is a limit per thread! --changed-page-bitmaps[=name] Enable or disable CHANGED_PAGE_BITMAPS plugin. One of: - ON, OFF, FORCE (don't start if the plugin fails to load). + ON, OFF, FORCE (don't start if the plugin fails to load), + FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not + be uninstalled). --character-set-client-handshake Don't ignore client side character set value sent during handshake. diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index 25c1931d0..8d8e3b7ed 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -5610,3 +5610,21 @@ DROP FUNCTION f; # DROP VIEW v1; DROP FUNCTION f; +# +# MDEV-788 New option to ignore foreign key contraints in mysqlimport +# +create table t1 ( +id int primary key +) engine=InnoDB; +create table t2 ( +t1_id int, +CONSTRAINT fk +FOREIGN KEY (t1_id) REFERENCES t1 (id) +) ENGINE = InnoDB; +select count(*) from t2; +count(*) +1 +select count(*) from t2; +count(*) +2 +drop tables t2, t1; diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result index 3a141a25b..93a150ae4 100644 --- a/mysql-test/r/plugin.result +++ b/mysql-test/r/plugin.result @@ -318,6 +318,15 @@ UNUSABLE uninstall soname 'ha_example'; select plugin_name from information_schema.plugins where plugin_library like 'ha_example%'; plugin_name +set names utf8; +select convert('admin𝌆' using utf8); +convert('admin𝌆' using utf8) +admin???? +Warnings: +Warning 1300 Invalid utf8 character string: '\xF0\x9D\x8C\x86' +install plugin foo soname 'admin𝌆'; +ERROR HY000: No paths allowed for shared library +# End of 5.5 test # # MDEV-5309 - RENAME TABLE does not check for existence of the table's # engine @@ -331,3 +340,4 @@ UNINSTALL PLUGIN example; RENAME TABLE t1 TO t2; ERROR 42S02: Table 'test.t1' doesn't exist DROP TABLE t1; +# End of 10.1 test diff --git a/mysql-test/r/plugin_not_embedded.result b/mysql-test/r/plugin_not_embedded.result index 8106abc49..b31eb80f1 100644 --- a/mysql-test/r/plugin_not_embedded.result +++ b/mysql-test/r/plugin_not_embedded.result @@ -11,3 +11,6 @@ UNINSTALL PLUGIN example; DROP USER bug51770@localhost; INSTALL PLUGIN example SONAME '../ha_example.so'; ERROR HY000: No paths allowed for shared library +insert mysql.plugin values (); +delete from mysql.plugin where name = ''; +# End of 5.5 tests diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result index 0d305b37b..a2d5f14c1 100644 --- a/mysql-test/r/ps.result +++ b/mysql-test/r/ps.result @@ -4356,6 +4356,69 @@ LINE1 1 LINE2 2 LINE3 3 drop table t1; +# +# MDEV-17042: prepared statement does not return error with +# SQL_MODE STRICT_TRANS_TABLES. (Part 1) +# +set @save_sql_mode=@@sql_mode; +set sql_mode='STRICT_ALL_TABLES'; +CREATE TABLE t1 (id int, count int); +insert into t1 values (1,1),(0,2); +update t1 set count = count + 1 where id = '1bad'; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +execute stmt; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +deallocate prepare stmt; +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +execute stmt using @a; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +deallocate prepare stmt; +drop table t1; +CREATE TABLE t1 (id decimal(10,5), count int); +insert into t1 values (1,1),(0,2); +update t1 set count = count + 1 where id = '1bad'; +ERROR 22007: Truncated incorrect DECIMAL value: '1bad' +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +execute stmt; +ERROR 22007: Truncated incorrect DECIMAL value: '1bad' +deallocate prepare stmt; +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +execute stmt using @a; +ERROR 22007: Truncated incorrect DECIMAL value: '1bad' +deallocate prepare stmt; +drop table t1; +CREATE TABLE t1 (id double, count int); +insert into t1 values (1,1),(0,2); +update t1 set count = count + 1 where id = '1bad'; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +execute stmt; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +deallocate prepare stmt; +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +execute stmt using @a; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +deallocate prepare stmt; +drop table t1; +CREATE TABLE t1 (id date, count int); +insert into t1 values ("2019-06-11",1),("2019-06-12",2); +update t1 set count = count + 1 where id = '1bad'; +ERROR 22007: Incorrect datetime value: '1bad' +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +execute stmt; +ERROR 22007: Incorrect datetime value: '1bad' +deallocate prepare stmt; +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +execute stmt using @a; +ERROR 22007: Incorrect datetime value: '1bad' +deallocate prepare stmt; +drop table t1; +set sql_mode=@save_sql_mode; # End of 5.5 tests # # Start of 10.1 tests diff --git a/mysql-test/r/ps_innodb.result b/mysql-test/r/ps_innodb.result new file mode 100644 index 000000000..a4fa62e3f --- /dev/null +++ b/mysql-test/r/ps_innodb.result @@ -0,0 +1,64 @@ +# +# MDEV-17042: prepared statement does not return error with +# SQL_MODE STRICT_TRANS_TABLES. (Part 2) +# +set @save_sql_mode=@@sql_mode; +set sql_mode='STRICT_TRANS_TABLES'; +CREATE TABLE t1 (id int, count int) engine=innodb; +insert into t1 values (1,1),(0,2); +update t1 set count = count + 1 where id = '1bad'; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +execute stmt; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +deallocate prepare stmt; +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +execute stmt using @a; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +deallocate prepare stmt; +drop table t1; +CREATE TABLE t1 (id decimal(10,5), count int) engine=innodb; +insert into t1 values (1,1),(0,2); +update t1 set count = count + 1 where id = '1bad'; +ERROR 22007: Truncated incorrect DECIMAL value: '1bad' +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +execute stmt; +ERROR 22007: Truncated incorrect DECIMAL value: '1bad' +deallocate prepare stmt; +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +execute stmt using @a; +ERROR 22007: Truncated incorrect DECIMAL value: '1bad' +deallocate prepare stmt; +drop table t1; +CREATE TABLE t1 (id double, count int) engine=innodb; +insert into t1 values (1,1),(0,2); +update t1 set count = count + 1 where id = '1bad'; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +execute stmt; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +deallocate prepare stmt; +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +execute stmt using @a; +ERROR 22007: Truncated incorrect DOUBLE value: '1bad' +deallocate prepare stmt; +drop table t1; +CREATE TABLE t1 (id date, count int) engine=innodb; +insert into t1 values ("2019-06-11",1),("2019-06-12",2); +update t1 set count = count + 1 where id = '1bad'; +ERROR 22007: Incorrect datetime value: '1bad' +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +execute stmt; +ERROR 22007: Incorrect datetime value: '1bad' +deallocate prepare stmt; +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +execute stmt using @a; +ERROR 22007: Incorrect datetime value: '1bad' +deallocate prepare stmt; +drop table t1; +set sql_mode=@save_sql_mode; +# End of 5.5 tests diff --git a/mysql-test/r/repair_symlink-5543.result b/mysql-test/r/repair_symlink-5543.result index c77e7162a..2024c9f56 100644 --- a/mysql-test/r/repair_symlink-5543.result +++ b/mysql-test/r/repair_symlink-5543.result @@ -1,7 +1,7 @@ create table t1 (a int) engine=myisam data directory='MYSQL_TMP_DIR'; insert t1 values (1); -# Some systems fail with errcode 40, when doing openat, while others -# don't have openat and fail with errcode 20. +# Some systems fail with errcode 40, or 90 (MIPS) when doing openat, +# while others don't have openat and fail with errcode 20. repair table t1; Table Op Msg_type Msg_text test.t1 repair error 20 for record at pos 0 diff --git a/mysql-test/r/selectivity.result b/mysql-test/r/selectivity.result index 2e69f674e..ba7c9c593 100644 --- a/mysql-test/r/selectivity.result +++ b/mysql-test/r/selectivity.result @@ -400,7 +400,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 3 SUBQUERY customer ALL NULL NULL NULL NULL 150 100.00 Using where Warnings: Note 1276 Field or reference 'dbt3_s001.customer.c_custkey' of SELECT #4 was resolved in SELECT #2 -Note 1003 select substr(`dbt3_s001`.`customer`.`c_phone`,1,2) AS `cntrycode`,count(0) AS `numcust`,sum(`dbt3_s001`.`customer`.`c_acctbal`) AS `totacctbal` from `dbt3_s001`.`customer` where ((substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25')) and (`dbt3_s001`.`customer`.`c_acctbal` > (select avg(`dbt3_s001`.`customer`.`c_acctbal`) from `dbt3_s001`.`customer` where ((`dbt3_s001`.`customer`.`c_acctbal` > 0.00) and (substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25'))))) and (not((1,exists(select 1 from `dbt3_s001`.`orders` where (`dbt3_s001`.`orders`.`o_custkey` = `dbt3_s001`.`customer`.`c_custkey`)))))) group by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) order by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) +Note 1003 select substr(`dbt3_s001`.`customer`.`c_phone`,1,2) AS `cntrycode`,count(0) AS `numcust`,sum(`dbt3_s001`.`customer`.`c_acctbal`) AS `totacctbal` from `dbt3_s001`.`customer` where ((substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25')) and (`dbt3_s001`.`customer`.`c_acctbal` > (select avg(`dbt3_s001`.`customer`.`c_acctbal`) from `dbt3_s001`.`customer` where ((`dbt3_s001`.`customer`.`c_acctbal` > 0.00) and (substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25'))))) and (not((1,exists(select 1 from `dbt3_s001`.`orders` where (`dbt3_s001`.`orders`.`o_custkey` = `dbt3_s001`.`customer`.`c_custkey`) limit 1))))) group by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) order by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) select cntrycode, count(*) as numcust, sum(c_acctbal) as totacctbal from ( select substr(c_phone, 1, 2) as cntrycode, c_acctbal @@ -441,7 +441,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 3 SUBQUERY customer ALL NULL NULL NULL NULL 150 91.00 Using where Warnings: Note 1276 Field or reference 'dbt3_s001.customer.c_custkey' of SELECT #4 was resolved in SELECT #2 -Note 1003 select substr(`dbt3_s001`.`customer`.`c_phone`,1,2) AS `cntrycode`,count(0) AS `numcust`,sum(`dbt3_s001`.`customer`.`c_acctbal`) AS `totacctbal` from `dbt3_s001`.`customer` where ((substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25')) and (`dbt3_s001`.`customer`.`c_acctbal` > (select avg(`dbt3_s001`.`customer`.`c_acctbal`) from `dbt3_s001`.`customer` where ((`dbt3_s001`.`customer`.`c_acctbal` > 0.00) and (substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25'))))) and (not((1,exists(select 1 from `dbt3_s001`.`orders` where (`dbt3_s001`.`orders`.`o_custkey` = `dbt3_s001`.`customer`.`c_custkey`)))))) group by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) order by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) +Note 1003 select substr(`dbt3_s001`.`customer`.`c_phone`,1,2) AS `cntrycode`,count(0) AS `numcust`,sum(`dbt3_s001`.`customer`.`c_acctbal`) AS `totacctbal` from `dbt3_s001`.`customer` where ((substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25')) and (`dbt3_s001`.`customer`.`c_acctbal` > (select avg(`dbt3_s001`.`customer`.`c_acctbal`) from `dbt3_s001`.`customer` where ((`dbt3_s001`.`customer`.`c_acctbal` > 0.00) and (substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25'))))) and (not((1,exists(select 1 from `dbt3_s001`.`orders` where (`dbt3_s001`.`orders`.`o_custkey` = `dbt3_s001`.`customer`.`c_custkey`) limit 1))))) group by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) order by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) select cntrycode, count(*) as numcust, sum(c_acctbal) as totacctbal from ( select substr(c_phone, 1, 2) as cntrycode, c_acctbal @@ -985,7 +985,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 SUBQUERY t2 ALL NULL NULL NULL NULL 7 100.00 2 SUBQUERY t1 ALL NULL NULL NULL NULL 14 100.00 Using join buffer (flat, BNL join) Warnings: -Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t1` join `test`.`t2` where ((((1,exists(select 1 from `test`.`t1` join `test`.`t2`))) and (`test`.`t1`.`a` <> `test`.`t2`.`b`)) or (`test`.`t1`.`a` <= 4)) +Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t1` join `test`.`t2` where ((((1,exists(select 1 from `test`.`t1` join `test`.`t2` limit 1))) and (`test`.`t1`.`a` <> `test`.`t2`.`b`)) or (`test`.`t1`.`a` <= 4)) set optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity; DROP TABLE t1,t2; set use_stat_tables=@save_use_stat_tables; diff --git a/mysql-test/r/selectivity_innodb.result b/mysql-test/r/selectivity_innodb.result index d3e71088f..9898acd1f 100644 --- a/mysql-test/r/selectivity_innodb.result +++ b/mysql-test/r/selectivity_innodb.result @@ -403,7 +403,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 3 SUBQUERY customer ALL NULL NULL NULL NULL 150 100.00 Using where Warnings: Note 1276 Field or reference 'dbt3_s001.customer.c_custkey' of SELECT #4 was resolved in SELECT #2 -Note 1003 select substr(`dbt3_s001`.`customer`.`c_phone`,1,2) AS `cntrycode`,count(0) AS `numcust`,sum(`dbt3_s001`.`customer`.`c_acctbal`) AS `totacctbal` from `dbt3_s001`.`customer` where ((substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25')) and (`dbt3_s001`.`customer`.`c_acctbal` > (select avg(`dbt3_s001`.`customer`.`c_acctbal`) from `dbt3_s001`.`customer` where ((`dbt3_s001`.`customer`.`c_acctbal` > 0.00) and (substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25'))))) and (not((1,exists(select 1 from `dbt3_s001`.`orders` where (`dbt3_s001`.`orders`.`o_custkey` = `dbt3_s001`.`customer`.`c_custkey`)))))) group by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) order by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) +Note 1003 select substr(`dbt3_s001`.`customer`.`c_phone`,1,2) AS `cntrycode`,count(0) AS `numcust`,sum(`dbt3_s001`.`customer`.`c_acctbal`) AS `totacctbal` from `dbt3_s001`.`customer` where ((substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25')) and (`dbt3_s001`.`customer`.`c_acctbal` > (select avg(`dbt3_s001`.`customer`.`c_acctbal`) from `dbt3_s001`.`customer` where ((`dbt3_s001`.`customer`.`c_acctbal` > 0.00) and (substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25'))))) and (not((1,exists(select 1 from `dbt3_s001`.`orders` where (`dbt3_s001`.`orders`.`o_custkey` = `dbt3_s001`.`customer`.`c_custkey`) limit 1))))) group by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) order by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) select cntrycode, count(*) as numcust, sum(c_acctbal) as totacctbal from ( select substr(c_phone, 1, 2) as cntrycode, c_acctbal @@ -444,7 +444,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 3 SUBQUERY customer ALL NULL NULL NULL NULL 150 91.00 Using where Warnings: Note 1276 Field or reference 'dbt3_s001.customer.c_custkey' of SELECT #4 was resolved in SELECT #2 -Note 1003 select substr(`dbt3_s001`.`customer`.`c_phone`,1,2) AS `cntrycode`,count(0) AS `numcust`,sum(`dbt3_s001`.`customer`.`c_acctbal`) AS `totacctbal` from `dbt3_s001`.`customer` where ((substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25')) and (`dbt3_s001`.`customer`.`c_acctbal` > (select avg(`dbt3_s001`.`customer`.`c_acctbal`) from `dbt3_s001`.`customer` where ((`dbt3_s001`.`customer`.`c_acctbal` > 0.00) and (substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25'))))) and (not((1,exists(select 1 from `dbt3_s001`.`orders` where (`dbt3_s001`.`orders`.`o_custkey` = `dbt3_s001`.`customer`.`c_custkey`)))))) group by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) order by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) +Note 1003 select substr(`dbt3_s001`.`customer`.`c_phone`,1,2) AS `cntrycode`,count(0) AS `numcust`,sum(`dbt3_s001`.`customer`.`c_acctbal`) AS `totacctbal` from `dbt3_s001`.`customer` where ((substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25')) and (`dbt3_s001`.`customer`.`c_acctbal` > (select avg(`dbt3_s001`.`customer`.`c_acctbal`) from `dbt3_s001`.`customer` where ((`dbt3_s001`.`customer`.`c_acctbal` > 0.00) and (substr(`dbt3_s001`.`customer`.`c_phone`,1,2) in ('10','20','14','19','11','28','25'))))) and (not((1,exists(select 1 from `dbt3_s001`.`orders` where (`dbt3_s001`.`orders`.`o_custkey` = `dbt3_s001`.`customer`.`c_custkey`) limit 1))))) group by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) order by substr(`dbt3_s001`.`customer`.`c_phone`,1,2) select cntrycode, count(*) as numcust, sum(c_acctbal) as totacctbal from ( select substr(c_phone, 1, 2) as cntrycode, c_acctbal @@ -995,7 +995,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 SUBQUERY t2 ALL NULL NULL NULL NULL 7 100.00 2 SUBQUERY t1 ALL NULL NULL NULL NULL 14 100.00 Using join buffer (flat, BNL join) Warnings: -Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t1` join `test`.`t2` where ((((1,exists(select 1 from `test`.`t1` join `test`.`t2`))) and (`test`.`t1`.`a` <> `test`.`t2`.`b`)) or (`test`.`t1`.`a` <= 4)) +Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t1` join `test`.`t2` where ((((1,exists(select 1 from `test`.`t1` join `test`.`t2` limit 1))) and (`test`.`t1`.`a` <> `test`.`t2`.`b`)) or (`test`.`t1`.`a` <= 4)) set optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity; DROP TABLE t1,t2; set use_stat_tables=@save_use_stat_tables; diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index e39754159..1704e7cd2 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -8319,4 +8319,18 @@ UNION SELECT * FROM INFORMATION_SCHEMA.TABLES JOIN INFORMATION_SCHEMA.PARAMETERS; DROP FUNCTION f; DROP VIEW v; +# +# MDEV-17963: Assertion `field_pos < field_count' failed in Protocol_text::store, +# Assertion `field_handlers == 0 || field_pos < field_count' +# +CREATE TABLE t1 (ct time); +INSERT INTO t1 VALUES ('16:11:28'); +CREATE FUNCTION f1 () RETURNS varchar(100) +BEGIN +DECLARE xxx varchar(100); +ANALYZE SELECT sum(ct) FROM t1 INTO xxx ; +RETURN xxx; +END| +ERROR 0A000: Not allowed to return a result set from a function +drop table t1; #End of 10.1 tests diff --git a/mysql-test/r/stat_tables.result b/mysql-test/r/stat_tables.result index bd3e9ed7a..d26221b5f 100644 --- a/mysql-test/r/stat_tables.result +++ b/mysql-test/r/stat_tables.result @@ -692,5 +692,53 @@ DROP DATABASE dbt3_s001; delete from mysql.table_stats; delete from mysql.column_stats; delete from mysql.index_stats; +# +# MDEV-19352: Server crash in alloc_histograms_for_table_share upon query from information schema +# +use test; +set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity; +set @@optimizer_use_condition_selectivity= 4; +set use_stat_tables='preferably'; +CREATE TABLE t1 (a INT); +CREATE TABLE t2 (b INT); +CREATE VIEW v AS SELECT * FROM t1 JOIN t2; +INSERT INTO t2 SELECT * FROM x; +ERROR 42S02: Table 'test.x' doesn't exist +select * from information_schema.tables where table_name='v'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT +def test v VIEW NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL VIEW +set @@optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity; +drop table t1,t2; +drop view v; +# +# MDEV-19407: Assertion `field->table->stats_is_read' failed in is_eits_usable +# +set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity; +set @@optimizer_use_condition_selectivity= 1; +set @@use_stat_tables='never'; +create table t1(pk int); +insert into t1 values (4),(3); +set @@optimizer_use_condition_selectivity= 4; +set use_stat_tables='preferably'; +INSERT INTO t1 SELECT * FROM x; +ERROR 42S02: Table 'test.x' doesn't exist +CREATE TABLE t2 SELECT pk FROM t1 WHERE pk>2; +select * from t2; +pk +4 +3 +drop table t1,t2; +create table t1(a int,b int, key k1(a) ); +insert into t1 values(1,1),(2,2),(3,3); +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +select * from mysql.index_stats, t1 where index_name='k1' and t1.a > 1 and t1.b > 1; +db_name table_name index_name prefix_arity avg_frequency a b +test t1 k1 1 1.0000 2 2 +test t1 k1 1 1.0000 3 3 +drop table t1; +set @@optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity; set @save_optimizer_switch=@@optimizer_switch; set use_stat_tables=@save_use_stat_tables; diff --git a/mysql-test/r/stat_tables_innodb.result b/mysql-test/r/stat_tables_innodb.result index 579d19462..b8bed6814 100644 --- a/mysql-test/r/stat_tables_innodb.result +++ b/mysql-test/r/stat_tables_innodb.result @@ -719,6 +719,54 @@ DROP DATABASE dbt3_s001; delete from mysql.table_stats; delete from mysql.column_stats; delete from mysql.index_stats; +# +# MDEV-19352: Server crash in alloc_histograms_for_table_share upon query from information schema +# +use test; +set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity; +set @@optimizer_use_condition_selectivity= 4; +set use_stat_tables='preferably'; +CREATE TABLE t1 (a INT); +CREATE TABLE t2 (b INT); +CREATE VIEW v AS SELECT * FROM t1 JOIN t2; +INSERT INTO t2 SELECT * FROM x; +ERROR 42S02: Table 'test.x' doesn't exist +select * from information_schema.tables where table_name='v'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT +def test v VIEW NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL VIEW +set @@optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity; +drop table t1,t2; +drop view v; +# +# MDEV-19407: Assertion `field->table->stats_is_read' failed in is_eits_usable +# +set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity; +set @@optimizer_use_condition_selectivity= 1; +set @@use_stat_tables='never'; +create table t1(pk int); +insert into t1 values (4),(3); +set @@optimizer_use_condition_selectivity= 4; +set use_stat_tables='preferably'; +INSERT INTO t1 SELECT * FROM x; +ERROR 42S02: Table 'test.x' doesn't exist +CREATE TABLE t2 SELECT pk FROM t1 WHERE pk>2; +select * from t2; +pk +4 +3 +drop table t1,t2; +create table t1(a int,b int, key k1(a) ); +insert into t1 values(1,1),(2,2),(3,3); +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +select * from mysql.index_stats, t1 where index_name='k1' and t1.a > 1 and t1.b > 1; +db_name table_name index_name prefix_arity avg_frequency a b +test t1 k1 1 1.0000 2 2 +test t1 k1 1 1.0000 3 3 +drop table t1; +set @@optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity; set @save_optimizer_switch=@@optimizer_switch; set use_stat_tables=@save_use_stat_tables; set optimizer_switch=@save_optimizer_switch_for_stat_tables_test; diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index 69db09593..c2438775c 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -1893,7 +1893,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 test.tt.id 1 100.00 Using where; Using index Warnings: Note 1276 Field or reference 'test.tt.id' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,<`test`.`tt`.`id`>(exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null)))))) +Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,<`test`.`tt`.`id`>(exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null) limit 1))))) insert into t1 (id, text) values (1000, 'text1000'), (1001, 'text1001'); create table t2 (id int not null, text varchar(20) not null default '', primary key (id)); insert into t2 (id, text) values (1, 'text1'), (2, 'text2'), (3, 'text3'), (4, 'text4'), (5, 'text5'), (6, 'text6'), (7, 'text7'), (8, 'text8'), (9, 'text9'), (10, 'text10'), (11, 'text1'), (12, 'text2'), (13, 'text3'), (14, 'text4'), (15, 'text5'), (16, 'text6'), (17, 'text7'), (18, 'text8'), (19, 'text9'), (20, 'text10'),(21, 'text1'), (22, 'text2'), (23, 'text3'), (24, 'text4'), (25, 'text5'), (26, 'text6'), (27, 'text7'), (28, 'text8'), (29, 'text9'), (30, 'text10'), (31, 'text1'), (32, 'text2'), (33, 'text3'), (34, 'text4'), (35, 'text5'), (36, 'text6'), (37, 'text7'), (38, 'text8'), (39, 'text9'), (40, 'text10'), (41, 'text1'), (42, 'text2'), (43, 'text3'), (44, 'text4'), (45, 'text5'), (46, 'text6'), (47, 'text7'), (48, 'text8'), (49, 'text9'), (50, 'text10'); @@ -4452,7 +4452,7 @@ NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #1 -Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)))) +Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) limit 1)) DROP TABLE t1,t2; create table t0(a int); insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); @@ -6969,7 +6969,7 @@ WHERE SLEEP(0.1) OR c < 'p' OR b = ( SELECT MIN(b) FROM t2 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 1 PRIMARY t2 ALL b NULL NULL NULL 2 Using where -1 PRIMARY t3 ref d d 5 test.t2.b 2 Using where; Using index +1 PRIMARY t3 ref d d 5 test.t2.b 2 Using index 3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away set @tmp_mdev410=@@global.userstat; set global userstat=on; @@ -7251,6 +7251,37 @@ id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away drop table t1,t2; +# +# MDEV-19429: Wrong query result with EXISTS and LIMIT 0 +# +create table t10 (a int); +insert into t10 values (1),(2),(3); +create table t12 (a int); +insert into t12 values (1),(2),(3); +select * from t10 where exists (select * from t12 order by a limit 0); +a +explain select * from t10 where exists (select * from t12 order by a limit 0); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE +2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Zero limit +prepare stmt1 from "select * from t10 where exists (select * from t12 order by a limit ?)"; +set @l=1; +execute stmt1 using @l; +a +1 +2 +3 +set @l=2; +execute stmt1 using @l; +a +1 +2 +3 +set @l=0; +execute stmt1 using @l; +a +deallocate prepare stmt1; +drop table t10, t12; End of 5.5 tests # End of 10.0 tests # diff --git a/mysql-test/r/subselect_cache.result b/mysql-test/r/subselect_cache.result index 97a5f5a77..182df6ee2 100644 --- a/mysql-test/r/subselect_cache.result +++ b/mysql-test/r/subselect_cache.result @@ -3385,6 +3385,7 @@ WHERE table1 .`col_varchar_key` ) field10 Warnings: Warning 1292 Truncated incorrect DOUBLE value: 'f' Warning 1292 Truncated incorrect DOUBLE value: 'f' +Warning 1292 Truncated incorrect DOUBLE value: 'f' SET @@optimizer_switch = 'subquery_cache=on'; /* cache is on */ SELECT COUNT( DISTINCT table2 .`col_int_key` ) , ( SELECT SUBQUERY2_t1 .`col_int_key` @@ -3401,6 +3402,7 @@ WHERE table1 .`col_varchar_key` ) field10 Warnings: Warning 1292 Truncated incorrect DOUBLE value: 'f' Warning 1292 Truncated incorrect DOUBLE value: 'f' +Warning 1292 Truncated incorrect DOUBLE value: 'f' drop table t1,t2,t3,t4; set @@optimizer_switch= default; #launchpad BUG#611625 diff --git a/mysql-test/r/subselect_exists2in.result b/mysql-test/r/subselect_exists2in.result index b6b2f5b47..18cd05679 100644 --- a/mysql-test/r/subselect_exists2in.result +++ b/mysql-test/r/subselect_exists2in.result @@ -94,7 +94,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t3 ALL bb NULL NULL NULL 2 100.00 Using where Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where exists(select `test`.`t3`.`a` from `test`.`t3` where (`test`.`t3`.`b` = `test`.`t1`.`a`)) +Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where exists(select `test`.`t3`.`a` from `test`.`t3` where (`test`.`t3`.`b` = `test`.`t1`.`a`) limit 1) set optimizer_switch=default; set optimizer_switch='exists_to_in=on'; drop table t1,t2,t3; @@ -358,7 +358,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 3 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1276 Field or reference 'test.t2.b' of SELECT #3 was resolved in SELECT #2 -Note 1003 select (select 1 from dual where (not(exists(select `test`.`t3`.`c` from `test`.`t3` where (`test`.`t3`.`c` = 1))))) AS `( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) )` from `test`.`t1` +Note 1003 select (select 1 from dual where (not(exists(select `test`.`t3`.`c` from `test`.`t3` where (`test`.`t3`.`c` = 1) limit 1)))) AS `( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) )` from `test`.`t1` SELECT ( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) ) FROM t1; ( SELECT b FROM t2 WHERE NOT EXISTS ( SELECT c FROM t3 WHERE c = b ) ) 1 @@ -429,7 +429,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 Note 1276 Field or reference 'test.t1.a1' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`a1` AS `a1` from `test`.`t1` where exists(select 1 from `test`.`t3` where ((`test`.`t3`.`b` = `test`.`t1`.`a`) and (`test`.`t3`.`b1` = `test`.`t1`.`a1`))) +Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`a1` AS `a1` from `test`.`t1` where exists(select 1 from `test`.`t3` where ((`test`.`t3`.`b` = `test`.`t1`.`a`) and (`test`.`t3`.`b1` = `test`.`t1`.`a1`)) limit 1) set optimizer_switch=default; set optimizer_switch='exists_to_in=on'; drop table t1,t3; @@ -905,7 +905,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra Warnings: Note 1276 Field or reference 'sq1.pk' of SELECT #3 was resolved in SELECT #1 Note 1276 Field or reference 'sq1.f1' of SELECT #3 was resolved in SELECT #1 -Note 1003 select straight_join `test`.`t1`.`f2` AS `f2` from `test`.`t1` where <`test`.`t1`.`f1`,`test`.`t1`.`pk`>(exists(select 1 from `test`.`t1` `sq2` semi join (`test`.`t1`) where ((`test`.`sq2`.`f1` = `test`.`t1`.`f1`) and (`test`.`t1`.`pk` = `test`.`t1`.`f1`)))) +Note 1003 select straight_join `test`.`t1`.`f2` AS `f2` from `test`.`t1` where <`test`.`t1`.`f1`,`test`.`t1`.`pk`>(exists(select 1 from `test`.`t1` `sq2` semi join (`test`.`t1`) where ((`test`.`sq2`.`f1` = `test`.`t1`.`f1`) and (`test`.`t1`.`pk` = `test`.`t1`.`f1`)) limit 1)) SELECT STRAIGHT_JOIN sq1.f2 FROM ( SELECT * FROM t1 ) AS sq1 WHERE EXISTS ( SELECT * FROM t1 AS sq2 diff --git a/mysql-test/r/subselect_mat.result b/mysql-test/r/subselect_mat.result index 6fae057dd..462015c7e 100644 --- a/mysql-test/r/subselect_mat.result +++ b/mysql-test/r/subselect_mat.result @@ -2251,7 +2251,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 3 MATERIALIZED t3 ALL NULL NULL NULL NULL 8 100.00 Warnings: Note 1276 Field or reference 'test.t1.f1' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`t1`.`f1` AS `f1` from `test`.`t1` where <`test`.`t1`.`f1`>(exists(select 1 from `test`.`t2` semi join (`test`.`t3`) join `test`.`t3` where ((`test`.`t3`.`i3` = `test`.`t2`.`i2`) and (`test`.`t1`.`f1` = `test`.`t3`.`f3`)))) +Note 1003 select `test`.`t1`.`f1` AS `f1` from `test`.`t1` where <`test`.`t1`.`f1`>(exists(select 1 from `test`.`t2` semi join (`test`.`t3`) join `test`.`t3` where ((`test`.`t3`.`i3` = `test`.`t2`.`i2`) and (`test`.`t1`.`f1` = `test`.`t3`.`f3`)) limit 1)) # this checks the result set above set optimizer_switch= 'materialization=off,semijoin=off'; SELECT * FROM t1 @@ -2484,6 +2484,95 @@ SELECT 1 FROM t1 where t1.id IN (SELECT v1.i1 from v1); 1 drop table t1,t2; drop view v1; +# +# MDEV-19580: function invocation in the left part of IN subquery +# +create table t1 (id int, a varchar(50), b int); +insert into t1 values +(1,'mrs',2), (2,'joe',2), (3,'paul',1), (4,'art',1); +create table t2 (id int, a varchar(50), x int); +insert into t2 values +(1,'grand',1),(2,'average',1),(3,'serf',0); +create table t3 (d1 date, d2 date, t1_id int, t2_id int ); +insert into t3 values +('1972-01-01','1988-12-31',3,1), ('1972-01-01','1988-12-31',4,1), +('1972-01-01','1988-12-31',1,2), ('1972-01-01','1988-12-31',2,3); +create table t4 ( id int, a varchar(50) ); +insert into t4 values +(1,'songwriter'),(2,'song character'); +create function f1(who int, dt date) returns int +deterministic +begin +declare result int; +select t2_id into result from t3 where dt>=d1 and dt<=d2 and t1_id=who; +return result; +end$$ +create function f2(who int, dt date) returns int +begin +declare result int; +select t2_id into result from t3 where dt>=d1 and dt<=d2 and t1_id=who; +return result; +end$$ +# Deterministic function in left part of IN subquery: semi-join is OK +select * from t1 +left join t4 on t1.b = t4.id +where f1(t1.id, '1980-01-01') in (select id from t2 where x=1); +id a b id a +3 paul 1 1 songwriter +4 art 1 1 songwriter +1 mrs 2 2 song character +explain extended select * from t1 +left join t4 on t1.b = t4.id +where f1(t1.id, '1980-01-01') in (select id from t2 where x=1); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 4 100.00 +1 PRIMARY eq_ref distinct_key distinct_key 4 func 1 100.00 Using where +1 PRIMARY t4 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join) +2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`a` AS `a` from `test`.`t1` semi join (`test`.`t2`) left join `test`.`t4` on((`test`.`t4`.`id` = `test`.`t1`.`b`)) where ((`test`.`t2`.`x` = 1) and (`f1`(`test`.`t1`.`id`,'1980-01-01') = `test`.`t2`.`id`)) +# Non-deterministic function in left part of IN subq: semi-join is OK +select * from t1 +left join t4 on t1.b = t4.id +where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); +id a b id a +3 paul 1 1 songwriter +4 art 1 1 songwriter +1 mrs 2 2 song character +explain extended select * from t1 +left join t4 on t1.b = t4.id +where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 4 100.00 +1 PRIMARY eq_ref distinct_key distinct_key 4 func 1 100.00 Using where +1 PRIMARY t4 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join) +2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`a` AS `a` from `test`.`t1` semi join (`test`.`t2`) left join `test`.`t4` on((`test`.`t4`.`id` = `test`.`t1`.`b`)) where ((`test`.`t2`.`x` = 1) and (`f2`(`test`.`t1`.`id`,'1980-01-01') = `test`.`t2`.`id`)) +select t1.*, t4.*, +(select max(t4.id) from t4 where t4.id=t1.b and sleep(0) = 0) as s +from t1 left join t4 on t1.b = t4.id +where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); +id a b id a s +3 paul 1 1 songwriter 1 +4 art 1 1 songwriter 1 +1 mrs 2 2 song character 2 +explain extended select t1.*, t4.*, +(select max(t4.id) from t4 where t4.id=t1.b and sleep(0) = 0) as s +from t1 left join t4 on t1.b = t4.id +where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 4 100.00 +1 PRIMARY eq_ref distinct_key distinct_key 4 func 1 100.00 Using where +1 PRIMARY t4 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join) +3 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 100.00 Using where +2 DEPENDENT SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where +Warnings: +Note 1276 Field or reference 'test.t1.b' of SELECT #2 was resolved in SELECT #1 +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`a` AS `a`,(select max(`test`.`t4`.`id`) from `test`.`t4` where ((`test`.`t4`.`id` = `test`.`t1`.`b`) and (sleep(0) = 0))) AS `s` from `test`.`t1` semi join (`test`.`t2`) left join `test`.`t4` on((`test`.`t4`.`id` = `test`.`t1`.`b`)) where ((`test`.`t2`.`x` = 1) and (`f2`(`test`.`t1`.`id`,'1980-01-01') = `test`.`t2`.`id`)) +drop function f1; +drop function f2; +drop table t1,t2,t3,t4; # End of 5.5 tests # # MDEV-7220: Materialization strategy is not used for REPLACE ... SELECT diff --git a/mysql-test/r/subselect_no_exists_to_in.result b/mysql-test/r/subselect_no_exists_to_in.result index ef3bf7ef6..e604c821b 100644 --- a/mysql-test/r/subselect_no_exists_to_in.result +++ b/mysql-test/r/subselect_no_exists_to_in.result @@ -349,7 +349,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t7 eq_ref PRIMARY PRIMARY 4 test.t6.clinic_uq 1 100.00 Using index Warnings: Note 1276 Field or reference 'test.t6.clinic_uq' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`t6`.`patient_uq` AS `patient_uq`,`test`.`t6`.`clinic_uq` AS `clinic_uq` from `test`.`t6` where <`test`.`t6`.`clinic_uq`>(exists(select 1 from `test`.`t7` where (`test`.`t7`.`uq` = `test`.`t6`.`clinic_uq`))) +Note 1003 select `test`.`t6`.`patient_uq` AS `patient_uq`,`test`.`t6`.`clinic_uq` AS `clinic_uq` from `test`.`t6` where <`test`.`t6`.`clinic_uq`>(exists(select 1 from `test`.`t7` where (`test`.`t7`.`uq` = `test`.`t6`.`clinic_uq`) limit 1)) select * from t1 where a= (select a from t2,t4 where t2.b=t4.b); ERROR 23000: Column 'a' in field list is ambiguous drop table t1,t2,t3; @@ -1897,7 +1897,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 test.tt.id 1 100.00 Using where; Using index Warnings: Note 1276 Field or reference 'test.tt.id' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not(<`test`.`tt`.`id`>(exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null))))) +Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not(<`test`.`tt`.`id`>(exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null) limit 1)))) insert into t1 (id, text) values (1000, 'text1000'), (1001, 'text1001'); create table t2 (id int not null, text varchar(20) not null default '', primary key (id)); insert into t2 (id, text) values (1, 'text1'), (2, 'text2'), (3, 'text3'), (4, 'text4'), (5, 'text5'), (6, 'text6'), (7, 'text7'), (8, 'text8'), (9, 'text9'), (10, 'text10'), (11, 'text1'), (12, 'text2'), (13, 'text3'), (14, 'text4'), (15, 'text5'), (16, 'text6'), (17, 'text7'), (18, 'text8'), (19, 'text9'), (20, 'text10'),(21, 'text1'), (22, 'text2'), (23, 'text3'), (24, 'text4'), (25, 'text5'), (26, 'text6'), (27, 'text7'), (28, 'text8'), (29, 'text9'), (30, 'text10'), (31, 'text1'), (32, 'text2'), (33, 'text3'), (34, 'text4'), (35, 'text5'), (36, 'text6'), (37, 'text7'), (38, 'text8'), (39, 'text9'), (40, 'text10'), (41, 'text1'), (42, 'text2'), (43, 'text3'), (44, 'text4'), (45, 'text5'), (46, 'text6'), (47, 'text7'), (48, 'text8'), (49, 'text9'), (50, 'text10'); @@ -2433,7 +2433,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1276 Field or reference 'test.up.a' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`up`.`a` AS `a`,`test`.`up`.`b` AS `b` from `test`.`t1` `up` where <`test`.`up`.`a`>(exists(select 1 from `test`.`t1` where (`test`.`t1`.`a` = `test`.`up`.`a`))) +Note 1003 select `test`.`up`.`a` AS `a`,`test`.`up`.`b` AS `b` from `test`.`t1` `up` where <`test`.`up`.`a`>(exists(select 1 from `test`.`t1` where (`test`.`t1`.`a` = `test`.`up`.`a`) limit 1)) drop table t1; CREATE TABLE t1 (t1_a int); INSERT INTO t1 VALUES (1); @@ -4442,7 +4442,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 -Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists(select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`))) +Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists(select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`) limit 1)) EXPLAIN EXTENDED SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a) UNION (SELECT 1 FROM t2 WHERE t1.a = t2.a)); @@ -4454,7 +4454,7 @@ NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #1 -Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)))) +Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) limit 1)) DROP TABLE t1,t2; create table t0(a int); insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); @@ -6969,7 +6969,7 @@ WHERE SLEEP(0.1) OR c < 'p' OR b = ( SELECT MIN(b) FROM t2 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 1 PRIMARY t2 ALL b NULL NULL NULL 2 Using where -1 PRIMARY t3 ref d d 5 test.t2.b 2 Using where; Using index +1 PRIMARY t3 ref d d 5 test.t2.b 2 Using index 3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away set @tmp_mdev410=@@global.userstat; set global userstat=on; @@ -7251,6 +7251,37 @@ id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away drop table t1,t2; +# +# MDEV-19429: Wrong query result with EXISTS and LIMIT 0 +# +create table t10 (a int); +insert into t10 values (1),(2),(3); +create table t12 (a int); +insert into t12 values (1),(2),(3); +select * from t10 where exists (select * from t12 order by a limit 0); +a +explain select * from t10 where exists (select * from t12 order by a limit 0); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE +2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Zero limit +prepare stmt1 from "select * from t10 where exists (select * from t12 order by a limit ?)"; +set @l=1; +execute stmt1 using @l; +a +1 +2 +3 +set @l=2; +execute stmt1 using @l; +a +1 +2 +3 +set @l=0; +execute stmt1 using @l; +a +deallocate prepare stmt1; +drop table t10, t12; End of 5.5 tests # End of 10.0 tests # diff --git a/mysql-test/r/subselect_no_mat.result b/mysql-test/r/subselect_no_mat.result index 703572e0e..e251ca727 100644 --- a/mysql-test/r/subselect_no_mat.result +++ b/mysql-test/r/subselect_no_mat.result @@ -1900,7 +1900,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 test.tt.id 1 100.00 Using where; Using index Warnings: Note 1276 Field or reference 'test.tt.id' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,<`test`.`tt`.`id`>(exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null)))))) +Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,<`test`.`tt`.`id`>(exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null) limit 1))))) insert into t1 (id, text) values (1000, 'text1000'), (1001, 'text1001'); create table t2 (id int not null, text varchar(20) not null default '', primary key (id)); insert into t2 (id, text) values (1, 'text1'), (2, 'text2'), (3, 'text3'), (4, 'text4'), (5, 'text5'), (6, 'text6'), (7, 'text7'), (8, 'text8'), (9, 'text9'), (10, 'text10'), (11, 'text1'), (12, 'text2'), (13, 'text3'), (14, 'text4'), (15, 'text5'), (16, 'text6'), (17, 'text7'), (18, 'text8'), (19, 'text9'), (20, 'text10'),(21, 'text1'), (22, 'text2'), (23, 'text3'), (24, 'text4'), (25, 'text5'), (26, 'text6'), (27, 'text7'), (28, 'text8'), (29, 'text9'), (30, 'text10'), (31, 'text1'), (32, 'text2'), (33, 'text3'), (34, 'text4'), (35, 'text5'), (36, 'text6'), (37, 'text7'), (38, 'text8'), (39, 'text9'), (40, 'text10'), (41, 'text1'), (42, 'text2'), (43, 'text3'), (44, 'text4'), (45, 'text5'), (46, 'text6'), (47, 'text7'), (48, 'text8'), (49, 'text9'), (50, 'text10'); @@ -4454,7 +4454,7 @@ NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #1 -Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)))) +Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) limit 1)) DROP TABLE t1,t2; create table t0(a int); insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); @@ -6963,7 +6963,7 @@ WHERE SLEEP(0.1) OR c < 'p' OR b = ( SELECT MIN(b) FROM t2 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 1 PRIMARY t2 ALL b NULL NULL NULL 2 Using where -1 PRIMARY t3 ref d d 5 test.t2.b 2 Using where; Using index +1 PRIMARY t3 ref d d 5 test.t2.b 2 Using index 3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away set @tmp_mdev410=@@global.userstat; set global userstat=on; @@ -7244,6 +7244,37 @@ id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away drop table t1,t2; +# +# MDEV-19429: Wrong query result with EXISTS and LIMIT 0 +# +create table t10 (a int); +insert into t10 values (1),(2),(3); +create table t12 (a int); +insert into t12 values (1),(2),(3); +select * from t10 where exists (select * from t12 order by a limit 0); +a +explain select * from t10 where exists (select * from t12 order by a limit 0); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE +2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Zero limit +prepare stmt1 from "select * from t10 where exists (select * from t12 order by a limit ?)"; +set @l=1; +execute stmt1 using @l; +a +1 +2 +3 +set @l=2; +execute stmt1 using @l; +a +1 +2 +3 +set @l=0; +execute stmt1 using @l; +a +deallocate prepare stmt1; +drop table t10, t12; End of 5.5 tests # End of 10.0 tests # diff --git a/mysql-test/r/subselect_no_opts.result b/mysql-test/r/subselect_no_opts.result index 39a098b75..f1be4a5cb 100644 --- a/mysql-test/r/subselect_no_opts.result +++ b/mysql-test/r/subselect_no_opts.result @@ -1896,7 +1896,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 test.tt.id 1 100.00 Using where; Using index Warnings: Note 1276 Field or reference 'test.tt.id' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null))))) +Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null) limit 1)))) insert into t1 (id, text) values (1000, 'text1000'), (1001, 'text1001'); create table t2 (id int not null, text varchar(20) not null default '', primary key (id)); insert into t2 (id, text) values (1, 'text1'), (2, 'text2'), (3, 'text3'), (4, 'text4'), (5, 'text5'), (6, 'text6'), (7, 'text7'), (8, 'text8'), (9, 'text9'), (10, 'text10'), (11, 'text1'), (12, 'text2'), (13, 'text3'), (14, 'text4'), (15, 'text5'), (16, 'text6'), (17, 'text7'), (18, 'text8'), (19, 'text9'), (20, 'text10'),(21, 'text1'), (22, 'text2'), (23, 'text3'), (24, 'text4'), (25, 'text5'), (26, 'text6'), (27, 'text7'), (28, 'text8'), (29, 'text9'), (30, 'text10'), (31, 'text1'), (32, 'text2'), (33, 'text3'), (34, 'text4'), (35, 'text5'), (36, 'text6'), (37, 'text7'), (38, 'text8'), (39, 'text9'), (40, 'text10'), (41, 'text1'), (42, 'text2'), (43, 'text3'), (44, 'text4'), (45, 'text5'), (46, 'text6'), (47, 'text7'), (48, 'text8'), (49, 'text9'), (50, 'text10'); @@ -4450,7 +4450,7 @@ NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #1 -Note 1003 select 2 AS `2` from `test`.`t1` where exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`))) +Note 1003 select 2 AS `2` from `test`.`t1` where exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) limit 1) DROP TABLE t1,t2; create table t0(a int); insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); @@ -6960,7 +6960,7 @@ WHERE SLEEP(0.1) OR c < 'p' OR b = ( SELECT MIN(b) FROM t2 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 1 PRIMARY t2 ALL b NULL NULL NULL 2 Using where -1 PRIMARY t3 ref d d 5 test.t2.b 2 Using where; Using index +1 PRIMARY t3 ref d d 5 test.t2.b 2 Using index 3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away set @tmp_mdev410=@@global.userstat; set global userstat=on; @@ -7242,6 +7242,37 @@ id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away drop table t1,t2; +# +# MDEV-19429: Wrong query result with EXISTS and LIMIT 0 +# +create table t10 (a int); +insert into t10 values (1),(2),(3); +create table t12 (a int); +insert into t12 values (1),(2),(3); +select * from t10 where exists (select * from t12 order by a limit 0); +a +explain select * from t10 where exists (select * from t12 order by a limit 0); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE +2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Zero limit +prepare stmt1 from "select * from t10 where exists (select * from t12 order by a limit ?)"; +set @l=1; +execute stmt1 using @l; +a +1 +2 +3 +set @l=2; +execute stmt1 using @l; +a +1 +2 +3 +set @l=0; +execute stmt1 using @l; +a +deallocate prepare stmt1; +drop table t10, t12; End of 5.5 tests # End of 10.0 tests # diff --git a/mysql-test/r/subselect_no_scache.result b/mysql-test/r/subselect_no_scache.result index b9a59bf39..6f96ce52e 100644 --- a/mysql-test/r/subselect_no_scache.result +++ b/mysql-test/r/subselect_no_scache.result @@ -1899,7 +1899,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 test.tt.id 1 100.00 Using where; Using index Warnings: Note 1276 Field or reference 'test.tt.id' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null))))) +Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null) limit 1)))) insert into t1 (id, text) values (1000, 'text1000'), (1001, 'text1001'); create table t2 (id int not null, text varchar(20) not null default '', primary key (id)); insert into t2 (id, text) values (1, 'text1'), (2, 'text2'), (3, 'text3'), (4, 'text4'), (5, 'text5'), (6, 'text6'), (7, 'text7'), (8, 'text8'), (9, 'text9'), (10, 'text10'), (11, 'text1'), (12, 'text2'), (13, 'text3'), (14, 'text4'), (15, 'text5'), (16, 'text6'), (17, 'text7'), (18, 'text8'), (19, 'text9'), (20, 'text10'),(21, 'text1'), (22, 'text2'), (23, 'text3'), (24, 'text4'), (25, 'text5'), (26, 'text6'), (27, 'text7'), (28, 'text8'), (29, 'text9'), (30, 'text10'), (31, 'text1'), (32, 'text2'), (33, 'text3'), (34, 'text4'), (35, 'text5'), (36, 'text6'), (37, 'text7'), (38, 'text8'), (39, 'text9'), (40, 'text10'), (41, 'text1'), (42, 'text2'), (43, 'text3'), (44, 'text4'), (45, 'text5'), (46, 'text6'), (47, 'text7'), (48, 'text8'), (49, 'text9'), (50, 'text10'); @@ -4458,7 +4458,7 @@ NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #1 -Note 1003 select 2 AS `2` from `test`.`t1` where exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`))) +Note 1003 select 2 AS `2` from `test`.`t1` where exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) limit 1) DROP TABLE t1,t2; create table t0(a int); insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); @@ -6975,7 +6975,7 @@ WHERE SLEEP(0.1) OR c < 'p' OR b = ( SELECT MIN(b) FROM t2 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 1 PRIMARY t2 ALL b NULL NULL NULL 2 Using where -1 PRIMARY t3 ref d d 5 test.t2.b 2 Using where; Using index +1 PRIMARY t3 ref d d 5 test.t2.b 2 Using index 3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away set @tmp_mdev410=@@global.userstat; set global userstat=on; @@ -7257,6 +7257,37 @@ id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away drop table t1,t2; +# +# MDEV-19429: Wrong query result with EXISTS and LIMIT 0 +# +create table t10 (a int); +insert into t10 values (1),(2),(3); +create table t12 (a int); +insert into t12 values (1),(2),(3); +select * from t10 where exists (select * from t12 order by a limit 0); +a +explain select * from t10 where exists (select * from t12 order by a limit 0); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE +2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Zero limit +prepare stmt1 from "select * from t10 where exists (select * from t12 order by a limit ?)"; +set @l=1; +execute stmt1 using @l; +a +1 +2 +3 +set @l=2; +execute stmt1 using @l; +a +1 +2 +3 +set @l=0; +execute stmt1 using @l; +a +deallocate prepare stmt1; +drop table t10, t12; End of 5.5 tests # End of 10.0 tests # diff --git a/mysql-test/r/subselect_no_semijoin.result b/mysql-test/r/subselect_no_semijoin.result index f1df85fed..40a969a79 100644 --- a/mysql-test/r/subselect_no_semijoin.result +++ b/mysql-test/r/subselect_no_semijoin.result @@ -1896,7 +1896,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 test.tt.id 1 100.00 Using where; Using index Warnings: Note 1276 Field or reference 'test.tt.id' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,<`test`.`tt`.`id`>(exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null)))))) +Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not((1,<`test`.`tt`.`id`>(exists(select `test`.`t1`.`id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null) limit 1))))) insert into t1 (id, text) values (1000, 'text1000'), (1001, 'text1001'); create table t2 (id int not null, text varchar(20) not null default '', primary key (id)); insert into t2 (id, text) values (1, 'text1'), (2, 'text2'), (3, 'text3'), (4, 'text4'), (5, 'text5'), (6, 'text6'), (7, 'text7'), (8, 'text8'), (9, 'text9'), (10, 'text10'), (11, 'text1'), (12, 'text2'), (13, 'text3'), (14, 'text4'), (15, 'text5'), (16, 'text6'), (17, 'text7'), (18, 'text8'), (19, 'text9'), (20, 'text10'),(21, 'text1'), (22, 'text2'), (23, 'text3'), (24, 'text4'), (25, 'text5'), (26, 'text6'), (27, 'text7'), (28, 'text8'), (29, 'text9'), (30, 'text10'), (31, 'text1'), (32, 'text2'), (33, 'text3'), (34, 'text4'), (35, 'text5'), (36, 'text6'), (37, 'text7'), (38, 'text8'), (39, 'text9'), (40, 'text10'), (41, 'text1'), (42, 'text2'), (43, 'text3'), (44, 'text4'), (45, 'text5'), (46, 'text6'), (47, 'text7'), (48, 'text8'), (49, 'text9'), (50, 'text10'); @@ -4450,7 +4450,7 @@ NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Warnings: Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1 Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #1 -Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)))) +Note 1003 select 2 AS `2` from `test`.`t1` where <`test`.`t1`.`a`>(exists((select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) union (select 1 from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`)) limit 1)) DROP TABLE t1,t2; create table t0(a int); insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); @@ -6960,7 +6960,7 @@ WHERE SLEEP(0.1) OR c < 'p' OR b = ( SELECT MIN(b) FROM t2 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 1 PRIMARY t2 ALL b NULL NULL NULL 2 Using where -1 PRIMARY t3 ref d d 5 test.t2.b 2 Using where; Using index +1 PRIMARY t3 ref d d 5 test.t2.b 2 Using index 3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away set @tmp_mdev410=@@global.userstat; set global userstat=on; @@ -7242,6 +7242,37 @@ id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away drop table t1,t2; +# +# MDEV-19429: Wrong query result with EXISTS and LIMIT 0 +# +create table t10 (a int); +insert into t10 values (1),(2),(3); +create table t12 (a int); +insert into t12 values (1),(2),(3); +select * from t10 where exists (select * from t12 order by a limit 0); +a +explain select * from t10 where exists (select * from t12 order by a limit 0); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE +2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Zero limit +prepare stmt1 from "select * from t10 where exists (select * from t12 order by a limit ?)"; +set @l=1; +execute stmt1 using @l; +a +1 +2 +3 +set @l=2; +execute stmt1 using @l; +a +1 +2 +3 +set @l=0; +execute stmt1 using @l; +a +deallocate prepare stmt1; +drop table t10, t12; End of 5.5 tests # End of 10.0 tests # diff --git a/mysql-test/r/subselect_sj.result b/mysql-test/r/subselect_sj.result index 6d36950ea..87f76f849 100644 --- a/mysql-test/r/subselect_sj.result +++ b/mysql-test/r/subselect_sj.result @@ -3189,6 +3189,7 @@ drop table t1,t2,t3; # # MDEV-18896: IN subquery in WHERE of a table-less query used for INSERT # +set @@optimizer_switch= @subselect_sj_tmp; create table t1 (a1 varchar(25)); create table t2 (a2 varchar(25)) ; insert into t1 select 'xxx' from dual where 'xxx' in (select a2 from t2); diff --git a/mysql-test/r/subselect_sj_jcl6.result b/mysql-test/r/subselect_sj_jcl6.result index a9c849370..fc1d2ef52 100644 --- a/mysql-test/r/subselect_sj_jcl6.result +++ b/mysql-test/r/subselect_sj_jcl6.result @@ -3203,6 +3203,7 @@ drop table t1,t2,t3; # # MDEV-18896: IN subquery in WHERE of a table-less query used for INSERT # +set @@optimizer_switch= @subselect_sj_tmp; create table t1 (a1 varchar(25)); create table t2 (a2 varchar(25)) ; insert into t1 select 'xxx' from dual where 'xxx' in (select a2 from t2); diff --git a/mysql-test/r/subselect_sj_mat.result b/mysql-test/r/subselect_sj_mat.result index 3cb3750cb..37f06397f 100644 --- a/mysql-test/r/subselect_sj_mat.result +++ b/mysql-test/r/subselect_sj_mat.result @@ -2291,7 +2291,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 3 MATERIALIZED t3 ALL NULL NULL NULL NULL 8 100.00 Warnings: Note 1276 Field or reference 'test.t1.f1' of SELECT #2 was resolved in SELECT #1 -Note 1003 select `test`.`t1`.`f1` AS `f1` from `test`.`t1` where <`test`.`t1`.`f1`>(exists(select 1 from `test`.`t2` semi join (`test`.`t3`) join `test`.`t3` where ((`test`.`t3`.`i3` = `test`.`t2`.`i2`) and (`test`.`t1`.`f1` = `test`.`t3`.`f3`)))) +Note 1003 select `test`.`t1`.`f1` AS `f1` from `test`.`t1` where <`test`.`t1`.`f1`>(exists(select 1 from `test`.`t2` semi join (`test`.`t3`) join `test`.`t3` where ((`test`.`t3`.`i3` = `test`.`t2`.`i2`) and (`test`.`t1`.`f1` = `test`.`t3`.`f3`)) limit 1)) # this checks the result set above set optimizer_switch= 'materialization=off,semijoin=off'; SELECT * FROM t1 @@ -2524,6 +2524,95 @@ SELECT 1 FROM t1 where t1.id IN (SELECT v1.i1 from v1); 1 drop table t1,t2; drop view v1; +# +# MDEV-19580: function invocation in the left part of IN subquery +# +create table t1 (id int, a varchar(50), b int); +insert into t1 values +(1,'mrs',2), (2,'joe',2), (3,'paul',1), (4,'art',1); +create table t2 (id int, a varchar(50), x int); +insert into t2 values +(1,'grand',1),(2,'average',1),(3,'serf',0); +create table t3 (d1 date, d2 date, t1_id int, t2_id int ); +insert into t3 values +('1972-01-01','1988-12-31',3,1), ('1972-01-01','1988-12-31',4,1), +('1972-01-01','1988-12-31',1,2), ('1972-01-01','1988-12-31',2,3); +create table t4 ( id int, a varchar(50) ); +insert into t4 values +(1,'songwriter'),(2,'song character'); +create function f1(who int, dt date) returns int +deterministic +begin +declare result int; +select t2_id into result from t3 where dt>=d1 and dt<=d2 and t1_id=who; +return result; +end$$ +create function f2(who int, dt date) returns int +begin +declare result int; +select t2_id into result from t3 where dt>=d1 and dt<=d2 and t1_id=who; +return result; +end$$ +# Deterministic function in left part of IN subquery: semi-join is OK +select * from t1 +left join t4 on t1.b = t4.id +where f1(t1.id, '1980-01-01') in (select id from t2 where x=1); +id a b id a +3 paul 1 1 songwriter +4 art 1 1 songwriter +1 mrs 2 2 song character +explain extended select * from t1 +left join t4 on t1.b = t4.id +where f1(t1.id, '1980-01-01') in (select id from t2 where x=1); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 4 100.00 +1 PRIMARY eq_ref distinct_key distinct_key 4 func 1 100.00 Using where +1 PRIMARY t4 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join) +2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`a` AS `a` from `test`.`t1` semi join (`test`.`t2`) left join `test`.`t4` on((`test`.`t4`.`id` = `test`.`t1`.`b`)) where ((`test`.`t2`.`x` = 1) and (`f1`(`test`.`t1`.`id`,'1980-01-01') = `test`.`t2`.`id`)) +# Non-deterministic function in left part of IN subq: semi-join is OK +select * from t1 +left join t4 on t1.b = t4.id +where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); +id a b id a +3 paul 1 1 songwriter +4 art 1 1 songwriter +1 mrs 2 2 song character +explain extended select * from t1 +left join t4 on t1.b = t4.id +where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 4 100.00 +1 PRIMARY eq_ref distinct_key distinct_key 4 func 1 100.00 Using where +1 PRIMARY t4 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join) +2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`a` AS `a` from `test`.`t1` semi join (`test`.`t2`) left join `test`.`t4` on((`test`.`t4`.`id` = `test`.`t1`.`b`)) where ((`test`.`t2`.`x` = 1) and (`f2`(`test`.`t1`.`id`,'1980-01-01') = `test`.`t2`.`id`)) +select t1.*, t4.*, +(select max(t4.id) from t4 where t4.id=t1.b and sleep(0) = 0) as s +from t1 left join t4 on t1.b = t4.id +where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); +id a b id a s +3 paul 1 1 songwriter 1 +4 art 1 1 songwriter 1 +1 mrs 2 2 song character 2 +explain extended select t1.*, t4.*, +(select max(t4.id) from t4 where t4.id=t1.b and sleep(0) = 0) as s +from t1 left join t4 on t1.b = t4.id +where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 4 100.00 +1 PRIMARY eq_ref distinct_key distinct_key 4 func 1 100.00 Using where +1 PRIMARY t4 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join) +3 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 100.00 Using where +2 DEPENDENT SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where +Warnings: +Note 1276 Field or reference 'test.t1.b' of SELECT #2 was resolved in SELECT #1 +Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t4`.`id` AS `id`,`test`.`t4`.`a` AS `a`,(select max(`test`.`t4`.`id`) from `test`.`t4` where ((`test`.`t4`.`id` = `test`.`t1`.`b`) and (sleep(0) = 0))) AS `s` from `test`.`t1` semi join (`test`.`t2`) left join `test`.`t4` on((`test`.`t4`.`id` = `test`.`t1`.`b`)) where ((`test`.`t2`.`x` = 1) and (`f2`(`test`.`t1`.`id`,'1980-01-01') = `test`.`t2`.`id`)) +drop function f1; +drop function f2; +drop table t1,t2,t3,t4; # End of 5.5 tests # # MDEV-7220: Materialization strategy is not used for REPLACE ... SELECT diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result index bf09ec8d0..292c92422 100644 --- a/mysql-test/r/type_datetime.result +++ b/mysql-test/r/type_datetime.result @@ -1146,5 +1146,15 @@ a 00:01:00 DROP TABLE t1; # +# MDEV-17857 Assertion `tmp != ((long long) 0x8000000000000000LL)' failed in TIME_from_longlong_datetime_packed upon SELECT with GROUP BY +# +CREATE TABLE t1 (i INT, d DATETIME); +INSERT INTO t1 VALUES (3,NULL),(3,'1976-12-14 13:21:07'),(NULL,'1981-09-24 01:04:47'); +SELECT ExtractValue('foo','bar'), i, MIN(d) FROM t1 GROUP BY i; +ExtractValue('foo','bar') i MIN(d) + NULL 1981-09-24 01:04:47 + 3 1976-12-14 13:21:07 +DROP TABLE t1; +# # End of 10.1 tests # diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index a0f4b34af..d73ef7c0e 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -5765,6 +5765,21 @@ t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54, t55, t56, t57, t58, t59,t60; drop view v60; +# +# MDEV-15572: view.test, server crash with --big-tables=1 +# +set @save_big_tables=@@big_tables; +set big_tables=ON; +CREATE TABLE t1 ( f1 int , f2 int , f3 int , f4 int); +CREATE TABLE t2 ( f1 int , f2 int , f3 int , f4 int); +CREATE VIEW v1 AS +SELECT t2.f1, t1.f2, t2.f3, t2.f4 FROM (t1 JOIN t2); +REPLACE INTO v1 (f1, f2, f3, f4) +SELECT f1, f2, f3, f4 FROM t1; +ERROR HY000: Can not modify more than one base table through a join view 'test.v1' +drop view v1; +drop table t1, t2; +set big_tables=@save_big_tables; # ----------------------------------------------------------------- # -- End of 5.5 tests. # ----------------------------------------------------------------- diff --git a/mysql-test/r/view_alias.result b/mysql-test/r/view_alias.result index e07b40dba..cd91fc784 100644 --- a/mysql-test/r/view_alias.result +++ b/mysql-test/r/view_alias.result @@ -90,23 +90,23 @@ CREATE TABLE t2 LIKE t1; # Test alias in subquery CREATE VIEW v1 AS SELECT a FROM t1 WHERE EXISTS (SELECT 1 FROM t2 AS b WHERE b.a = 0); DROP VIEW v1; -CREATE VIEW v1 AS select `test`.`t1`.`a` AS `a` from `test`.`t1` where exists(select 1 from `test`.`t2` `b` where (`b`.`a` = 0)); +CREATE VIEW v1 AS select `test`.`t1`.`a` AS `a` from `test`.`t1` where exists(select 1 from `test`.`t2` `b` where (`b`.`a` = 0) limit 1); DROP VIEW v1; # Test column alias in subquery CREATE VIEW v1 AS SELECT a FROM t1 WHERE EXISTS (SELECT a AS alias FROM t1 GROUP BY alias); SHOW CREATE VIEW v1; View Create View character_set_client collation_connection -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where exists(select `t1`.`a` AS `alias` from `t1` group by `t1`.`a`) latin1 latin1_swedish_ci +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where exists(select `t1`.`a` AS `alias` from `t1` group by `t1`.`a` limit 1) latin1 latin1_swedish_ci DROP VIEW v1; -CREATE VIEW v1 AS select `test`.`t1`.`a` AS `a` from `test`.`t1` where exists(select `test`.`t1`.`a` AS `alias` from `test`.`t1` group by `test`.`t1`.`a`); +CREATE VIEW v1 AS select `test`.`t1`.`a` AS `a` from `test`.`t1` where exists(select `test`.`t1`.`a` AS `alias` from `test`.`t1` group by `test`.`t1`.`a` limit 1); DROP VIEW v1; # Alias as the expression column name. CREATE VIEW v1 AS SELECT a FROM t1 WHERE EXISTS (SELECT ' a ' AS alias FROM t1 GROUP BY alias); SHOW CREATE VIEW v1; View Create View character_set_client collation_connection -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where exists(select ' a ' AS `alias` from `t1` group by ' a ') latin1 latin1_swedish_ci +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where exists(select ' a ' AS `alias` from `t1` group by ' a ' limit 1) latin1 latin1_swedish_ci DROP VIEW v1; -CREATE VIEW v1 AS select `test`.`t1`.`a` AS `a` from `test`.`t1` where exists(select ' a ' AS `alias` from `test`.`t1` group by ' a '); +CREATE VIEW v1 AS select `test`.`t1`.`a` AS `a` from `test`.`t1` where exists(select ' a ' AS `alias` from `test`.`t1` group by ' a ' limit 1); DROP VIEW v1; DROP TABLE t1, t2; create view v1 as select interval(55,10) as my_col; diff --git a/mysql-test/std_data/checkDBI_DBD-mysql.pl b/mysql-test/std_data/checkDBI_DBD-mysql.pl index d62d2f8bf..328a7ad77 100755 --- a/mysql-test/std_data/checkDBI_DBD-mysql.pl +++ b/mysql-test/std_data/checkDBI_DBD-mysql.pl @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ################################################################################ diff --git a/mysql-test/std_data/latin1.xml b/mysql-test/std_data/latin1.xml index fd5197254..6e89ad772 100644 --- a/mysql-test/std_data/latin1.xml +++ b/mysql-test/std_data/latin1.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_stop_never.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_stop_never.result new file mode 100644 index 000000000..e94f17b94 --- /dev/null +++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_stop_never.result @@ -0,0 +1,16 @@ +RESET MASTER; +include/stop_dump_threads.inc +# Step-1: Execute some dummy statements. +CREATE TABLE t1(i int); +INSERT INTO t1 values (1); +# Step-2: Disable binary log temporarily and drop the table 't1'. +set @@SESSION.SQL_LOG_BIN = 0; +DROP TABLE t1; +set @@SESSION.SQL_LOG_BIN = 1; +# Step-3: Execute MYSQL_BINLOG with --stop-never and source it to mysql client. +# Step-4: Wait till dump thread transfer is completed. +# Step-5: Check that the data is there. +# Step-6: Cleanup +# kill the dump thread serving the mysqlbinlog --stop-never process +include/stop_dump_threads.inc +DROP TABLE t1; diff --git a/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_row.result b/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_row.result index e9a744a74..1dafeee47 100644 --- a/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_row.result +++ b/mysql-test/suite/binlog/r/binlog_parallel_replication_marks_row.result @@ -89,6 +89,4 @@ BEGIN # server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # # server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F COMMIT/*!*/; -# server id 1 end_log_pos # GTID #-#-# ddl -DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t5` DROP TABLE t1; diff --git a/mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result b/mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result index dce2cc140..3d9781716 100644 --- a/mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result +++ b/mysql-test/suite/binlog/r/binlog_row_drop_tmp_tbl.result @@ -30,15 +30,9 @@ master-bin.000001 # Query # # CREATE DATABASE `drop-temp+table-test` master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int) master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */ -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */ -master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `t` /* generated by server */ master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `tmp2`,`t` /* generated by server */ -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `shortn2`,`table:name`,`shortn1` DROP DATABASE `drop-temp+table-test`; RESET MASTER; CREATE TABLE t1 ( i text ); @@ -56,7 +50,32 @@ master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `ttmp1` RESET MASTER; DROP TABLE t1; +# +# BUG#28642318: POINT IN TIME RECOVERY USING MYSQLBINLOG BROKEN +# WITH TEMPORARY TABLE -> ERRORS +# Test case for DELETE query. +RESET MASTER; +# Set up. +SET @save_binlog_format= @@session.binlog_format; +SET @@session.binlog_format=STATEMENT; +CREATE TABLE t1 (a INT) ENGINE=INNODB; +SET @@session.binlog_format=STATEMENT; +CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB; +DELETE d1, d2 FROM t1 AS d1, t1 AS d2 WHERE d1.a<>d2.a; +DROP TABLE t1; +# DELETE query fails with table re-open error without patch. +# Clean up. +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t1; +RESET MASTER; +# Test case for DROP query. +CREATE TABLE t1 (a INT) ENGINE=INNODB; +CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB; +DROP TABLE t1; +DROP TABLE t1; +# DROP table query fails with unknown table error without patch. +# Clean up +SET @@session.binlog_format= @save_binlog_format; +RESET MASTER; diff --git a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result index f8f4fa5ec..37018da86 100644 --- a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result +++ b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result @@ -303,8 +303,6 @@ master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `test`; create table t2 (n int) engine=innodb -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t1`,`ti` do release_lock("lock1"); drop table t0,t2; set autocommit=0; diff --git a/mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result b/mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result index 127df219b..b13ffea86 100644 --- a/mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result +++ b/mysql-test/suite/binlog/r/binlog_stm_drop_tmp_tbl.result @@ -46,12 +46,8 @@ master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int) master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */ master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */ -master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp1` /* generated by server */ master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp` /* generated by server */ -master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE `tmp3` /* generated by server */ master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `drop-temp+table-test`.`tmp2` /* generated by server */ @@ -84,3 +80,30 @@ master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `ttmp1` RESET MASTER; DROP TABLE t1; +# +# BUG#28642318: POINT IN TIME RECOVERY USING MYSQLBINLOG BROKEN +# WITH TEMPORARY TABLE -> ERRORS +# Test case for DELETE query. +RESET MASTER; +# Set up. +SET @save_binlog_format= @@session.binlog_format; +SET @@session.binlog_format=STATEMENT; +CREATE TABLE t1 (a INT) ENGINE=INNODB; +SET @@session.binlog_format=STATEMENT; +CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB; +DELETE d1, d2 FROM t1 AS d1, t1 AS d2 WHERE d1.a<>d2.a; +DROP TABLE t1; +# DELETE query fails with table re-open error without patch. +# Clean up. +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t1; +RESET MASTER; +# Test case for DROP query. +CREATE TABLE t1 (a INT) ENGINE=INNODB; +CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB; +DROP TABLE t1; +DROP TABLE t1; +# DROP table query fails with unknown table error without patch. +# Clean up +SET @@session.binlog_format= @save_binlog_format; +RESET MASTER; diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_stop_never.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_stop_never.test new file mode 100644 index 000000000..d73e453ce --- /dev/null +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_stop_never.test @@ -0,0 +1,66 @@ +# ==== Purpose ==== +# +# Test verifies that continuous streaming of binary log content using the +# "mysqlbinlog --stop-never" option and sourcing it to mysql client works +# fine. +# +# ==== Implementation ==== +# +# Steps: +# 1 - Create a table on a server on which binary log is enabled and insert +# a row. +# 2 - Disable the binary log on the server and drop the table. +# 3 - Capture the binary log output using "mysqlbinlog --stop_never" option +# and source it to mysql client. +# 4 - Query the PROCESSLIST table to ensure that the dump thread which is +# serving "stop_never" option has read entire binlog. +# 5 - Verify that the table is populated on the server. +# 6 - Cleanup. +# +# ==== References ==== +# +# MDEV-11154: Write_on_release_cache(log_event.cc) function will not write +# "COMMIT", if use "mysqlbinlog ... | mysql ..." + +--source include/not_windows.inc + +# Test is not specific to any binlog format. Hence Running only for 'row'. +--source include/have_binlog_format_row.inc + +# binlog file name is needed in the test. To use master-bin.000001, +# RESET MASTER is needed. +RESET MASTER; +# kill the dump threads if there any dump threads (may be from previous test) +--source include/stop_dump_threads.inc + +--echo # Step-1: Execute some dummy statements. +CREATE TABLE t1(i int); +INSERT INTO t1 values (1); + +--echo # Step-2: Disable binary log temporarily and drop the table 't1'. +set @@SESSION.SQL_LOG_BIN = 0; +DROP TABLE t1; +set @@SESSION.SQL_LOG_BIN = 1; + +--echo # Step-3: Execute MYSQL_BINLOG with --stop-never and source it to mysql client. +--write_file $MYSQL_TMP_DIR/mysqlbinlog_stop_never.sh +(`$MYSQL_BINLOG --read-from-remote-server --stop-never --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 | $MYSQL --user=root --protocol=tcp --host=127.0.0.1 --port=$MASTER_MYPORT`) < /dev/null > /dev/null 2>&1 & +EOF +--exec /bin/bash $MYSQL_TMP_DIR/mysqlbinlog_stop_never.sh + +--echo # Step-4: Wait till dump thread transfer is completed. +let $wait_condition= SELECT id from information_schema.processlist where processlist.command like '%Binlog%' and state like '%Master has sent%'; +--source include/wait_condition.inc + +--echo # Step-5: Check that the data is there. +let $count= 1; +let $table= test.t1; +source include/wait_until_rows_count.inc; + +--echo # Step-6: Cleanup +--echo # kill the dump thread serving the mysqlbinlog --stop-never process +--source include/stop_dump_threads.inc + +DROP TABLE t1; +--remove_file $MYSQL_TMP_DIR/mysqlbinlog_stop_never.sh + diff --git a/mysql-test/suite/encryption/r/innodb_lotoftables.result b/mysql-test/suite/encryption/r/innodb_lotoftables.result deleted file mode 100644 index c8b6e1a36..000000000 --- a/mysql-test/suite/encryption/r/innodb_lotoftables.result +++ /dev/null @@ -1,1235 +0,0 @@ -SET GLOBAL innodb_fast_shutdown=0; -SET GLOBAL innodb_file_format = `Barracuda`; -SET GLOBAL innodb_file_per_table = ON; -SHOW VARIABLES LIKE 'innodb_encrypt%'; -Variable_name Value -innodb_encrypt_log OFF -innodb_encrypt_tables OFF -innodb_encryption_rotate_key_age 1 -innodb_encryption_rotation_iops 100 -innodb_encryption_threads 0 -create database innodb_encrypted_1; -use innodb_encrypted_1; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -set autocommit=0; -set autocommit=1; -commit work; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -# should be empty -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%'; -NAME -create database innodb_encrypted_2; -use innodb_encrypted_2; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -set autocommit=0; -commit work; -set autocommit=1; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -# should contain 100 tables -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_2/t_1 -innodb_encrypted_2/t_10 -innodb_encrypted_2/t_100 -innodb_encrypted_2/t_11 -innodb_encrypted_2/t_12 -innodb_encrypted_2/t_13 -innodb_encrypted_2/t_14 -innodb_encrypted_2/t_15 -innodb_encrypted_2/t_16 -innodb_encrypted_2/t_17 -innodb_encrypted_2/t_18 -innodb_encrypted_2/t_19 -innodb_encrypted_2/t_2 -innodb_encrypted_2/t_20 -innodb_encrypted_2/t_21 -innodb_encrypted_2/t_22 -innodb_encrypted_2/t_23 -innodb_encrypted_2/t_24 -innodb_encrypted_2/t_25 -innodb_encrypted_2/t_26 -innodb_encrypted_2/t_27 -innodb_encrypted_2/t_28 -innodb_encrypted_2/t_29 -innodb_encrypted_2/t_3 -innodb_encrypted_2/t_30 -innodb_encrypted_2/t_31 -innodb_encrypted_2/t_32 -innodb_encrypted_2/t_33 -innodb_encrypted_2/t_34 -innodb_encrypted_2/t_35 -innodb_encrypted_2/t_36 -innodb_encrypted_2/t_37 -innodb_encrypted_2/t_38 -innodb_encrypted_2/t_39 -innodb_encrypted_2/t_4 -innodb_encrypted_2/t_40 -innodb_encrypted_2/t_41 -innodb_encrypted_2/t_42 -innodb_encrypted_2/t_43 -innodb_encrypted_2/t_44 -innodb_encrypted_2/t_45 -innodb_encrypted_2/t_46 -innodb_encrypted_2/t_47 -innodb_encrypted_2/t_48 -innodb_encrypted_2/t_49 -innodb_encrypted_2/t_5 -innodb_encrypted_2/t_50 -innodb_encrypted_2/t_51 -innodb_encrypted_2/t_52 -innodb_encrypted_2/t_53 -innodb_encrypted_2/t_54 -innodb_encrypted_2/t_55 -innodb_encrypted_2/t_56 -innodb_encrypted_2/t_57 -innodb_encrypted_2/t_58 -innodb_encrypted_2/t_59 -innodb_encrypted_2/t_6 -innodb_encrypted_2/t_60 -innodb_encrypted_2/t_61 -innodb_encrypted_2/t_62 -innodb_encrypted_2/t_63 -innodb_encrypted_2/t_64 -innodb_encrypted_2/t_65 -innodb_encrypted_2/t_66 -innodb_encrypted_2/t_67 -innodb_encrypted_2/t_68 -innodb_encrypted_2/t_69 -innodb_encrypted_2/t_7 -innodb_encrypted_2/t_70 -innodb_encrypted_2/t_71 -innodb_encrypted_2/t_72 -innodb_encrypted_2/t_73 -innodb_encrypted_2/t_74 -innodb_encrypted_2/t_75 -innodb_encrypted_2/t_76 -innodb_encrypted_2/t_77 -innodb_encrypted_2/t_78 -innodb_encrypted_2/t_79 -innodb_encrypted_2/t_8 -innodb_encrypted_2/t_80 -innodb_encrypted_2/t_81 -innodb_encrypted_2/t_82 -innodb_encrypted_2/t_83 -innodb_encrypted_2/t_84 -innodb_encrypted_2/t_85 -innodb_encrypted_2/t_86 -innodb_encrypted_2/t_87 -innodb_encrypted_2/t_88 -innodb_encrypted_2/t_89 -innodb_encrypted_2/t_9 -innodb_encrypted_2/t_90 -innodb_encrypted_2/t_91 -innodb_encrypted_2/t_92 -innodb_encrypted_2/t_93 -innodb_encrypted_2/t_94 -innodb_encrypted_2/t_95 -innodb_encrypted_2/t_96 -innodb_encrypted_2/t_97 -innodb_encrypted_2/t_98 -innodb_encrypted_2/t_99 -# should contain 0 tables -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -create database innodb_encrypted_3; -use innodb_encrypted_3; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -set autocommit=0; -commit work; -set autocommit=1; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -# should contain 100 tables -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_2/t_1 -innodb_encrypted_2/t_10 -innodb_encrypted_2/t_100 -innodb_encrypted_2/t_11 -innodb_encrypted_2/t_12 -innodb_encrypted_2/t_13 -innodb_encrypted_2/t_14 -innodb_encrypted_2/t_15 -innodb_encrypted_2/t_16 -innodb_encrypted_2/t_17 -innodb_encrypted_2/t_18 -innodb_encrypted_2/t_19 -innodb_encrypted_2/t_2 -innodb_encrypted_2/t_20 -innodb_encrypted_2/t_21 -innodb_encrypted_2/t_22 -innodb_encrypted_2/t_23 -innodb_encrypted_2/t_24 -innodb_encrypted_2/t_25 -innodb_encrypted_2/t_26 -innodb_encrypted_2/t_27 -innodb_encrypted_2/t_28 -innodb_encrypted_2/t_29 -innodb_encrypted_2/t_3 -innodb_encrypted_2/t_30 -innodb_encrypted_2/t_31 -innodb_encrypted_2/t_32 -innodb_encrypted_2/t_33 -innodb_encrypted_2/t_34 -innodb_encrypted_2/t_35 -innodb_encrypted_2/t_36 -innodb_encrypted_2/t_37 -innodb_encrypted_2/t_38 -innodb_encrypted_2/t_39 -innodb_encrypted_2/t_4 -innodb_encrypted_2/t_40 -innodb_encrypted_2/t_41 -innodb_encrypted_2/t_42 -innodb_encrypted_2/t_43 -innodb_encrypted_2/t_44 -innodb_encrypted_2/t_45 -innodb_encrypted_2/t_46 -innodb_encrypted_2/t_47 -innodb_encrypted_2/t_48 -innodb_encrypted_2/t_49 -innodb_encrypted_2/t_5 -innodb_encrypted_2/t_50 -innodb_encrypted_2/t_51 -innodb_encrypted_2/t_52 -innodb_encrypted_2/t_53 -innodb_encrypted_2/t_54 -innodb_encrypted_2/t_55 -innodb_encrypted_2/t_56 -innodb_encrypted_2/t_57 -innodb_encrypted_2/t_58 -innodb_encrypted_2/t_59 -innodb_encrypted_2/t_6 -innodb_encrypted_2/t_60 -innodb_encrypted_2/t_61 -innodb_encrypted_2/t_62 -innodb_encrypted_2/t_63 -innodb_encrypted_2/t_64 -innodb_encrypted_2/t_65 -innodb_encrypted_2/t_66 -innodb_encrypted_2/t_67 -innodb_encrypted_2/t_68 -innodb_encrypted_2/t_69 -innodb_encrypted_2/t_7 -innodb_encrypted_2/t_70 -innodb_encrypted_2/t_71 -innodb_encrypted_2/t_72 -innodb_encrypted_2/t_73 -innodb_encrypted_2/t_74 -innodb_encrypted_2/t_75 -innodb_encrypted_2/t_76 -innodb_encrypted_2/t_77 -innodb_encrypted_2/t_78 -innodb_encrypted_2/t_79 -innodb_encrypted_2/t_8 -innodb_encrypted_2/t_80 -innodb_encrypted_2/t_81 -innodb_encrypted_2/t_82 -innodb_encrypted_2/t_83 -innodb_encrypted_2/t_84 -innodb_encrypted_2/t_85 -innodb_encrypted_2/t_86 -innodb_encrypted_2/t_87 -innodb_encrypted_2/t_88 -innodb_encrypted_2/t_89 -innodb_encrypted_2/t_9 -innodb_encrypted_2/t_90 -innodb_encrypted_2/t_91 -innodb_encrypted_2/t_92 -innodb_encrypted_2/t_93 -innodb_encrypted_2/t_94 -innodb_encrypted_2/t_95 -innodb_encrypted_2/t_96 -innodb_encrypted_2/t_97 -innodb_encrypted_2/t_98 -innodb_encrypted_2/t_99 -# should contain 100 tables -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_3/t_1 -innodb_encrypted_3/t_10 -innodb_encrypted_3/t_100 -innodb_encrypted_3/t_11 -innodb_encrypted_3/t_12 -innodb_encrypted_3/t_13 -innodb_encrypted_3/t_14 -innodb_encrypted_3/t_15 -innodb_encrypted_3/t_16 -innodb_encrypted_3/t_17 -innodb_encrypted_3/t_18 -innodb_encrypted_3/t_19 -innodb_encrypted_3/t_2 -innodb_encrypted_3/t_20 -innodb_encrypted_3/t_21 -innodb_encrypted_3/t_22 -innodb_encrypted_3/t_23 -innodb_encrypted_3/t_24 -innodb_encrypted_3/t_25 -innodb_encrypted_3/t_26 -innodb_encrypted_3/t_27 -innodb_encrypted_3/t_28 -innodb_encrypted_3/t_29 -innodb_encrypted_3/t_3 -innodb_encrypted_3/t_30 -innodb_encrypted_3/t_31 -innodb_encrypted_3/t_32 -innodb_encrypted_3/t_33 -innodb_encrypted_3/t_34 -innodb_encrypted_3/t_35 -innodb_encrypted_3/t_36 -innodb_encrypted_3/t_37 -innodb_encrypted_3/t_38 -innodb_encrypted_3/t_39 -innodb_encrypted_3/t_4 -innodb_encrypted_3/t_40 -innodb_encrypted_3/t_41 -innodb_encrypted_3/t_42 -innodb_encrypted_3/t_43 -innodb_encrypted_3/t_44 -innodb_encrypted_3/t_45 -innodb_encrypted_3/t_46 -innodb_encrypted_3/t_47 -innodb_encrypted_3/t_48 -innodb_encrypted_3/t_49 -innodb_encrypted_3/t_5 -innodb_encrypted_3/t_50 -innodb_encrypted_3/t_51 -innodb_encrypted_3/t_52 -innodb_encrypted_3/t_53 -innodb_encrypted_3/t_54 -innodb_encrypted_3/t_55 -innodb_encrypted_3/t_56 -innodb_encrypted_3/t_57 -innodb_encrypted_3/t_58 -innodb_encrypted_3/t_59 -innodb_encrypted_3/t_6 -innodb_encrypted_3/t_60 -innodb_encrypted_3/t_61 -innodb_encrypted_3/t_62 -innodb_encrypted_3/t_63 -innodb_encrypted_3/t_64 -innodb_encrypted_3/t_65 -innodb_encrypted_3/t_66 -innodb_encrypted_3/t_67 -innodb_encrypted_3/t_68 -innodb_encrypted_3/t_69 -innodb_encrypted_3/t_7 -innodb_encrypted_3/t_70 -innodb_encrypted_3/t_71 -innodb_encrypted_3/t_72 -innodb_encrypted_3/t_73 -innodb_encrypted_3/t_74 -innodb_encrypted_3/t_75 -innodb_encrypted_3/t_76 -innodb_encrypted_3/t_77 -innodb_encrypted_3/t_78 -innodb_encrypted_3/t_79 -innodb_encrypted_3/t_8 -innodb_encrypted_3/t_80 -innodb_encrypted_3/t_81 -innodb_encrypted_3/t_82 -innodb_encrypted_3/t_83 -innodb_encrypted_3/t_84 -innodb_encrypted_3/t_85 -innodb_encrypted_3/t_86 -innodb_encrypted_3/t_87 -innodb_encrypted_3/t_88 -innodb_encrypted_3/t_89 -innodb_encrypted_3/t_9 -innodb_encrypted_3/t_90 -innodb_encrypted_3/t_91 -innodb_encrypted_3/t_92 -innodb_encrypted_3/t_93 -innodb_encrypted_3/t_94 -innodb_encrypted_3/t_95 -innodb_encrypted_3/t_96 -innodb_encrypted_3/t_97 -innodb_encrypted_3/t_98 -innodb_encrypted_3/t_99 -use test; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_2/t_1 -innodb_encrypted_2/t_10 -innodb_encrypted_2/t_100 -innodb_encrypted_2/t_11 -innodb_encrypted_2/t_12 -innodb_encrypted_2/t_13 -innodb_encrypted_2/t_14 -innodb_encrypted_2/t_15 -innodb_encrypted_2/t_16 -innodb_encrypted_2/t_17 -innodb_encrypted_2/t_18 -innodb_encrypted_2/t_19 -innodb_encrypted_2/t_2 -innodb_encrypted_2/t_20 -innodb_encrypted_2/t_21 -innodb_encrypted_2/t_22 -innodb_encrypted_2/t_23 -innodb_encrypted_2/t_24 -innodb_encrypted_2/t_25 -innodb_encrypted_2/t_26 -innodb_encrypted_2/t_27 -innodb_encrypted_2/t_28 -innodb_encrypted_2/t_29 -innodb_encrypted_2/t_3 -innodb_encrypted_2/t_30 -innodb_encrypted_2/t_31 -innodb_encrypted_2/t_32 -innodb_encrypted_2/t_33 -innodb_encrypted_2/t_34 -innodb_encrypted_2/t_35 -innodb_encrypted_2/t_36 -innodb_encrypted_2/t_37 -innodb_encrypted_2/t_38 -innodb_encrypted_2/t_39 -innodb_encrypted_2/t_4 -innodb_encrypted_2/t_40 -innodb_encrypted_2/t_41 -innodb_encrypted_2/t_42 -innodb_encrypted_2/t_43 -innodb_encrypted_2/t_44 -innodb_encrypted_2/t_45 -innodb_encrypted_2/t_46 -innodb_encrypted_2/t_47 -innodb_encrypted_2/t_48 -innodb_encrypted_2/t_49 -innodb_encrypted_2/t_5 -innodb_encrypted_2/t_50 -innodb_encrypted_2/t_51 -innodb_encrypted_2/t_52 -innodb_encrypted_2/t_53 -innodb_encrypted_2/t_54 -innodb_encrypted_2/t_55 -innodb_encrypted_2/t_56 -innodb_encrypted_2/t_57 -innodb_encrypted_2/t_58 -innodb_encrypted_2/t_59 -innodb_encrypted_2/t_6 -innodb_encrypted_2/t_60 -innodb_encrypted_2/t_61 -innodb_encrypted_2/t_62 -innodb_encrypted_2/t_63 -innodb_encrypted_2/t_64 -innodb_encrypted_2/t_65 -innodb_encrypted_2/t_66 -innodb_encrypted_2/t_67 -innodb_encrypted_2/t_68 -innodb_encrypted_2/t_69 -innodb_encrypted_2/t_7 -innodb_encrypted_2/t_70 -innodb_encrypted_2/t_71 -innodb_encrypted_2/t_72 -innodb_encrypted_2/t_73 -innodb_encrypted_2/t_74 -innodb_encrypted_2/t_75 -innodb_encrypted_2/t_76 -innodb_encrypted_2/t_77 -innodb_encrypted_2/t_78 -innodb_encrypted_2/t_79 -innodb_encrypted_2/t_8 -innodb_encrypted_2/t_80 -innodb_encrypted_2/t_81 -innodb_encrypted_2/t_82 -innodb_encrypted_2/t_83 -innodb_encrypted_2/t_84 -innodb_encrypted_2/t_85 -innodb_encrypted_2/t_86 -innodb_encrypted_2/t_87 -innodb_encrypted_2/t_88 -innodb_encrypted_2/t_89 -innodb_encrypted_2/t_9 -innodb_encrypted_2/t_90 -innodb_encrypted_2/t_91 -innodb_encrypted_2/t_92 -innodb_encrypted_2/t_93 -innodb_encrypted_2/t_94 -innodb_encrypted_2/t_95 -innodb_encrypted_2/t_96 -innodb_encrypted_2/t_97 -innodb_encrypted_2/t_98 -innodb_encrypted_2/t_99 -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_3/t_1 -innodb_encrypted_3/t_10 -innodb_encrypted_3/t_100 -innodb_encrypted_3/t_11 -innodb_encrypted_3/t_12 -innodb_encrypted_3/t_13 -innodb_encrypted_3/t_14 -innodb_encrypted_3/t_15 -innodb_encrypted_3/t_16 -innodb_encrypted_3/t_17 -innodb_encrypted_3/t_18 -innodb_encrypted_3/t_19 -innodb_encrypted_3/t_2 -innodb_encrypted_3/t_20 -innodb_encrypted_3/t_21 -innodb_encrypted_3/t_22 -innodb_encrypted_3/t_23 -innodb_encrypted_3/t_24 -innodb_encrypted_3/t_25 -innodb_encrypted_3/t_26 -innodb_encrypted_3/t_27 -innodb_encrypted_3/t_28 -innodb_encrypted_3/t_29 -innodb_encrypted_3/t_3 -innodb_encrypted_3/t_30 -innodb_encrypted_3/t_31 -innodb_encrypted_3/t_32 -innodb_encrypted_3/t_33 -innodb_encrypted_3/t_34 -innodb_encrypted_3/t_35 -innodb_encrypted_3/t_36 -innodb_encrypted_3/t_37 -innodb_encrypted_3/t_38 -innodb_encrypted_3/t_39 -innodb_encrypted_3/t_4 -innodb_encrypted_3/t_40 -innodb_encrypted_3/t_41 -innodb_encrypted_3/t_42 -innodb_encrypted_3/t_43 -innodb_encrypted_3/t_44 -innodb_encrypted_3/t_45 -innodb_encrypted_3/t_46 -innodb_encrypted_3/t_47 -innodb_encrypted_3/t_48 -innodb_encrypted_3/t_49 -innodb_encrypted_3/t_5 -innodb_encrypted_3/t_50 -innodb_encrypted_3/t_51 -innodb_encrypted_3/t_52 -innodb_encrypted_3/t_53 -innodb_encrypted_3/t_54 -innodb_encrypted_3/t_55 -innodb_encrypted_3/t_56 -innodb_encrypted_3/t_57 -innodb_encrypted_3/t_58 -innodb_encrypted_3/t_59 -innodb_encrypted_3/t_6 -innodb_encrypted_3/t_60 -innodb_encrypted_3/t_61 -innodb_encrypted_3/t_62 -innodb_encrypted_3/t_63 -innodb_encrypted_3/t_64 -innodb_encrypted_3/t_65 -innodb_encrypted_3/t_66 -innodb_encrypted_3/t_67 -innodb_encrypted_3/t_68 -innodb_encrypted_3/t_69 -innodb_encrypted_3/t_7 -innodb_encrypted_3/t_70 -innodb_encrypted_3/t_71 -innodb_encrypted_3/t_72 -innodb_encrypted_3/t_73 -innodb_encrypted_3/t_74 -innodb_encrypted_3/t_75 -innodb_encrypted_3/t_76 -innodb_encrypted_3/t_77 -innodb_encrypted_3/t_78 -innodb_encrypted_3/t_79 -innodb_encrypted_3/t_8 -innodb_encrypted_3/t_80 -innodb_encrypted_3/t_81 -innodb_encrypted_3/t_82 -innodb_encrypted_3/t_83 -innodb_encrypted_3/t_84 -innodb_encrypted_3/t_85 -innodb_encrypted_3/t_86 -innodb_encrypted_3/t_87 -innodb_encrypted_3/t_88 -innodb_encrypted_3/t_89 -innodb_encrypted_3/t_9 -innodb_encrypted_3/t_90 -innodb_encrypted_3/t_91 -innodb_encrypted_3/t_92 -innodb_encrypted_3/t_93 -innodb_encrypted_3/t_94 -innodb_encrypted_3/t_95 -innodb_encrypted_3/t_96 -innodb_encrypted_3/t_97 -innodb_encrypted_3/t_98 -innodb_encrypted_3/t_99 -SET GLOBAL innodb_encrypt_tables = on; -SET GLOBAL innodb_encryption_threads=4; -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_2/t_1 -innodb_encrypted_2/t_10 -innodb_encrypted_2/t_100 -innodb_encrypted_2/t_11 -innodb_encrypted_2/t_12 -innodb_encrypted_2/t_13 -innodb_encrypted_2/t_14 -innodb_encrypted_2/t_15 -innodb_encrypted_2/t_16 -innodb_encrypted_2/t_17 -innodb_encrypted_2/t_18 -innodb_encrypted_2/t_19 -innodb_encrypted_2/t_2 -innodb_encrypted_2/t_20 -innodb_encrypted_2/t_21 -innodb_encrypted_2/t_22 -innodb_encrypted_2/t_23 -innodb_encrypted_2/t_24 -innodb_encrypted_2/t_25 -innodb_encrypted_2/t_26 -innodb_encrypted_2/t_27 -innodb_encrypted_2/t_28 -innodb_encrypted_2/t_29 -innodb_encrypted_2/t_3 -innodb_encrypted_2/t_30 -innodb_encrypted_2/t_31 -innodb_encrypted_2/t_32 -innodb_encrypted_2/t_33 -innodb_encrypted_2/t_34 -innodb_encrypted_2/t_35 -innodb_encrypted_2/t_36 -innodb_encrypted_2/t_37 -innodb_encrypted_2/t_38 -innodb_encrypted_2/t_39 -innodb_encrypted_2/t_4 -innodb_encrypted_2/t_40 -innodb_encrypted_2/t_41 -innodb_encrypted_2/t_42 -innodb_encrypted_2/t_43 -innodb_encrypted_2/t_44 -innodb_encrypted_2/t_45 -innodb_encrypted_2/t_46 -innodb_encrypted_2/t_47 -innodb_encrypted_2/t_48 -innodb_encrypted_2/t_49 -innodb_encrypted_2/t_5 -innodb_encrypted_2/t_50 -innodb_encrypted_2/t_51 -innodb_encrypted_2/t_52 -innodb_encrypted_2/t_53 -innodb_encrypted_2/t_54 -innodb_encrypted_2/t_55 -innodb_encrypted_2/t_56 -innodb_encrypted_2/t_57 -innodb_encrypted_2/t_58 -innodb_encrypted_2/t_59 -innodb_encrypted_2/t_6 -innodb_encrypted_2/t_60 -innodb_encrypted_2/t_61 -innodb_encrypted_2/t_62 -innodb_encrypted_2/t_63 -innodb_encrypted_2/t_64 -innodb_encrypted_2/t_65 -innodb_encrypted_2/t_66 -innodb_encrypted_2/t_67 -innodb_encrypted_2/t_68 -innodb_encrypted_2/t_69 -innodb_encrypted_2/t_7 -innodb_encrypted_2/t_70 -innodb_encrypted_2/t_71 -innodb_encrypted_2/t_72 -innodb_encrypted_2/t_73 -innodb_encrypted_2/t_74 -innodb_encrypted_2/t_75 -innodb_encrypted_2/t_76 -innodb_encrypted_2/t_77 -innodb_encrypted_2/t_78 -innodb_encrypted_2/t_79 -innodb_encrypted_2/t_8 -innodb_encrypted_2/t_80 -innodb_encrypted_2/t_81 -innodb_encrypted_2/t_82 -innodb_encrypted_2/t_83 -innodb_encrypted_2/t_84 -innodb_encrypted_2/t_85 -innodb_encrypted_2/t_86 -innodb_encrypted_2/t_87 -innodb_encrypted_2/t_88 -innodb_encrypted_2/t_89 -innodb_encrypted_2/t_9 -innodb_encrypted_2/t_90 -innodb_encrypted_2/t_91 -innodb_encrypted_2/t_92 -innodb_encrypted_2/t_93 -innodb_encrypted_2/t_94 -innodb_encrypted_2/t_95 -innodb_encrypted_2/t_96 -innodb_encrypted_2/t_97 -innodb_encrypted_2/t_98 -innodb_encrypted_2/t_99 -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_3/t_1 -innodb_encrypted_3/t_10 -innodb_encrypted_3/t_100 -innodb_encrypted_3/t_11 -innodb_encrypted_3/t_12 -innodb_encrypted_3/t_13 -innodb_encrypted_3/t_14 -innodb_encrypted_3/t_15 -innodb_encrypted_3/t_16 -innodb_encrypted_3/t_17 -innodb_encrypted_3/t_18 -innodb_encrypted_3/t_19 -innodb_encrypted_3/t_2 -innodb_encrypted_3/t_20 -innodb_encrypted_3/t_21 -innodb_encrypted_3/t_22 -innodb_encrypted_3/t_23 -innodb_encrypted_3/t_24 -innodb_encrypted_3/t_25 -innodb_encrypted_3/t_26 -innodb_encrypted_3/t_27 -innodb_encrypted_3/t_28 -innodb_encrypted_3/t_29 -innodb_encrypted_3/t_3 -innodb_encrypted_3/t_30 -innodb_encrypted_3/t_31 -innodb_encrypted_3/t_32 -innodb_encrypted_3/t_33 -innodb_encrypted_3/t_34 -innodb_encrypted_3/t_35 -innodb_encrypted_3/t_36 -innodb_encrypted_3/t_37 -innodb_encrypted_3/t_38 -innodb_encrypted_3/t_39 -innodb_encrypted_3/t_4 -innodb_encrypted_3/t_40 -innodb_encrypted_3/t_41 -innodb_encrypted_3/t_42 -innodb_encrypted_3/t_43 -innodb_encrypted_3/t_44 -innodb_encrypted_3/t_45 -innodb_encrypted_3/t_46 -innodb_encrypted_3/t_47 -innodb_encrypted_3/t_48 -innodb_encrypted_3/t_49 -innodb_encrypted_3/t_5 -innodb_encrypted_3/t_50 -innodb_encrypted_3/t_51 -innodb_encrypted_3/t_52 -innodb_encrypted_3/t_53 -innodb_encrypted_3/t_54 -innodb_encrypted_3/t_55 -innodb_encrypted_3/t_56 -innodb_encrypted_3/t_57 -innodb_encrypted_3/t_58 -innodb_encrypted_3/t_59 -innodb_encrypted_3/t_6 -innodb_encrypted_3/t_60 -innodb_encrypted_3/t_61 -innodb_encrypted_3/t_62 -innodb_encrypted_3/t_63 -innodb_encrypted_3/t_64 -innodb_encrypted_3/t_65 -innodb_encrypted_3/t_66 -innodb_encrypted_3/t_67 -innodb_encrypted_3/t_68 -innodb_encrypted_3/t_69 -innodb_encrypted_3/t_7 -innodb_encrypted_3/t_70 -innodb_encrypted_3/t_71 -innodb_encrypted_3/t_72 -innodb_encrypted_3/t_73 -innodb_encrypted_3/t_74 -innodb_encrypted_3/t_75 -innodb_encrypted_3/t_76 -innodb_encrypted_3/t_77 -innodb_encrypted_3/t_78 -innodb_encrypted_3/t_79 -innodb_encrypted_3/t_8 -innodb_encrypted_3/t_80 -innodb_encrypted_3/t_81 -innodb_encrypted_3/t_82 -innodb_encrypted_3/t_83 -innodb_encrypted_3/t_84 -innodb_encrypted_3/t_85 -innodb_encrypted_3/t_86 -innodb_encrypted_3/t_87 -innodb_encrypted_3/t_88 -innodb_encrypted_3/t_89 -innodb_encrypted_3/t_9 -innodb_encrypted_3/t_90 -innodb_encrypted_3/t_91 -innodb_encrypted_3/t_92 -innodb_encrypted_3/t_93 -innodb_encrypted_3/t_94 -innodb_encrypted_3/t_95 -innodb_encrypted_3/t_96 -innodb_encrypted_3/t_97 -innodb_encrypted_3/t_98 -innodb_encrypted_3/t_99 -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -# Success! -# Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0 -# Restart Success! -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -use test; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -use innodb_encrypted_1; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -use innodb_encrypted_2; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -use innodb_encrypted_3; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -use innodb_encrypted_1; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 3 -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 103 -use innodb_encrypted_2; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 103 -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 203 -use innodb_encrypted_3; -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 203 -show status like 'innodb_pages0_read%'; -Variable_name Value -Innodb_pages0_read 303 -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_3/t_1 -innodb_encrypted_3/t_10 -innodb_encrypted_3/t_100 -innodb_encrypted_3/t_11 -innodb_encrypted_3/t_12 -innodb_encrypted_3/t_13 -innodb_encrypted_3/t_14 -innodb_encrypted_3/t_15 -innodb_encrypted_3/t_16 -innodb_encrypted_3/t_17 -innodb_encrypted_3/t_18 -innodb_encrypted_3/t_19 -innodb_encrypted_3/t_2 -innodb_encrypted_3/t_20 -innodb_encrypted_3/t_21 -innodb_encrypted_3/t_22 -innodb_encrypted_3/t_23 -innodb_encrypted_3/t_24 -innodb_encrypted_3/t_25 -innodb_encrypted_3/t_26 -innodb_encrypted_3/t_27 -innodb_encrypted_3/t_28 -innodb_encrypted_3/t_29 -innodb_encrypted_3/t_3 -innodb_encrypted_3/t_30 -innodb_encrypted_3/t_31 -innodb_encrypted_3/t_32 -innodb_encrypted_3/t_33 -innodb_encrypted_3/t_34 -innodb_encrypted_3/t_35 -innodb_encrypted_3/t_36 -innodb_encrypted_3/t_37 -innodb_encrypted_3/t_38 -innodb_encrypted_3/t_39 -innodb_encrypted_3/t_4 -innodb_encrypted_3/t_40 -innodb_encrypted_3/t_41 -innodb_encrypted_3/t_42 -innodb_encrypted_3/t_43 -innodb_encrypted_3/t_44 -innodb_encrypted_3/t_45 -innodb_encrypted_3/t_46 -innodb_encrypted_3/t_47 -innodb_encrypted_3/t_48 -innodb_encrypted_3/t_49 -innodb_encrypted_3/t_5 -innodb_encrypted_3/t_50 -innodb_encrypted_3/t_51 -innodb_encrypted_3/t_52 -innodb_encrypted_3/t_53 -innodb_encrypted_3/t_54 -innodb_encrypted_3/t_55 -innodb_encrypted_3/t_56 -innodb_encrypted_3/t_57 -innodb_encrypted_3/t_58 -innodb_encrypted_3/t_59 -innodb_encrypted_3/t_6 -innodb_encrypted_3/t_60 -innodb_encrypted_3/t_61 -innodb_encrypted_3/t_62 -innodb_encrypted_3/t_63 -innodb_encrypted_3/t_64 -innodb_encrypted_3/t_65 -innodb_encrypted_3/t_66 -innodb_encrypted_3/t_67 -innodb_encrypted_3/t_68 -innodb_encrypted_3/t_69 -innodb_encrypted_3/t_7 -innodb_encrypted_3/t_70 -innodb_encrypted_3/t_71 -innodb_encrypted_3/t_72 -innodb_encrypted_3/t_73 -innodb_encrypted_3/t_74 -innodb_encrypted_3/t_75 -innodb_encrypted_3/t_76 -innodb_encrypted_3/t_77 -innodb_encrypted_3/t_78 -innodb_encrypted_3/t_79 -innodb_encrypted_3/t_8 -innodb_encrypted_3/t_80 -innodb_encrypted_3/t_81 -innodb_encrypted_3/t_82 -innodb_encrypted_3/t_83 -innodb_encrypted_3/t_84 -innodb_encrypted_3/t_85 -innodb_encrypted_3/t_86 -innodb_encrypted_3/t_87 -innodb_encrypted_3/t_88 -innodb_encrypted_3/t_89 -innodb_encrypted_3/t_9 -innodb_encrypted_3/t_90 -innodb_encrypted_3/t_91 -innodb_encrypted_3/t_92 -innodb_encrypted_3/t_93 -innodb_encrypted_3/t_94 -innodb_encrypted_3/t_95 -innodb_encrypted_3/t_96 -innodb_encrypted_3/t_97 -innodb_encrypted_3/t_98 -innodb_encrypted_3/t_99 -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_2/t_1 -innodb_encrypted_2/t_10 -innodb_encrypted_2/t_100 -innodb_encrypted_2/t_11 -innodb_encrypted_2/t_12 -innodb_encrypted_2/t_13 -innodb_encrypted_2/t_14 -innodb_encrypted_2/t_15 -innodb_encrypted_2/t_16 -innodb_encrypted_2/t_17 -innodb_encrypted_2/t_18 -innodb_encrypted_2/t_19 -innodb_encrypted_2/t_2 -innodb_encrypted_2/t_20 -innodb_encrypted_2/t_21 -innodb_encrypted_2/t_22 -innodb_encrypted_2/t_23 -innodb_encrypted_2/t_24 -innodb_encrypted_2/t_25 -innodb_encrypted_2/t_26 -innodb_encrypted_2/t_27 -innodb_encrypted_2/t_28 -innodb_encrypted_2/t_29 -innodb_encrypted_2/t_3 -innodb_encrypted_2/t_30 -innodb_encrypted_2/t_31 -innodb_encrypted_2/t_32 -innodb_encrypted_2/t_33 -innodb_encrypted_2/t_34 -innodb_encrypted_2/t_35 -innodb_encrypted_2/t_36 -innodb_encrypted_2/t_37 -innodb_encrypted_2/t_38 -innodb_encrypted_2/t_39 -innodb_encrypted_2/t_4 -innodb_encrypted_2/t_40 -innodb_encrypted_2/t_41 -innodb_encrypted_2/t_42 -innodb_encrypted_2/t_43 -innodb_encrypted_2/t_44 -innodb_encrypted_2/t_45 -innodb_encrypted_2/t_46 -innodb_encrypted_2/t_47 -innodb_encrypted_2/t_48 -innodb_encrypted_2/t_49 -innodb_encrypted_2/t_5 -innodb_encrypted_2/t_50 -innodb_encrypted_2/t_51 -innodb_encrypted_2/t_52 -innodb_encrypted_2/t_53 -innodb_encrypted_2/t_54 -innodb_encrypted_2/t_55 -innodb_encrypted_2/t_56 -innodb_encrypted_2/t_57 -innodb_encrypted_2/t_58 -innodb_encrypted_2/t_59 -innodb_encrypted_2/t_6 -innodb_encrypted_2/t_60 -innodb_encrypted_2/t_61 -innodb_encrypted_2/t_62 -innodb_encrypted_2/t_63 -innodb_encrypted_2/t_64 -innodb_encrypted_2/t_65 -innodb_encrypted_2/t_66 -innodb_encrypted_2/t_67 -innodb_encrypted_2/t_68 -innodb_encrypted_2/t_69 -innodb_encrypted_2/t_7 -innodb_encrypted_2/t_70 -innodb_encrypted_2/t_71 -innodb_encrypted_2/t_72 -innodb_encrypted_2/t_73 -innodb_encrypted_2/t_74 -innodb_encrypted_2/t_75 -innodb_encrypted_2/t_76 -innodb_encrypted_2/t_77 -innodb_encrypted_2/t_78 -innodb_encrypted_2/t_79 -innodb_encrypted_2/t_8 -innodb_encrypted_2/t_80 -innodb_encrypted_2/t_81 -innodb_encrypted_2/t_82 -innodb_encrypted_2/t_83 -innodb_encrypted_2/t_84 -innodb_encrypted_2/t_85 -innodb_encrypted_2/t_86 -innodb_encrypted_2/t_87 -innodb_encrypted_2/t_88 -innodb_encrypted_2/t_89 -innodb_encrypted_2/t_9 -innodb_encrypted_2/t_90 -innodb_encrypted_2/t_91 -innodb_encrypted_2/t_92 -innodb_encrypted_2/t_93 -innodb_encrypted_2/t_94 -innodb_encrypted_2/t_95 -innodb_encrypted_2/t_96 -innodb_encrypted_2/t_97 -innodb_encrypted_2/t_98 -innodb_encrypted_2/t_99 -SET GLOBAL innodb_encrypt_tables = off; -SET GLOBAL innodb_encryption_threads=4; -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_2/t_1 -innodb_encrypted_2/t_10 -innodb_encrypted_2/t_100 -innodb_encrypted_2/t_11 -innodb_encrypted_2/t_12 -innodb_encrypted_2/t_13 -innodb_encrypted_2/t_14 -innodb_encrypted_2/t_15 -innodb_encrypted_2/t_16 -innodb_encrypted_2/t_17 -innodb_encrypted_2/t_18 -innodb_encrypted_2/t_19 -innodb_encrypted_2/t_2 -innodb_encrypted_2/t_20 -innodb_encrypted_2/t_21 -innodb_encrypted_2/t_22 -innodb_encrypted_2/t_23 -innodb_encrypted_2/t_24 -innodb_encrypted_2/t_25 -innodb_encrypted_2/t_26 -innodb_encrypted_2/t_27 -innodb_encrypted_2/t_28 -innodb_encrypted_2/t_29 -innodb_encrypted_2/t_3 -innodb_encrypted_2/t_30 -innodb_encrypted_2/t_31 -innodb_encrypted_2/t_32 -innodb_encrypted_2/t_33 -innodb_encrypted_2/t_34 -innodb_encrypted_2/t_35 -innodb_encrypted_2/t_36 -innodb_encrypted_2/t_37 -innodb_encrypted_2/t_38 -innodb_encrypted_2/t_39 -innodb_encrypted_2/t_4 -innodb_encrypted_2/t_40 -innodb_encrypted_2/t_41 -innodb_encrypted_2/t_42 -innodb_encrypted_2/t_43 -innodb_encrypted_2/t_44 -innodb_encrypted_2/t_45 -innodb_encrypted_2/t_46 -innodb_encrypted_2/t_47 -innodb_encrypted_2/t_48 -innodb_encrypted_2/t_49 -innodb_encrypted_2/t_5 -innodb_encrypted_2/t_50 -innodb_encrypted_2/t_51 -innodb_encrypted_2/t_52 -innodb_encrypted_2/t_53 -innodb_encrypted_2/t_54 -innodb_encrypted_2/t_55 -innodb_encrypted_2/t_56 -innodb_encrypted_2/t_57 -innodb_encrypted_2/t_58 -innodb_encrypted_2/t_59 -innodb_encrypted_2/t_6 -innodb_encrypted_2/t_60 -innodb_encrypted_2/t_61 -innodb_encrypted_2/t_62 -innodb_encrypted_2/t_63 -innodb_encrypted_2/t_64 -innodb_encrypted_2/t_65 -innodb_encrypted_2/t_66 -innodb_encrypted_2/t_67 -innodb_encrypted_2/t_68 -innodb_encrypted_2/t_69 -innodb_encrypted_2/t_7 -innodb_encrypted_2/t_70 -innodb_encrypted_2/t_71 -innodb_encrypted_2/t_72 -innodb_encrypted_2/t_73 -innodb_encrypted_2/t_74 -innodb_encrypted_2/t_75 -innodb_encrypted_2/t_76 -innodb_encrypted_2/t_77 -innodb_encrypted_2/t_78 -innodb_encrypted_2/t_79 -innodb_encrypted_2/t_8 -innodb_encrypted_2/t_80 -innodb_encrypted_2/t_81 -innodb_encrypted_2/t_82 -innodb_encrypted_2/t_83 -innodb_encrypted_2/t_84 -innodb_encrypted_2/t_85 -innodb_encrypted_2/t_86 -innodb_encrypted_2/t_87 -innodb_encrypted_2/t_88 -innodb_encrypted_2/t_89 -innodb_encrypted_2/t_9 -innodb_encrypted_2/t_90 -innodb_encrypted_2/t_91 -innodb_encrypted_2/t_92 -innodb_encrypted_2/t_93 -innodb_encrypted_2/t_94 -innodb_encrypted_2/t_95 -innodb_encrypted_2/t_96 -innodb_encrypted_2/t_97 -innodb_encrypted_2/t_98 -innodb_encrypted_2/t_99 -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -NAME -innodb_encrypted_3/t_1 -innodb_encrypted_3/t_10 -innodb_encrypted_3/t_100 -innodb_encrypted_3/t_11 -innodb_encrypted_3/t_12 -innodb_encrypted_3/t_13 -innodb_encrypted_3/t_14 -innodb_encrypted_3/t_15 -innodb_encrypted_3/t_16 -innodb_encrypted_3/t_17 -innodb_encrypted_3/t_18 -innodb_encrypted_3/t_19 -innodb_encrypted_3/t_2 -innodb_encrypted_3/t_20 -innodb_encrypted_3/t_21 -innodb_encrypted_3/t_22 -innodb_encrypted_3/t_23 -innodb_encrypted_3/t_24 -innodb_encrypted_3/t_25 -innodb_encrypted_3/t_26 -innodb_encrypted_3/t_27 -innodb_encrypted_3/t_28 -innodb_encrypted_3/t_29 -innodb_encrypted_3/t_3 -innodb_encrypted_3/t_30 -innodb_encrypted_3/t_31 -innodb_encrypted_3/t_32 -innodb_encrypted_3/t_33 -innodb_encrypted_3/t_34 -innodb_encrypted_3/t_35 -innodb_encrypted_3/t_36 -innodb_encrypted_3/t_37 -innodb_encrypted_3/t_38 -innodb_encrypted_3/t_39 -innodb_encrypted_3/t_4 -innodb_encrypted_3/t_40 -innodb_encrypted_3/t_41 -innodb_encrypted_3/t_42 -innodb_encrypted_3/t_43 -innodb_encrypted_3/t_44 -innodb_encrypted_3/t_45 -innodb_encrypted_3/t_46 -innodb_encrypted_3/t_47 -innodb_encrypted_3/t_48 -innodb_encrypted_3/t_49 -innodb_encrypted_3/t_5 -innodb_encrypted_3/t_50 -innodb_encrypted_3/t_51 -innodb_encrypted_3/t_52 -innodb_encrypted_3/t_53 -innodb_encrypted_3/t_54 -innodb_encrypted_3/t_55 -innodb_encrypted_3/t_56 -innodb_encrypted_3/t_57 -innodb_encrypted_3/t_58 -innodb_encrypted_3/t_59 -innodb_encrypted_3/t_6 -innodb_encrypted_3/t_60 -innodb_encrypted_3/t_61 -innodb_encrypted_3/t_62 -innodb_encrypted_3/t_63 -innodb_encrypted_3/t_64 -innodb_encrypted_3/t_65 -innodb_encrypted_3/t_66 -innodb_encrypted_3/t_67 -innodb_encrypted_3/t_68 -innodb_encrypted_3/t_69 -innodb_encrypted_3/t_7 -innodb_encrypted_3/t_70 -innodb_encrypted_3/t_71 -innodb_encrypted_3/t_72 -innodb_encrypted_3/t_73 -innodb_encrypted_3/t_74 -innodb_encrypted_3/t_75 -innodb_encrypted_3/t_76 -innodb_encrypted_3/t_77 -innodb_encrypted_3/t_78 -innodb_encrypted_3/t_79 -innodb_encrypted_3/t_8 -innodb_encrypted_3/t_80 -innodb_encrypted_3/t_81 -innodb_encrypted_3/t_82 -innodb_encrypted_3/t_83 -innodb_encrypted_3/t_84 -innodb_encrypted_3/t_85 -innodb_encrypted_3/t_86 -innodb_encrypted_3/t_87 -innodb_encrypted_3/t_88 -innodb_encrypted_3/t_89 -innodb_encrypted_3/t_9 -innodb_encrypted_3/t_90 -innodb_encrypted_3/t_91 -innodb_encrypted_3/t_92 -innodb_encrypted_3/t_93 -innodb_encrypted_3/t_94 -innodb_encrypted_3/t_95 -innodb_encrypted_3/t_96 -innodb_encrypted_3/t_97 -innodb_encrypted_3/t_98 -innodb_encrypted_3/t_99 -use test; -drop database innodb_encrypted_1; -drop database innodb_encrypted_2; -drop database innodb_encrypted_3; diff --git a/mysql-test/suite/encryption/t/innodb_lotoftables.opt b/mysql-test/suite/encryption/t/innodb_lotoftables.opt deleted file mode 100644 index ffb5a2957..000000000 --- a/mysql-test/suite/encryption/t/innodb_lotoftables.opt +++ /dev/null @@ -1,3 +0,0 @@ ---innodb-tablespaces-encryption ---innodb-encrypt-tables=off ---innodb-encryption-threads=0 diff --git a/mysql-test/suite/encryption/t/innodb_lotoftables.test b/mysql-test/suite/encryption/t/innodb_lotoftables.test deleted file mode 100644 index e204de3bb..000000000 --- a/mysql-test/suite/encryption/t/innodb_lotoftables.test +++ /dev/null @@ -1,240 +0,0 @@ --- source include/have_innodb.inc --- source include/have_example_key_management_plugin.inc --- source include/big_test.inc - -# embedded does not support restart --- source include/not_embedded.inc - ---disable_query_log -let $innodb_file_format_orig = `SELECT @@innodb_file_format`; -let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`; -let $innodb_encryption_threads_orig = `SELECT @@global.innodb_encryption_threads`; ---enable_query_log - -# empty the change buffer and the undo logs to avoid extra reads -SET GLOBAL innodb_fast_shutdown=0; ---source include/restart_mysqld.inc - -SET GLOBAL innodb_file_format = `Barracuda`; -SET GLOBAL innodb_file_per_table = ON; - -SHOW VARIABLES LIKE 'innodb_encrypt%'; - -# -# This will create 100 tables where that could be -# encrypted an unencrypt -# -create database innodb_encrypted_1; -use innodb_encrypted_1; -show status like 'innodb_pages0_read%'; -set autocommit=0; -let $tables = 100; - ---disable_query_log -while ($tables) -{ - eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb - stats_persistent=0; - commit; - let $rows = 100; - while($rows) - { - eval insert into t_$tables values ($rows, substring(MD5(RAND()), -64)); - dec $rows; - } - commit; - dec $tables; -} ---enable_query_log - -set autocommit=1; -commit work; -show status like 'innodb_pages0_read%'; -# -# Verify -# ---echo # should be empty -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%'; - -# -# This will create 100 tables that are encrypted always -# -create database innodb_encrypted_2; -use innodb_encrypted_2; -show status like 'innodb_pages0_read%'; -set autocommit=0; - ---disable_query_log -let $tables = 100; -while ($tables) -{ - eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb - stats_persistent=0 encrypted=yes; - commit; - let $rows = 100; - while($rows) - { - eval insert into t_$tables values ($rows, substring(MD5(RAND()), -64)); - dec $rows; - } - commit; - dec $tables; -} ---enable_query_log - -commit work; -set autocommit=1; -show status like 'innodb_pages0_read%'; -# -# Verify -# ---echo # should contain 100 tables -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; ---echo # should contain 0 tables -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; - -# -# This will create 100 tables that are not encrypted -# -create database innodb_encrypted_3; -use innodb_encrypted_3; -show status like 'innodb_pages0_read%'; -set autocommit=0; - ---disable_query_log -let $tables = 100; -while ($tables) -{ - eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb - stats_persistent=0 encrypted=no; - commit; - let $rows = 100; - while($rows) - { - eval insert into t_$tables values ($rows, substring(MD5(RAND()), -64)); - dec $rows; - } - commit; - dec $tables; -} ---enable_query_log - -commit work; -set autocommit=1; -show status like 'innodb_pages0_read%'; -# -# Verify -# ---echo # should contain 100 tables -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; ---echo # should contain 100 tables -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; - -use test; -show status like 'innodb_pages0_read%'; - -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; - -SET GLOBAL innodb_encrypt_tables = on; -SET GLOBAL innodb_encryption_threads=4; - ---let $wait_timeout= 600 ---let $wait_condition=SELECT COUNT(*) = 100 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0; ---source include/wait_condition.inc - -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -show status like 'innodb_pages0_read%'; - ---echo # Success! ---echo # Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0 --- let $restart_parameters=--innodb_encrypt_tables=0 --innodb_encryption_threads=0 --- source include/restart_mysqld.inc - ---echo # Restart Success! -show status like 'innodb_pages0_read%'; - -show status like 'innodb_pages0_read%'; -use test; -show status like 'innodb_pages0_read%'; -use innodb_encrypted_1; -show status like 'innodb_pages0_read%'; -use innodb_encrypted_2; -show status like 'innodb_pages0_read%'; -use innodb_encrypted_3; -show status like 'innodb_pages0_read%'; - -use innodb_encrypted_1; -show status like 'innodb_pages0_read%'; ---disable_result_log ---disable_query_log -let $tables = 100; -while ($tables) -{ - eval select * from t_$tables; - dec $tables; -} ---enable_query_log ---enable_result_log - -show status like 'innodb_pages0_read%'; - -use innodb_encrypted_2; -show status like 'innodb_pages0_read%'; - ---disable_result_log ---disable_query_log -let $tables = 100; -while ($tables) -{ - eval select * from t_$tables; - dec $tables; -} ---enable_query_log ---enable_result_log - -show status like 'innodb_pages0_read%'; - -use innodb_encrypted_3; -show status like 'innodb_pages0_read%'; ---disable_result_log ---disable_query_log -let $tables = 100; -while ($tables) -{ - eval select * from t_$tables; - dec $tables; -} ---enable_query_log ---enable_result_log - -show status like 'innodb_pages0_read%'; - -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; - -SET GLOBAL innodb_encrypt_tables = off; -SET GLOBAL innodb_encryption_threads=4; - ---let $wait_timeout= 600 ---let $wait_condition=SELECT COUNT(*) = 100 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0; ---source include/wait_condition.inc - - -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; -SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%' ORDER BY NAME; - -# -# Cleanup -# -use test; -drop database innodb_encrypted_1; -drop database innodb_encrypted_2; -drop database innodb_encrypted_3; - ---disable_query_log -EVAL SET GLOBAL innodb_file_per_table = $innodb_file_per_table_orig; -EVAL SET GLOBAL innodb_file_format = $innodb_file_format_orig; -EVAL SET GLOBAL innodb_encryption_threads = $innodb_encryption_threads_orig; ---enable_query_log diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def index 2c0ef3f8e..a9458f599 100644 --- a/mysql-test/suite/galera/disabled.def +++ b/mysql-test/suite/galera/disabled.def @@ -15,7 +15,6 @@ MW-328A : MDEV-17847 Galera test failure on MW-328[A|B|C] MW-328B : MDEV-17847 Galera test failure on MW-328[A|B|C] MW-328C : MDEV-17847 Galera test failure on MW-328[A|B|C] MW-329 : wsrep_local_replays not stable -MW-336 : MDEV-13549 Timeout in wait_condition.inc for PROCESSLIST MW-416 : MDEV-13549 Galera test failures MW-44 : MDEV-15809 Test failure on galera.MW-44 galera_account_management : MariaDB 10.0 does not support ALTER USER @@ -27,7 +26,6 @@ galera_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_ galera_binlog_stmt_autoinc : MDEV-13549 auto_increment mismatch galera_flush : MariaDB does not have global.thread_statistics galera_gcache_recover_manytrx : MDEV-18834 Galera test failure -galera_gcs_fc_limit : MDEV-17061 Timeout in wait_condition.inc for PROCESSLIST galera_ist_mariabackup : MDEV-18829 test leaves port open galera_ist_progress: MDEV-15236 fails when trying to read transfer status galera_kill_applier : race condition at the start of the test diff --git a/mysql-test/suite/galera/r/MW-336.result b/mysql-test/suite/galera/r/MW-336.result index 81e8eae0e..9a5bc88a4 100644 --- a/mysql-test/suite/galera/r/MW-336.result +++ b/mysql-test/suite/galera/r/MW-336.result @@ -3,29 +3,29 @@ INSERT INTO t1 values(0); SET GLOBAL wsrep_slave_threads = 10; SET GLOBAL wsrep_slave_threads = 1; # Wait 10 slave threads to start 1 -# Generate 12 replication events +SET SESSION wsrep_sync_wait=15; +# Generate 100 replication events +SET SESSION wsrep_sync_wait=15; SELECT COUNT(*) FROM t1; COUNT(*) -13 +101 # Wait 9 slave threads to exit 1 SET GLOBAL wsrep_slave_threads = 10; # Wait 10 slave threads to start 2 SET GLOBAL wsrep_slave_threads = 20; # Wait 20 slave threads to start 3 SET GLOBAL wsrep_slave_threads = 1; -# Generate 40 replication events +# Generate 100 replication events SELECT COUNT(*) FROM t1; COUNT(*) -53 +201 # Wait 10 slave threads to exit 3 SET GLOBAL wsrep_slave_threads = 10; -SET GLOBAL wsrep_slave_threads = 0; -Warnings: -Warning 1292 Truncated incorrect wsrep_slave_threads value: '0' +SET GLOBAL wsrep_slave_threads = 1; # Wait 10 slave threads to start 3 -# Generate 12 replication events +# Generate 100 replication events SELECT COUNT(*) FROM t1; COUNT(*) -65 +301 # Wait 10 slave threads to exit 4 DROP TABLE t1; diff --git a/mysql-test/suite/galera/r/galera_as_slave_gtid.result b/mysql-test/suite/galera/r/galera_as_slave_gtid.result index fbac7b1b6..db2bbf9dd 100644 --- a/mysql-test/suite/galera/r/galera_as_slave_gtid.result +++ b/mysql-test/suite/galera/r/galera_as_slave_gtid.result @@ -14,3 +14,7 @@ gtid_binlog_state_equal DROP TABLE t1; STOP SLAVE; RESET SLAVE ALL; +#cleanup +reset master; +reset master; +reset master; diff --git a/mysql-test/suite/galera/r/galera_gcs_fc_limit.result b/mysql-test/suite/galera/r/galera_gcs_fc_limit.result index 9463b5f8e..f3f417058 100644 --- a/mysql-test/suite/galera/r/galera_gcs_fc_limit.result +++ b/mysql-test/suite/galera/r/galera_gcs_fc_limit.result @@ -1,17 +1,20 @@ -CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1); -SELECT COUNT(*) = 1 FROM t1; -COUNT(*) = 1 +CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,B INTEGER) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1,1); +SET SESSION wsrep_sync_wait=15; +SELECT COUNT(*) FROM t1; +COUNT(*) 1 SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=1'; LOCK TABLE t1 WRITE; -INSERT INTO t1 VALUES (2); -INSERT INTO t1 VALUES (3); -INSERT INTO t1 VALUES (4); -INSERT INTO t1 VALUES (5); +FLUSH STATUS; +INSERT INTO t1 VALUES (2,2); +INSERT INTO t1 VALUES (3,3); +INSERT INTO t1 VALUES (4,4); +INSERT INTO t1(B) SELECT B FROM t1; +# In node_1 either insert or commit should be stuck UNLOCK TABLES; -INSERT INTO t1 VALUES (6); -SELECT COUNT(*) = 6 FROM t1; -COUNT(*) = 6 -1 +INSERT INTO t1 VALUES (NULL,6); +SELECT COUNT(*) FROM t1; +COUNT(*) +9 DROP TABLE t1; diff --git a/mysql-test/suite/galera/r/galera_log_bin.result b/mysql-test/suite/galera/r/galera_log_bin.result index 4772f3473..ee6dfb5d9 100644 --- a/mysql-test/suite/galera/r/galera_log_bin.result +++ b/mysql-test/suite/galera/r/galera_log_bin.result @@ -1,3 +1,5 @@ +reset master; +reset master; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t1 VALUES (1); CREATE TABLE t2 (id INT) ENGINE=InnoDB; @@ -10,50 +12,51 @@ SELECT COUNT(*) = 2 FROM t2; COUNT(*) = 2 1 ALTER TABLE t1 ADD COLUMN f2 INTEGER; -FLUSH LOGS; -SHOW BINLOG EVENTS IN 'mysqld-bin.000002' LIMIT 4,18; +include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info -mysqld-bin.000002 # Gtid # # GTID 0-1-1 -mysqld-bin.000002 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB -mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-2 -mysqld-bin.000002 # Table_map # # table_id: # (test.t1) -mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F -mysqld-bin.000002 # Xid # # COMMIT /* xid=# */ -mysqld-bin.000002 # Gtid # # GTID 0-1-3 -mysqld-bin.000002 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB -mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-4 -mysqld-bin.000002 # Table_map # # table_id: # (test.t2) -mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F -mysqld-bin.000002 # Xid # # COMMIT /* xid=# */ -mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-5 -mysqld-bin.000002 # Table_map # # table_id: # (test.t2) -mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F -mysqld-bin.000002 # Xid # # COMMIT /* xid=# */ -mysqld-bin.000002 # Gtid # # GTID 0-1-6 -mysqld-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER +mysqld-bin.000001 # Gtid # # GTID #-#-# +mysqld-bin.000001 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB +mysqld-bin.000001 # Gtid # # BEGIN GTID #-#-# +mysqld-bin.000001 # Table_map # # table_id: # (test.t1) +mysqld-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000001 # Xid # # COMMIT /* XID */ +mysqld-bin.000001 # Gtid # # GTID #-#-# +mysqld-bin.000001 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB +mysqld-bin.000001 # Gtid # # BEGIN GTID #-#-# +mysqld-bin.000001 # Table_map # # table_id: # (test.t2) +mysqld-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000001 # Xid # # COMMIT /* XID */ +mysqld-bin.000001 # Gtid # # BEGIN GTID #-#-# +mysqld-bin.000001 # Table_map # # table_id: # (test.t2) +mysqld-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000001 # Xid # # COMMIT /* XID */ +mysqld-bin.000001 # Gtid # # GTID #-#-# +mysqld-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; COUNT(*) = 2 1 -SHOW BINLOG EVENTS IN 'mysqld-bin.000003' LIMIT 3,18; +include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info -mysqld-bin.000003 # Gtid # # GTID 0-1-1 -mysqld-bin.000003 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB -mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-2 -mysqld-bin.000003 # Table_map # # table_id: # (test.t1) -mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F -mysqld-bin.000003 # Xid # # COMMIT /* xid=# */ -mysqld-bin.000003 # Gtid # # GTID 0-1-3 -mysqld-bin.000003 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB -mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-4 -mysqld-bin.000003 # Table_map # # table_id: # (test.t2) -mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F -mysqld-bin.000003 # Xid # # COMMIT /* xid=# */ -mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-5 -mysqld-bin.000003 # Table_map # # table_id: # (test.t2) -mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F -mysqld-bin.000003 # Xid # # COMMIT /* xid=# */ -mysqld-bin.000003 # Gtid # # GTID 0-1-6 -mysqld-bin.000003 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER +mysqld-bin.000001 # Gtid # # GTID #-#-# +mysqld-bin.000001 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB +mysqld-bin.000001 # Gtid # # BEGIN GTID #-#-# +mysqld-bin.000001 # Table_map # # table_id: # (test.t1) +mysqld-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000001 # Xid # # COMMIT /* XID */ +mysqld-bin.000001 # Gtid # # GTID #-#-# +mysqld-bin.000001 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB +mysqld-bin.000001 # Gtid # # BEGIN GTID #-#-# +mysqld-bin.000001 # Table_map # # table_id: # (test.t2) +mysqld-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000001 # Xid # # COMMIT /* XID */ +mysqld-bin.000001 # Gtid # # BEGIN GTID #-#-# +mysqld-bin.000001 # Table_map # # table_id: # (test.t2) +mysqld-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000001 # Xid # # COMMIT /* XID */ +mysqld-bin.000001 # Gtid # # GTID #-#-# +mysqld-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER DROP TABLE t1; DROP TABLE t2; +#cleanup RESET MASTER; +reset master; diff --git a/mysql-test/suite/galera/r/galera_log_output_csv.result b/mysql-test/suite/galera/r/galera_log_output_csv.result index cdb5ee49f..24b7dc2b3 100644 --- a/mysql-test/suite/galera/r/galera_log_output_csv.result +++ b/mysql-test/suite/galera/r/galera_log_output_csv.result @@ -16,3 +16,5 @@ SELECT COUNT(*) = 1 FROM mysql.slow_log WHERE sql_text = 'SELECT 2 = 2 FROM t1'; COUNT(*) = 1 1 DROP TABLE t1; +truncate table mysql.slow_log; +truncate table mysql.general_log; diff --git a/mysql-test/suite/galera/r/galera_parallel_autoinc_largetrx.result b/mysql-test/suite/galera/r/galera_parallel_autoinc_largetrx.result index 1f163f436..12c9889a4 100644 --- a/mysql-test/suite/galera/r/galera_parallel_autoinc_largetrx.result +++ b/mysql-test/suite/galera/r/galera_parallel_autoinc_largetrx.result @@ -1,18 +1,16 @@ -CREATE TABLE ten (f1 INTEGER); +CREATE TABLE ten (f1 INTEGER) Engine=InnoDB; INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB; +set session wsrep_sync_wait=15; SET GLOBAL wsrep_slave_threads = 4; INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;; INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;; INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;; -SELECT COUNT(*) = 30000 FROM t1; -COUNT(*) = 30000 -1 -SELECT COUNT(DISTINCT f1) = 30000 FROM t1; -COUNT(DISTINCT f1) = 30000 -1 -SELECT COUNT(*) = 5 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user'; -COUNT(*) = 5 -1 +SELECT COUNT(*) FROM t1; +COUNT(*) +30000 +SELECT COUNT(DISTINCT f1) FROM t1; +COUNT(DISTINCT f1) +30000 DROP TABLE t1; DROP TABLE ten; diff --git a/mysql-test/suite/galera/r/galera_parallel_autoinc_manytrx.result b/mysql-test/suite/galera/r/galera_parallel_autoinc_manytrx.result index 05ce32822..020ecfeec 100644 --- a/mysql-test/suite/galera/r/galera_parallel_autoinc_manytrx.result +++ b/mysql-test/suite/galera/r/galera_parallel_autoinc_manytrx.result @@ -1,15 +1,24 @@ -CREATE TABLE ten (f1 INTEGER); +CREATE TABLE ten (f1 INTEGER) Engine=InnoDB; INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB; +set session wsrep_sync_wait=15; SET GLOBAL wsrep_slave_threads = 4; -SELECT COUNT(*) = 20000 FROM t1; -COUNT(*) = 20000 -1 -SELECT COUNT(DISTINCT f1) = 20000 FROM t1; -COUNT(DISTINCT f1) = 20000 -1 -SELECT COUNT(*) = 4 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE 'committed%'; -COUNT(*) = 4 -1 +CREATE PROCEDURE p1 (repeat_count int) +BEGIN +DECLARE current_num int; +SET current_num = 0; +WHILE current_num < repeat_count do +INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1; +COMMIT; +SET current_num = current_num + 1; +END WHILE; +END| +SELECT COUNT(*) FROM t1; +COUNT(*) +40000 +SELECT COUNT(DISTINCT f1) FROM t1; +COUNT(DISTINCT f1) +40000 DROP TABLE t1; DROP TABLE ten; +DROP PROCEDURE p1; diff --git a/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result b/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result index 8e84236d5..0a9b699a8 100644 --- a/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result +++ b/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result @@ -71,4 +71,7 @@ wsrep_gtid_domain_id 9999 wsrep_gtid_mode 1 # On node_1 DROP TABLE t1, t2; +#cleanup +reset master; +reset master; # End of test diff --git a/mysql-test/suite/galera/r/mdev_10518.result b/mysql-test/suite/galera/r/mdev_10518.result index b2a3e0a65..f176c224c 100644 --- a/mysql-test/suite/galera/r/mdev_10518.result +++ b/mysql-test/suite/galera/r/mdev_10518.result @@ -71,4 +71,7 @@ wsrep_gtid_domain_id 4294967295 wsrep_gtid_mode 1 # On node_1 DROP TABLE t1, t2; +#cleanup +reset master; +reset master; # End of test diff --git a/mysql-test/suite/galera/t/MW-336.test b/mysql-test/suite/galera/t/MW-336.test index 749ffe671..15e0a38a0 100644 --- a/mysql-test/suite/galera/t/MW-336.test +++ b/mysql-test/suite/galera/t/MW-336.test @@ -19,13 +19,14 @@ SET GLOBAL wsrep_slave_threads = 1; --source include/wait_condition.inc --connection node_2 +SET SESSION wsrep_sync_wait=15; # Wait until inserts are replicated --let $wait_condition = SELECT COUNT(*) = 1 FROM t1; --source include/wait_condition.inc ---echo # Generate 12 replication events +--echo # Generate 100 replication events --disable_query_log --disable_result_log ---let $count = 12 +--let $count = 100 while ($count) { INSERT INTO t1 VALUES (1); @@ -35,9 +36,7 @@ while ($count) --enable_query_log --connection node_1 -# Wait until inserts are replicated ---let $wait_condition = SELECT COUNT(*) = 13 FROM t1; ---source include/wait_condition.inc +SET SESSION wsrep_sync_wait=15; SELECT COUNT(*) FROM t1; @@ -61,10 +60,10 @@ SET GLOBAL wsrep_slave_threads = 20; SET GLOBAL wsrep_slave_threads = 1; --connection node_2 ---echo # Generate 40 replication events +--echo # Generate 100 replication events --disable_query_log --disable_result_log ---let $count = 40 +--let $count = 100 while ($count) { INSERT INTO t1 VALUES (1); @@ -74,11 +73,6 @@ while ($count) --enable_result_log --connection node_1 - -# Wait until inserts are replicated ---let $wait_condition = SELECT COUNT(*) = 53 FROM t1; ---source include/wait_condition.inc - SELECT COUNT(*) FROM t1; --echo # Wait 10 slave threads to exit 3 @@ -87,7 +81,7 @@ SELECT COUNT(*) FROM t1; --source include/wait_condition.inc SET GLOBAL wsrep_slave_threads = 10; -SET GLOBAL wsrep_slave_threads = 0; +SET GLOBAL wsrep_slave_threads = 1; --echo # Wait 10 slave threads to start 3 --let $wait_timeout=600 @@ -95,10 +89,10 @@ SET GLOBAL wsrep_slave_threads = 0; --source include/wait_condition.inc --connection node_2 ---echo # Generate 12 replication events +--echo # Generate 100 replication events --disable_query_log --disable_result_log ---let $count = 12 +--let $count = 100 while ($count) { INSERT INTO t1 VALUES (1); @@ -108,10 +102,6 @@ while ($count) --enable_query_log --connection node_1 -# Wait until inserts are replicated ---let $wait_condition = SELECT COUNT(*) = 65 FROM t1; ---source include/wait_condition.inc - SELECT COUNT(*) FROM t1; --echo # Wait 10 slave threads to exit 4 diff --git a/mysql-test/suite/galera/t/galera_as_slave_gtid.test b/mysql-test/suite/galera/t/galera_as_slave_gtid.test index c2331a2ae..a3c435409 100644 --- a/mysql-test/suite/galera/t/galera_as_slave_gtid.test +++ b/mysql-test/suite/galera/t/galera_as_slave_gtid.test @@ -65,3 +65,13 @@ DROP TABLE t1; STOP SLAVE; RESET SLAVE ALL; + +--echo #cleanup +--connection node_1 +reset master; + +--connection node_2 +reset master; + +--connection node_3 +reset master; diff --git a/mysql-test/suite/galera/t/galera_gcs_fc_limit.test b/mysql-test/suite/galera/t/galera_gcs_fc_limit.test index 61576a393..e0626bd89 100644 --- a/mysql-test/suite/galera/t/galera_gcs_fc_limit.test +++ b/mysql-test/suite/galera/t/galera_gcs_fc_limit.test @@ -5,12 +5,12 @@ --source include/galera_cluster.inc --source include/have_innodb.inc -CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1); +CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,B INTEGER) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1,1); --connection node_2 -SELECT COUNT(*) = 1 FROM t1; ---sleep 1 +SET SESSION wsrep_sync_wait=15; +SELECT COUNT(*) FROM t1; --let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options` SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=1'; @@ -19,24 +19,22 @@ SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=1'; LOCK TABLE t1 WRITE; --connection node_1 ---sleep 1 -INSERT INTO t1 VALUES (2); ---sleep 2 -INSERT INTO t1 VALUES (3); ---sleep 2 -INSERT INTO t1 VALUES (4); ---sleep 2 +FLUSH STATUS; +INSERT INTO t1 VALUES (2,2); +INSERT INTO t1 VALUES (3,3); +INSERT INTO t1 VALUES (4,4); # This query will hang because flow control will kick in --send -INSERT INTO t1 VALUES (5); ---sleep 2 +INSERT INTO t1(B) SELECT B FROM t1; --let $galera_connection_name = node_1a --let $galera_server_number = 1 --source include/galera_connect.inc --connection node_1a ---let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'query end' AND INFO = 'INSERT INTO t1 VALUES (5)'; + +--echo # In node_1 either insert or commit should be stuck +--let $wait_condition = SELECT VARIABLE_VALUE > 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_flow_control_paused'; --source include/wait_condition.inc --connection node_2 @@ -46,11 +44,11 @@ UNLOCK TABLES; --connection node_1 --reap -INSERT INTO t1 VALUES (6); +INSERT INTO t1 VALUES (NULL,6); --connection node_2 # Replication catches up and continues normally -SELECT COUNT(*) = 6 FROM t1; +SELECT COUNT(*) FROM t1; --disable_query_log --eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig'; diff --git a/mysql-test/suite/galera/t/galera_log_bin.test b/mysql-test/suite/galera/t/galera_log_bin.test index d2d3987d7..c3d94d151 100644 --- a/mysql-test/suite/galera/t/galera_log_bin.test +++ b/mysql-test/suite/galera/t/galera_log_bin.test @@ -1,6 +1,11 @@ --source include/galera_cluster.inc --source include/have_innodb.inc +--connection node_1 +reset master; +--connection node_2 +reset master; + # # Test Galera with --log-bin --log-slave-updates . # This way the actual MySQL binary log is used, @@ -20,20 +25,19 @@ SELECT COUNT(*) = 2 FROM t2; --connection node_1 ALTER TABLE t1 ADD COLUMN f2 INTEGER; - -FLUSH LOGS; ---replace_column 2 # 4 # 5 # ---replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/ -SHOW BINLOG EVENTS IN 'mysqld-bin.000002' LIMIT 4,18; +--let $MASTER_MYPORT=$NODE_MYPORT_1 +--source include/show_binlog_events.inc --connection node_2 SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; ---replace_column 2 # 4 # 5 # ---replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/ -SHOW BINLOG EVENTS IN 'mysqld-bin.000003' LIMIT 3,18; +--let $MASTER_MYPORT=$NODE_MYPORT_2 +--source include/show_binlog_events.inc DROP TABLE t1; DROP TABLE t2; +--echo #cleanup --connection node_1 RESET MASTER; +--connection node_2 +reset master; diff --git a/mysql-test/suite/galera/t/galera_log_output_csv.test b/mysql-test/suite/galera/t/galera_log_output_csv.test index 94ae3dd61..eeccc9531 100644 --- a/mysql-test/suite/galera/t/galera_log_output_csv.test +++ b/mysql-test/suite/galera/t/galera_log_output_csv.test @@ -22,3 +22,5 @@ SELECT COUNT(*) = 1 FROM mysql.slow_log WHERE sql_text = 'SELECT 2 = 2 FROM t1'; --connection node_1 DROP TABLE t1; +truncate table mysql.slow_log; +truncate table mysql.general_log; diff --git a/mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test b/mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test index f280e49d2..345582834 100644 --- a/mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test +++ b/mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test @@ -12,13 +12,18 @@ --source include/galera_connect.inc --connection node_1 -CREATE TABLE ten (f1 INTEGER); +CREATE TABLE ten (f1 INTEGER) Engine=InnoDB; INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB; + --connection node_2 +set session wsrep_sync_wait=15; --let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads` SET GLOBAL wsrep_slave_threads = 4; +--let $wait_condition = SELECT COUNT(*) = @@wsrep_slave_threads + 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%'); +--source include/wait_condition.inc + --connection node_1 --send INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4; @@ -37,9 +42,9 @@ SET GLOBAL wsrep_slave_threads = 4; --connection node_2 --reap -SELECT COUNT(*) = 30000 FROM t1; -SELECT COUNT(DISTINCT f1) = 30000 FROM t1; -SELECT COUNT(*) = 5 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user'; +--disconnect node_1a +SELECT COUNT(*) FROM t1; +SELECT COUNT(DISTINCT f1) FROM t1; --disable_query_log --eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig; diff --git a/mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test b/mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test index 8680d62a3..d04603891 100644 --- a/mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test +++ b/mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test @@ -6,43 +6,78 @@ --source include/have_innodb.inc --source include/big_test.inc -# Create a second connection to node1 so that we can run transactions concurrently +--connection node_1 +CREATE TABLE ten (f1 INTEGER) Engine=InnoDB; +INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); + +CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB; + +# Create few connections to node1 so that we can run transactions concurrently --let $galera_connection_name = node_1a --let $galera_server_number = 1 --source include/galera_connect.inc ---connection node_1 -CREATE TABLE ten (f1 INTEGER); -INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); +--let $galera_connection_name = node_1b +--let $galera_server_number = 1 +--source include/galera_connect.inc -CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 INTEGER) Engine=InnoDB; --connection node_2 +set session wsrep_sync_wait=15; --let $wsrep_slave_threads_orig = `SELECT @@wsrep_slave_threads` SET GLOBAL wsrep_slave_threads = 4; +--let $wait_condition = SELECT COUNT(*) = @@wsrep_slave_threads + 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND (STATE IS NULL OR STATE NOT LIKE 'InnoDB%'); +--source include/wait_condition.inc + +--connection node_1 +DELIMITER |; +CREATE PROCEDURE p1 (repeat_count int) +BEGIN + DECLARE current_num int; + SET current_num = 0; + WHILE current_num < repeat_count do + INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1; + COMMIT; + SET current_num = current_num + 1; + END WHILE; +END| +DELIMITER ;| + +--disable_query_log +send call p1(1000); + +--connection node_1a +--disable_query_log +send call p1(1000); + +--connection node_1b +--disable_query_log +send call p1(1000); + +--connection node_2 +--disable_query_log +send call p1(1000); --connection node_1 ---let $count = 1000 -while ($count) -{ - --disable_query_log - INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1; - --enable_query_log - --dec $count -} +reap; +--enable_query_log + +--connection node_1a +reap; +--enable_query_log + +--connection node_1b +reap; +--enable_query_log --connection node_2 ---let $count = 1000 -while ($count) -{ - --disable_query_log - INSERT INTO t1 (f2) SELECT 1 FROM ten AS a1; - --enable_query_log - --dec $count -} - -SELECT COUNT(*) = 20000 FROM t1; -SELECT COUNT(DISTINCT f1) = 20000 FROM t1; -SELECT COUNT(*) = 4 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE 'committed%'; +reap; +--enable_query_log + +SELECT COUNT(*) FROM t1; +SELECT COUNT(DISTINCT f1) FROM t1; + +--disconnect node_1a +--disconnect node_1b --disable_query_log --eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig; @@ -51,4 +86,6 @@ SELECT COUNT(*) = 4 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system use --connection default DROP TABLE t1; DROP TABLE ten; +DROP PROCEDURE p1; + diff --git a/mysql-test/suite/galera/t/galera_sync_wait_show.test b/mysql-test/suite/galera/t/galera_sync_wait_show.test index 58de54330..79a1b6ad4 100644 --- a/mysql-test/suite/galera/t/galera_sync_wait_show.test +++ b/mysql-test/suite/galera/t/galera_sync_wait_show.test @@ -63,7 +63,9 @@ DROP TABLE t1; --connection node_1 +--disable_warnings CREATE EVENT event1 ON SCHEDULE AT '2038-01-01 23:59:59' DO SELECT 1; +--enable_warnings --connection node_2 SHOW CREATE EVENT event1; diff --git a/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test index c4127b4f6..015f25abf 100644 --- a/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test +++ b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test @@ -48,6 +48,13 @@ source include/print_gtid.inc; # Cleanup DROP TABLE t1, t2; +--echo #cleanup +--connection node_1 +reset master; + +--connection node_2 +reset master; + --source include/galera_end.inc --echo # End of test diff --git a/mysql-test/suite/galera/t/mdev_10518.test b/mysql-test/suite/galera/t/mdev_10518.test index c4127b4f6..015f25abf 100644 --- a/mysql-test/suite/galera/t/mdev_10518.test +++ b/mysql-test/suite/galera/t/mdev_10518.test @@ -48,6 +48,13 @@ source include/print_gtid.inc; # Cleanup DROP TABLE t1, t2; +--echo #cleanup +--connection node_1 +reset master; + +--connection node_2 +reset master; + --source include/galera_end.inc --echo # End of test diff --git a/mysql-test/suite/galera_3nodes/r/galera_evs_suspect_timeout.result b/mysql-test/suite/galera_3nodes/r/galera_evs_suspect_timeout.result index 7e0d282ec..833d045f2 100644 --- a/mysql-test/suite/galera_3nodes/r/galera_evs_suspect_timeout.result +++ b/mysql-test/suite/galera_3nodes/r/galera_evs_suspect_timeout.result @@ -1,20 +1,25 @@ SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S'; SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S'; Suspending node ... -SET SESSION wsrep_sync_wait = 0; +SET SESSION wsrep_sync_wait=0; SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; VARIABLE_VALUE = 2 1 -CREATE TABLE t1 (f1 INTEGER); +CREATE TABLE t1 (f1 INTEGER) engine=InnoDB; INSERT INTO t1 VALUES (1); -SET SESSION wsrep_sync_wait = 0; +SET SESSION wsrep_sync_wait=0; SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; VARIABLE_VALUE = 2 1 -SET SESSION wsrep_sync_wait = DEFAULT; -SELECT COUNT(*) = 1 FROM t1; -COUNT(*) = 1 +SET SESSION wsrep_sync_wait = 15; +SELECT COUNT(*) FROM t1; +COUNT(*) 1 -DROP TABLE t1; Resuming node ... -CALL mtr.add_suppression("WSREP: gcs_caused() returned -1 \\(Operation not permitted\\)"); +CALL mtr.add_suppression("WSREP: gcs_caused.*"); +CALL mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg.*"); +SET SESSION wsrep_sync_wait = 15; +SELECT COUNT(*) FROM t1; +COUNT(*) +1 +DROP TABLE t1; diff --git a/mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test b/mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test index 03236a3cb..298613b35 100644 --- a/mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test +++ b/mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test @@ -7,24 +7,28 @@ --source include/galera_cluster.inc --source include/have_innodb.inc +--let $galera_connection_name = node_3 +--let $galera_server_number = 3 +--source include/galera_connect.inc +--let $wsrep_cluster_address_node3 = `SELECT @@wsrep_cluster_address` + +# Save original auto_increment_offset values. +--let $node_1=node_1 +--let $node_2=node_2 +--let $node_3=node_3 +--source ../galera/include/auto_increment_offset_save.inc + --connection node_1 --let $wsrep_provider_options_node1 = `SELECT @@wsrep_provider_options` SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S'; --connection node_2 ---source include/wait_until_connected_again.inc --let $wsrep_provider_options_node2 = `SELECT @@wsrep_provider_options` SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S'; ---let $galera_connection_name = node_3 ---let $galera_server_number = 3 ---source include/galera_connect.inc ---connection node_3 ---source include/wait_until_connected_again.inc ---let $wsrep_cluster_address_node3 = `SELECT @@wsrep_cluster_address` - # Suspend node #3 +--connection node_3 --source include/galera_suspend.inc --sleep 5 @@ -32,27 +36,27 @@ SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_ti --connection node_1 --source include/wait_until_connected_again.inc -SET SESSION wsrep_sync_wait = 0; +SET SESSION wsrep_sync_wait=0; SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; --disable_query_log --eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node1'; --enable_query_log - --source include/wait_until_connected_again.inc -CREATE TABLE t1 (f1 INTEGER); + +CREATE TABLE t1 (f1 INTEGER) engine=InnoDB; INSERT INTO t1 VALUES (1); --connection node_2 -SET SESSION wsrep_sync_wait = 0; +--source include/wait_until_connected_again.inc +SET SESSION wsrep_sync_wait=0; SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; --disable_query_log --eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node2'; --enable_query_log - --source include/wait_until_connected_again.inc -SET SESSION wsrep_sync_wait = DEFAULT; -SELECT COUNT(*) = 1 FROM t1; -DROP TABLE t1; + +SET SESSION wsrep_sync_wait = 15; +SELECT COUNT(*) FROM t1; # Reconnect node #3 so that MTR's end-of-test checks can run @@ -60,9 +64,19 @@ DROP TABLE t1; --source include/galera_resume.inc --source include/wait_until_connected_again.inc -CALL mtr.add_suppression("WSREP: gcs_caused() returned -1 \\(Operation not permitted\\)"); +CALL mtr.add_suppression("WSREP: gcs_caused.*"); +CALL mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg.*"); --disable_query_log --eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_node3'; --enable_query_log --source include/wait_until_connected_again.inc + +SET SESSION wsrep_sync_wait = 15; +SELECT COUNT(*) FROM t1; + +--connection node_1 +DROP TABLE t1; +# Restore original auto_increment_offset values. +--source ../galera/include/auto_increment_offset_restore.inc + diff --git a/mysql-test/suite/innodb/disabled.def b/mysql-test/suite/innodb/disabled.def index 8cae44a36..78bc167c5 100644 --- a/mysql-test/suite/innodb/disabled.def +++ b/mysql-test/suite/innodb/disabled.def @@ -10,3 +10,4 @@ # ############################################################################## +check_ibd_filesize : MDEV-20094 result differences diff --git a/mysql-test/suite/innodb/include/show_i_s_tables.inc b/mysql-test/suite/innodb/include/show_i_s_tables.inc new file mode 100644 index 000000000..5fe34c370 --- /dev/null +++ b/mysql-test/suite/innodb/include/show_i_s_tables.inc @@ -0,0 +1,19 @@ +--echo === information_schema.innodb_sys_tables and innodb_sys_tablespaces === +--disable_query_log +--replace_result #P# #p# #SP# #sp# +--replace_regex /FTS_([0-9a-f_]+)([A-Z0-9_]+)/FTS_AUX_\2/ + +SELECT t.name 'Table Name', + s.name 'Tablespace', + t.flag 'Table Flags', + t.n_cols 'Columns', + t.row_format 'Row Format', + t.zip_page_size 'Zip Size' + FROM information_schema.innodb_sys_tables t LEFT JOIN + information_schema.innodb_sys_tablespaces s + ON t.space = s.space + WHERE t.name not like 'SYS_%' + AND t.name NOT LIKE 'mysql/%' + AND t.name NOT LIKE 'sys/%' + ORDER BY t.name; +--enable_query_log diff --git a/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc b/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc new file mode 100644 index 000000000..a3755f865 --- /dev/null +++ b/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc @@ -0,0 +1,19 @@ +# This script assumes that the caller did the following; +# LET $MYSQLD_DATADIR = `select @@datadir`; +# LET $INNODB_PAGE_SIZE = `select @@innodb_page_size`; +--echo === information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === +--disable_query_log +--replace_regex /#P#/#p#/ /#SP#/#sp#/ +--replace_result ./ MYSQLD_DATADIR/ $MYSQLD_DATADIR MYSQLD_DATADIR $MYSQL_TMP_DIR MYSQL_TMP_DIR $INNODB_PAGE_SIZE DEFAULT +SELECT s.name 'Space_Name', + s.page_size 'Page_Size', + s.zip_page_size 'Zip_Size', + s.row_format 'Formats_Permitted', + d.path 'Path' + FROM information_schema.innodb_sys_tablespaces s, + information_schema.innodb_sys_datafiles d + WHERE s.space = d.space + AND s.name NOT LIKE 'mysql/%' + AND s.name NOT LIKE 'sys/%' + ORDER BY s.space; +--enable_query_log diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff b/mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff new file mode 100644 index 000000000..d6828e882 --- /dev/null +++ b/mysql-test/suite/innodb/r/check_ibd_filesize,32k.rdiff @@ -0,0 +1,25 @@ +--- check_ibd_filesize.result ++++ check_ibd_filesize.result,32k +@@ -3,18 +3,12 @@ + # SPACE IN 5.7 THAN IN 5.6 + # + CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +-# bytes: 98304 ++# bytes: 196608 + INSERT INTO t1 SELECT * FROM seq_1_to_25000; +-# bytes: 9437184 ++# bytes: 786432 + DROP TABLE t1; + CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) ENGINE=InnoDB; +-# bytes: 98304 ++# bytes: 196608 + INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +-# bytes: 2097152 +-DROP TABLE t1; +-CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) +-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; +-# bytes: 65536 +-INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +-# bytes: 65536 ++# bytes: 786432 + DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff b/mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff new file mode 100644 index 000000000..0aeb3ebca --- /dev/null +++ b/mysql-test/suite/innodb/r/check_ibd_filesize,4k.rdiff @@ -0,0 +1,25 @@ +--- check_ibd_filesize.result ++++ check_ibd_filesize.result,4k +@@ -3,18 +3,18 @@ + # SPACE IN 5.7 THAN IN 5.6 + # + CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +-# bytes: 98304 ++# bytes: 24576 + INSERT INTO t1 SELECT * FROM seq_1_to_25000; + # bytes: 9437184 + DROP TABLE t1; + CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) ENGINE=InnoDB; +-# bytes: 98304 ++# bytes: 24576 + INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; + # bytes: 2097152 + DROP TABLE t1; + CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) + ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; +-# bytes: 65536 ++# bytes: 16384 + INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +-# bytes: 65536 ++# bytes: 25600 + DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff b/mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff new file mode 100644 index 000000000..410707991 --- /dev/null +++ b/mysql-test/suite/innodb/r/check_ibd_filesize,64k.rdiff @@ -0,0 +1,25 @@ +--- check_ibd_filesize.result ++++ check_ibd_filesize.result,64k +@@ -3,18 +3,12 @@ + # SPACE IN 5.7 THAN IN 5.6 + # + CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +-# bytes: 98304 ++# bytes: 393216 + INSERT INTO t1 SELECT * FROM seq_1_to_25000; +-# bytes: 9437184 ++# bytes: 983040 + DROP TABLE t1; + CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) ENGINE=InnoDB; +-# bytes: 98304 ++# bytes: 393216 + INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +-# bytes: 2097152 +-DROP TABLE t1; +-CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) +-ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; +-# bytes: 65536 +-INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +-# bytes: 65536 ++# bytes: 1572864 + DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff b/mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff new file mode 100644 index 000000000..f1d79846c --- /dev/null +++ b/mysql-test/suite/innodb/r/check_ibd_filesize,8k.rdiff @@ -0,0 +1,25 @@ +--- check_ibd_filesize.result ++++ check_ibd_filesize.result,8k +@@ -3,18 +3,18 @@ + # SPACE IN 5.7 THAN IN 5.6 + # + CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +-# bytes: 98304 ++# bytes: 49152 + INSERT INTO t1 SELECT * FROM seq_1_to_25000; + # bytes: 9437184 + DROP TABLE t1; + CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) ENGINE=InnoDB; +-# bytes: 98304 ++# bytes: 49152 + INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; + # bytes: 2097152 + DROP TABLE t1; + CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) + ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; +-# bytes: 65536 ++# bytes: 32768 + INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +-# bytes: 65536 ++# bytes: 32768 + DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/check_ibd_filesize.result b/mysql-test/suite/innodb/r/check_ibd_filesize.result new file mode 100644 index 000000000..9465c3a31 --- /dev/null +++ b/mysql-test/suite/innodb/r/check_ibd_filesize.result @@ -0,0 +1,20 @@ +# +# Bug #21950389 SMALL TABLESPACES WITH BLOBS TAKE UP TO 80 TIMES MORE +# SPACE IN 5.7 THAN IN 5.6 +# +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +# bytes: 98304 +INSERT INTO t1 SELECT * FROM seq_1_to_25000; +# bytes: 9437184 +DROP TABLE t1; +CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) ENGINE=InnoDB; +# bytes: 98304 +INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +# bytes: 2097152 +DROP TABLE t1; +CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) +ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; +# bytes: 65536 +INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +# bytes: 65536 +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/create_select.result b/mysql-test/suite/innodb/r/create_select.result new file mode 100644 index 000000000..35acb2e26 --- /dev/null +++ b/mysql-test/suite/innodb/r/create_select.result @@ -0,0 +1,5 @@ +CREATE TABLE t1 ENGINE=InnoDB SELECT * FROM seq_1_to_100000000; +KILL QUERY @id; +ERROR 70100: Query execution was interrupted +CREATE TABLE t1 (a SERIAL) ENGINE=InnoDB; +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/foreign-keys.result b/mysql-test/suite/innodb/r/foreign-keys.result index 68528521f..10e0b1f3d 100644 --- a/mysql-test/suite/innodb/r/foreign-keys.result +++ b/mysql-test/suite/innodb/r/foreign-keys.result @@ -100,3 +100,27 @@ CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB; INSERT INTO t2 VALUES(2); ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE; DROP TABLE t2, t1; +# +# MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name) +# +CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB; +CREATE TABLE t2 LIKE t1; +FLUSH TABLES; +SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go'; +ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE; +connect con1, localhost, root; +SET debug_sync='now WAIT_FOR ready'; +SET lock_wait_timeout=1; +UPDATE t2 SET pk=10 WHERE pk=1; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1'; +DEALLOCATE PREPARE stmt; +FLUSH TABLE t2; +SET debug_sync='now SIGNAL go'; +connection default; +disconnect con1; +connection default; +SET debug_sync='reset'; +SHOW OPEN TABLES FROM test; +Database Table In_use Name_locked +DROP TABLE t1, t2; diff --git a/mysql-test/suite/innodb/r/innodb-autoinc.result b/mysql-test/suite/innodb/r/innodb-autoinc.result index 7d50ed00a..2c428b0ba 100644 --- a/mysql-test/suite/innodb/r/innodb-autoinc.result +++ b/mysql-test/suite/innodb/r/innodb-autoinc.result @@ -621,6 +621,130 @@ c1 c2 3 3 4 4 DROP TABLE t1; +# +# Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED AUTO_INCREMENT_INCREMENT CLIENTS +# +# This test shows that the next record to be inserted is not affected +# by a change in auto_increment_increment. +# In addition, current value of auto_increment_increment by the client +# that uses the existing autoinc value with be used to set next autoinc +# value, which will be used by next client reguardless of its own session +# setting for auto_increment_increment. +# +# Client 1: Insert a record with auto_increment_increment=2 +CREATE TABLE t( +a SERIAL PRIMARY KEY, +b VARCHAR(200)) ENGINE=InnoDB; +SET SESSION auto_increment_increment=2; +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +INSERT INTO t(b) VALUES('S1'); +SELECT a,b FROM t; +a b +1 S1 +# Client 2: Insert records with auto_increment_increment 2,1 +SET SESSION auto_increment_increment=2; +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 +INSERT INTO t(b) VALUES('S2'); +SELECT a,b FROM t; +a b +1 S1 +3 S2 +SET SESSION auto_increment_increment=1; +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 +INSERT INTO t(b) VALUES('S2'); +SELECT a,b FROM t; +a b +1 S1 +3 S2 +4 S2 +# Client 1: Insert a record with auto_increment_increment=1 +SET SESSION auto_increment_increment=1; +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 +INSERT INTO t(b) VALUES('S1'); +SELECT a,b FROM t; +a b +1 S1 +3 S2 +4 S2 +5 S1 +DROP TABLE t; +# Autoincrement behaviour with mixed insert. +CREATE TABLE t( +a TINYINT AUTO_INCREMENT PRIMARY KEY, +b VARCHAR(200)) ENGINE=InnoDB; +SET SESSION auto_increment_increment=10; +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` tinyint(4) NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +INSERT INTO t(b) VALUES('S0'),('S1'); +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` tinyint(4) NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1 +INSERT INTO t(a,b) VALUES(28,'S2'); +SET SESSION auto_increment_increment=1; +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` tinyint(4) NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=latin1 +INSERT INTO t(b) VALUES('S3'); +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` tinyint(4) NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=latin1 +INSERT INTO t(b) VALUES('S4'); +SELECT * FROM t; +a b +1 S0 +11 S1 +22 S3 +23 S4 +28 S2 +SHOW CREATE TABLE t; +Table Create Table +t CREATE TABLE `t` ( + `a` tinyint(4) NOT NULL AUTO_INCREMENT, + `b` varchar(200) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 +DROP TABLE t; SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=5; DROP TABLE IF EXISTS t1; Warnings: diff --git a/mysql-test/suite/innodb/r/innodb-system-table-view.result b/mysql-test/suite/innodb/r/innodb-system-table-view.result new file mode 100644 index 000000000..ea29e47e2 --- /dev/null +++ b/mysql-test/suite/innodb/r/innodb-system-table-view.result @@ -0,0 +1,153 @@ +SELECT table_id INTO @table_stats_id FROM information_schema.innodb_sys_tables +WHERE name = 'mysql/innodb_table_stats'; +SELECT table_id INTO @index_stats_id FROM information_schema.innodb_sys_tables +WHERE name = 'mysql/innodb_index_stats'; +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES +WHERE table_id NOT IN (@table_stats_id, @index_stats_id) ORDER BY table_id; +TABLE_ID NAME FLAG N_COLS SPACE FILE_FORMAT ROW_FORMAT ZIP_PAGE_SIZE +11 SYS_FOREIGN 0 7 0 Antelope Redundant 0 +12 SYS_FOREIGN_COLS 0 7 0 Antelope Redundant 0 +13 SYS_TABLESPACES 0 6 0 Antelope Redundant 0 +14 SYS_DATAFILES 0 5 0 Antelope Redundant 0 +SELECT table_id,pos,mtype,prtype,len,name +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS +WHERE table_id NOT IN (@table_stats_id, @index_stats_id) +ORDER BY table_id, pos; +table_id pos mtype prtype len name +11 0 1 524292 0 ID +11 1 1 524292 0 FOR_NAME +11 2 1 524292 0 REF_NAME +11 3 6 0 4 N_COLS +12 0 1 524292 0 ID +12 1 6 0 4 POS +12 2 1 524292 0 FOR_COL_NAME +12 3 1 524292 0 REF_COL_NAME +13 0 6 0 4 SPACE +13 1 1 524292 0 NAME +13 2 6 0 4 FLAGS +14 0 6 0 4 SPACE +14 1 1 524292 0 PATH +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES +WHERE table_id NOT IN (@table_stats_id, @index_stats_id) ORDER BY index_id; +INDEX_ID NAME TABLE_ID TYPE N_FIELDS PAGE_NO SPACE +# ID_IND # 3 1 # # +# FOR_IND # 0 1 # # +# REF_IND # 0 1 # # +# ID_IND # 3 2 # # +# SYS_TABLESPACES_SPACE # 3 1 # # +# SYS_DATAFILES_SPACE # 3 1 # # +SELECT index_id,pos,name FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS +WHERE name NOT IN ('database_name', 'table_name', 'index_name', 'stat_name') +ORDER BY index_id, pos; +index_id pos name +11 0 ID +12 0 FOR_NAME +13 0 REF_NAME +14 0 ID +14 1 POS +15 0 SPACE +16 0 SPACE +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN; +ID FOR_NAME REF_NAME N_COLS TYPE +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS; +ID FOR_COL_NAME REF_COL_NAME POS +CREATE TABLE t_redundant (a INT KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=innodb; +CREATE TABLE t_compact (a INT KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=innodb; +CREATE TABLE t_compressed (a INT KEY, b TEXT) ROW_FORMAT=COMPRESSED ENGINE=innodb KEY_BLOCK_SIZE=2; +CREATE TABLE t_dynamic (a INT KEY, b TEXT) ROW_FORMAT=DYNAMIC ENGINE=innodb; +=== information_schema.innodb_sys_tables and innodb_sys_tablespaces === +Table Name Tablespace Table Flags Columns Row Format Zip Size +test/t_compact test/t_compact 1 5 Compact 0 +test/t_compressed test/t_compressed 37 5 Compressed 2048 +test/t_dynamic test/t_dynamic 33 5 Dynamic 0 +test/t_redundant test/t_redundant 0 5 Redundant 0 +=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles === +Space_Name Page_Size Zip_Size Formats_Permitted Path +test/t_redundant DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t_redundant.ibd +test/t_compact DEFAULT 0 Compact or Redundant MYSQLD_DATADIR/test/t_compact.ibd +test/t_compressed DEFAULT 2048 Compressed MYSQLD_DATADIR/test/t_compressed.ibd +test/t_dynamic DEFAULT 0 Dynamic MYSQLD_DATADIR/test/t_dynamic.ibd +DROP TABLE t_redundant, t_compact, t_compressed, t_dynamic; +SELECT count(*) FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS; +count(*) +6 +CREATE TABLE parent (id INT NOT NULL, +PRIMARY KEY (id)) ENGINE=INNODB; +CREATE TABLE child (id INT, parent_id INT, +INDEX par_ind (parent_id), +CONSTRAINT constraint_test +FOREIGN KEY (parent_id) REFERENCES parent(id) +ON DELETE CASCADE) ENGINE=INNODB; +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN; +ID FOR_NAME REF_NAME N_COLS TYPE +test/constraint_test test/child test/parent 1 1 +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS; +ID FOR_COL_NAME REF_COL_NAME POS +test/constraint_test parent_id id 0 +INSERT INTO parent VALUES(1); +SELECT name, num_rows, ref_count +FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS +WHERE name LIKE "%parent"; +name num_rows ref_count +test/parent 1 1 +SELECT NAME, FLAG, N_COLS FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES +WHERE name NOT LIKE 'sys/%'; +NAME FLAG N_COLS +SYS_DATAFILES 0 5 +SYS_FOREIGN 0 7 +SYS_FOREIGN_COLS 0 7 +SYS_TABLESPACES 0 6 +mysql/innodb_index_stats 1 11 +mysql/innodb_table_stats 1 9 +test/child 1 5 +test/parent 1 4 +SELECT name, n_fields +from INFORMATION_SCHEMA.INNODB_SYS_INDEXES +WHERE table_id In (SELECT table_id from +INFORMATION_SCHEMA.INNODB_SYS_TABLES +WHERE name LIKE "%parent%"); +name n_fields +PRIMARY 1 +SELECT name, n_fields +from INFORMATION_SCHEMA.INNODB_SYS_INDEXES +WHERE table_id In (SELECT table_id from +INFORMATION_SCHEMA.INNODB_SYS_TABLES +WHERE name LIKE "%child%"); +name n_fields +GEN_CLUST_INDEX 0 +par_ind 1 +SELECT name, pos, mtype, len +from INFORMATION_SCHEMA.INNODB_SYS_COLUMNS +WHERE table_id In (SELECT table_id from +INFORMATION_SCHEMA.INNODB_SYS_TABLES +WHERE name LIKE "%child%"); +name pos mtype len +id 0 6 4 +parent_id 1 6 4 +DROP TABLE child; +DROP TABLE parent; +CREATE TABLE parent (id INT NOT NULL, newid INT NOT NULL, +PRIMARY KEY (id, newid)) ENGINE=INNODB; +CREATE TABLE child (id INT, parent_id INT, +INDEX par_ind (parent_id), +CONSTRAINT constraint_test +FOREIGN KEY (id, parent_id) REFERENCES parent(id, newid) +ON DELETE CASCADE) ENGINE=INNODB; +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN; +ID FOR_NAME REF_NAME N_COLS TYPE +test/constraint_test test/child test/parent 2 1 +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS; +ID FOR_COL_NAME REF_COL_NAME POS +test/constraint_test id id 0 +test/constraint_test parent_id newid 1 +INSERT INTO parent VALUES(1, 9); +SELECT * FROM parent WHERE id IN (SELECT id FROM parent); +id newid +1 9 +SELECT name, num_rows, ref_count +FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS +WHERE name LIKE "%parent"; +name num_rows ref_count +test/parent 1 2 +DROP TABLE child; +DROP TABLE parent; diff --git a/mysql-test/suite/innodb/r/innodb-wl5980-debug.result b/mysql-test/suite/innodb/r/innodb-wl5980-debug.result new file mode 100644 index 000000000..51cff4393 --- /dev/null +++ b/mysql-test/suite/innodb/r/innodb-wl5980-debug.result @@ -0,0 +1,27 @@ +call mtr.add_suppression("Cannot find space id [0-9]+ in the tablespace memory cache"); +call mtr.add_suppression("Cannot rename table 'test/t1' to 'test/t2' since the dictionary cache already contains 'test/t2'."); +# +# WL5980 Remote tablespace debug error injection tests. +# +CREATE TABLE t1 (a int KEY, b text) ENGINE=Innodb DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir' ; +INSERT INTO t1 VALUES (1, 'tablespace'); +SELECT * FROM t1; +a b +1 tablespace +# +# Test the second injection point in fil_rename_tablespace(). +# Make sure the table is useable after this failure. +# +SET @save_dbug=@@debug_dbug; +SET debug_dbug="+d,fil_rename_tablespace_failure_2"; +RENAME TABLE t1 TO t2; +SET debug_dbug=@save_dbug; +INSERT INTO t1 VALUES (2, 'tablespace'); +SELECT * FROM t1; +a b +1 tablespace +2 tablespace +# +# Cleanup +# +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result b/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result index 0a1f03912..285c1a357 100644 --- a/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result +++ b/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result @@ -193,9 +193,9 @@ log_lsn_checkpoint_age recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL log_lsn_buf_pool_oldest recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value The oldest modified block LSN in the buffer pool log_max_modified_age_async recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Maximum LSN difference; when exceeded, start asynchronous preflush log_max_modified_age_sync recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Maximum LSN difference; when exceeded, start synchronous preflush -log_pending_log_writes recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Pending log writes -log_pending_checkpoint_writes recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Pending checkpoints -log_num_log_io recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled counter Number of log I/Os +log_pending_log_writes recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Pending log writes +log_pending_checkpoint_writes recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Pending checkpoints +log_num_log_io recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled value Number of log I/Os log_waits recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of log waits due to small log buffer (innodb_log_waits) log_write_requests recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of log write requests (innodb_log_write_requests) log_writes recovery 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL disabled status_counter Number of log writes (innodb_log_writes) @@ -319,14 +319,24 @@ the www select * from information_schema.innodb_ft_deleted; DOC_ID +Warnings: +Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_ft_deleted but the InnoDB storage engine is not installed select * from information_schema.innodb_ft_being_deleted; DOC_ID +Warnings: +Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_ft_being_deleted but the InnoDB storage engine is not installed select * from information_schema.innodb_ft_index_cache; WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +Warnings: +Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_ft_index_cache but the InnoDB storage engine is not installed select * from information_schema.innodb_ft_index_table; WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +Warnings: +Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_ft_index_table but the InnoDB storage engine is not installed select * from information_schema.innodb_ft_config; KEY VALUE +Warnings: +Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_ft_config but the InnoDB storage engine is not installed select * from information_schema.innodb_buffer_page; POOL_ID BLOCK_ID SPACE PAGE_NUMBER PAGE_TYPE FLUSH_TYPE FIX_COUNT IS_HASHED NEWEST_MODIFICATION OLDEST_MODIFICATION ACCESS_TIME TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE COMPRESSED_SIZE PAGE_STATE IO_FIX IS_OLD FREE_PAGE_CLOCK Warnings: diff --git a/mysql-test/suite/innodb/r/trx_id_future.result b/mysql-test/suite/innodb/r/trx_id_future.result new file mode 100644 index 000000000..f7dee9333 --- /dev/null +++ b/mysql-test/suite/innodb/r/trx_id_future.result @@ -0,0 +1,11 @@ +# +# Bug #20445525 ADD A CONSISTENCY CHECK AGAINST DB_TRX_ID BEING +# IN THE FUTURE +# +CREATE TABLE t1(a INT) row_format=redundant engine=innoDB; +INSERT INTO t1 VALUES(1); +NOT FOUND /\[Warning\] InnoDB: A transaction id in a record of table `test`\.`t1` is newer than the system-wide maximum/ in mysqld.1.err +call mtr.add_suppression("\\[Warning\\] InnoDB: A transaction id in a record of table `test`\\.`t1` is newer than the system-wide maximum"); +SELECT * FROM t1; +a +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/t/check_ibd_filesize.test b/mysql-test/suite/innodb/t/check_ibd_filesize.test new file mode 100644 index 000000000..92f9061a3 --- /dev/null +++ b/mysql-test/suite/innodb/t/check_ibd_filesize.test @@ -0,0 +1,53 @@ +--source include/innodb_page_size.inc +--source include/have_sequence.inc + +--echo # +--echo # Bug #21950389 SMALL TABLESPACES WITH BLOBS TAKE UP TO 80 TIMES MORE +--echo # SPACE IN 5.7 THAN IN 5.6 +--echo # + +# +# Table 1: small rows +# +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; +let MYSQLD_DATADIR=`select @@datadir`; +perl; +print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n"; +EOF + +INSERT INTO t1 SELECT * FROM seq_1_to_25000; +perl; +print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n"; +EOF +DROP TABLE t1; + +# +# Table 2: BLOB +# +CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) ENGINE=InnoDB; +perl; +print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n"; +EOF +INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +perl; +print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n"; +EOF +DROP TABLE t1; + +let $page_size=`SELECT @@innodb_page_size`; +if ($page_size < 32768) +{ +# +# Table 3: compressed BLOB +# +CREATE TABLE t1 (a INT PRIMARY KEY, b BLOB) +ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; +perl; +print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n"; +EOF +INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; +perl; +print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n"; +EOF +DROP TABLE t1; +} diff --git a/mysql-test/suite/innodb/t/create_select.test b/mysql-test/suite/innodb/t/create_select.test new file mode 100644 index 000000000..8103902e5 --- /dev/null +++ b/mysql-test/suite/innodb/t/create_select.test @@ -0,0 +1,28 @@ +--source include/have_innodb.inc +--source include/have_sequence.inc +--source include/count_sessions.inc + +let $ID= `SELECT @id := CONNECTION_ID()`; + +connect (con1, localhost, root,,); +let $ignore= `SELECT @id := $ID`; + +connection default; +send CREATE TABLE t1 ENGINE=InnoDB SELECT * FROM seq_1_to_100000000; + +connection con1; +let $wait_condition= + select count(*) = 1 from information_schema.processlist + where state = 'Sending data' + and info = 'CREATE TABLE t1 ENGINE=InnoDB SELECT * FROM seq_1_to_100000000'; +--source include/wait_condition.inc +KILL QUERY @id; +disconnect con1; + +connection default; +--error ER_QUERY_INTERRUPTED +reap; + +CREATE TABLE t1 (a SERIAL) ENGINE=InnoDB; +DROP TABLE t1; +--source include/wait_until_count_sessions.inc diff --git a/mysql-test/suite/innodb/t/foreign-keys.test b/mysql-test/suite/innodb/t/foreign-keys.test index ced44a89d..a19fe3876 100644 --- a/mysql-test/suite/innodb/t/foreign-keys.test +++ b/mysql-test/suite/innodb/t/foreign-keys.test @@ -126,3 +126,35 @@ CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB; INSERT INTO t2 VALUES(2); ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE; DROP TABLE t2, t1; + + +--echo # +--echo # MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name) +--echo # +CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB; +CREATE TABLE t2 LIKE t1; +FLUSH TABLES; + +SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go'; +send ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE; + +connect con1, localhost, root; +SET debug_sync='now WAIT_FOR ready'; +SET lock_wait_timeout=1; # change to 0 in 10.3 +--error ER_LOCK_WAIT_TIMEOUT +UPDATE t2 SET pk=10 WHERE pk=1; +PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1'; +DEALLOCATE PREPARE stmt; +FLUSH TABLE t2; +SET debug_sync='now SIGNAL go'; + +connection default; +reap; + +# Cleanup +disconnect con1; + +connection default; +SET debug_sync='reset'; +SHOW OPEN TABLES FROM test; +DROP TABLE t1, t2; diff --git a/mysql-test/suite/innodb/t/innodb-autoinc.test b/mysql-test/suite/innodb/t/innodb-autoinc.test index 75b2e8984..8b202f5db 100644 --- a/mysql-test/suite/innodb/t/innodb-autoinc.test +++ b/mysql-test/suite/innodb/t/innodb-autoinc.test @@ -381,6 +381,66 @@ INSERT INTO t1 VALUES(NULL, 4); SELECT * FROM t1; DROP TABLE t1; +--echo # +--echo # Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED AUTO_INCREMENT_INCREMENT CLIENTS +--echo # +--echo # This test shows that the next record to be inserted is not affected +--echo # by a change in auto_increment_increment. +--echo # In addition, current value of auto_increment_increment by the client +--echo # that uses the existing autoinc value with be used to set next autoinc +--echo # value, which will be used by next client reguardless of its own session +--echo # setting for auto_increment_increment. +--echo # + +--connection default +--echo # Client 1: Insert a record with auto_increment_increment=2 +CREATE TABLE t( + a SERIAL PRIMARY KEY, + b VARCHAR(200)) ENGINE=InnoDB; +SET SESSION auto_increment_increment=2; +SHOW CREATE TABLE t; +INSERT INTO t(b) VALUES('S1'); +SELECT a,b FROM t; +--connect(con1,localhost,root,,) + +--connection con1 +--echo # Client 2: Insert records with auto_increment_increment 2,1 +SET SESSION auto_increment_increment=2; +SHOW CREATE TABLE t; +INSERT INTO t(b) VALUES('S2'); +SELECT a,b FROM t; +SET SESSION auto_increment_increment=1; +SHOW CREATE TABLE t; +INSERT INTO t(b) VALUES('S2'); +SELECT a,b FROM t; +disconnect con1; + +--connection default +--echo # Client 1: Insert a record with auto_increment_increment=1 +SET SESSION auto_increment_increment=1; +SHOW CREATE TABLE t; +INSERT INTO t(b) VALUES('S1'); +SELECT a,b FROM t; +DROP TABLE t; + +--echo # Autoincrement behaviour with mixed insert. +CREATE TABLE t( + a TINYINT AUTO_INCREMENT PRIMARY KEY, + b VARCHAR(200)) ENGINE=InnoDB; +SET SESSION auto_increment_increment=10; +SHOW CREATE TABLE t; +INSERT INTO t(b) VALUES('S0'),('S1'); +SHOW CREATE TABLE t; +INSERT INTO t(a,b) VALUES(28,'S2'); +SET SESSION auto_increment_increment=1; +SHOW CREATE TABLE t; +INSERT INTO t(b) VALUES('S3'); +SHOW CREATE TABLE t; +INSERT INTO t(b) VALUES('S4'); +SELECT * FROM t; +SHOW CREATE TABLE t; +DROP TABLE t; + # # Bug# 42714: AUTOINC column calculated next value not greater than highest # value stored in table. diff --git a/mysql-test/suite/innodb/t/innodb-system-table-view.opt b/mysql-test/suite/innodb/t/innodb-system-table-view.opt new file mode 100644 index 000000000..f23741f47 --- /dev/null +++ b/mysql-test/suite/innodb/t/innodb-system-table-view.opt @@ -0,0 +1,11 @@ +--innodb +--innodb-sys-tablespaces +--innodb-sys-datafiles +--innodb-sys-tablestats +--innodb-sys-tables +--innodb-sys-columns +--innodb-sys-indexes +--innodb-sys-fields +--innodb-sys-foreign +--innodb-sys-foreign-cols +--innodb-file-format=barracuda diff --git a/mysql-test/suite/innodb/t/innodb-system-table-view.test b/mysql-test/suite/innodb/t/innodb-system-table-view.test new file mode 100644 index 000000000..087c0a22e --- /dev/null +++ b/mysql-test/suite/innodb/t/innodb-system-table-view.test @@ -0,0 +1,136 @@ +# This is the test for Information Schema System Table View +# that displays the InnoDB system table content through +# information schema tables. + +--source include/innodb_page_size_small.inc + +LET $MYSQLD_DATADIR = `select @@datadir`; +LET $INNODB_PAGE_SIZE = `select @@innodb_page_size`; + +# The IDs of mysql.innodb_table_stats and mysql.innodb_index_stats may +# vary depending on whether the tables have been rebuilt +# by previously run tests. +SELECT table_id INTO @table_stats_id FROM information_schema.innodb_sys_tables +WHERE name = 'mysql/innodb_table_stats'; +SELECT table_id INTO @index_stats_id FROM information_schema.innodb_sys_tables +WHERE name = 'mysql/innodb_index_stats'; + +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES +WHERE table_id NOT IN (@table_stats_id, @index_stats_id) ORDER BY table_id; + +SELECT table_id,pos,mtype,prtype,len,name +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS +WHERE table_id NOT IN (@table_stats_id, @index_stats_id) +ORDER BY table_id, pos; + +--replace_column 1 # 3 # 6 # 7 # +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES +WHERE table_id NOT IN (@table_stats_id, @index_stats_id) ORDER BY index_id; + +SELECT index_id,pos,name FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS +WHERE name NOT IN ('database_name', 'table_name', 'index_name', 'stat_name') +ORDER BY index_id, pos; + +--sorted_result +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN; +--sorted_result +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS; + +CREATE TABLE t_redundant (a INT KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=innodb; +CREATE TABLE t_compact (a INT KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=innodb; +CREATE TABLE t_compressed (a INT KEY, b TEXT) ROW_FORMAT=COMPRESSED ENGINE=innodb KEY_BLOCK_SIZE=2; +CREATE TABLE t_dynamic (a INT KEY, b TEXT) ROW_FORMAT=DYNAMIC ENGINE=innodb; + +--source suite/innodb/include/show_i_s_tables.inc +--source suite/innodb/include/show_i_s_tablespaces.inc + +DROP TABLE t_redundant, t_compact, t_compressed, t_dynamic; + +SELECT count(*) FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS; + +# Create a foreign key constraint, and verify the information +# in INFORMATION_SCHEMA.INNODB_SYS_FOREIGN and +# INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS +CREATE TABLE parent (id INT NOT NULL, + PRIMARY KEY (id)) ENGINE=INNODB; + +CREATE TABLE child (id INT, parent_id INT, + INDEX par_ind (parent_id), + CONSTRAINT constraint_test + FOREIGN KEY (parent_id) REFERENCES parent(id) + ON DELETE CASCADE) ENGINE=INNODB; + +--sorted_result +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN; + +--sorted_result +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS; + +# Insert a row in the table "parent", and see whether that reflected in +# INNODB_SYS_TABLESTATS +INSERT INTO parent VALUES(1); + +--sorted_result +SELECT name, num_rows, ref_count +FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS +WHERE name LIKE "%parent"; + +--sorted_result +SELECT NAME, FLAG, N_COLS FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES + WHERE name NOT LIKE 'sys/%'; + +--sorted_result +SELECT name, n_fields +from INFORMATION_SCHEMA.INNODB_SYS_INDEXES +WHERE table_id In (SELECT table_id from + INFORMATION_SCHEMA.INNODB_SYS_TABLES + WHERE name LIKE "%parent%"); + +--sorted_result +SELECT name, n_fields +from INFORMATION_SCHEMA.INNODB_SYS_INDEXES +WHERE table_id In (SELECT table_id from + INFORMATION_SCHEMA.INNODB_SYS_TABLES + WHERE name LIKE "%child%"); + +--sorted_result +SELECT name, pos, mtype, len +from INFORMATION_SCHEMA.INNODB_SYS_COLUMNS +WHERE table_id In (SELECT table_id from + INFORMATION_SCHEMA.INNODB_SYS_TABLES + WHERE name LIKE "%child%"); + +DROP TABLE child; + +DROP TABLE parent; + +# Create table with 2 columns in the foreign key constraint +CREATE TABLE parent (id INT NOT NULL, newid INT NOT NULL, + PRIMARY KEY (id, newid)) ENGINE=INNODB; + +CREATE TABLE child (id INT, parent_id INT, + INDEX par_ind (parent_id), + CONSTRAINT constraint_test + FOREIGN KEY (id, parent_id) REFERENCES parent(id, newid) + ON DELETE CASCADE) ENGINE=INNODB; + +--sorted_result +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN; + +--sorted_result +SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS; + +INSERT INTO parent VALUES(1, 9); + +# Nested query will open the table handle twice +--sorted_result +SELECT * FROM parent WHERE id IN (SELECT id FROM parent); + +--sorted_result +SELECT name, num_rows, ref_count +FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS +WHERE name LIKE "%parent"; + +DROP TABLE child; + +DROP TABLE parent; diff --git a/mysql-test/suite/innodb/t/innodb-wl5980-debug.test b/mysql-test/suite/innodb/t/innodb-wl5980-debug.test new file mode 100644 index 000000000..2c5e2b488 --- /dev/null +++ b/mysql-test/suite/innodb/t/innodb-wl5980-debug.test @@ -0,0 +1,51 @@ +# +# This testcase is to check the various debug injection points +# to make sure error conditions react corectly and acheive +# better code coverage. +# + +# Not supported in embedded +--source include/not_embedded.inc +--source include/have_debug.inc +--source include/have_innodb.inc + +# These messages are expected in the log +call mtr.add_suppression("Cannot find space id [0-9]+ in the tablespace memory cache"); +call mtr.add_suppression("Cannot rename table 'test/t1' to 'test/t2' since the dictionary cache already contains 'test/t2'."); + +# Set up some variables +LET $MYSQL_DATA_DIR = `select @@datadir`; +LET $data_directory_clause = DATA DIRECTORY='$MYSQL_TMP_DIR/alt_dir'; +--enable_query_log + +--echo # +--echo # WL5980 Remote tablespace debug error injection tests. +--echo # + +--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR +eval CREATE TABLE t1 (a int KEY, b text) ENGINE=Innodb $data_directory_clause ; +INSERT INTO t1 VALUES (1, 'tablespace'); +SELECT * FROM t1; + +--echo # +--echo # Test the second injection point in fil_rename_tablespace(). +--echo # Make sure the table is useable after this failure. +--echo # +SET @save_dbug=@@debug_dbug; +SET debug_dbug="+d,fil_rename_tablespace_failure_2"; +--disable_result_log +--error ER_ERROR_ON_RENAME +RENAME TABLE t1 TO t2; +--enable_result_log +SET debug_dbug=@save_dbug; +INSERT INTO t1 VALUES (2, 'tablespace'); +SELECT * FROM t1; + +--echo # +--echo # Cleanup +--echo # + +DROP TABLE t1; + +--rmdir $MYSQL_TMP_DIR/alt_dir/test +--rmdir $MYSQL_TMP_DIR/alt_dir diff --git a/mysql-test/suite/innodb/t/trx_id_future.test b/mysql-test/suite/innodb/t/trx_id_future.test new file mode 100644 index 000000000..deba753ca --- /dev/null +++ b/mysql-test/suite/innodb/t/trx_id_future.test @@ -0,0 +1,58 @@ +--echo # +--echo # Bug #20445525 ADD A CONSISTENCY CHECK AGAINST DB_TRX_ID BEING +--echo # IN THE FUTURE +--echo # + +--source include/not_debug.inc +--source include/have_innodb.inc +--source include/not_embedded.inc + +let PAGE_SIZE=`select @@innodb_page_size`; + +CREATE TABLE t1(a INT) row_format=redundant engine=innoDB; +INSERT INTO t1 VALUES(1); + +let MYSQLD_DATADIR=`select @@datadir`; + +--source include/shutdown_mysqld.inc + +perl; +do "$ENV{MTR_SUITE_DIR}/include/crc32.pl"; +my $file = "$ENV{MYSQLD_DATADIR}/test/t1.ibd"; +open(FILE, "+<", $file) || die "Unable to open $file"; +binmode FILE; + +#Seek the the infimum record and get the offset to next record +#Infimum record exist at offset 101 for redundant format +#And offset to the next record is present 2 bytes prior to +#infimum record + +my $ps= $ENV{PAGE_SIZE}; +my $page; +sysseek(FILE, 3*$ps, 0) || die "Unable to seek $file\n"; +die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps; +#In this case the first record should be at offset 135 +die unless unpack("n", substr($page, 99, 2)) == 135; + +substr($page,135+6,6) = "\xff" x 6; + +my $polynomial = 0x82f63b78; # CRC-32C +my $ck= pack("N",mycrc32(substr($page, 4, 22), 0, $polynomial) ^ + mycrc32(substr($page, 38, $ps - 38 - 8), 0, $polynomial)); +substr($page,0,4)=$ck; +substr($page,$ps-8,4)=$ck; +sysseek(FILE, 3*$ps, 0) || die "Unable to rewind $file\n"; +syswrite(FILE, $page, $ps)==$ps || die "Unable to write $file\n"; +close(FILE) || die "Unable to close $file"; +EOF + +--source include/start_mysqld.inc + +let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err; +let SEARCH_PATTERN= \[Warning\] InnoDB: A transaction id in a record of table `test`\.`t1` is newer than the system-wide maximum; +--source include/search_pattern_in_file.inc + +call mtr.add_suppression("\\[Warning\\] InnoDB: A transaction id in a record of table `test`\\.`t1` is newer than the system-wide maximum"); + +SELECT * FROM t1; +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_fts/r/innodb_ft_aux_table.result b/mysql-test/suite/innodb_fts/r/innodb_ft_aux_table.result new file mode 100644 index 000000000..cb233a466 --- /dev/null +++ b/mysql-test/suite/innodb_fts/r/innodb_ft_aux_table.result @@ -0,0 +1,116 @@ +CREATE TABLE t1 (v VARCHAR(100), FULLTEXT INDEX (v)) ENGINE=InnoDB; +insert into t1 VALUES('First record'),('Second record'),('Third record'); +SET @save_ft_aux_table = @@GLOBAL.innodb_ft_aux_table; +SET GLOBAL innodb_ft_aux_table = 'test/t0'; +ERROR 42000: Variable 'innodb_ft_aux_table' can't be set to the value of 'test/t0' +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD; +value +a +about +an +are +as +at +be +by +com +de +en +for +from +how +i +in +is +it +la +of +on +or +that +the +this +to +was +what +when +where +who +will +with +und +the +www +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; +DOC_ID +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED; +DOC_ID +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE; +WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE; +WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG; +KEY VALUE +SET GLOBAL innodb_ft_aux_table = 'test/t1'; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; +DOC_ID +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED; +DOC_ID +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE; +WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +first 1 1 1 1 0 +record 1 3 3 1 6 +record 1 3 3 2 7 +record 1 3 3 3 6 +second 2 2 1 2 0 +third 3 3 1 3 0 +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE; +WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG; +KEY VALUE +optimize_checkpoint_limit 180 +synced_doc_id 0 +stopword_table_name +use_stopword 1 +SELECT @@GLOBAL.innodb_ft_aux_table; +@@GLOBAL.innodb_ft_aux_table +test/t1 +RENAME TABLE t1 TO t2; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; +DOC_ID +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED; +DOC_ID +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE; +WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +first 1 1 1 1 0 +record 1 3 3 1 6 +record 1 3 3 2 7 +record 1 3 3 3 6 +second 2 2 1 2 0 +third 3 3 1 3 0 +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE; +WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG; +KEY VALUE +optimize_checkpoint_limit 180 +synced_doc_id 0 +stopword_table_name +use_stopword 1 +SELECT @@GLOBAL.innodb_ft_aux_table; +@@GLOBAL.innodb_ft_aux_table +test/t1 +DROP TABLE t2; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; +DOC_ID +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED; +DOC_ID +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE; +WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE; +WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG; +KEY VALUE +SELECT @@GLOBAL.innodb_ft_aux_table; +@@GLOBAL.innodb_ft_aux_table +test/t1 +SET GLOBAL innodb_ft_aux_table = @save_ft_aux_table; diff --git a/mysql-test/suite/innodb_fts/t/innodb_ft_aux_table.opt b/mysql-test/suite/innodb_fts/t/innodb_ft_aux_table.opt new file mode 100644 index 000000000..f85581275 --- /dev/null +++ b/mysql-test/suite/innodb_fts/t/innodb_ft_aux_table.opt @@ -0,0 +1,6 @@ +--innodb_ft_default_stopword +--innodb_ft_deleted +--innodb_ft_being_deleted +--innodb_ft_index_cache +--innodb_ft_index_table +--innodb_ft_config diff --git a/mysql-test/suite/innodb_fts/t/innodb_ft_aux_table.test b/mysql-test/suite/innodb_fts/t/innodb_ft_aux_table.test new file mode 100644 index 000000000..48964aef4 --- /dev/null +++ b/mysql-test/suite/innodb_fts/t/innodb_ft_aux_table.test @@ -0,0 +1,43 @@ +--source include/have_innodb.inc + +CREATE TABLE t1 (v VARCHAR(100), FULLTEXT INDEX (v)) ENGINE=InnoDB; + +insert into t1 VALUES('First record'),('Second record'),('Third record'); + +SET @save_ft_aux_table = @@GLOBAL.innodb_ft_aux_table; + +connect (con1,localhost,root,,); +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_ft_aux_table = 'test/t0'; +connection default; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG; +connection con1; +SET GLOBAL innodb_ft_aux_table = 'test/t1'; +disconnect con1; +connection default; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG; +SELECT @@GLOBAL.innodb_ft_aux_table; +RENAME TABLE t1 TO t2; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG; +SELECT @@GLOBAL.innodb_ft_aux_table; +DROP TABLE t2; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE; +SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG; +SELECT @@GLOBAL.innodb_ft_aux_table; +SET GLOBAL innodb_ft_aux_table = @save_ft_aux_table; diff --git a/mysql-test/suite/multi_source/mdev-8874.cnf b/mysql-test/suite/multi_source/mdev-8874.cnf new file mode 100644 index 000000000..dc89db727 --- /dev/null +++ b/mysql-test/suite/multi_source/mdev-8874.cnf @@ -0,0 +1,25 @@ +!include my.cnf + +[mysqld.1] +log-bin +log-slave-updates + +[mysqld.2] +log-bin +log-slave-updates + +[mysqld.3] +log-bin +log-slave-updates + +[mysqld.4] +server-id=4 +log-bin=server4-bin +log-slave-updates +m1.replicate_ignore_table='a.t1' +m2.replicate_ignore_table='b.t1' +replicate_ignore_table='c.t1' + +[ENV] +SERVER_MYPORT_4= @mysqld.4.port +SERVER_MYSOCK_4= @mysqld.4.socket diff --git a/mysql-test/suite/multi_source/mdev-8874.result b/mysql-test/suite/multi_source/mdev-8874.result new file mode 100644 index 000000000..25185eed0 --- /dev/null +++ b/mysql-test/suite/multi_source/mdev-8874.result @@ -0,0 +1,114 @@ +create database a; +use a; +create table t1(a int); +insert into t1 values(1); +create table t2(a int); +insert into t2 values(1); +create database b; +use b; +create table t1(a int); +insert into t1 values(1); +create table t2(a int); +insert into t2 values(1); +create database c; +use c; +create table t1(a int); +insert into t1 values(1); +create table t2(a int); +insert into t2 values(1); +change master 'm1' to master_port=MYPORT_1 , master_host='127.0.0.1', master_user='root'; +change master 'm2' to master_port=MYPORT_2 , master_host='127.0.0.1', master_user='root'; +change master to master_port=MYPORT_3 , master_host='127.0.0.1', master_user='root'; +start all slaves; +set default_master_connection = 'm1'; +include/wait_for_slave_to_start.inc +set default_master_connection = 'm2'; +include/wait_for_slave_to_start.inc +set default_master_connection = ''; +include/wait_for_slave_to_start.inc +select @@global.'m1'.replicate_ignore_table; +@@global.'m1'.replicate_ignore_table +a.t1 +select @@global.'m2'.replicate_ignore_table; +@@global.'m2'.replicate_ignore_table +b.t1 +select @@global.replicate_ignore_table; +@@global.replicate_ignore_table +c.t1 +use a; +#No t1 table +show tables; +Tables_in_a +t2 +use b; +#No t1 table +show tables; +Tables_in_b +t2 +use c; +#No t1 table +show tables; +Tables_in_c +t2 +#TEST +STOP ALL SLAVES; +Warnings: +Note 1938 SLAVE 'm2' stopped +Note 1938 SLAVE '' stopped +Note 1938 SLAVE 'm1' stopped +RESET SLAVE 'm1' ALL ; +RESET SLAVE 'm2' ALL ; +RESET SLAVE ALL ; +drop database a; +drop database b; +drop database c; +change master 'm1' to master_port=MYPORT_1 , master_host='127.0.0.1', master_user='root'; +change master 'm2' to master_port=MYPORT_2 , master_host='127.0.0.1', master_user='root'; +change master to master_port=MYPORT_3 , master_host='127.0.0.1', master_user='root'; +start all slaves; +Warnings: +Note 1937 SLAVE 'm2' started +Note 1937 SLAVE '' started +Note 1937 SLAVE 'm1' started +set default_master_connection = 'm1'; +include/wait_for_slave_to_start.inc +set default_master_connection = 'm2'; +include/wait_for_slave_to_start.inc +set default_master_connection = ''; +include/wait_for_slave_to_start.inc +#Replication Filter should be intact (t1 still not replicated) +select @@global.'m1'.replicate_ignore_table; +@@global.'m1'.replicate_ignore_table +a.t1 +select @@global.'m2'.replicate_ignore_table; +@@global.'m2'.replicate_ignore_table +b.t1 +select @@global.replicate_ignore_table; +@@global.replicate_ignore_table +c.t1 +use a; +#No t1 table +show tables; +Tables_in_a +t2 +use b; +#No t1 table +show tables; +Tables_in_b +t2 +use c; +#No t1 table +show tables; +Tables_in_c +t2 +#CleanUp +drop database a; +drop database b; +drop database c; +stop all slaves; +SET default_master_connection = "m1"; +include/wait_for_slave_to_stop.inc +SET default_master_connection = "m2"; +include/wait_for_slave_to_stop.inc +SET default_master_connection = ""; +include/wait_for_slave_to_stop.inc diff --git a/mysql-test/suite/multi_source/mdev-8874.test b/mysql-test/suite/multi_source/mdev-8874.test new file mode 100644 index 000000000..d03c255b9 --- /dev/null +++ b/mysql-test/suite/multi_source/mdev-8874.test @@ -0,0 +1,141 @@ +--source include/not_embedded.inc +--source include/have_innodb.inc +--source include/have_debug.inc +# MDEV-8874 +# In Named Master slave connection if we do reset slave 'connection_name' ALL and then +# if we reconnect slave, replication filters are ignored. +# This patch fixes this issue. +--connect (server_1,127.0.0.1,root,,,$SERVER_MYPORT_1) +--connect (server_2,127.0.0.1,root,,,$SERVER_MYPORT_2) +--connect (server_3,127.0.0.1,root,,,$SERVER_MYPORT_3) +--connect (server_4,127.0.0.1,root,,,$SERVER_MYPORT_4) + +--connection server_1 +create database a; +use a; +create table t1(a int); +insert into t1 values(1); +create table t2(a int); +insert into t2 values(1); +--save_master_pos + +--connection server_2 +create database b; +use b; +create table t1(a int); +insert into t1 values(1); +create table t2(a int); +insert into t2 values(1); +--save_master_pos + +--connection server_3 +create database c; +use c; +create table t1(a int); +insert into t1 values(1); +create table t2(a int); +insert into t2 values(1); +--save_master_pos + +--connection server_4 +--disable_warnings +--replace_result $SERVER_MYPORT_1 MYPORT_1 +eval change master 'm1' to master_port=$SERVER_MYPORT_1 , master_host='127.0.0.1', master_user='root'; +--replace_result $SERVER_MYPORT_2 MYPORT_2 +eval change master 'm2' to master_port=$SERVER_MYPORT_2 , master_host='127.0.0.1', master_user='root'; +--replace_result $SERVER_MYPORT_3 MYPORT_3 +eval change master to master_port=$SERVER_MYPORT_3 , master_host='127.0.0.1', master_user='root'; +start all slaves; +set default_master_connection = 'm1'; +--source include/wait_for_slave_to_start.inc +set default_master_connection = 'm2'; +--source include/wait_for_slave_to_start.inc +set default_master_connection = ''; +--source include/wait_for_slave_to_start.inc +select @@global.'m1'.replicate_ignore_table; +select @@global.'m2'.replicate_ignore_table; +select @@global.replicate_ignore_table; + +--enable_warnings +--sync_with_master 0,'m1' +--sync_with_master 0,'m2' +--sync_with_master 0,'' +use a; +--echo #No t1 table +show tables; +use b; +--echo #No t1 table +show tables; +use c; +--echo #No t1 table +show tables; +--echo #TEST +STOP ALL SLAVES; +RESET SLAVE 'm1' ALL ; +RESET SLAVE 'm2' ALL ; +RESET SLAVE ALL ; +drop database a; +drop database b; +drop database c; +--replace_result $SERVER_MYPORT_1 MYPORT_1 +eval change master 'm1' to master_port=$SERVER_MYPORT_1 , master_host='127.0.0.1', master_user='root'; +--replace_result $SERVER_MYPORT_2 MYPORT_2 +eval change master 'm2' to master_port=$SERVER_MYPORT_2 , master_host='127.0.0.1', master_user='root'; +--replace_result $SERVER_MYPORT_3 MYPORT_3 +eval change master to master_port=$SERVER_MYPORT_3 , master_host='127.0.0.1', master_user='root'; +start all slaves; +set default_master_connection = 'm1'; +--source include/wait_for_slave_to_start.inc +set default_master_connection = 'm2'; +--source include/wait_for_slave_to_start.inc +set default_master_connection = ''; +--source include/wait_for_slave_to_start.inc +--sync_with_master 0,'m1' +--sync_with_master 0,'m2' +--sync_with_master 0,'' + +--echo #Replication Filter should be intact (t1 still not replicated) +select @@global.'m1'.replicate_ignore_table; +select @@global.'m2'.replicate_ignore_table; +select @@global.replicate_ignore_table; +use a; +--echo #No t1 table +show tables; +use b; +--echo #No t1 table +show tables; +use c; +--echo #No t1 table +show tables; + + +#--echo #restart the server +#--source include/restart_mysqld.inc + + +--echo #CleanUp +--connection server_1 +drop database a; +--save_master_pos + +--connection server_2 +drop database b; +--save_master_pos + +--connection server_3 +drop database c; +--save_master_pos + +--connection server_4 +--sync_with_master 0,'m1' +--sync_with_master 0,'m2' +--sync_with_master 0,'' +--disable_warnings +stop all slaves; +--enable_warnings +SET default_master_connection = "m1"; +--source include/wait_for_slave_to_stop.inc +SET default_master_connection = "m2"; +--source include/wait_for_slave_to_stop.inc +SET default_master_connection = ""; +--source include/wait_for_slave_to_stop.inc diff --git a/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test b/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test index b674dc8d3..cea7ea272 100644 --- a/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test +++ b/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, -# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA # Tests for PERFORMANCE_SCHEMA diff --git a/mysql-test/suite/perfschema/t/dml_esms_by_digest.test b/mysql-test/suite/perfschema/t/dml_esms_by_digest.test index 6fdc8ec9f..88729e6a7 100644 --- a/mysql-test/suite/perfschema/t/dml_esms_by_digest.test +++ b/mysql-test/suite/perfschema/t/dml_esms_by_digest.test @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, -# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA # Tests for PERFORMANCE_SCHEMA diff --git a/mysql-test/suite/perfschema_stress/README b/mysql-test/suite/perfschema_stress/README index 25101f429..b21de1972 100644 --- a/mysql-test/suite/perfschema_stress/README +++ b/mysql-test/suite/perfschema_stress/README @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA WL#4818 - Stress testing of PERFORMANCE_SCHEMA diff --git a/mysql-test/suite/rpl/extension/checksum.pl b/mysql-test/suite/rpl/extension/checksum.pl index 60dca18c8..f94341446 100755 --- a/mysql-test/suite/rpl/extension/checksum.pl +++ b/mysql-test/suite/rpl/extension/checksum.pl @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use File::Basename; use File::Copy qw(copy); diff --git a/mysql-test/suite/rpl/r/create_or_replace_mix.result b/mysql-test/suite/rpl/r/create_or_replace_mix.result index c6cce3587..2c85bb3d9 100644 --- a/mysql-test/suite/rpl/r/create_or_replace_mix.result +++ b/mysql-test/suite/rpl/r/create_or_replace_mix.result @@ -238,6 +238,13 @@ set binlog_format="STATEMENT"; ERROR HY000: Cannot switch out of the row-based binary log format when the session has open temporary tables drop temporary table t8; set @@binlog_format=@org_binlog_format; +set @@session.binlog_format=default; +drop temporary table if exists t9; +Warnings: +Note 1051 Unknown table 'test.t9' +set session binlog_format=default; +create temporary table t9 (i int); +*** Must be no DROP logged for t9 when there was no CREATE, at disconnect too *** include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # GTID #-#-# @@ -248,5 +255,9 @@ master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `test`; create temporary table t7 (a int) master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t7` /* generated by server */ +master-bin.000001 # Gtid # # GTID #-#-# +master-bin.000001 # Query # # use `test`; create temporary table t9 (i int) +master-bin.000001 # Gtid # # GTID #-#-# +master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t9` drop table t2; include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/create_or_replace_row.result b/mysql-test/suite/rpl/r/create_or_replace_row.result index 8f032107d..cbb47cc4a 100644 --- a/mysql-test/suite/rpl/r/create_or_replace_row.result +++ b/mysql-test/suite/rpl/r/create_or_replace_row.result @@ -260,6 +260,13 @@ set binlog_format="STATEMENT"; ERROR HY000: Cannot switch out of the row-based binary log format when the session has open temporary tables drop temporary table t8; set @@binlog_format=@org_binlog_format; +set @@session.binlog_format=default; +drop temporary table if exists t9; +Warnings: +Note 1051 Unknown table 'test.t9' +set session binlog_format=default; +create temporary table t9 (i int); +*** Must be no DROP logged for t9 when there was no CREATE, at disconnect too *** include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # GTID #-#-# diff --git a/mysql-test/suite/rpl/r/create_or_replace_statement.result b/mysql-test/suite/rpl/r/create_or_replace_statement.result index 7bdbc64e9..6b47fafbe 100644 --- a/mysql-test/suite/rpl/r/create_or_replace_statement.result +++ b/mysql-test/suite/rpl/r/create_or_replace_statement.result @@ -230,6 +230,13 @@ set binlog_format="STATEMENT"; ERROR HY000: Cannot switch out of the row-based binary log format when the session has open temporary tables drop temporary table t8; set @@binlog_format=@org_binlog_format; +set @@session.binlog_format=default; +drop temporary table if exists t9; +Warnings: +Note 1051 Unknown table 'test.t9' +set session binlog_format=default; +create temporary table t9 (i int); +*** Must be no DROP logged for t9 when there was no CREATE, at disconnect too *** include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # GTID #-#-# @@ -240,5 +247,9 @@ master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `test`; create temporary table t7 (a int) master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t7` /* generated by server */ +master-bin.000001 # Gtid # # GTID #-#-# +master-bin.000001 # Query # # use `test`; create temporary table t9 (i int) +master-bin.000001 # Gtid # # GTID #-#-# +master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t9` drop table t2; include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/kill_race_condition.result b/mysql-test/suite/rpl/r/kill_race_condition.result index e4e347dc7..48fd65e3a 100644 --- a/mysql-test/suite/rpl/r/kill_race_condition.result +++ b/mysql-test/suite/rpl/r/kill_race_condition.result @@ -1,13 +1,16 @@ include/master-slave.inc [connection master] -set global debug_dbug='d,rows_log_event_before_open_table'; -set debug_sync='now WAIT_FOR before_open_table'; create table t1 (a int); +set global debug_dbug='d,rows_log_event_before_open_table'; insert t1 values (1),(2),(3); +set debug_sync='now WAIT_FOR before_open_table'; kill slave_sql_thread; set debug_sync='now SIGNAL go_ahead_sql'; +include/wait_for_slave_sql_error.inc [errno=1927] +Last_SQL_Error = Error executing row event: 'Connection was killed' set global debug_dbug=''; set debug_sync='RESET'; drop table t1; -start slave; +include/start_slave.inc +Last_SQL_Error = include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/mdev_17588.result b/mysql-test/suite/rpl/r/mdev_17588.result new file mode 100644 index 000000000..fea28a311 --- /dev/null +++ b/mysql-test/suite/rpl/r/mdev_17588.result @@ -0,0 +1,32 @@ +include/master-slave.inc +[connection master] +create table t1 (a int) engine=innodb; +create table t2 (a int); +create table t3 (a int) engine=innodb; +include/save_master_gtid.inc +include/wait_for_slave_sql_error.inc [errno=1286] +Last_Error = 'Error 'Unknown storage engine 'innodb'' on query. Default database: 'test'. Query: 'create table t1 (a int) engine=innodb'' +STOP SLAVE IO_THREAD; +include/wait_for_slave_to_stop.inc +SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; +include/start_slave.inc +include/sync_with_master_gtid.inc +show tables; +Tables_in_test +t2 +show create table t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +show create table t1; +ERROR 42S02: Table 'test.t1' doesn't exist +show create table t3; +ERROR 42S02: Table 'test.t3' doesn't exist +drop table if exists t1; +drop table if exists t2; +drop table if exists t3; +include/save_master_gtid.inc +include/sync_with_master_gtid.inc +CALL mtr.add_suppression('Slave: Unknown storage engine .* Error_code: 1286'); +include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result b/mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result new file mode 100644 index 000000000..20ca37322 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result @@ -0,0 +1,434 @@ +include/master-slave.inc +[connection master] +SET timestamp=1000000000; +RESET MASTER; +SET timestamp=1000000000; +RESET MASTER; +CREATE TABLE t1 (a INT, b INT, c INT); +CREATE TABLE t2 (a INT, b INT, c INT); +ALTER TABLE t1 ENGINE=BLACKHOLE; +INSERT INTO t2 VALUES (1,9,1), (2,9,2), (3,9,3), (4,9,4); +[on master] +INSERT INTO t1 VALUES (1,1,1),(2,1,2),(3,1,3),(4,1,4); +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +[on master] +UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 1; +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +[on master] +DELETE FROM t1 WHERE a % 2 = 0 AND b = 1; +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +[on master] +INSERT INTO t1 SELECT * FROM t2; +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b); +[on master] +INSERT INTO t1 VALUES (1,2,1),(2,2,2),(3,2,3),(4,2,4); +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +[on master] +UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 2; +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +[on master] +DELETE FROM t1 WHERE a % 2 = 0 AND b = 2; +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +ALTER TABLE t1 DROP PRIMARY KEY, ADD KEY key_t1 (a); +[on master] +INSERT INTO t1 VALUES (1,3,1),(2,3,2),(3,3,3),(4,3,4); +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +[on master] +UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 3; +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +[on master] +DELETE FROM t1 WHERE a % 2 = 0 AND b = 3; +[on slave] +# Expect 0 +SELECT COUNT(*) FROM t1; +COUNT(*) +0 +>>> Something was written to binary log <<< +DROP TABLE t1,t2; +FLUSH LOGS; +show binlog events in 'slave-bin.000001' from ; +Log_name Pos Event_type Server_id End_log_pos Info +slave-bin.000001 # Gtid_list 2 # [] +slave-bin.000001 # Binlog_checkpoint 2 # slave-bin.000001 +slave-bin.000001 # Gtid 1 # GTID 0-1-1 +slave-bin.000001 # Query 1 # use `test`; CREATE TABLE t1 (a INT, b INT, c INT) +slave-bin.000001 # Gtid 1 # GTID 0-1-2 +slave-bin.000001 # Query 1 # use `test`; CREATE TABLE t2 (a INT, b INT, c INT) +slave-bin.000001 # Gtid 2 # GTID 0-2-3 +slave-bin.000001 # Query 2 # use `test`; ALTER TABLE t1 ENGINE=BLACKHOLE +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-3 +slave-bin.000001 # Annotate_rows 1 # INSERT INTO t2 VALUES (1,9,1), (2,9,2), (3,9,3), (4,9,4) +slave-bin.000001 # Table_map 1 # table_id: # (test.t2) +slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-4 +slave-bin.000001 # Annotate_rows 1 # INSERT INTO t1 VALUES (1,1,1),(2,1,2),(3,1,3),(4,1,4) +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-5 +slave-bin.000001 # Annotate_rows 1 # UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 1 +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Update_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-6 +slave-bin.000001 # Annotate_rows 1 # DELETE FROM t1 WHERE a % 2 = 0 AND b = 1 +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-7 +slave-bin.000001 # Annotate_rows 1 # INSERT INTO t1 SELECT * FROM t2 +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # GTID 0-1-8 +slave-bin.000001 # Query 1 # use `test`; ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b) +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-9 +slave-bin.000001 # Annotate_rows 1 # INSERT INTO t1 VALUES (1,2,1),(2,2,2),(3,2,3),(4,2,4) +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-10 +slave-bin.000001 # Annotate_rows 1 # UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 2 +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Update_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-11 +slave-bin.000001 # Annotate_rows 1 # DELETE FROM t1 WHERE a % 2 = 0 AND b = 2 +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # GTID 0-1-12 +slave-bin.000001 # Query 1 # use `test`; ALTER TABLE t1 DROP PRIMARY KEY, ADD KEY key_t1 (a) +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-13 +slave-bin.000001 # Annotate_rows 1 # INSERT INTO t1 VALUES (1,3,1),(2,3,2),(3,3,3),(4,3,4) +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Write_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-14 +slave-bin.000001 # Annotate_rows 1 # UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 3 +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Update_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # BEGIN GTID 0-1-15 +slave-bin.000001 # Annotate_rows 1 # DELETE FROM t1 WHERE a % 2 = 0 AND b = 3 +slave-bin.000001 # Table_map 1 # table_id: # (test.t1) +slave-bin.000001 # Delete_rows_v1 1 # table_id: # flags: STMT_END_F +slave-bin.000001 # Query 1 # COMMIT +slave-bin.000001 # Gtid 1 # GTID 0-1-16 +slave-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by server */ +slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4 +/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Gtid list [] +# at # +#010909 4:46:40 server id # end_log_pos # Binlog checkpoint slave-bin.000001 +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl +/*!100101 SET @@session.skip_parallel_replication=0*//*!*/; +/*!100001 SET @@session.gtid_domain_id=0*//*!*/; +/*!100001 SET @@session.server_id=1*//*!*/; +/*!100001 SET @@session.gtid_seq_no=1*//*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +use `test`/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/; +SET @@session.sql_mode=1342177280/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 (a INT, b INT, c INT) +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl +/*!100001 SET @@session.gtid_seq_no=2*//*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t2 (a INT, b INT, c INT) +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-2-3 ddl +/*!100001 SET @@session.server_id=2*//*!*/; +/*!100001 SET @@session.gtid_seq_no=3*//*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +ALTER TABLE t1 ENGINE=BLACKHOLE +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 trans +/*!100001 SET @@session.server_id=1*//*!*/; +/*!100001 SET @@session.gtid_seq_no=3*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> INSERT INTO t2 VALUES (1,9,1), (2,9,2), (3,9,3), (4,9,4) +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t2` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 trans +/*!100001 SET @@session.gtid_seq_no=4*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> INSERT INTO t1 VALUES (1,1,1),(2,1,2),(3,1,3),(4,1,4) +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 trans +/*!100001 SET @@session.gtid_seq_no=5*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 1 +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Update_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 trans +/*!100001 SET @@session.gtid_seq_no=6*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> DELETE FROM t1 WHERE a % 2 = 0 AND b = 1 +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-7 trans +/*!100001 SET @@session.gtid_seq_no=7*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> INSERT INTO t1 SELECT * FROM t2 +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-8 ddl +/*!100001 SET @@session.gtid_seq_no=8*//*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b) +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-9 trans +/*!100001 SET @@session.gtid_seq_no=9*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> INSERT INTO t1 VALUES (1,2,1),(2,2,2),(3,2,3),(4,2,4) +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-10 trans +/*!100001 SET @@session.gtid_seq_no=10*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 2 +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Update_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-11 trans +/*!100001 SET @@session.gtid_seq_no=11*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> DELETE FROM t1 WHERE a % 2 = 0 AND b = 2 +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-12 ddl +/*!100001 SET @@session.gtid_seq_no=12*//*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +ALTER TABLE t1 DROP PRIMARY KEY, ADD KEY key_t1 (a) +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-13 trans +/*!100001 SET @@session.gtid_seq_no=13*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> INSERT INTO t1 VALUES (1,3,1),(2,3,2),(3,3,3),(4,3,4) +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-14 trans +/*!100001 SET @@session.gtid_seq_no=14*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 3 +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Update_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-15 trans +/*!100001 SET @@session.gtid_seq_no=15*//*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id # end_log_pos # Annotate_rows: +#Q> DELETE FROM t1 WHERE a % 2 = 0 AND b = 3 +#010909 4:46:40 server id # end_log_pos # Table_map: `test`.`t1` mapped to number # +# at # +#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # GTID 0-1-16 ddl +/*!100001 SET @@session.gtid_seq_no=16*//*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE IF EXISTS `t1`,`t2` /* generated by server */ +/*!*/; +# at # +#010909 4:46:40 server id # end_log_pos # Rotate to slave-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/; +include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result index da807748c..d79b246c8 100644 --- a/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result +++ b/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result @@ -89,9 +89,6 @@ Warnings: Note 1051 Unknown table 'test.tt_xx_1' -b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b- include/show_binlog_events.inc -Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-TXe-Temp'; @@ -112,7 +109,7 @@ Note 1051 Unknown table 'test.tt_1' include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-NXe-Temp'; @@ -134,8 +131,6 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */ -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-TN-Temp'; @@ -291,7 +286,6 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -314,8 +308,6 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -368,7 +360,7 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -391,8 +383,8 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -454,7 +446,6 @@ master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` / master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -483,8 +474,6 @@ master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` / master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -801,7 +790,6 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -826,8 +814,6 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -882,7 +868,7 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -907,8 +893,8 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -972,7 +958,6 @@ master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` / master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -1003,8 +988,6 @@ master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` / master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- diff --git a/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result index 05b2c04e7..ec6d89551 100644 --- a/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result +++ b/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result @@ -83,9 +83,6 @@ Warnings: Note 1051 Unknown table 'test.tt_xx_1' -b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b- include/show_binlog_events.inc -Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-TXe-Temp'; @@ -101,9 +98,6 @@ Warnings: Note 1051 Unknown table 'test.tt_1' -b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-TXe-Temp << -b-b-b-b-b-b-b-b-b-b-b- include/show_binlog_events.inc -Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-NXe-Temp'; @@ -119,9 +113,6 @@ Warnings: Note 1051 Unknown table 'test.tt_1' -b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-NXe-Temp << -b-b-b-b-b-b-b-b-b-b-b- include/show_binlog_events.inc -Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-TN-Temp'; @@ -264,7 +255,6 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -289,8 +279,6 @@ master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -344,7 +332,6 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -369,8 +356,6 @@ master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -424,7 +409,6 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -449,8 +433,6 @@ master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -755,7 +737,6 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -782,8 +763,6 @@ master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -839,7 +818,6 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -866,8 +844,6 @@ master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -923,7 +899,6 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -950,8 +925,6 @@ master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Table_map # # table_id: # (test.tt_xx_1) master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- diff --git a/mysql-test/suite/rpl/r/rpl_row_drop_temp_table.result b/mysql-test/suite/rpl/r/rpl_row_drop_temp_table.result new file mode 100644 index 000000000..15b4d3965 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_row_drop_temp_table.result @@ -0,0 +1,36 @@ +include/master-slave.inc +[connection master] +[connection slave] +SET GLOBAL read_only=1; +[connection master] +CREATE PROCEDURE testproc() +BEGIN +DROP TEMPORARY TABLE IF EXISTS t1_tmp; +DROP TEMPORARY TABLE IF EXISTS t2_tmp; +CREATE TEMPORARY TABLE IF NOT EXISTS t1_tmp ( t1 varchar(400) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TEMPORARY TABLE IF NOT EXISTS t2_tmp ( t2 varchar(16) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +END| +SET GLOBAL read_only=1; +CALL testproc(); +******** None of the above DROP TEMPORARY TABLE statement should be found in binary log ******** +include/show_binlog_events.inc +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Gtid # # GTID #-#-# +master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `testproc`() +BEGIN +DROP TEMPORARY TABLE IF EXISTS t1_tmp; +DROP TEMPORARY TABLE IF EXISTS t2_tmp; +CREATE TEMPORARY TABLE IF NOT EXISTS t1_tmp ( t1 varchar(400) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TEMPORARY TABLE IF NOT EXISTS t2_tmp ( t2 varchar(16) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +END +SELECT @@read_only; +@@read_only +1 +======== CLEAN UP ========= +[connection master] +DROP TEMPORARY TABLE t1_tmp; +DROP TEMPORARY TABLE t2_tmp; +DROP PROCEDURE testproc; +SET GLOBAL read_only=0; +SET GLOBAL read_only=0; +include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result b/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result index 4762ac8dd..272263bc2 100644 --- a/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result +++ b/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result @@ -5,19 +5,22 @@ SET @@GLOBAL.rpl_semi_sync_master_enabled = 1; SET @@GLOBAL.rpl_semi_sync_master_timeout=100; include/stop_slave.inc SET @@GLOBAL.replicate_events_marked_for_skip=FILTER_ON_MASTER; -SET @@GLOBAL. rpl_semi_sync_slave_enabled = 1; +SET @@GLOBAL.rpl_semi_sync_slave_enabled = 1; include/start_slave.inc CREATE TABLE t1 (a INT) ENGINE=innodb; -SET @@GLOBAL.debug_dbug= "d,dbug_master_binlog_over_2GB"; +SET @@GLOBAL.debug_dbug="d,dbug_master_binlog_over_2GB"; SET @@SESSION.skip_replication=1; INSERT INTO t1 SET a=1; SET @@SESSION.skip_replication=0; INSERT INTO t1 SET a=0; SET @@GLOBAL.debug_dbug=""; -SET @@GLOBAL. rpl_semi_sync_master_timeout = 10000; -SET @@GLOBAL. rpl_semi_sync_master_enabled = 0; +FLUSH LOGS; +SET @@GLOBAL.debug_dbug=@@GLOBAL.debug_dbug; +SET @@GLOBAL.rpl_semi_sync_master_timeout = 10000; +SET @@GLOBAL.rpl_semi_sync_master_enabled = 0; DROP TABLE t1; include/stop_slave.inc -SET @@GLOBAL. rpl_semi_sync_slave_enabled = 0; +SET @@GLOBAL.rpl_semi_sync_slave_enabled = 0; SET @@GLOBAL.replicate_events_marked_for_skip = REPLICATE; +include/start_slave.inc include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result b/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result index 36d862ded..abba229ae 100644 --- a/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result +++ b/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result @@ -25,10 +25,6 @@ select plugin_name,plugin_status from information_schema.plugins where plugin_na plugin_name plugin_status rpl_semi_sync_slave DELETED [connection master] -show global status like "Slave%_connect%"; -Variable_name Value -Slave_connections 2 -Slaves_connected 1 UNINSTALL PLUGIN rpl_semi_sync_master; Warnings: Warning 1620 Plugin is busy and will be uninstalled on shutdown diff --git a/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result index 9dc86c0bf..0cad8f122 100644 --- a/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result +++ b/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result @@ -89,9 +89,6 @@ Warnings: Note 1051 Unknown table 'test.tt_xx_1' -b-b-b-b-b-b-b-b-b-b-b- >> Drop-Temp-If-Xe-Temp << -b-b-b-b-b-b-b-b-b-b-b- include/show_binlog_events.inc -Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-Xe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-TXe-Temp'; @@ -112,7 +109,7 @@ Note 1051 Unknown table 'test.tt_1' include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-TXe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-NXe-Temp'; @@ -134,8 +131,6 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` /* generated by server */ -master-bin.000001 # Gtid # # GTID #-#-# -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -e-e-e-e-e-e-e-e-e-e-e- >> Drop-Temp-If-NXe-Temp << -e-e-e-e-e-e-e-e-e-e-e- SET @commands= 'Drop-Temp-TN-Temp'; @@ -291,7 +286,6 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -314,8 +308,6 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -368,7 +360,7 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -391,8 +383,8 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -454,7 +446,6 @@ master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` / master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -483,8 +474,6 @@ master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` / master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Xid # # COMMIT /* XID */ -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp C << -e-e-e-e-e-e-e-e-e-e-e- @@ -801,7 +790,6 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -826,8 +814,6 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_xx_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-Xe-Temp N Drop-Temp-If-Xe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -882,7 +868,7 @@ include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -907,8 +893,8 @@ master-bin.000001 # Query # # use `test`; INSERT INTO nt_xx_1() VALUES (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2`,`test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1`,`test`.`tt_1` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_2` /* generated by server */ +master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_tmp_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-TXe-Temp N Drop-Temp-If-TXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -972,7 +958,6 @@ master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_2` / master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- @@ -1003,8 +988,6 @@ master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`nt_tmp_1` / master-bin.000001 # Query # # COMMIT master-bin.000001 # Gtid # # BEGIN GTID #-#-# master-bin.000001 # Query # # use `test`; INSERT INTO tt_xx_1() VALUES (1) -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ -master-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`tt_1` /* generated by server */ master-bin.000001 # Query # # ROLLBACK -e-e-e-e-e-e-e-e-e-e-e- >> B T Drop-Temp-If-NXe-Temp N Drop-Temp-If-NXe-Temp R << -e-e-e-e-e-e-e-e-e-e-e- diff --git a/mysql-test/suite/rpl/t/create_or_replace.inc b/mysql-test/suite/rpl/t/create_or_replace.inc index 7d0dc4870..35a6ead60 100644 --- a/mysql-test/suite/rpl/t/create_or_replace.inc +++ b/mysql-test/suite/rpl/t/create_or_replace.inc @@ -205,6 +205,19 @@ set binlog_format="STATEMENT"; drop temporary table t8; set @@binlog_format=@org_binlog_format; +# MDEV-20091: +# 1. No DROP should be logged for non-existing tmp table, nor +# 2. at the connection close when its creation has not been logged. +set @@session.binlog_format=default; +drop temporary table if exists t9; + +--connect(con1,localhost,root,,) +set session binlog_format=default; +create temporary table t9 (i int); +--echo *** Must be no DROP logged for t9 when there was no CREATE, at disconnect too *** +--disconnect con1 + +--connection server_1 --source include/show_binlog_events.inc # Clean up diff --git a/mysql-test/suite/rpl/t/kill_race_condition.test b/mysql-test/suite/rpl/t/kill_race_condition.test index 4268c12cd..0f3b44864 100644 --- a/mysql-test/suite/rpl/t/kill_race_condition.test +++ b/mysql-test/suite/rpl/t/kill_race_condition.test @@ -2,27 +2,34 @@ source include/have_debug_sync.inc; source include/have_binlog_format_row.inc; source include/master-slave.inc; +connection master; +create table t1 (a int); +--sync_slave_with_master + connection slave; set global debug_dbug='d,rows_log_event_before_open_table'; -send set debug_sync='now WAIT_FOR before_open_table'; connection master; -create table t1 (a int); insert t1 values (1),(2),(3); connection slave; -reap; +set debug_sync='now WAIT_FOR before_open_table'; let $a=`select id from information_schema.processlist where state='debug sync point: now'`; replace_result $a slave_sql_thread; eval kill $a; set debug_sync='now SIGNAL go_ahead_sql'; +--let $slave_sql_errno= 1927 +--source include/wait_for_slave_sql_error.inc +let $error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1); +--echo Last_SQL_Error = $error set global debug_dbug=''; set debug_sync='RESET'; - connection master; drop table t1; connection slave; -start slave; +--source include/start_slave.inc +let $error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1); +--echo Last_SQL_Error = $error source include/rpl_end.inc; diff --git a/mysql-test/suite/rpl/t/mdev_17588-slave.opt b/mysql-test/suite/rpl/t/mdev_17588-slave.opt new file mode 100644 index 000000000..d73dbeca5 --- /dev/null +++ b/mysql-test/suite/rpl/t/mdev_17588-slave.opt @@ -0,0 +1 @@ +--loose-disable-innodb --replicate-ignore-table=test.t3 diff --git a/mysql-test/suite/rpl/t/mdev_17588.test b/mysql-test/suite/rpl/t/mdev_17588.test new file mode 100644 index 000000000..e9a340cbd --- /dev/null +++ b/mysql-test/suite/rpl/t/mdev_17588.test @@ -0,0 +1,39 @@ +--source include/master-slave.inc +--source include/have_innodb.inc + +--connection master +create table t1 (a int) engine=innodb; +create table t2 (a int); +create table t3 (a int) engine=innodb; +--source include/save_master_gtid.inc + +--connection slave +# Using ER_UNKNOWN_STORAGE_ENGINE wont work +let $slave_sql_errno= 1286; +--source include/wait_for_slave_sql_error.inc +--let $status_items= Last_Error +--source include/show_slave_status.inc +STOP SLAVE IO_THREAD; +source include/wait_for_slave_to_stop.inc; +SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; +--source include/start_slave.inc +--source include/sync_with_master_gtid.inc +show tables; +show create table t2; +--error ER_NO_SUCH_TABLE +show create table t1; +--error ER_NO_SUCH_TABLE +show create table t3; + +--connection master +drop table if exists t1; +drop table if exists t2; +drop table if exists t3; +--source include/save_master_gtid.inc + +--connection slave +--source include/sync_with_master_gtid.inc + + +CALL mtr.add_suppression('Slave: Unknown storage engine .* Error_code: 1286'); +--source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_blackhole.test b/mysql-test/suite/rpl/t/rpl_blackhole.test index 76b2e2421..9128382d1 100644 --- a/mysql-test/suite/rpl/t/rpl_blackhole.test +++ b/mysql-test/suite/rpl/t/rpl_blackhole.test @@ -20,81 +20,6 @@ source include/master-slave.inc; call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); -# We start with no primary key -CREATE TABLE t1 (a INT, b INT, c INT); -CREATE TABLE t2 (a INT, b INT, c INT); +source extra/rpl_tests/rpl_blackhole_basic.test; -sync_slave_with_master; -ALTER TABLE t1 ENGINE=BLACKHOLE; - -connection master; -INSERT INTO t2 VALUES (1,9,1), (2,9,2), (3,9,3), (4,9,4); -sync_slave_with_master; - -# Test insert, no primary key -let $statement = INSERT INTO t1 VALUES (1,1,1),(2,1,2),(3,1,3),(4,1,4); -source extra/rpl_tests/rpl_blackhole.test; - -# Test update, no primary key -let $statement = UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 1; -source extra/rpl_tests/rpl_blackhole.test; - -# Test delete, no primary key -let $statement = DELETE FROM t1 WHERE a % 2 = 0 AND b = 1; -source extra/rpl_tests/rpl_blackhole.test; - -# Test INSERT-SELECT into Blackhole, no primary key -let $statement = INSERT INTO t1 SELECT * FROM t2; -source extra/rpl_tests/rpl_blackhole.test; - -# -# The MASTER has MyISAM as the engine for both tables. The SLAVE has Blackhole -# on t1 (transactional engine) and MyISAM on t2 (non-transactional engine). -# -# In MIXED mode, the command "INSERT INTO t2 SELECT * FROM t1" is logged as -# statement on the master. On the slave, it is tagged as unsafe because the -# statement mixes both transactional and non-transactional engines and as such -# its changes are logged as rows. However, due to the nature of the blackhole -# engine, no rows are returned and thus any chain replication would make the -# next master on the chain diverge. -# -# Fo this reason, we have disabled the statement. -# -# Test INSERT-SELECT from Blackhole, no primary key -# let $statement = INSERT INTO t2 SELECT * FROM t1; -# source extra/rpl_tests/rpl_blackhole.test; -# - -connection master; -ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b); - -# Test insert, primary key -let $statement = INSERT INTO t1 VALUES (1,2,1),(2,2,2),(3,2,3),(4,2,4); -source extra/rpl_tests/rpl_blackhole.test; - -# Test update, primary key -let $statement = UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 2; -source extra/rpl_tests/rpl_blackhole.test; - -# Test delete, primary key -let $statement = DELETE FROM t1 WHERE a % 2 = 0 AND b = 2; -source extra/rpl_tests/rpl_blackhole.test; - -connection master; -ALTER TABLE t1 DROP PRIMARY KEY, ADD KEY key_t1 (a); - -# Test insert, key -let $statement = INSERT INTO t1 VALUES (1,3,1),(2,3,2),(3,3,3),(4,3,4); -source extra/rpl_tests/rpl_blackhole.test; - -# Test update, key -let $statement = UPDATE t1 SET c = 2*c WHERE a % 2 = 0 AND b = 3; -source extra/rpl_tests/rpl_blackhole.test; - -# Test delete, key -let $statement = DELETE FROM t1 WHERE a % 2 = 0 AND b = 3; -source extra/rpl_tests/rpl_blackhole.test; - -connection master; -DROP TABLE t1,t2; --source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate-master.opt b/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate-master.opt new file mode 100644 index 000000000..913027910 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate-master.opt @@ -0,0 +1 @@ +--binlog_annotate_row_events --timezone=GMT-3 diff --git a/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate-slave.opt b/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate-slave.opt new file mode 100644 index 000000000..7ac6a84fa --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate-slave.opt @@ -0,0 +1 @@ +--binlog_annotate_row_events --replicate_annotate_row_events diff --git a/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test b/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test new file mode 100644 index 000000000..77384d914 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test @@ -0,0 +1,49 @@ +# ==== Purpose ==== +# +# Test verifies that when "replicate_annotate_row_events" are enabled on slave +# the DML operations on blackhole engine will be successful. It also ensures +# that Annotate events are logged into slave's binary log. +# +# ==== Implementation ==== +# +# Steps: +# 0 - Enable "replicate_annotate_row_events" on slave and do DML operations +# on master. +# 1 - Slave server will successfully apply the DML operations and it is in +# sync with master. +# 2 - Verify that the "show binlog events" prints all annotate events. +# 3 - Stream the slave's binary log using "mysqlbinlog" tool and verify +# that the Annotate events are being displayed. +# +# ==== References ==== +# +# MDEV-11094: Blackhole table updates on slave fail when row annotation is +# enabled + +source include/have_blackhole.inc; +source include/have_binlog_format_row.inc; +source include/binlog_start_pos.inc; +source include/master-slave.inc; + +SET timestamp=1000000000; +RESET MASTER; +connection slave; +SET timestamp=1000000000; +RESET MASTER; + +connection master; +source extra/rpl_tests/rpl_blackhole_basic.test; + +# Verify on slave. +connection slave; +FLUSH LOGS; +--replace_column 2 # 5 # +--replace_result $binlog_start_pos +--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\// +--eval show binlog events in 'slave-bin.000001' from $binlog_start_pos + +let $MYSQLD_DATADIR= `select @@datadir`; +--replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ +--exec $MYSQL_BINLOG --base64-output=decode-rows $MYSQLD_DATADIR/slave-bin.000001 + +source include/rpl_end.inc; diff --git a/mysql-test/suite/rpl/t/rpl_row_drop_temp_table.test b/mysql-test/suite/rpl/t/rpl_row_drop_temp_table.test new file mode 100644 index 000000000..5484928f3 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_row_drop_temp_table.test @@ -0,0 +1,54 @@ +# ==== Purpose ==== +# +# Test verifies that plain DROP TEMPORARY TABLE IF EXISTS statements are not +# replicated during row based replication. +# +# ==== Implementation ==== +# +# Steps: +# 0 - Have a read_only master and slave. Binlog format should be "ROW". +# 1 - Create a procedure which executes DROP TEMPORARY TABLE IF EXISTS +# statements prior to CREATE TEMPORARY TABLE. +# 2 - Execute the procedure. +# 3 - Verify that the DROP TEMPORARY TABLE IF EXISTS statements within the +# procedure are not written to the binary log. +# +# ==== References ==== +# +# MDEV-20091: DROP TEMPORARY table is logged despite no CREATE was logged +# + +--source include/have_binlog_format_row.inc +--source include/have_innodb.inc +--source include/master-slave.inc + +--source include/rpl_connection_slave.inc +SET GLOBAL read_only=1; + +--source include/rpl_connection_master.inc +DELIMITER |; +CREATE PROCEDURE testproc() +BEGIN + DROP TEMPORARY TABLE IF EXISTS t1_tmp; + DROP TEMPORARY TABLE IF EXISTS t2_tmp; + CREATE TEMPORARY TABLE IF NOT EXISTS t1_tmp ( t1 varchar(400) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8; + CREATE TEMPORARY TABLE IF NOT EXISTS t2_tmp ( t2 varchar(16) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +END| +DELIMITER ;| +SET GLOBAL read_only=1; +CALL testproc(); +--echo ******** None of the above DROP TEMPORARY TABLE statement should be found in binary log ******** +--source include/show_binlog_events.inc +--sync_slave_with_master +SELECT @@read_only; + +--echo ======== CLEAN UP ========= +--source include/rpl_connection_master.inc +DROP TEMPORARY TABLE t1_tmp; +DROP TEMPORARY TABLE t2_tmp; +DROP PROCEDURE testproc; +SET GLOBAL read_only=0; +--sync_slave_with_master +SET GLOBAL read_only=0; + +--source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test index 678679f0c..a249043fa 100644 --- a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test +++ b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test @@ -151,8 +151,7 @@ remove_file $MYSQLTEST_VARDIR/tmp/master.sql; --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --stop-position=$stop_position --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 --echo --- Test 4 Second Remote test -- ---exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 > $MYSQLTEST_VARDIR/tmp/remote.sql ---exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 >> $MYSQLTEST_VARDIR/tmp/remote.sql +--exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --to-last-log master-bin.000001 > $MYSQLTEST_VARDIR/tmp/remote.sql # Now that we have our file, lets get rid of the current database. # Cleanup the master and the slave and try to recreate. diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_skip_repl.test b/mysql-test/suite/rpl/t/rpl_semi_sync_skip_repl.test index 2f6da1806..8c00bae06 100644 --- a/mysql-test/suite/rpl/t/rpl_semi_sync_skip_repl.test +++ b/mysql-test/suite/rpl/t/rpl_semi_sync_skip_repl.test @@ -16,29 +16,34 @@ source include/master-slave.inc; # Suppress warnings that might be generated during the test call mtr.add_suppression("Timeout waiting for reply of binlog"); ---let $sav_enabled_master=`SELECT @@GLOBAL.rpl_semi_sync_master_enabled ` ---let $sav_timeout_master=`SELECT @@GLOBAL.rpl_semi_sync_master_timeout ` +--let $sav_enabled_master=`SELECT @@GLOBAL.rpl_semi_sync_master_enabled` +--let $sav_timeout_master=`SELECT @@GLOBAL.rpl_semi_sync_master_timeout` SET @@GLOBAL.rpl_semi_sync_master_enabled = 1; SET @@GLOBAL.rpl_semi_sync_master_timeout=100; --connection slave +--let $sav_skip_marked_slave=`SELECT @@GLOBAL.replicate_events_marked_for_skip` +--let $sav_enabled_slave=`SELECT @@GLOBAL.rpl_semi_sync_slave_enabled` source include/stop_slave.inc; ---let $sav_skip_marked_slave=`SELECT @@GLOBAL.replicate_events_marked_for_skip ` SET @@GLOBAL.replicate_events_marked_for_skip=FILTER_ON_MASTER; ---let $sav_enabled_slave=`SELECT @@GLOBAL.rpl_semi_sync_slave_enabled ` -SET @@GLOBAL. rpl_semi_sync_slave_enabled = 1; - +SET @@GLOBAL.rpl_semi_sync_slave_enabled = 1; source include/start_slave.inc; --connection master CREATE TABLE t1 (a INT) ENGINE=innodb; # Make the following events as if they offset over 2GB from the beginning of binlog -SET @@GLOBAL.debug_dbug= "d,dbug_master_binlog_over_2GB"; +--let $sav_debug_dbug=@@GLOBAL.debug_dbug +SET @@GLOBAL.debug_dbug="d,dbug_master_binlog_over_2GB"; SET @@SESSION.skip_replication=1; INSERT INTO t1 SET a=1; SET @@SESSION.skip_replication=0; INSERT INTO t1 SET a=0; +SET @@GLOBAL.debug_dbug=""; + +# The current binlog is inconsistent so let's rotate it away +# to clean up simulation results. +FLUSH LOGS; --sync_slave_with_master @@ -46,17 +51,17 @@ INSERT INTO t1 SET a=0; # Clean up # --connection master -SET @@GLOBAL.debug_dbug=""; ---eval SET @@GLOBAL. rpl_semi_sync_master_timeout = $sav_timeout_master ---eval SET @@GLOBAL. rpl_semi_sync_master_enabled = $sav_enabled_master +--eval SET @@GLOBAL.debug_dbug=$sav_debug_dbug +--eval SET @@GLOBAL.rpl_semi_sync_master_timeout = $sav_timeout_master +--eval SET @@GLOBAL.rpl_semi_sync_master_enabled = $sav_enabled_master --connection master DROP TABLE t1; --sync_slave_with_master source include/stop_slave.inc; ---eval SET @@GLOBAL. rpl_semi_sync_slave_enabled = $sav_enabled_slave +--eval SET @@GLOBAL.rpl_semi_sync_slave_enabled = $sav_enabled_slave --eval SET @@GLOBAL.replicate_events_marked_for_skip = $sav_skip_marked_slave ---let $rpl_only_running_threads= 1 +source include/start_slave.inc; --source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test b/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test index 0f86789cc..8bb0322d7 100644 --- a/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test +++ b/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test @@ -68,8 +68,13 @@ select plugin_name,plugin_status from information_schema.plugins where plugin_na --echo [connection master] # The following is to catch errors if the next uninstall plugin would succeed -show global status like "Slave%_connect%"; - +let $slaves_connected_value= query_get_value(SHOW GLOBAL STATUS LIKE 'Slaves_connected', Value, 1); +if (`SELECT $slaves_connected_value <> 1`) +{ + SHOW GLOBAL STATUS LIKE 'Slave_connections'; + SHOW GLOBAL STATUS LIKE 'Slaves_connected'; + --die *** Unexpected number of connected slaves *** +} UNINSTALL PLUGIN rpl_semi_sync_master; select plugin_name,plugin_status from information_schema.plugins where plugin_name like 'rpl_%'; diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit,32bit.rdiff b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit,32bit.rdiff new file mode 100644 index 000000000..cd9a004a6 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit,32bit.rdiff @@ -0,0 +1,11 @@ +--- mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.result 2019-05-07 15:09:57.220599318 +0530 ++++ mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.reject 2019-05-07 15:10:20.012718538 +0530 +@@ -1,5 +1,7 @@ + set global innodb_ft_result_cache_limit=5000000000; ++Warnings: ++Warning 1292 Truncated incorrect innodb_ft_result_cache_limit value: '5000000000' + select @@innodb_ft_result_cache_limit; + @@innodb_ft_result_cache_limit +-5000000000 ++4294967295 + set global innodb_ft_result_cache_limit=2000000000; diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_64.result b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.result similarity index 100% rename from mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_64.result rename to mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit.result diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_32.result b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_32.result deleted file mode 100644 index b3bec1eec..000000000 --- a/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_32.result +++ /dev/null @@ -1,7 +0,0 @@ -set global innodb_ft_result_cache_limit=5000000000; -Warnings: -Warning 1292 Truncated incorrect innodb_ft_result_cache_limit value: '5000000000' -select @@innodb_ft_result_cache_limit; -@@innodb_ft_result_cache_limit -4294967295 -set global innodb_ft_result_cache_limit=2000000000; diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff index 794e93a10..8b8c69d05 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff +++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff @@ -1214,8 +1214,8 @@ COMMAND_LINE_ARGUMENT OPTIONAL VARIABLE_NAME INNODB_VERSION SESSION_VALUE NULL --GLOBAL_VALUE 5.6.44 -+GLOBAL_VALUE 5.6.43-84.3 +-GLOBAL_VALUE 5.6.45 ++GLOBAL_VALUE 5.6.44-86.0 GLOBAL_VALUE_ORIGIN COMPILE-TIME DEFAULT_VALUE NULL VARIABLE_SCOPE GLOBAL diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff index 195eda13c..d5a5a0147 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff +++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff @@ -684,8 +684,8 @@ COMMAND_LINE_ARGUMENT OPTIONAL VARIABLE_NAME INNODB_VERSION SESSION_VALUE NULL --GLOBAL_VALUE 5.6.44 -+GLOBAL_VALUE 5.6.43-84.3 +-GLOBAL_VALUE 5.6.45 ++GLOBAL_VALUE 5.6.44-86.0 GLOBAL_VALUE_ORIGIN COMPILE-TIME DEFAULT_VALUE NULL VARIABLE_SCOPE GLOBAL diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result index 7d18ab150..7c8ce321c 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result +++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result @@ -2401,7 +2401,7 @@ READ_ONLY NO COMMAND_LINE_ARGUMENT OPTIONAL VARIABLE_NAME INNODB_VERSION SESSION_VALUE NULL -GLOBAL_VALUE 5.6.44 +GLOBAL_VALUE 5.6.45 GLOBAL_VALUE_ORIGIN COMPILE-TIME DEFAULT_VALUE NULL VARIABLE_SCOPE GLOBAL diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_32.test b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit.test similarity index 90% rename from mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_32.test rename to mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit.test index d9defc744..b1ad2cd38 100644 --- a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_32.test +++ b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit.test @@ -1,4 +1,4 @@ ---source include/have_32bit.inc +--source include/word_size.inc --source include/have_innodb.inc let $innodb_ft_result_cache_limit_orig=`select @@innodb_ft_result_cache_limit`; diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_64.test b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_64.test deleted file mode 100644 index 2606d2b5c..000000000 --- a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_64.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_64bit.inc ---source include/have_innodb.inc - -let $innodb_ft_result_cache_limit_orig=`select @@innodb_ft_result_cache_limit`; - -set global innodb_ft_result_cache_limit=5000000000; -select @@innodb_ft_result_cache_limit; - -eval set global innodb_ft_result_cache_limit=$innodb_ft_result_cache_limit_orig; diff --git a/mysql-test/suite/sys_vars/t/max_digest_length_basic.test b/mysql-test/suite/sys_vars/t/max_digest_length_basic.test index 38b493b3b..92a741756 100644 --- a/mysql-test/suite/sys_vars/t/max_digest_length_basic.test +++ b/mysql-test/suite/sys_vars/t/max_digest_length_basic.test @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA --source include/not_embedded.inc diff --git a/mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test index 316920810..6b48ba951 100644 --- a/mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test +++ b/mysql-test/suite/sys_vars/t/pfs_digests_size_basic.test @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA --source include/not_embedded.inc --source include/have_perfschema.inc diff --git a/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test index cf87c1a7c..9a89f9aff 100644 --- a/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test +++ b/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA --source include/not_embedded.inc --source include/have_perfschema.inc diff --git a/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test index c10700b89..378646b0f 100644 --- a/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test +++ b/mysql-test/suite/sys_vars/t/pfs_session_connect_attrs_size_basic.test @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA --source include/not_embedded.inc --source include/have_perfschema.inc diff --git a/mysql-test/t/bootstrap.test b/mysql-test/t/bootstrap.test index 8508c6c9d..879d42be2 100644 --- a/mysql-test/t/bootstrap.test +++ b/mysql-test/t/bootstrap.test @@ -65,6 +65,15 @@ SELECT 'bug' as '' FROM INFORMATION_SCHEMA.ENGINES WHERE engine='innodb' --error 1 --exec $MYSQLD_BOOTSTRAP_CMD --myisam_recover_options=NONE +# +# MDEV-19349 mysql_install_db: segfault at tmp_file_prefix check +# +--write_file $MYSQLTEST_VARDIR/tmp/1 +use test; +EOF +--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/1 >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 +--remove_file $MYSQLTEST_VARDIR/tmp/1 + --echo End of 5.5 tests --source include/not_windows_embedded.inc diff --git a/mysql-test/t/connect_debug.test b/mysql-test/t/connect_debug.test index 299b605b2..7a2f2872b 100644 --- a/mysql-test/t/connect_debug.test +++ b/mysql-test/t/connect_debug.test @@ -1,3 +1,4 @@ +source include/not_embedded.inc; source include/have_debug.inc; set @old_dbug=@@global.debug_dbug; @@ -10,3 +11,13 @@ create user 'bad' identified by 'worse'; --exec $MYSQL --default-auth=mysql_old_password --user=bad --password=worse set global debug_dbug=@old_dbug; drop user bad; + +# +# malicious server, invalid plugin name +# +set global debug_dbug='+d,auth_invalid_plugin'; +create user 'bad' identified by 'worse'; +--error 1 +--exec $MYSQL --default-auth=mysql_old_password --user=bad --password=worse 2>&1 +set global debug_dbug=@old_dbug; +drop user bad; diff --git a/mysql-test/t/ctype_utf8_def_upgrade.opt b/mysql-test/t/ctype_utf8_def_upgrade.opt new file mode 100644 index 000000000..61a472b45 --- /dev/null +++ b/mysql-test/t/ctype_utf8_def_upgrade.opt @@ -0,0 +1 @@ +--character-set-server=utf8 diff --git a/mysql-test/t/ctype_utf8_def_upgrade.test b/mysql-test/t/ctype_utf8_def_upgrade.test new file mode 100644 index 000000000..4751faa06 --- /dev/null +++ b/mysql-test/t/ctype_utf8_def_upgrade.test @@ -0,0 +1,61 @@ +let $MYSQLD_DATADIR= `select @@datadir`; + +--echo # +--echo # Start of 10.1 tests +--echo # + +--echo # +--echo # MDEV-19675 Wrong charset is chosen when opening a pre-4.1 table +--echo # + +--echo # Test with a saved table from 3.23 + +SELECT @@character_set_database; +SET @@character_set_database="latin1"; +--copy_file std_data/host_old.frm $MYSQLD_DATADIR/test/t1.frm +--copy_file std_data/host_old.MYD $MYSQLD_DATADIR/test/t1.MYD +--copy_file std_data/host_old.MYI $MYSQLD_DATADIR/test/t1.MYI + +--error ER_GET_ERRNO +SELECT COUNT(*) FROM t1; +CHECK TABLE t1; +REPAIR TABLE t1; +REPAIR TABLE t1 USE_FRM; +SELECT COUNT(*) FROM t1; +CHECK TABLE t1; +SHOW CREATE TABLE t1; +DROP TABLE t1; +SET @@character_set_database=DEFAULT; + + +--echo # Now do the same, but doing 'ALTER DATABASE' to create the db.opt file, +--echo # instead of setting variables directly. + +--echo # Emulate a pre-4.1 database without db.opt +--mkdir $MYSQLD_DATADIR/db1 +SHOW CREATE DATABASE db1; +USE db1; +SELECT @@character_set_database, 'taken from defaults' AS comment; +USE test; +ALTER DATABASE db1 DEFAULT CHARACTER SET latin1; +USE db1; +SELECT @@character_set_database, 'taken from db.opt' AS comment; + +--copy_file std_data/host_old.frm $MYSQLD_DATADIR/db1/t1.frm +--copy_file std_data/host_old.MYD $MYSQLD_DATADIR/db1/t1.MYD +--copy_file std_data/host_old.MYI $MYSQLD_DATADIR/db1/t1.MYI + +--error ER_GET_ERRNO +SELECT COUNT(*) FROM t1; +REPAIR TABLE t1 USE_FRM; +SELECT COUNT(*) FROM t1; +CHECK TABLE t1; +SHOW CREATE TABLE t1; +DROP TABLE t1; + +DROP DATABASE db1; +USE test; + +--echo # +--echo # End of 10.1 tests +--echo # diff --git a/mysql-test/t/derived.test b/mysql-test/t/derived.test index 778d141b8..470060d83 100644 --- a/mysql-test/t/derived.test +++ b/mysql-test/t/derived.test @@ -1,7 +1,4 @@ # Initialize ---disable_warnings -drop table if exists t1,t2,t3; ---enable_warnings set @save_derived_optimizer_switch=@@optimizer_switch; set optimizer_switch='derived_merge=off,derived_with_keys=off'; @@ -536,6 +533,10 @@ insert into t2 values(4),(5),(6); select x.id, message from (select id from t1) x left join (select id, 1 as message from t2) y on x.id=y.id where coalesce(message,0) <> 0; +explain extended +select x.id, message from (select id from t1) x left join +(select id, 1 as message from t2) y on x.id=y.id +where message <> 0; drop table t1,t2; --echo # diff --git a/mysql-test/t/derived_view.test b/mysql-test/t/derived_view.test index 1c0749346..ad0e0001b 100644 --- a/mysql-test/t/derived_view.test +++ b/mysql-test/t/derived_view.test @@ -1934,3 +1934,297 @@ DROP TABLE t1, t2; # The following command must be the last one the file set optimizer_switch=@exit_optimizer_switch; set join_cache_level=@exit_join_cache_level; + +--echo # +--echo # Bug mdev-18479: EXPLAIN for query with many expensive derived +--echo # + +CREATE TABLE t1 +(id int auto_increment primary key, + uid int NOT NULL, + gp_id int NOT NULL, + r int NOT NULL +); + +INSERT INTO t1(uid,gp_id,r) VALUES +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1), +(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1), +(1,11,1); + +CREATE TABLE t2 (id int) ; +INSERT INTO t2 VALUES (1); + +explain SELECT 1 FROM t2 JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_1 ON gp_1.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_2 ON gp_2.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id + JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_3 ON gp_3.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id + JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_4 ON gp_4.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id + JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_5 ON gp_5.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id + JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_6 ON gp_6.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id + JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + WHERE p1.gp_id=7) gp_7 ON gp_7.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_8 ON gp_8.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_9 ON gp_9.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_14 ON gp_14.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_15 ON gp_15.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + ) gp_16 ON gp_16.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + )gp_17 ON gp_17.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + )gp_18 ON gp_18.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id + JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id + )gp_19 ON gp_19.id=t2.id +JOIN +(SELECT t2.id + FROM t2 + JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id + JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id + JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id + JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id + JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id + ) gp_20 ON gp_20.id=t2.id ; + +DROP TABLE t1, t2; + +--echo # +--echo # MDEV-19778: equality condition for mergeable view returning constants +--echo # in its columns and used as inner table of outer join +--echo # + +create table t1 (pk int, a int); +insert into t1 values (1,7), (2,3), (3,2), (4,3); +create table t2 (b int); +insert into t2 values (5), (1), (NULL), (3); +create table t3 (c int); +insert into t3 values (1), (8); + +create view v1 as +select 3 as d, t2.b from t2; + +let $q= +select * from t1 left join v1 on t1.pk <= 2 where t1.a=v1.d; +eval $q; +eval explain extended $q; + +let $q= +select * from t1 left join (select 3 as d, t2.b from t2) dt on t1.pk <= 2 + where t1.a=dt.d; +eval $q; +eval explain extended $q; + +let $q= +select * from t1 left join (v1,t3) on t1.pk <= 2 where t1.a=v1.d; +eval $q; +eval explain extended $q; + +drop view v1; +drop table t1,t2,t3; diff --git a/mysql-test/t/information_schema_parameters.test b/mysql-test/t/information_schema_parameters.test index 3f0b11cba..0563941c1 100644 --- a/mysql-test/t/information_schema_parameters.test +++ b/mysql-test/t/information_schema_parameters.test @@ -92,7 +92,7 @@ CREATE DATABASE i_s_parameters_test; USE i_s_parameters_test; delimiter //; -CREATE PROCEDURE testproc (OUT param1 INT) +CREATE PROCEDURE testproc (IN param1 INT) BEGIN SELECT 2+2 as param1; END; diff --git a/mysql-test/t/join.test b/mysql-test/t/join.test index 3d2a02e23..632ee9479 100644 --- a/mysql-test/t/join.test +++ b/mysql-test/t/join.test @@ -1209,6 +1209,410 @@ CALL p1; DROP PROCEDURE p1; DROP TABLE t1,t2,t3,t4,t5; +--echo # +--echo # MDEV-19421: Embedding inner joins +--echo # + +create table t1 (a int); +insert into t1 values (7), (5), (3); +create table s1 (b int); +insert into s1 values (7), (5), (3); +create table t2 (a int); +insert into t2 values (5), (1), (7); +create table s2 (b int); +insert into s2 values (5), (1), (7); +create table t3 (a int); +insert into t3 values (2), (7), (3); +create table t4 (a int); +insert into t4 values (4), (7), (9), (5); + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t2.a=t3.a on t1.a=t2.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t2.a=t3.a on t1.a=t2.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t2.a=t3.a on t1.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 using(a) using(a); +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 using(a) using(a); +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 using(a) using(a); +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 on t1.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 left join t3 on t1.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 right join t3 on t1.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 join t3 on t2.a=t3.a); +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 left join t3 on t2.a=t3.a); +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join (t2 right join t3 on t2.a=t3.a); +eval explain extended $q; +eval $q; + +let $q= +select * +from s1 join t2 join t3 using(a); +eval explain extended $q; +eval $q; + +let $q= +select * +from s1 join t2 left join t3 using(a); +eval explain extended $q; +eval $q; + +let $q= +select * +from s1 join t2 right join t3 using(a); +eval explain extended $q; +eval $q; + +let $q= +select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 join t3 using(a); +eval explain extended $q; +eval $q; + +let $q= +select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 left join t3 using(a); +eval explain extended $q; +eval $q; + +let $q= +select s1.b, t2.a as t2_a, t3.a as t3_a +from s1 join t2 right join t3 using(a); +eval explain extended $q; +eval $q; + +let $q= +select s1.b, t2.a as t2_a, t3.a as t3_a +from (s1 join t2) right join t3 using(a); +eval explain extended $q; +eval $q; + +let $q= +select * +from s1 join t2 natural join t3; +eval explain extended $q; +eval $q; + +let $q= +select * +from s1 join t2 natural left join t3; +eval explain extended $q; +eval $q; + +let $q= +select * +from s1 join t2 natural right join t3; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from t1 join t2 join t3 +where t1.a=t2.a and t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 left join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 left join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 left join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 right join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 join t4 using(a); +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 left join t4 using(a); +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, s2.b as s2_b, t3.a as t3_a, t4.a as t4_a +from s1 join s2 join t3 right join t4 using(a); +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 join t3 on t2.a=t3.a join t4; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 left join t3 on t2.a=t3.a join t4; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 on t2.a=t3.a join t4; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 join t3 using(a) join t4; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 left join t3 using(a) join t4; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t2 right join t3 using(a) join t4; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 left join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 left join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 right join t2 on t1.a=t2.a join t3 right join t4 on t3.a=t4.a; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 join t4 on t4.a=s1.b; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 left join t4 on t4.a=s1.b; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from s1 join t1 left join t2 on s1.b=t2.a join t3 right join t4 on t4.a=s1.b; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 left join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +eval explain extended $q; +eval $q; + +let $q= +select s1.b as s1_b, s2.b as s2_b, t1.a as t1_a, t2.a as t2_a, t3.a as t3_a +from s1 right join s2 on s1.b=s2.b join t1 right join t2 on t1.a=t2.a join t3; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from t1 join t2 right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from (t1 join t2) right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +let $q= +select t1.a as t1_a, t2.a as t2_a, t3.a as t3_a, t4.a as t4_a +from (t1, t2) right join t3 right join t4 on t3.a=t4.a on t2.a=t3.a; +eval explain extended $q; +eval $q; + +drop table t1,t2,t3,t4,s1,s2; + --echo # --echo # End of MariaDB 5.5 tests --echo # diff --git a/mysql-test/t/join_cache.test b/mysql-test/t/join_cache.test index 24dd63705..48f129c67 100644 --- a/mysql-test/t/join_cache.test +++ b/mysql-test/t/join_cache.test @@ -967,6 +967,40 @@ SELECT City.Name, Country.Name, Country.PopulationBar FROM City,Country set join_cache_level=default; set join_buffer_size=default; + +--echo # +--echo # MDEV-17752: Plan changes from hash_index_merge to index_merge with new optimizer defaults +--echo # + +set @save_optimizer_use_condition_selectivity=@@optimizer_use_condition_selectivity; +set @save_use_stat_tables=@@use_stat_tables; +set optimizer_use_condition_selectivity=4; +set use_stat_tables='preferably'; + +use world; +set join_cache_level=4; +CREATE INDEX City_Name ON City(Name); + +--disable_result_log +ANALYZE TABLE City, Country; +--enable_result_log + +EXPLAIN +SELECT Country.Name, Country.Population, City.Name, City.Population + FROM Country LEFT JOIN City + ON City.Country=Country.Code AND City.Population > 5000000 + WHERE Country.Name LIKE 'C%' AND Country.Population > 10000000; + +EXPLAIN +SELECT Country.Name, Country.Population, City.Name, City.Population + FROM Country LEFT JOIN City + ON City.Country=Country.Code AND + (City.Population > 5000000 OR City.Name LIKE 'Za%') + WHERE Country.Name LIKE 'C%' AND Country.Population > 10000000; +set @@optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity; +set @@use_stat_tables=@save_use_stat_tables; +set join_cache_level=default; + DROP DATABASE world; use test; diff --git a/mysql-test/t/join_nested.test b/mysql-test/t/join_nested.test index e60b7827f..cfb24a633 100644 --- a/mysql-test/t/join_nested.test +++ b/mysql-test/t/join_nested.test @@ -1380,3 +1380,37 @@ DROP VIEW v1; DROP TABLE t1,t2; set optimizer_search_depth= @tmp_mdev621; + +--echo # +--echo # MDEV-19588: Nested left joins using optimized join cache +--echo # + +set optimizer_switch='optimize_join_buffer_size=on'; + +set @save_join_cache_level= @@join_cache_level; +set join_cache_level=2; + +CREATE TABLE t1 (i1 int, c1 varchar(20), pk int) engine=myisam; + +CREATE TABLE t2 (pk int, c1 varchar(20), i1 int) engine=myisam; +INSERT INTO t2 VALUES (7,'a',-912),(8,'a',5); + +CREATE TABLE t3 (pk int, c1 varchar(20), i1 int) engine=myisam; +INSERT INTO t3 VALUES +(1,'a',-145),(2,'a',6),(3,'a',1),(7,'a',NULL),(8,'a',889),(9,'a',146), +(10,'a',177),(16,'a',-433),(17,'a',NULL),(18,'a',2),(19,'a',3),(20,'a',5), +(21,'a',-484),(22,'a',369),(23,'a',-192),(24,'a',-163),(25,'a',5),(26,'a',NULL); + +let $q= +SELECT t3.* +FROM t3 LEFT JOIN t1 LEFT JOIN t2 ON t1.i1 = t2.i1 ON t3.i1 = t1.i1 +WHERE t2.pk < 13 OR t3.i1 IS NULL; + +eval $q; +eval explain extended $q; + +DROP TABLE t1,t2,t3; + +set join_cache_level= @save_join_cache_level; + +set optimizer_switch=@save_optimizer_switch; diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index 6d20c089b..b242b4271 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -1976,7 +1976,7 @@ set @save_join_cache_level= @@join_cache_level; SET @@join_cache_level = 3; SELECT t1.b1+'0' , t2.b2 + '0' FROM t1 LEFT JOIN t2 ON b1 = b2; DROP TABLE t1, t2; -set @join_cache_level= @save_join_cache_level; +set @@join_cache_level= @save_join_cache_level; --echo # --echo # MDEV-14779: using left join causes incorrect results with materialization and derived tables @@ -2040,6 +2040,154 @@ ORDER BY tb1.i1; DROP TABLE t1,t2; +--echo # +--echo # MDEV-19790 : IS NOT TRUE / IS NOT FALSE predicates over +--echo # inner tables of outer joins +--echo # + +create table t1 (a int); +create table t2 (b int); +insert into t1 values (3), (7), (1); +insert into t2 values (7), (4), (3); +select * from t1 left join t2 on a=b; + +let $q= +select * from t1 left join t2 on a=b where (b > 3) is not true; +eval $q; +eval explain extended $q; + +let $q= +select * from t1 left join t2 on a=b where (b > 3) is not false; +eval $q; +eval explain extended $q; + +drop table t1,t2; + --echo # end of 5.5 tests +--echo # +--echo # MDEV-19258: chained right joins all converted to inner joins +--echo # + + CREATE TABLE t1 ( + id int NOT NULL AUTO_INCREMENT, + timestamp bigint NOT NULL, + modifiedBy varchar(255) DEFAULT NULL, + PRIMARY KEY (id) +); + +CREATE TABLE t2 ( + id int NOT NULL, + REV int NOT NULL, + REVTYPE tinyint DEFAULT NULL, + profile_id int DEFAULT NULL, + PRIMARY KEY (id,REV) +); + +CREATE TABLE t3 ( + id int NOT NULL, + REV int NOT NULL, + person_id int DEFAULT NULL, + PRIMARY KEY (id,REV) +); + +CREATE TABLE t4 ( + id int NOT NULL, + REV int NOT NULL, + PRIMARY KEY (id,REV) +); + +INSERT INTO t1 VALUES +(1,1294391193890,'Cxqy$*9.kKeE'),(2,1294643906883,'rE4wqGV0gif@'), +(3,1294643927456,'L?3yt(%dY$Br'),(4,1294644343525,'WH&ObiZ$#2S4'), +(5,1294644616416,'YXnCbt?olUZ0'),(6,1294644954537,'8Npe4!(#lU@k'), +(7,1294645046659,'knc0GhXB1#ib'),(8,1294645183829,'w*oPpVfuS8^m'), +(9,1294645386701,'hwXR@3qVzrbU'),(10,1294645525982,'BeLW*Y9ndP0l'), +(11,1294645627723,'nTegib^)qZ$I'),(12,1294650860266,'u62C^Kzx3wH8'), +(13,1294657613745,'4&BkFjGa!qLg'),(14,1294660627161,')anpt312SCoh'), +(15,1294661023336,'LtJ2PX?*kTmx'),(16,1294662838066,'POGRr@?#ofpl'), +(17,1294663020989,'o.)1EOT2jnF7'),(18,1294663308065,'&TZ0F0LHE6.h'), +(19,1294664900039,'j)kSC%^In$9d'),(20,1294668904556,'97glN50)cAo.'), +(21,1294728056853,'lrKZxmw?I.Ek'),(22,1294728157174,'@P*SRg!pT.q?'), +(23,1294728327099,'W9gPrptF.)8n'),(24,1294728418481,'$q*c^sM&URd#'), +(25,1294728729620,'9*f4&bTPRtHo'),(26,1294728906014,')4VtTEnS7$oI'), +(27,1294732190003,'8dkNSPq2u3AQ'),(28,1294733205065,'SV2N6IoEf438'), +(29,1294741984927,'rBKj.0S^Ey%*'),(30,1294751748352,'j$2DvlBqk)Fw'), +(31,1294753902212,'C$N6OrEw8elz'),(32,1294758120598,'DCSVZw!rnxXq'), +(33,1294761769556,'OTS@QU8a6s5c'),(34,1294816845305,'IUE2stG0D3L5'), +(35,1294816966909,'Xd16yka.9nHe'),(36,1294817116302,'lOQHZpm%!8qb'), +(37,1294817374775,'^&pE3IhNf7ey'),(38,1294817538907,'oEn4#7C0Vhfp'), +(39,1294818482950,'bx54J*O0Va&?'),(40,1294819047024,'J%@a&1.qgdb?'), +(41,1294821826077,'C9kojr$L3Phz'),(42,1294825454458,'gG#BOnM80ZPi'), +(43,1294904129918,'F^!TrjM#zdvc'),(44,1294904254166,'Va&Tb)k0RvlM'), +(45,1294904414964,'dJjq0M6HvhR#'),(46,1294904505784,'nJmxg)ELqY(b'), +(47,1294904602835,'dhF#or$Vge!7'),(48,1294904684728,'?bIh5E3l!0em'), +(49,1294904877898,'Y*WflOdcxnk.'),(50,1294905002390,'*?H!lUgez5A.'), +(51,1294905096043,'wlEIY3n9uz!p'),(52,1294905404621,'T?qv3H6&hlQD'), +(53,1294905603922,'S@Bhys^Ti7bt'),(54,1294905788416,'KR?a5NVukz#l'), +(55,1294905993190,'A*&q4kWhED!o'),(56,1294906205254,'fT0%7z0DF6h*'), +(57,1294906319680,'LhzdW4?ivjR0'),(58,1294906424296,'h0KDlns%U*6T'), +(59,1294906623844,'b$CfB1noI6Ax'),(60,1294911258896,'#T1*LP!3$Oys'); + + +INSERT INTO t2 VALUES +(1,1,0,10209),(1,42480,1,10209),(1,61612,1,10209),(1,257545,1,10209), +(1,385332,1,10209),(1,1687999,1,10209),(3,1,0,10210),(3,617411,2,10210), +(4,11,0,14),(4,95149,1,10211),(4,607890,2,10211),(5,1,0,10212), +(6,1,0,10213),(6,93344,1,10213),(6,295578,1,10213),(6,295579,1,10213), +(6,295644,1,10213),(7,1,0,10214),(7,12,1,7),(7,688796,1,10214), +(7,1140433,1,10214),(7,1715227,1,10214),(8,1,0,10215),(8,74253,1,10215), +(8,93345,1,10215),(8,12,2,2),(9,1,0,10216),(9,93342,1,10216), +(9,122354,1,10216),(9,301499,2,10216),(10,11,0,5),(10,93343,1,10217), +(10,122355,1,10217),(10,123050,1,10217),(10,301500,2,10217),(11,1,0,10218), +(11,87852,1,10218),(11,605499,2,10218),(12,1,0,10219),(12,88024,1,10219), +(12,605892,2,10219),(13,1,0,10220); + +INSERT INTO t3 VALUES +(1,1,300003),(1,117548,NULL),(2,1,300003),(2,117548,300006), +(3,1,300153),(3,117548,NULL),(4,1,300153),(4,117548,NULL), +(5,1,300153),(5,117548,NULL),(6,1,300182),(6,117548,NULL), +(7,1,300205),(7,117548,NULL),(8,1,300217),(8,117548,NULL), +(9,1,300290),(9,117548,NULL),(10,1,300290),(10,117548,NULL), +(11,1,300405),(11,117548,NULL),(12,1,300670),(12,117548,NULL), +(13,1,300670),(13,117548,NULL),(14,1,300006),(14,117548,NULL), +(15,1,300671),(15,117548,NULL),(16,1,300732),(16,117548,NULL); + +INSERT INTO t4 VALUES +(300000,1),(300001,1),(300003,1),(300004,1), +(300005,1),(300005,688796),(300006,1),(300006,97697), +(300009,1),(300010,1),(300011,1),(300012,1),(300013,1), +(300014,1),(300015,1),(300016,1),(300017,1),(300018,1), +(300019,1),(300020,1),(300021,1),(300022,1),(300023,1), +(300024,1),(300025,1),(300026,1),(300027,1),(300028,1); + +let $q1= +SELECT * +FROM t1 INNER JOIN t2 ON t2.REV=t1.id + INNER JOIN t3 ON t3.id=t2.profile_id + INNER JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 AND + t2.REVTYPE=2; + +--echo # This should have join order of t2,t3,t4,t1 +eval EXPLAIN EXTENDED $q1; +eval $q1; + +let $q2= +SELECT * +FROM t1 RIGHT JOIN t2 ON t2.REV=t1.id + RIGHT JOIN t3 ON t3.id=t2.profile_id + RIGHT JOIN t4 ON t4.id=t3.person_id +WHERE t1.timestamp < 1294664900039 AND t1.timestamp > 1294644616416 + AND t2.REVTYPE=2; + +--echo # This should have join order of t2,t3,t4,t1 with the same plan as above +--echo # because all RIGHT JOIN operations are converted into INNER JOIN +eval EXPLAIN EXTENDED $q2; +eval $q2; + +DROP TABLE t1,t2,t3,t4; + +--echo # end of 10.1 tests + SET optimizer_switch=@save_optimizer_switch; diff --git a/mysql-test/t/join_outer_innodb.test b/mysql-test/t/join_outer_innodb.test index 539d85a8b..365c78183 100644 --- a/mysql-test/t/join_outer_innodb.test +++ b/mysql-test/t/join_outer_innodb.test @@ -358,7 +358,7 @@ drop table t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16; drop table if exists t1,t2,t3; create table t2(a int,unique key (a)) engine=innodb; create table t3(b int) engine=innodb; -create table t1(a int,b int)engine=innodb; +create table t1(c int,b int)engine=innodb; set @mdev4270_opl= @@optimizer_prune_level; set @mdev4270_osd= @@optimizer_search_depth; diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test index 8399c4655..146277b29 100644 --- a/mysql-test/t/multi_update.test +++ b/mysql-test/t/multi_update.test @@ -371,7 +371,6 @@ drop table t1, t2; # connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK); -connection root; --disable_warnings create database mysqltest; --enable_warnings @@ -382,7 +381,6 @@ create user mysqltest_1@localhost; grant select on mysqltest.* to mysqltest_1@localhost; grant update on mysqltest.t1 to mysqltest_1@localhost; connect (user1,localhost,mysqltest_1,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK); -connection user1; update t1, t2 set t1.b=1 where t1.a=t2.a; update t1, t2 set t1.b=(select t3.b from t3 where t1.a=t3.a) where t1.a=t2.a; connection root; @@ -495,15 +493,12 @@ insert into t2 values (10), (20), (30); create view v1 as select a as b, a/10 as a from t2; connect (locker,localhost,root,,test); -connection locker; lock table t1 write; connect (changer,localhost,root,,test); -connection changer; send alter table t1 add column c int default 100 after a; connect (updater,localhost,root,,test); -connection updater; # Wait till "alter table t1 ..." of session changer is in work. # = There is one session waiting. let $wait_condition= select count(*)= 1 from information_schema.processlist @@ -1087,7 +1082,38 @@ select * from t2; drop table t1,t2, t3; drop user foo; ---echo end of 5.5 tests +# +# Another test on not-opening tables unnecessary +# +create table t1 (a int, b int); +create table t2 (c int, d int); +insert t1 values (1,2),(3,4); +insert t2 values (5,6),(7,8); +create table t0 (x int); +insert t0 values (11), (22); +create trigger tr1 before update on t2 for each row insert t0 values (new.c); +connect con1, localhost, root; +lock table t0 write; +connection default; +update t1 join t2 on (a=c+4) set b=d; +disconnect con1; +drop table t1, t2, t0; + +# +# MDEV-19521 Update Table Fails with Trigger and Stored Function +# +create table t1 (a int, b varchar(50), c varchar(50)); +insert t1 (a,b) values (1,'1'), (2,'2'), (3,'3'); +create function f1() returns varchar(50) return 'result'; +create trigger tr before update on t1 for each row set new.c = (select f1()); +create table t2 select a, b from t1; +update t1 join t2 using (a) set t1.b = t2.b; +drop table t1, t2; +drop function f1; + +--echo # +--echo # end of 5.5 tests +--echo # --source include/have_xtradb.inc diff --git a/mysql-test/t/multi_update_debug.test b/mysql-test/t/multi_update_debug.test new file mode 100644 index 000000000..2da376e1b --- /dev/null +++ b/mysql-test/t/multi_update_debug.test @@ -0,0 +1,27 @@ +# +# test MDL backoff-and-retry during multi-update +# +source include/have_debug_sync.inc; +create table t1 (a int, b int); +create table t2 (c int, d int); +insert t1 values (1,2),(3,4); +insert t2 values (5,6),(7,8); +create table t0 (x int); +insert t0 values (11), (22); +create trigger tr1 before update on t1 for each row insert t0 values (new.b); + +set debug_sync='open_tables_after_open_and_process_table WAIT_FOR cont'; +send update t1 join t2 on (a=c+4) set b=d; + +connect con1, localhost, root; +let $wait_condition= select count(*) from information_schema.processlist where state = ' debug sync point: open_tables_after_open_and_process_table' +source include/wait_condition.inc; +set debug_sync='mdl_acquire_lock_wait SIGNAL cont'; +lock table t1 write, t0 write; +let $wait_condition= select count(*) from information_schema.processlist where state = 'Waiting for table metadata lock' +source include/wait_condition.inc; +disconnect con1; +connection default; +reap; +drop table t1, t2, t0; +set debug_sync='reset'; diff --git a/mysql-test/t/multi_update_innodb.test b/mysql-test/t/multi_update_innodb.test index 51757c295..9042f267c 100644 --- a/mysql-test/t/multi_update_innodb.test +++ b/mysql-test/t/multi_update_innodb.test @@ -75,3 +75,25 @@ UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_2=10,B.pk_2=11; SELECT * FROM t2; DROP TABLE t1,t2; + +# +# MDEV-19491 update query stopped working after mariadb upgrade 10.2.23 -> 10.2.24 +# +create table t1 (id serial, size int(11)) engine=innodb; +create table t2 (id serial, size int, account_id int) engine=innodb; +create table t3 (id serial, size int, article_id int) engine=innodb; +create table t4 (id serial, file_id int, article_id int) engine=innodb; +insert t1 values(null, 400); +insert t2 values(null, 0, 1), (null, 1, 1); +insert t3 values(null, 100, 1); +insert t4 values(null, 1, 2); +create trigger file_update_article before update on t3 for each row + update t2 set t2.size = new.size where t2.id = new.article_id; +create trigger article_update_account before update on t2 for each row + update t1 set t1.size = t1.size + new.size where t1.id = new.account_id; +update t3 join t4 on t4.file_id =t3.id and t4.article_id=2 set t3.size=t3.size + 2; +drop table t1, t2, t3, t4; + +--echo # +--echo # end of 5.5 tests +--echo # diff --git a/mysql-test/t/mysqld--help.test b/mysql-test/t/mysqld--help.test index 8b4674c14..8924d2c45 100644 --- a/mysql-test/t/mysqld--help.test +++ b/mysql-test/t/mysqld--help.test @@ -42,7 +42,7 @@ perl; $re2=join('|', @plugins); $skip=0; open(F, '<', "$ENV{MYSQL_TMP_DIR}/mysqld--help.txt") or die; - print "Windows bug: happens when a new line is exactly at the right offset.\n"; + print "Windows bug: new line disappears when it is exactly at the right offset.\n"; while () { next if 1../The following groups are read/; # formatting, skip line consisting entirely of dashes and blanks diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index e8a0cc3f8..7382bd455 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -2484,6 +2484,7 @@ DROP TABLE t1; DROP TABLE t2; DROP DATABASE db_20772273; USE test; +--remove_file $MYSQLTEST_VARDIR/tmp/t2.txt --echo # --echo # Bug #25717383: MYSQLDUMP MAY EXECUTE ANY ARBITRARY QUERY @@ -2649,3 +2650,31 @@ DROP FUNCTION f; --echo # DROP VIEW v1; DROP FUNCTION f; + +--echo # +--echo # MDEV-788 New option to ignore foreign key contraints in mysqlimport +--echo # +create table t1 ( + id int primary key +) engine=InnoDB; + +create table t2 ( + t1_id int, + CONSTRAINT fk + FOREIGN KEY (t1_id) REFERENCES t1 (id) +) ENGINE = InnoDB; + +--write_file $MYSQLTEST_VARDIR/tmp/t2.txt +0 +EOF + +--error 1 +--exec $MYSQL_IMPORT --silent test $MYSQLTEST_VARDIR/tmp/t2.txt +--exec $MYSQL_IMPORT --silent -k test $MYSQLTEST_VARDIR/tmp/t2.txt +select count(*) from t2; + +--exec $MYSQL_IMPORT --silent --ignore-foreign-keys test $MYSQLTEST_VARDIR/tmp/t2.txt +select count(*) from t2; + +--remove_file $MYSQLTEST_VARDIR/tmp/t2.txt +drop tables t2, t1; diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test index 68c4d5afd..e1a17d491 100644 --- a/mysql-test/t/plugin.test +++ b/mysql-test/t/plugin.test @@ -252,6 +252,15 @@ select plugin_name from information_schema.plugins where plugin_library like 'ha uninstall soname 'ha_example'; select plugin_name from information_schema.plugins where plugin_library like 'ha_example%'; +# +# +# +set names utf8; +select convert('admin𝌆' using utf8); +--error ER_UDF_NO_PATHS +install plugin foo soname 'admin𝌆'; + +--echo # End of 5.5 test --echo # --echo # MDEV-5309 - RENAME TABLE does not check for existence of the table's @@ -265,3 +274,5 @@ UNINSTALL PLUGIN example; --error ER_NO_SUCH_TABLE RENAME TABLE t1 TO t2; DROP TABLE t1; + +--echo # End of 10.1 test diff --git a/mysql-test/t/plugin_not_embedded.test b/mysql-test/t/plugin_not_embedded.test index 3b4129b6b..a9126053f 100644 --- a/mysql-test/t/plugin_not_embedded.test +++ b/mysql-test/t/plugin_not_embedded.test @@ -30,3 +30,12 @@ let $path = `select CONCAT_WS('/', '..', '$HA_EXAMPLE_SO')`; --replace_regex /\.dll/.so/ --error ER_UDF_NO_PATHS eval INSTALL PLUGIN example SONAME '$path'; + +# +# Bug#27302459: EMPTY VALUE IN MYSQL.PLUGIN TABLE CAUSES SERVER TO EXIT ON STARTUP +# +insert mysql.plugin values (); +source include/restart_mysqld.inc; +delete from mysql.plugin where name = ''; + +--echo # End of 5.5 tests diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test index c8fc3e317..6d6d82746 100644 --- a/mysql-test/t/ps.test +++ b/mysql-test/t/ps.test @@ -3875,6 +3875,83 @@ FROM FROM t1 A, (SELECT @cnt := 0) C) T ) X; drop table t1; + +--echo # +--echo # MDEV-17042: prepared statement does not return error with +--echo # SQL_MODE STRICT_TRANS_TABLES. (Part 1) +--echo # + +set @save_sql_mode=@@sql_mode; +set sql_mode='STRICT_ALL_TABLES'; + +CREATE TABLE t1 (id int, count int); +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id decimal(10,5), count int); +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id double, count int); +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id date, count int); +insert into t1 values ("2019-06-11",1),("2019-06-12",2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; +set sql_mode=@save_sql_mode; --echo # End of 5.5 tests --echo # diff --git a/mysql-test/t/ps_innodb.test b/mysql-test/t/ps_innodb.test new file mode 100644 index 000000000..6f56af352 --- /dev/null +++ b/mysql-test/t/ps_innodb.test @@ -0,0 +1,80 @@ +--source include/have_innodb.inc + +--echo # +--echo # MDEV-17042: prepared statement does not return error with +--echo # SQL_MODE STRICT_TRANS_TABLES. (Part 2) +--echo # + +set @save_sql_mode=@@sql_mode; +set sql_mode='STRICT_TRANS_TABLES'; + +CREATE TABLE t1 (id int, count int) engine=innodb; +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id decimal(10,5), count int) engine=innodb; +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id double, count int) engine=innodb; +insert into t1 values (1,1),(0,2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; + +CREATE TABLE t1 (id date, count int) engine=innodb; +insert into t1 values ("2019-06-11",1),("2019-06-12",2); +--error ER_TRUNCATED_WRONG_VALUE +update t1 set count = count + 1 where id = '1bad'; + +prepare stmt from "update t1 set count = count + 1 where id = '1bad'"; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt; +deallocate prepare stmt; + +prepare stmt from 'update t1 set count = count + 1 where id = ?'; +set @a = '1bad'; +--error ER_TRUNCATED_WRONG_VALUE +execute stmt using @a; +deallocate prepare stmt; +drop table t1; +set sql_mode=@save_sql_mode; + +--echo # End of 5.5 tests diff --git a/mysql-test/t/repair_symlink-5543.test b/mysql-test/t/repair_symlink-5543.test index 4c120334d..ac7bb497f 100644 --- a/mysql-test/t/repair_symlink-5543.test +++ b/mysql-test/t/repair_symlink-5543.test @@ -9,9 +9,9 @@ eval create table t1 (a int) engine=myisam data directory='$MYSQL_TMP_DIR'; insert t1 values (1); --system ln -s $MYSQL_TMP_DIR/foobar5543 $MYSQL_TMP_DIR/t1.TMD ---echo # Some systems fail with errcode 40, when doing openat, while others ---echo # don't have openat and fail with errcode 20. ---replace_regex / '.*\/t1/ 'MYSQL_TMP_DIR\/t1/ /40/20/ /".*"/""/ +--echo # Some systems fail with errcode 40, or 90 (MIPS) when doing openat, +--echo # while others don't have openat and fail with errcode 20. +--replace_regex / '.*\/t1/ 'MYSQL_TMP_DIR\/t1/ /[49]0/20/ /".*"/""/ repair table t1; drop table t1; @@ -19,7 +19,7 @@ drop table t1; eval create table t2 (a int) engine=aria data directory='$MYSQL_TMP_DIR'; insert t2 values (1); --system ln -s $MYSQL_TMP_DIR/foobar5543 $MYSQL_TMP_DIR/t2.TMD ---replace_regex / '.*\/t2/ 'MYSQL_TMP_DIR\/t2/ /40/20/ /".*"/""/ +--replace_regex / '.*\/t2/ 'MYSQL_TMP_DIR\/t2/ /[49]0/20/ /".*"/""/ repair table t2; drop table t2; diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 0e95fb5c2..a2a40f87e 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -9840,4 +9840,24 @@ SELECT * FROM INFORMATION_SCHEMA.TABLES JOIN INFORMATION_SCHEMA.PARAMETERS; DROP FUNCTION f; DROP VIEW v; +--echo # +--echo # MDEV-17963: Assertion `field_pos < field_count' failed in Protocol_text::store, +--echo # Assertion `field_handlers == 0 || field_pos < field_count' +--echo # + +CREATE TABLE t1 (ct time); +INSERT INTO t1 VALUES ('16:11:28'); + +DELIMITER |; +--error ER_SP_NO_RETSET +CREATE FUNCTION f1 () RETURNS varchar(100) +BEGIN +DECLARE xxx varchar(100); +ANALYZE SELECT sum(ct) FROM t1 INTO xxx ; +RETURN xxx; +END| + +DELIMITER ;| +drop table t1; + --echo #End of 10.1 tests diff --git a/mysql-test/t/stat_tables.test b/mysql-test/t/stat_tables.test index 97f9f0856..e9f37698a 100644 --- a/mysql-test/t/stat_tables.test +++ b/mysql-test/t/stat_tables.test @@ -453,6 +453,53 @@ delete from mysql.table_stats; delete from mysql.column_stats; delete from mysql.index_stats; +--echo # +--echo # MDEV-19352: Server crash in alloc_histograms_for_table_share upon query from information schema +--echo # + +use test; +set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity; +set @@optimizer_use_condition_selectivity= 4; +set use_stat_tables='preferably'; + +CREATE TABLE t1 (a INT); +CREATE TABLE t2 (b INT); +CREATE VIEW v AS SELECT * FROM t1 JOIN t2; +--error ER_NO_SUCH_TABLE +INSERT INTO t2 SELECT * FROM x; + +select * from information_schema.tables where table_name='v'; +set @@optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity; + +drop table t1,t2; +drop view v; + +--echo # +--echo # MDEV-19407: Assertion `field->table->stats_is_read' failed in is_eits_usable +--echo # + +set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity; +set @@optimizer_use_condition_selectivity= 1; +set @@use_stat_tables='never'; +create table t1(pk int); +insert into t1 values (4),(3); +set @@optimizer_use_condition_selectivity= 4; +set use_stat_tables='preferably'; + +--error ER_NO_SUCH_TABLE +INSERT INTO t1 SELECT * FROM x; +CREATE TABLE t2 SELECT pk FROM t1 WHERE pk>2; +select * from t2; +drop table t1,t2; + +create table t1(a int,b int, key k1(a) ); +insert into t1 values(1,1),(2,2),(3,3); +analyze table t1; +select * from mysql.index_stats, t1 where index_name='k1' and t1.a > 1 and t1.b > 1; +drop table t1; + +set @@optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity; + set @save_optimizer_switch=@@optimizer_switch; set use_stat_tables=@save_use_stat_tables; diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index a4c4c2161..871f5ee96 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -6113,6 +6113,30 @@ explain select * from t1 where (select max(b) from t2) = 10 and t1.a > 3; drop table t1,t2; + +--echo # +--echo # MDEV-19429: Wrong query result with EXISTS and LIMIT 0 +--echo # +create table t10 (a int); +insert into t10 values (1),(2),(3); +create table t12 (a int); +insert into t12 values (1),(2),(3); +select * from t10 where exists (select * from t12 order by a limit 0); +explain select * from t10 where exists (select * from t12 order by a limit 0); + +prepare stmt1 from "select * from t10 where exists (select * from t12 order by a limit ?)"; + +set @l=1; +execute stmt1 using @l; +set @l=2; +execute stmt1 using @l; +set @l=0; +execute stmt1 using @l; + +deallocate prepare stmt1; + +drop table t10, t12; + --echo End of 5.5 tests --echo # End of 10.0 tests diff --git a/mysql-test/t/subselect_sj.test b/mysql-test/t/subselect_sj.test index 1a1b87578..33ac85f9c 100644 --- a/mysql-test/t/subselect_sj.test +++ b/mysql-test/t/subselect_sj.test @@ -2877,6 +2877,8 @@ drop table t1,t2,t3; --echo # MDEV-18896: IN subquery in WHERE of a table-less query used for INSERT --echo # +set @@optimizer_switch= @subselect_sj_tmp; + create table t1 (a1 varchar(25)); create table t2 (a2 varchar(25)) ; insert into t1 select 'xxx' from dual where 'xxx' in (select a2 from t2); diff --git a/mysql-test/t/subselect_sj_mat.test b/mysql-test/t/subselect_sj_mat.test index 1f514be23..f68620577 100644 --- a/mysql-test/t/subselect_sj_mat.test +++ b/mysql-test/t/subselect_sj_mat.test @@ -2238,6 +2238,81 @@ explain SELECT 1 FROM t1 where t1.id IN (SELECT v1.i1 from v1); SELECT 1 FROM t1 where t1.id IN (SELECT v1.i1 from v1); drop table t1,t2; drop view v1; + + +--echo # +--echo # MDEV-19580: function invocation in the left part of IN subquery +--echo # + +create table t1 (id int, a varchar(50), b int); +insert into t1 values +(1,'mrs',2), (2,'joe',2), (3,'paul',1), (4,'art',1); + +create table t2 (id int, a varchar(50), x int); +insert into t2 values +(1,'grand',1),(2,'average',1),(3,'serf',0); + +create table t3 (d1 date, d2 date, t1_id int, t2_id int ); +insert into t3 values +('1972-01-01','1988-12-31',3,1), ('1972-01-01','1988-12-31',4,1), +('1972-01-01','1988-12-31',1,2), ('1972-01-01','1988-12-31',2,3); + +create table t4 ( id int, a varchar(50) ); +insert into t4 values +(1,'songwriter'),(2,'song character'); + +delimiter $$; + +create function f1(who int, dt date) returns int +deterministic +begin + declare result int; + select t2_id into result from t3 where dt>=d1 and dt<=d2 and t1_id=who; + return result; +end$$ + +create function f2(who int, dt date) returns int +begin + declare result int; + select t2_id into result from t3 where dt>=d1 and dt<=d2 and t1_id=who; + return result; +end$$ + +delimiter ;$$ + +--echo # Deterministic function in left part of IN subquery: semi-join is OK + +let $q1= +select * from t1 + left join t4 on t1.b = t4.id + where f1(t1.id, '1980-01-01') in (select id from t2 where x=1); + +eval $q1; +eval explain extended $q1; + +--echo # Non-deterministic function in left part of IN subq: semi-join is OK + +let $q2= +select * from t1 + left join t4 on t1.b = t4.id + where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); + +eval $q2; +eval explain extended $q2; + +let $q3= +select t1.*, t4.*, + (select max(t4.id) from t4 where t4.id=t1.b and sleep(0) = 0) as s + from t1 left join t4 on t1.b = t4.id + where f2(t1.id, '1980-01-01') in (select id from t2 where x=1); + +eval $q3; +eval explain extended $q3; + +drop function f1; +drop function f2; +drop table t1,t2,t3,t4; + --echo # End of 5.5 tests --echo # --echo # MDEV-7220: Materialization strategy is not used for REPLACE ... SELECT diff --git a/mysql-test/t/trigger_null-8605.test b/mysql-test/t/trigger_null-8605.test index 34a57654b..7645b61f5 100644 --- a/mysql-test/t/trigger_null-8605.test +++ b/mysql-test/t/trigger_null-8605.test @@ -149,6 +149,7 @@ EOF load data infile 'mdev8605.txt' into table t1 fields terminated by ','; select * from t1; drop table t1; +--remove_file $datadir/test/mdev8605.txt # timestamps (on NULL = NOW()) create table t1 (a timestamp, b int auto_increment primary key); @@ -218,6 +219,7 @@ load data infile 'sep8605.txt' into table t1 fields terminated by ',' (@a,a2,a3,b,c) set a1=100-@a; select 100-a1,a2,a3,b,c from t1; delete from t1; +--remove_file $datadir/test/sep8605.txt --write_file $datadir/test/fix8605.txt 00012010-11-12 01:02:030010000000000000000 @@ -231,6 +233,7 @@ set statement timestamp=777777777 for load data infile 'fix8605.txt' into table t1 fields terminated by ''; select * from t1; delete from t1; +--remove_file $datadir/test/fix8605.txt --write_file $datadir/test/xml8605.txt @@ -300,6 +303,7 @@ set statement timestamp=777777777 for load xml infile 'xml8605.txt' into table t1 rows identified by ''; select * from t1; drop table t1; +--remove_file $datadir/test/xml8605.txt # explicit DEFAULT create table t1 (a int not null default 5, b int, c int); diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test index f16613d18..726510b74 100644 --- a/mysql-test/t/type_datetime.test +++ b/mysql-test/t/type_datetime.test @@ -700,6 +700,16 @@ SELECT 1 FROM t1 WHERE 20160101 > SOME (SELECT CAST(a AS DATETIME) FROM t1); SELECT * FROM t1 WHERE 20160101 > CAST(a AS DATETIME); DROP TABLE t1; + +--echo # +--echo # MDEV-17857 Assertion `tmp != ((long long) 0x8000000000000000LL)' failed in TIME_from_longlong_datetime_packed upon SELECT with GROUP BY +--echo # + +CREATE TABLE t1 (i INT, d DATETIME); +INSERT INTO t1 VALUES (3,NULL),(3,'1976-12-14 13:21:07'),(NULL,'1981-09-24 01:04:47'); +SELECT ExtractValue('foo','bar'), i, MIN(d) FROM t1 GROUP BY i; +DROP TABLE t1; + --echo # --echo # End of 10.1 tests --echo # diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index 2d1266dd1..f7c9ffbc9 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -5691,6 +5691,26 @@ t46, t47, t48, t49, t50, t51, t52, t53, t54, t55, t56, t57, t58, t59,t60; drop view v60; +--echo # +--echo # MDEV-15572: view.test, server crash with --big-tables=1 +--echo # + +set @save_big_tables=@@big_tables; +set big_tables=ON; +CREATE TABLE t1 ( f1 int , f2 int , f3 int , f4 int); +CREATE TABLE t2 ( f1 int , f2 int , f3 int , f4 int); + +CREATE VIEW v1 AS + SELECT t2.f1, t1.f2, t2.f3, t2.f4 FROM (t1 JOIN t2); + +--error ER_VIEW_MULTIUPDATE +REPLACE INTO v1 (f1, f2, f3, f4) + SELECT f1, f2, f3, f4 FROM t1; + +drop view v1; +drop table t1, t2; +set big_tables=@save_big_tables; + --echo # ----------------------------------------------------------------- --echo # -- End of 5.5 tests. --echo # ----------------------------------------------------------------- diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests index b400c4e97..f09647523 100644 --- a/mysql-test/unstable-tests +++ b/mysql-test/unstable-tests @@ -22,17 +22,15 @@ # To use the list, run MTR with --skip-test-list=unstable-tests option. # ############################################################################## - -# Based on 10.1 5b035c84567b60c2ca680de96f5179a6dd3d9e61 +# +# Based on 10.1 2382cd14a8c96cf8b4375d7338abfa6e1b333a86 main.alter_table_trans : MDEV-12084 - timeout main.analyze_stmt : Modified in 10.1.39 main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result main.auth_named_pipe : MDEV-14724 - System error 2 -main.auto_increment_ranges_innodb : Modified in 10.1.38 -main.bigint : Modified in 10.1.38 -main.bootstrap : MDEV-19199 - error: 34304, status: 134, errno: 2 -main.connect : Modified in 10.1.38 +main.bootstrap : Modified in 10.1.41 +main.connect_debug : Modified in 10.1.41 main.count_distinct2 : MDEV-11768 - timeout main.create_delayed : MDEV-10605 - failed with timeout main.create_drop_event : MDEV-16271 - Wrong result @@ -48,11 +46,12 @@ main.ctype_uca : Include file modified in 10.1.39 main.ctype_ucs : Include file modified in 10.1.39 main.ctype_ujis : Include file modified in 10.1.39 main.ctype_utf16 : MDEV-10675: timeout or extra warnings; include file modified in 10.1.39 -main.ctype_utf16le : Include file modified in 10.1.39 main.ctype_utf16_uca : Include file modified in 10.1.39 +main.ctype_utf16le : Include file modified in 10.1.39 main.ctype_utf32 : Include file modified in 10.1.39 main.ctype_utf32_uca : Include file modified in 10.1.39 main.ctype_utf8 : Include file modified in 10.1.39 +main.ctype_utf8_def_upgrade : Added in 10.1.41 main.ctype_utf8mb4 : Include file modified in 10.1.39 main.ctype_utf8mb4_heap : Include file modified in 10.1.39 main.ctype_utf8mb4_innodb : Include file modified in 10.1.39 @@ -60,38 +59,39 @@ main.ctype_utf8mb4_myisam : Include file modified in 10.1.39 main.ddl_i18n_koi8r : Modified in 10.1.39 main.ddl_i18n_utf8 : Modified in 10.1.39 main.debug_sync : MDEV-10607 - internal error +main.derived : Modified in 10.1.41 main.derived_opt : MDEV-11768 - timeout +main.derived_view : Modified in 10.1.41 main.dirty_close : MDEV-19368 - mysqltest failed but provided no output main.events_1 : Modified in 10.1.39 main.events_2 : MDEV-13277 - Server crash main.events_bugs : MDEV-12892 - Crash in fill_schema_processlist -main.events_slowlog : MDEV-12821 - Wrong result main.events_restart : MDEV-12236 - Server shutdown problem -main.flush : Modified in 10.1.38 +main.events_slowlog : MDEV-12821 - Wrong result +main.flush : MDEV-19368 - mysqltest failed but provided no output main.func_gconcat : Modified in 10.1.39 -main.func_group_innodb : Modified in 10.1.38 main.func_hybrid_type : Modified in 10.1.39 main.func_math : Modified in 10.1.39 -main.func_misc : Modified in 10.1.38 main.func_str : Modified in 10.1.39 main.func_time : Modified in 10.1.39 main.gis : MDEV-13411 - wrong result on P8; modified in 10.1.39 main.gis-precise : Modified in 10.1.39 main.gis_notembedded : Added in 10.1.39 main.grant4 : Modified in 10.1.39 -main.grant5 : Modified in 10.1.38 main.host_cache_size_functionality : MDEV-10606 - sporadic failure on shutdown -main.huge_frm-6224 : Modified in 10.1.38 main.index_intersect_innodb : MDEV-10643 - failed with timeout main.index_merge_innodb : MDEV-7142 - Wrong execution plan, timeout with valgrind; modified in 10.1.39 main.index_merge_myisam : Include files modified in 10.1.39 +main.information_schema_parameters : Modified in 10.1.41 main.information_schema_prepare : Added in 10.1.39 main.innodb_mysql_lock : MDEV-7861 - sporadic lock detection failure +main.join : Modified in 10.1.41 +main.join_cache : Modified in 10.1.41 +main.join_nested : Modified in 10.1.41 +main.join_outer : Modified in 10.1.41 +main.join_outer_innodb : Modified in 10.1.41 main.kill_processlist-6619 : MDEV-10793 - wrong result in processlist; modified in 10.1.39 main.loaddata : MDEV-19368 - mysqltest failed but provided no output; modified in 10.1.39 -main.lock : Modified in 10.1.38 -main.lock_multi : Modified in 10.1.38 -main.lock_sync : Modified in 10.1.38 main.log_slow : MDEV-13263 - Wrong result; modified in 10.1.39 main.log_slow_debug : Added in 10.1.39 main.log_tables-big : MDEV-13408 - wrong result @@ -99,16 +99,17 @@ main.mdev-504 : MDEV-10607 - sporadic "can't connect" main.mdev375 : MDEV-10607 - sporadic "can't connect" main.mdev_19276 : Added in 10.1.39 main.merge : MDEV-10607 - sporadic "can't connect" -main.multi_update : Modified in 10.1.39 +main.multi_update : Modified in 10.1.41 main.multi_update_big : Added in 10.1.39 +main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out; added in 10.1.41 +main.multi_update_innodb : Modified in 10.1.41 main.mysql : Modified in 10.1.39 main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2 main.mysql_client_test_comp : MDEV-19369 - error: 5888, status: 23, errno: 2 main.mysql_client_test_nonblock : MDEV-15096 - exec failed main.mysql_upgrade_noengine : MDEV-14355 - Plugin is busy -main.mysqlbinlog_row_minimal : Modified in 10.1.38 -main.mysqld--help : Modified in 10.1.39 -main.mysqldump : Modified in 10.1.38 +main.mysqld--help : Modified in 10.1.41 +main.mysqldump : Modified in 10.1.41 main.mysqldump-compat : Modified in 10.1.39 main.mysqlhotcopy_myisam : MDEV-10995 - test hangs on debug build main.mysqlslap : MDEV-11801 - timeout @@ -120,47 +121,49 @@ main.partition : Modified in 10.1.39 main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock main.partition_innodb : Modified in 10.1.39 main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings -main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count; modified in 10.1.39 +main.plugin : Modified in 10.1.41 +main.plugin_not_embedded : Modified in 10.1.41 +main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count; modified in 10.1.41 +main.ps_innodb : Added in 10.1.41 main.query_cache : MDEV-12895 - Wrong result main.query_cache_debug : MDEV-15281 - Resize or similar command in progress -main.range_innodb : Modified in 10.1.38 main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away -main.read_only : Modified in 10.1.38 -main.row-checksum : Modified in 10.1.38 +main.repair_symlink-5543 : Modified in 10.1.41 main.set_statement : MDEV-13183 - Wrong result main.show_explain : MDEV-10674 - sporadic failure -main.sp : Modified in 10.1.39 -main.sp_notembedded : MDEV-10607 - internal error; modified in 10.1.39 +main.sp : Modified in 10.1.41 main.sp-security : MDEV-10607 - sporadic "can't connect" -main.sp_trans : Modified in 10.1.39 main.sp-ucs2 : Modified in 10.1.39 +main.sp_notembedded : MDEV-10607 - internal error; modified in 10.1.39 +main.sp_trans : Modified in 10.1.39 main.ssl_verify_ip : Added in 10.1.39 -main.statistics : Modified in 10.1.39 -main.stat_tables : Modified in 10.1.39 +main.stat_tables : Modified in 10.1.41 main.stat_tables_par_innodb : MDEV-14155 - wrong rounding +main.statistics : Modified in 10.1.39 main.status : MDEV-8510 - sporadic wrong result main.status2 : Modified in 10.1.39 +main.subselect : Modified in 10.1.41 main.subselect_innodb : MDEV-10614 - sporadic wrong results -main.subselect_mat : Modified in 10.1.38 -main.subselect_sj : Modified in 10.1.39 -main.subselect2 : Modified in 10.1.38 +main.subselect_sj : Modified in 10.1.41 +main.subselect_sj_mat : Modified in 10.1.41 main.tc_heuristic_recover : MDEV-15200 - wrong error on mysqld_stub_cmd main.timezone2 : Modified in 10.1.39 +main.trigger_null-8605 : Modified in 10.1.41 main.type_bit : Modified in 10.1.39 main.type_blob : MDEV-15195 - Wrong result main.type_date : Modified in 10.1.39 +main.type_datetime : Modified in 10.1.41 main.type_datetime_hires : MDEV-10687 - timeout main.type_decimal : Modified in 10.1.39 main.type_year : Modified in 10.1.39 -main.union : Modified in 10.1.38 main.update_innodb : Modified in 10.1.39 main.userstat : Modified in 10.1.39 -main.view : Modified in 10.1.39 +main.view : Modified in 10.1.41 main.view_grant : Modified in 10.1.39 main.wait_timeout : Lost connection to MySQL server during query main.xa : MDEV-11769 - lock wait timeout -#---------------------------------------------------------------- +#----------------------------------------------------------------------- archive.archive_bitfield : MDEV-11771 - Extra warning archive.archive_eits : Added in 10.1.39 @@ -168,67 +171,78 @@ archive.archive_symlink : MDEV-12170 - unexpected error on rmdir archive.discover : MDEV-10510 - Table is marked as crashed archive.mysqlhotcopy_archive : MDEV-14726 - Table is marked as crashed -archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed +#----------------------------------------------------------------------- -#---------------------------------------------------------------- +archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed -binlog.binlog_base64_flag : Modified in 10.1.38 -binlog.binlog_commit_wait : MDEV-10150 - Error: too much time elapsed -binlog.binlog_innodb_stm : Added in 10.1.39 -binlog.binlog_killed : MDEV-12925 - Wrong result -binlog.binlog_mysqlbinlog2 : Modified in 10.1.39 -binlog.binlog_mysqlbinlog_row_frag : Added in 10.1.38 -binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint +#----------------------------------------------------------------------- + +binlog.binlog_commit_wait : MDEV-10150 - Error: too much time elapsed +binlog.binlog_innodb_stm : Added in 10.1.39 +binlog.binlog_killed : MDEV-12925 - Wrong result +binlog.binlog_mysqlbinlog2 : Modified in 10.1.39 +binlog.binlog_mysqlbinlog_stop_never : Added in 10.1.41 +binlog.binlog_parallel_replication_marks_row : Include file modified in 10.1.41 +binlog.binlog_parallel_replication_marks_stm_mix : Include file modified in 10.1.41 +binlog.binlog_row_drop_tmp_tbl : Include file modified in 10.1.41 +binlog.binlog_stm_drop_tmp_tbl : MDEV-20188 - Unknown table on exec; include file modified in 10.1.41 +binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint +binlog.load_data_stm_view : MDEV-16948 - Wrong result + +#----------------------------------------------------------------------- + +binlog_encryption.binlog_xa_recover : MDEV-12908 - Extra checkpoint +binlog_encryption.encrypted_master : MDEV-12906 - Failed to sync +binlog_encryption.rpl_parallel : MDEV-10653 - Timeout +binlog_encryption.rpl_relayrotate : MDEV-15194 - Timeout +binlog_encryption.rpl_semi_sync : MDEV-11220 - Wrong result, MDEV-11673 - Valgrind warning +binlog_encryption.rpl_ssl : MDEV-14507 - Timeout on SLES 11.4 +binlog_encryption.rpl_stm_relay_ign_space : MDEV-19375 - Test assertion failed in assertion.inc +binlog_encryption.rpl_typeconv : MDEV-14362 - Lost connection to MySQL server during query -#---------------------------------------------------------------- +#----------------------------------------------------------------------- -binlog_encryption.binlog_xa_recover : MDEV-12908 - Extra checkpoint -binlog_encryption.encrypted_master : MDEV-12906 - Failed to sync -binlog_encryption.rpl_parallel : MDEV-10653 - Timeout -binlog_encryption.rpl_relayrotate : MDEV-15194 - Timeout -binlog_encryption.rpl_semi_sync : MDEV-11220 - Wrong result, MDEV-11673 - Valgrind warning -binlog_encryption.rpl_ssl : MDEV-14507 - Timeout on SLES 11.4 -binlog_encryption.rpl_stm_relay_ign_space : MDEV-19375 - Test assertion failed in assertion.inc -binlog_encryption.rpl_typeconv : MDEV-14362 - Lost connection to MySQL server during query -binlog.load_data_stm_view : MDEV-16948 - Wrong result +connect.pivot : MDEV-14803 - failed to discover table +connect.zip : MDEV-13884 - Wrong result -#---------------------------------------------------------------- +#----------------------------------------------------------------------- -connect.part_table : Modified in 10.1.38 -connect.pivot : MDEV-14803 - failed to discover table -connect.zip : MDEV-13884 - Wrong result +disks.disks_notembedded : Added in 10.1.41 -#---------------------------------------------------------------- +#----------------------------------------------------------------------- -encryption.create_or_replace : MDEV-16115 - Trying to access tablespace -encryption.debug_key_management : MDEV-13841 - Timeout on wait condition -encryption.encrypt_and_grep : MDEV-13765 - Wrong result -encryption.innodb-bad-key-change2 : MDEV-19118 - Can't connect through socket -encryption.innodb-checksum-algorithm : Modified in 10.1.38 -encryption.innodb-compressed-blob : MDEV-14728 - Unable to get certificate -encryption.innodb-encryption-alter : Modified in 10.1.39 -encryption.innodb_encryption_discard_import : MDEV-16116 - Wrong result +encryption.create_or_replace : MDEV-16115 - Trying to access tablespace +encryption.debug_key_management : MDEV-13841 - Timeout on wait condition +encryption.encrypt_and_grep : MDEV-13765 - Wrong result +encryption.innodb-bad-key-change2 : MDEV-19118 - Can't connect through socket +encryption.innodb-compressed-blob : MDEV-14728 - Unable to get certificate +encryption.innodb-encryption-alter : Modified in 10.1.39 +encryption.innodb-first-page-read : MDEV-14356 - Timeout on wait condition +encryption.innodb-page_encryption : MDEV-10641 - mutex problem +encryption.innodb-read-only : MDEV-14728 - Unable to get certificate; MDEV-16563 - Crash on startup +encryption.innodb-redo-badkey : MDEV-12898 - Server hang on startup +encryption.innodb-remove-encryption : MDEV-16493 - Timeout in wait condition encryption.innodb_encryption-page-compression : MDEV-12630 - crash or assertion failure -encryption.innodb_encryption_row_compressed : MDEV-16113 - Crash -encryption.innodb_first_page : MDEV-10689 - Crash -encryption.innodb-first-page-read : MDEV-14356 - Timeout on wait condition -encryption.innodb-force-corrupt : Modified in 10.1.38 -encryption.innodb_lotoftables : MDEV-16111 - Wrong result -encryption.innodb-page_encryption : MDEV-10641 - mutex problem -encryption.innodb-read-only : MDEV-14728 - Unable to get certificate; MDEV-16563 - Crash on startup -encryption.innodb-redo-badkey : MDEV-12898 - Server hang on startup -encryption.innodb-remove-encryption : MDEV-16493 - Timeout in wait condition -encryption.innodb_scrub : MDEV-8139 - scrubbing tests need fixing -encryption.innodb_scrub_background : MDEV-8139 - scrubbing tests need fixing -encryption.innodb_scrub_compressed : MDEV-8139 - scrubbing tests need fixing - -#---------------------------------------------------------------- - -engines/iuds.* : Not maintained in timely manner -engines/funcs.* : Not maintained in timely manner -engines/rr_trx.* : MDEV-10998 - tests not maintained - -#---------------------------------------------------------------- +encryption.innodb_encryption_discard_import : MDEV-16116 - Wrong result +encryption.innodb_encryption_row_compressed : MDEV-16113 - Crash +encryption.innodb_first_page : MDEV-10689 - Crash +encryption.innodb_scrub : MDEV-8139 - scrubbing tests need fixing +encryption.innodb_scrub_background : MDEV-8139 - scrubbing tests need fixing +encryption.innodb_scrub_compressed : MDEV-8139 - scrubbing tests need fixing + +#----------------------------------------------------------------------- + +engines/funcs.* : Not maintained in timely manner + +#----------------------------------------------------------------------- + +engines/iuds.* : Not maintained in timely manner + +#----------------------------------------------------------------------- + +engines/rr_trx.* : MDEV-10998 - tests not maintained + +#----------------------------------------------------------------------- federated.federated_bug_35333 : MDEV-13410 - Wrong result federated.federated_bug_585688 : MDEV-12907 - Valgrind, MDEV-14805 - server crash @@ -237,7 +251,7 @@ federated.federated_partition : MDEV-10417 - Fails on Mips federated.federated_transactions : MDEV-10617, MDEV-10417 - Wrong checksum, timeouts, fails on Mips federated.federatedx : MDEV-10617 - Wrong checksum, timeouts -#---------------------------------------------------------------- +#----------------------------------------------------------------------- funcs_1.memory_views : MDEV-11773 - timeout funcs_1.processlist_priv_no_prot : Include file modified in 10.1.39 @@ -245,84 +259,90 @@ funcs_1.processlist_priv_ps : Include file modified in 10.1.39 funcs_1.processlist_val_no_prot : MDEV-11223 - Wrong result; include file modified in 10.1.39 funcs_1.processlist_val_ps : MDEV-12175 - Wrong plan; include file modified in 10.1.39 -funcs_2.memory_charset : MDEV-10290 - Timeout -funcs_2.myisam_charset : MDEV-11535 - Timeout -funcs_2/charset.* : MDEV-10999 - test not maintained - -#---------------------------------------------------------------- - -galera.* : The suite was enabled in 10.1.27 and is still unstable -galera_3nodes.* : The suite has not been stabilized yet - -#---------------------------------------------------------------- - -innodb.alter_candidate_key : Added in 10.1.38 -innodb.alter_crash : Added in 10.1.39 -innodb.binlog_consistent : MDEV-10618 - Server fails to start -innodb.doublewrite : MDEV-12905 - Lost connection to MySQL server -innodb.foreign-keys : Modified in 10.1.39 -innodb.foreign_key : Modified in 10.1.39 -innodb.group_commit_crash : MDEV-11770 - checksum mismatch -innodb.group_commit_crash_no_optimize_thread : MDEV-11770 - checksum mismatch -innodb.innodb_28867993 : Added in 10.1.38 -innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup -innodb.innodb-alter : Modified in 10.1.38 -innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS; modified in 10.1.38 -innodb.innodb-alter-nullable : Modified in 10.1.39 -innodb.innodb-alter-table : MDEV-10619 - Testcase timeout -innodb.innodb-blob : MDEV-12053 - Client crash -innodb.innodb_bug14147491 : MDEV-11808 - wrong error codes -innodb.innodb_bug30423 : MDEV-7311 - Wrong number of rows in the plan -innodb.innodb_bug48024 : MDEV-14352 - Assertion failure -innodb.innodb-corrupted-table : Modified in 10.1.39 -innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown -innodb.innodb-index : Modified in 10.1.39 -innodb.innodb_max_recordsize_64k : MDEV-15203 - wrong result -innodb.innodb_monitor : MDEV-10939 - Testcase timeout -innodb.innodb-page_compression_default : MDEV-14121 - Assertion failure -innodb.innodb-page_compression_lzma : MDEV-14353 - wrong result on Fedora 25 -innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem -innodb.innodb_simulate_comp_failures : MDEV-18417 - ASAN failures -innodb.innodb_stats : MDEV-10682 - wrong result -innodb.innodb_sys_semaphore_waits : MDEV-10331 - wrong result -innodb.innodb-table-online : Modified in 10.1.38 -innodb.innodb-truncate : Modified in 10.1.39 -innodb.innodb-virtual-columns : Modified in 10.1.38 -innodb.innodb_zip_innochecksum : Modified in 10.1.38 -innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks -innodb.log_file_size : MDEV-15668 - Not found pattern -innodb.recovery_shutdown : MDEV-15671 - Warning: database page corruption -innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace -innodb.table_definition_cache_debug : MDEV-14206 - Extra warning -innodb.table_flags : MDEV-19374 - Server failed to restart -innodb.xa_debug : Added in 10.1.39 -innodb.xa_recovery : MDEV-15279 - mysqld got exception - -#---------------------------------------------------------------- - -innodb_fts.innodb-fts-fic : MDEV-14154 - Assertion failure -innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning - -#---------------------------------------------------------------- - -maria.insert_select : MDEV-12757 - Timeout -maria.insert_select-7314 : MDEV-16492 - Timeout -maria.maria : MDEV-14430 - Wrong result - -#---------------------------------------------------------------- - -mariabackup.absolute_ibdata_paths : Modified in 10.1.39 -mariabackup.encrypted_page_compressed : Added in 10.1.38 -mariabackup.encrypted_page_corruption : Added in 10.1.38 -mariabackup.huge_lsn : Opt file modified in 10.1.38 -mariabackup.incremental_encrypted : MDEV-15667 - Timeout -mariabackup.mdev-14447 : MDEV-15201 - Timeout -mariabackup.page_compression_level : Added in 10.1.39 -mariabackup.unencrypted_page_compressed : Added in 10.1.38 -mariabackup.xb_compressed_encrypted : MDEV-14812 - Segfault -mariabackup.xb_partition : MDEV-17584 - Crash on shutdown - -#---------------------------------------------------------------- +#----------------------------------------------------------------------- + +funcs_2.memory_charset : MDEV-10290 - Timeout +funcs_2.myisam_charset : MDEV-11535 - Timeout + +#----------------------------------------------------------------------- + +funcs_2/charset.* : MDEV-10999 - test not maintained + +#----------------------------------------------------------------------- + +galera.* : The suite was enabled in 10.1.27 and is still unstable + +#----------------------------------------------------------------------- + +galera_3nodes.* : The suite has not been stabilized yet + +#----------------------------------------------------------------------- + +innodb.alter_crash : Added in 10.1.39 +innodb.binlog_consistent : MDEV-10618 - Server fails to start +innodb.check_ibd_filesize : Added in 10.1.41 +innodb.create_select : Added in 10.1.41 +innodb.doublewrite : MDEV-12905 - Lost connection to MySQL server +innodb.foreign-keys : Modified in 10.1.41 +innodb.foreign_key : Modified in 10.1.39 +innodb.group_commit_crash : MDEV-11770 - Checksum mismatch +innodb.group_commit_crash_no_optimize_thread : MDEV-11770 - Checksum mismatch +innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup +innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS +innodb.innodb-alter-nullable : Modified in 10.1.39 +innodb.innodb-alter-table : MDEV-10619 - Testcase timeout +innodb.innodb-autoinc : Modified in 10.1.41 +innodb.innodb-blob : MDEV-12053 - Client crash +innodb.innodb-corrupted-table : Modified in 10.1.39 +innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown +innodb.innodb-index : Modified in 10.1.39 +innodb.innodb-page_compression_default : MDEV-14121 - Assertion failure +innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result on Fedora 25 +innodb.innodb-page_compression_zip : MDEV-10641 - Mutex problem +innodb.innodb-system-table-view : Added in 10.1.41 +innodb.innodb-truncate : Modified in 10.1.39 +innodb.innodb-wl5980-debug : Added in 10.1.41 +innodb.innodb_bug14147491 : MDEV-11808 - Wrong error codes +innodb.innodb_bug30423 : MDEV-7311 - Wrong number of rows in the plan +innodb.innodb_bug48024 : MDEV-14352 - Assertion failure +innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result +innodb.innodb_monitor : MDEV-10939 - Testcase timeout +innodb.innodb_mysql : MDEV-19873 - Wrong result +innodb.innodb_stats : MDEV-10682 - Wrong result +innodb.innodb_sys_semaphore_waits : MDEV-10331 - Wrong result +innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks +innodb.log_file_size : MDEV-15668 - Not found pattern +innodb.recovery_shutdown : MDEV-15671 - Warning: database page corruption +innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace +innodb.table_definition_cache_debug : MDEV-14206 - Extra warning +innodb.table_flags : MDEV-19374 - Server failed to restart +innodb.trx_id_future : MDEV-20138 - Table doesn't exist in engine; added in 10.1.41 +innodb.xa_debug : Added in 10.1.39 +innodb.xa_recovery : MDEV-15279 - mysqld got exception + +#----------------------------------------------------------------------- + +innodb_fts.innodb_ft_aux_table : Added in 10.1.41 +innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning + +#----------------------------------------------------------------------- + +maria.insert_select : MDEV-12757 - Timeout +maria.insert_select-7314 : MDEV-16492 - Timeout +maria.maria : MDEV-14430 - Wrong result + +#----------------------------------------------------------------------- + +mariabackup.absolute_ibdata_paths : Modified in 10.1.39 +mariabackup.apply-log-only : MDEV-20135 - Timeout +mariabackup.huge_lsn : MDEV-17286 - SSL error +mariabackup.incremental_encrypted : MDEV-15667 - Timeout +mariabackup.mdev-14447 : MDEV-15201 - Timeout +mariabackup.page_compression_level : Added in 10.1.39 +mariabackup.xb_compressed_encrypted : MDEV-14812 - Segfault +mariabackup.xb_partition : MDEV-17584 - Crash on shutdown + +#----------------------------------------------------------------------- mroonga/storage.column_datetime_32bit_2038 : Wrong result on Alpha mroonga/storage.column_datetime_32bit_before_unix_epoch : Wrong result on Alpha @@ -333,231 +353,260 @@ mroonga/storage.index_multiple_column_unique_date_order_32bit_desc : Wrong resul mroonga/storage.index_multiple_column_unique_datetime_index_read : MDEV-8643 - valgrind warnings mroonga/storage.repair_table_no_index_file : MDEV-9364 - wrong result, MDEV-14807 - wrong error message -mroonga/wrapper.repair_table_no_index_file : MDEV-14807 - Wrong error message +#----------------------------------------------------------------------- + +mroonga/wrapper.repair_table_no_index_file : MDEV-14807 - Wrong error message -#---------------------------------------------------------------- +#----------------------------------------------------------------------- multi_source.gtid : MDEV-10417 - Fails on Mips multi_source.info_logs : MDEV-10042 - Wrong result, MDEV-12629 - Valgrind warnings +multi_source.mdev-8874 : Added in 10.1.41 multi_source.multisource : MDEV-10417 - Fails on Mips multi_source.reset_slave : MDEV-10690 - wrong result multi_source.simple : MDEV-4633 - Wrong slave status output multi_source.status_vars : MDEV-4632 - failed while waiting for Slave_received_heartbeats -#---------------------------------------------------------------- +#----------------------------------------------------------------------- -parts.partition_alter2_2_maria : MDEV-14364 - Lost connection to MySQL server during query +parts.partition_alter2_2_maria : MDEV-14364 - Lost connection to MySQL server during query parts.partition_auto_increment_archive : MDEV-16491 - Table marked as crashed -parts.partition_auto_increment_maria : MDEV-14430 - Wrong result -parts.partition_auto_increment_max : Added in 10.1.39 -parts.partition_exch_qa_10 : MDEV-11765 - wrong result -parts.partition_innodb_status_file : MDEV-12901 - Valgrind +parts.partition_auto_increment_maria : MDEV-14430 - Wrong result +parts.partition_auto_increment_max : Added in 10.1.39 +parts.partition_exch_qa_10 : MDEV-11765 - wrong result +parts.partition_innodb_status_file : MDEV-12901 - Valgrind -#---------------------------------------------------------------- +#----------------------------------------------------------------------- perfschema.connect_attrs : MDEV-17283 - Wrong result -perfschema.dml_setup_instruments : Modified in 10.1.38 perfschema.func_file_io : MDEV-5708 - fails for s390x perfschema.func_mutex : MDEV-5708 - fails for s390x perfschema.hostcache_ipv6_ssl : MDEV-10696 - crash on shutdown perfschema.privilege_table_io : MDEV-13184 - Extra lines perfschema.rpl_gtid_func : MDEV-16897 - Wrong result -perfschema.socket_connect : Modified in 10.1.38 perfschema.socket_summary_by_event_name_func : MDEV-10622 - Socket summary tables do not match perfschema.stage_mdl_global : MDEV-11803 - wrong result on slow builders perfschema.stage_mdl_procedure : MDEV-11545 - Wrong result perfschema.stage_mdl_table : MDEV-12638 - Wrong result perfschema.threads_mysql : MDEV-10677 - sporadic wrong result -perfschema_stress.* : MDEV-10996 - tests not maintained +#----------------------------------------------------------------------- + +perfschema_stress.* : MDEV-10996 - tests not maintained -#---------------------------------------------------------------- +#----------------------------------------------------------------------- plugins.feedback_plugin_send : MDEV-7932 - ssl failed for url plugins.pam : Modified in 10.1.39 plugins.server_audit : MDEV-9562 - crashes on sol10-sparc plugins.thread_pool_server_audit : MDEV-9562 - crashes on sol10-sparc -#---------------------------------------------------------------- - -roles.create_and_grant_role : MDEV-11772 - wrong result -roles.flush_roles-17898 : Modified in 10.1.39 - -#---------------------------------------------------------------- - -rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free -rpl.kill_race_condition : MDEV-19370 - Wrong value for slave parameter; added in 10.1.39 -rpl.last_insert_id : MDEV-10625 - warnings in error log -rpl.rpl_auto_increment : MDEV-10417 - Fails on Mips -rpl.rpl_auto_increment_bug45679 : MDEV-10417 - Fails on Mips -rpl.rpl_auto_increment_update_failure : MDEV-10625 - warnings in error log -rpl.rpl_binlog_index : MDEV-9501 - Warning: failed registering on master -rpl.rpl_colSize : MDEV-16112 - Server crash -rpl.rpl_ddl : MDEV-10417 - Fails on Mips -rpl.rpl_domain_id_filter_io_crash : MDEV-14357 - Wrong result -rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Warnings/errors -rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result; MDEV-19043 - Warnings/errors -rpl.rpl_drop_db_fail : MDEV-16898 - Slave fails to start -rpl.rpl_get_lock : MDEV-19368 - mysqltest failed but provided no output -rpl.rpl_gtid_basic : MDEV-10681 - server startup problem -rpl.rpl_gtid_crash : MDEV-9501 - Warning: failed registering on master -rpl.rpl_gtid_delete_domain : MDEV-14463 - Timeout in include -rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings -rpl.rpl_gtid_reconnect : MDEV-14497 - Timeout -rpl.rpl_gtid_stop_start : MDEV-10629 - Crash on shutdown, MDEV-12629 - Valgrind warnings -rpl.rpl_gtid_until : MDEV-10625 - warnings in error log -rpl.rpl_idempotency : Modified in 10.1.38 -rpl.rpl_innodb_bug30888 : MDEV-10417 - Fails on Mips -rpl.rpl_insert : MDEV-9329 - Fails on Ubuntu/s390x -rpl.rpl_insert_delayed : MDEV-9329 - Fails on Ubuntu/s390x -rpl.rpl_insert_id : MDEV-15197 - Wrong result -rpl.rpl_insert_id_pk : MDEV-16567 - Assertion failure -rpl.rpl_insert_ignore : MDEV-14365 - Lost connection to MySQL server during query -rpl.rpl_invoked_features : MDEV-10417 - Fails on Mips -rpl.rpl_mariadb_slave_capability : MDEV-11018 - sporadic wrong events in binlog -rpl.rpl_mdev12179 : MDEV-19043 - Warnings/errors -rpl.rpl_mdev6020 : MDEV-10417 - Fails on Mips -rpl.rpl_mixed_mixing_engines : MDEV-14489 - Sync slave with master failed +#----------------------------------------------------------------------- + +roles.create_and_grant_role : MDEV-11772 - wrong result +roles.flush_roles-17898 : Modified in 10.1.39 + +#----------------------------------------------------------------------- + +rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free +rpl.create_or_replace_mix : Include file modified in 10.1.41 +rpl.create_or_replace_row : Include file modified in 10.1.41 +rpl.create_or_replace_statement : Include file modified in 10.1.41 +rpl.create_select : MDEV-14121 - Assertion failure +rpl.kill_race_condition : Modified in 10.1.41 +rpl.last_insert_id : MDEV-10625 - warnings in error log +rpl.mdev_17588 : MDEV-20137 - Table doesn't exist; added in 10.1.41 +rpl.rpl_auto_increment : MDEV-10417 - Fails on Mips +rpl.rpl_auto_increment_bug45679 : MDEV-10417 - Fails on Mips +rpl.rpl_auto_increment_update_failure : MDEV-10625 - warnings in error log +rpl.rpl_binlog_index : MDEV-9501 - Warning: failed registering on master +rpl.rpl_blackhole : Modified in 10.1.41 +rpl.rpl_blackhole_row_annotate : Added in 10.1.41 +rpl.rpl_colSize : MDEV-16112 - Server crash +rpl.rpl_ddl : MDEV-10417 - Fails on Mips +rpl.rpl_domain_id_filter_io_crash : MDEV-14357 - Wrong result +rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Warnings/errors +rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result; MDEV-19043 - Warnings/errors +rpl.rpl_drop_db_fail : MDEV-16898 - Slave fails to start +rpl.rpl_get_lock : MDEV-19368 - mysqltest failed but provided no output +rpl.rpl_gtid_basic : MDEV-10681 - server startup problem +rpl.rpl_gtid_crash : MDEV-9501 - Warning: failed registering on master +rpl.rpl_gtid_delete_domain : MDEV-14463 - Timeout in include +rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings +rpl.rpl_gtid_reconnect : MDEV-14497 - Timeout +rpl.rpl_gtid_stop_start : MDEV-10629 - Crash on shutdown, MDEV-12629 - Valgrind warnings +rpl.rpl_gtid_until : MDEV-10625 - warnings in error log +rpl.rpl_innodb_bug30888 : MDEV-10417 - Fails on Mips +rpl.rpl_insert : MDEV-9329 - Fails on Ubuntu/s390x +rpl.rpl_insert_delayed : MDEV-9329 - Fails on Ubuntu/s390x +rpl.rpl_insert_id : MDEV-15197 - Wrong result +rpl.rpl_insert_id_pk : MDEV-16567 - Assertion failure +rpl.rpl_insert_ignore : MDEV-14365 - Lost connection to MySQL server during query +rpl.rpl_invoked_features : MDEV-10417 - Fails on Mips +rpl.rpl_mariadb_slave_capability : MDEV-11018 - sporadic wrong events in binlog +rpl.rpl_mdev12179 : MDEV-19043 - Warnings/errors +rpl.rpl_mdev6020 : MDEV-10417 - Fails on Mips +rpl.rpl_mixed_mixing_engines : MDEV-14489 - Sync slave with master failed rpl.rpl_non_direct_mixed_mixing_engines : MDEV-14489 - Sync slave with master failed -rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master pos wait -rpl.rpl_non_direct_stm_mixing_engines : MDEV-14489 - Sync slave with master failed -rpl.rpl_parallel : MDEV-10653 - Timeouts -rpl.rpl_parallel_mdev6589 : MDEV-12979 - Assertion failure -rpl.rpl_parallel_multilevel2 : MDEV-14723 - Timeout -rpl.rpl_parallel_optimistic : MDEV-10511 - Timeout -rpl.rpl_parallel_retry : MDEV-11119 - Server crash -rpl.rpl_parallel_temptable : MDEV-10356 - Crash in close_thread_tables -rpl.rpl_partition_innodb : MDEV-10417 - Fails on Mips -rpl.rpl_password_boundaries : MDEV-11534 - Slave IO warnings -rpl.rpl_rewrt_db : Modified in 10.1.39 -rpl.rpl_row_basic_11bugs : MDEV-12171 - Server failed to start -rpl.rpl_row_basic_2myisam : MDEV-13875 - command "diff_files" failed -rpl.rpl_row_big_table_id : Added in 10.1.38 -rpl.rpl_row_drop_create_temp_table : MDEV-14487 - Wrong result -rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" failed -rpl.rpl_row_img_eng_min : MDEV-13875 - command "diff_files" failed -rpl.rpl_row_img_eng_noblob : MDEV-13875 - command "diff_files" failed -rpl.rpl_row_index_choice : MDEV-15196 - Slave crash -rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x -rpl.rpl_semi_sync : MDEV-11220 - Wrong result -rpl.rpl_semi_sync_after_sync : MDEV-14366 - Wrong result -rpl.rpl_semi_sync_after_sync_row : MDEV-14366 - Wrong result -rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings -rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Wrong plugin status -rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition -rpl.rpl_show_slave_hosts : MDEV-10681 - server startup problem -rpl.rpl_skip_replication : MDEV-9268 - Fails with timeout in sync_slave_with_master on Alpha -rpl.rpl_slave_grp_exec : MDEV-10514 - Unexpected deadlock -rpl.rpl_slave_invalid_external_user : Added in 10.1.39 -rpl.rpl_start_stop_slave : MDEV-13567 - Replication failure -rpl.rpl_stm_mixing_engines : MDEV-14489 - Sync slave with master failed -rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion -rpl.rpl_sync : MDEV-10633 - Database page corruption -rpl.rpl_temporary_error2 : MDEV-10634 - Wrong number of retries -rpl.rpl_test_framework : MDEV-19368 - mysqltest failed but provided no output -rpl.rpl_trigger : MDEV-18055 - Wrong result -rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result - -rpl/extra/rpl_tests.* : MDEV-10994 - tests not maintained - -#---------------------------------------------------------------- +rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master pos wait +rpl.rpl_non_direct_stm_mixing_engines : MDEV-14489 - Sync slave with master failed +rpl.rpl_parallel : MDEV-10653 - Timeouts +rpl.rpl_parallel_mdev6589 : MDEV-12979 - Assertion failure +rpl.rpl_parallel_multilevel2 : MDEV-14723 - Timeout +rpl.rpl_parallel_optimistic : MDEV-10511 - Timeout +rpl.rpl_parallel_retry : MDEV-11119 - Server crash +rpl.rpl_parallel_temptable : MDEV-10356 - Crash in close_thread_tables +rpl.rpl_partition_innodb : MDEV-10417 - Fails on Mips +rpl.rpl_password_boundaries : MDEV-11534 - Slave IO warnings +rpl.rpl_rewrt_db : Modified in 10.1.39 +rpl.rpl_row_basic_11bugs : MDEV-12171 - Server failed to start +rpl.rpl_row_basic_2myisam : MDEV-13875 - command "diff_files" failed +rpl.rpl_row_drop_create_temp_table : MDEV-14487 - Wrong result +rpl.rpl_row_drop_temp_table : Added in 10.1.41 +rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" failed +rpl.rpl_row_img_eng_min : MDEV-13875 - command "diff_files" failed +rpl.rpl_row_img_eng_noblob : MDEV-13875 - command "diff_files" failed +rpl.rpl_row_index_choice : MDEV-15196 - Slave crash +rpl.rpl_row_mysqlbinlog : Modified in 10.1.41 +rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x +rpl.rpl_semi_sync : MDEV-11220 - Wrong result +rpl.rpl_semi_sync_after_sync : MDEV-14366 - Wrong result +rpl.rpl_semi_sync_after_sync_row : MDEV-14366 - Wrong result +rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings +rpl.rpl_semi_sync_skip_repl : Modified in 10.1.41 +rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Wrong plugin status; modified in 10.1.41 +rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition +rpl.rpl_show_slave_hosts : MDEV-10681 - server startup problem +rpl.rpl_skip_replication : MDEV-9268 - Fails with timeout in sync_slave_with_master on Alpha +rpl.rpl_slave_grp_exec : MDEV-10514 - Unexpected deadlock +rpl.rpl_slave_invalid_external_user : Added in 10.1.39 +rpl.rpl_start_stop_slave : MDEV-13567 - Replication failure +rpl.rpl_stm_mixing_engines : MDEV-14489 - Sync slave with master failed +rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion +rpl.rpl_sync : MDEV-10633 - Database page corruption +rpl.rpl_temporary_error2 : MDEV-10634 - Wrong number of retries +rpl.rpl_test_framework : MDEV-19368 - mysqltest failed but provided no output +rpl.rpl_trigger : MDEV-18055 - Wrong result +rpl.rpl_truncate_3innodb : MDEV-19454 - Syntax error in test +rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result + +#----------------------------------------------------------------------- + +rpl-tokudb.* : MDEV-14354 - Tests fail with tcmalloc + +#----------------------------------------------------------------------- + +rpl/extra/rpl_tests.* : MDEV-10994 - tests not maintained + +#----------------------------------------------------------------------- + +sphinx.* : MDEV-10986 - Tests have not been maintained + +#----------------------------------------------------------------------- spider.* : MDEV-9329 - tests are too memory-consuming +#----------------------------------------------------------------------- + spider/bg.direct_aggregate : MDEV-7098 - Trying to unlock mutex that wasn't locked spider/bg.direct_aggregate_part : MDEV-7098 - Trying to unlock mutex that wasn't locked spider/bg.ha : MDEV-9329 - failures on s390x spider/bg.ha_part : MDEV-9329 - Fails on Ubuntu/s390x +spider/bg.spider3_fixes : MDEV-12639 - Packets out of order spider/bg.spider_fixes : MDEV-7098 -Mutex problem, MDEV-9329 - failures on s390x spider/bg.spider_fixes_part : MDEV-7098 - Trying to unlock mutex that wasn't locked -spider/bg.spider3_fixes : MDEV-12639 - Packets out of order spider/bg.vp_fixes : MDEV-9329 - Fails on Ubuntu/s390x -spider/handler.* : MDEV-10987, MDEV-10990 - Tests have not been maintained +#----------------------------------------------------------------------- -#---------------------------------------------------------------- - -sphinx.* : MDEV-10986 - Tests have not been maintained +spider/handler.* : MDEV-10987, MDEV-10990 - Tests have not been maintained -#---------------------------------------------------------------- +#----------------------------------------------------------------------- -storage_engine* : Tests are not always timely maintained +storage_engine.* : Tests are not always timely maintained -#---------------------------------------------------------------- +#----------------------------------------------------------------------- stress.ddl_innodb : MDEV-10635 - Testcase timeout -#---------------------------------------------------------------- - -sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x -sys_vars.delayed_insert_limit_func : MDEV-17683 - Wrong result; modified in 10.1.38 -sys_vars.keep_files_on_create_basic : MDEV-10676 - timeout -sys_vars.log_slow_admin_statements_func : MDEV-12235 - Server crash -sys_vars.rpl_init_slave_func : MDEV-10149 - wrong results -sys_vars.sql_low_priority_updates_func : Modified in 10.1.38 -sys_vars.table_definition_cache_basic : Modified in 10.1.38 -sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result -sys_vars.thread_stack_basic : Modified in 10.1.39 -sys_vars.transaction_prealloc_size_bug27322 : Modified in 10.1.39 -sys_vars.wait_timeout_func : MDEV-12896 - Wrong result -sys_vars.wsrep_sst_method_basic : Modified in 10.1.38 - -#---------------------------------------------------------------- - -tokudb.change_column_all_1000_10 : MDEV-12640 - Crash -tokudb.change_column_bin : MDEV-12640 - Crash -tokudb.change_column_char : MDEV-12822 - Lost connection to MySQL server -tokudb.cluster_filter : MDEV-10678 - Wrong execution plan -tokudb.cluster_filter_hidden : MDEV-10678 - Wrong execution plan -tokudb.cluster_filter_unpack_varchar : MDEV-10636 - Wrong execution plan -tokudb.dir_per_db : MDEV-11537 - Wrong result +#----------------------------------------------------------------------- + +sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x +sys_vars.delayed_insert_limit_func : MDEV-17683 - Wrong result +sys_vars.innodb_ft_result_cache_limit_32 : Modified in 10.1.41 +sys_vars.keep_files_on_create_basic : MDEV-10676 - timeout +sys_vars.log_slow_admin_statements_func : MDEV-12235 - Server crash +sys_vars.rpl_init_slave_func : MDEV-10149 - wrong results +sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result +sys_vars.thread_stack_basic : Modified in 10.1.39 +sys_vars.transaction_prealloc_size_bug27322 : Modified in 10.1.39 +sys_vars.wait_timeout_func : MDEV-12896 - Wrong result + +#----------------------------------------------------------------------- + +tokudb.change_column_all_1000_10 : MDEV-12640 - Crash +tokudb.change_column_bin : MDEV-12640 - Crash +tokudb.change_column_char : MDEV-12822 - Lost connection to MySQL server +tokudb.cluster_filter : MDEV-10678 - Wrong execution plan +tokudb.cluster_filter_hidden : MDEV-10678 - Wrong execution plan +tokudb.cluster_filter_unpack_varchar : MDEV-10636 - Wrong execution plan +tokudb.dir_per_db : MDEV-11537 - Wrong result tokudb.dir_per_db_rename_to_nonexisting_schema : MDEV-14359 - Directory not empty -tokudb.hotindex-insert-bigchar : MDEV-12640 - Crash -tokudb.hotindex-insert-0 : MDEV-15271 - Timeout -tokudb.hotindex-insert-1 : MDEV-13870 - Lost connection to MySQL server -tokudb.hotindex-update-0 : MDEV-15198 - Timeout -tokudb.hotindex-update-1 : MDEV-12640 - Crash -tokudb.locks-select-update-1 : MDEV-13406 - Lock wait timeout -tokudb.rows-32m-rand-insert : MDEV-12640 - Crash -tokudb.rows-32m-seq-insert : MDEV-12640 - Crash -tokudb.savepoint-5 : MDEV-15280 - Wrong result -tokudb.type_datetime : MDEV-15193 - Wrong result - -tokudb_backup.* : MDEV-11001 - tests don't work - -tokudb_bugs.PS-4979 : Added in 10.1.38 -tokudb_bugs.PS-5158 : Added in 10.1.39 -tokudb_bugs.PS-5163 : Added in 10.1.39 -tokudb_bugs.checkpoint_lock : MDEV-10637 - Wrong processlist output -tokudb_bugs.checkpoint_lock_3 : MDEV-10637 - Wrong processlist output -tokudb_bugs.frm_store : MDEV-12823 - Valgrind -tokudb_bugs.frm_store2 : MDEV-12823 - Valgrind -tokudb_bugs.frm_store3 : MDEV-12823 - Valgrind -tokudb_bugs.xa : MDEV-11804 - Lock wait timeout - -tokudb_rpl.* : MDEV-11001 - tests don't work -tokudb_sys_vars.* : MDEV-11001 - tests don't work - -rpl-tokudb.* : MDEV-14354 - Tests fail with tcmalloc - -#---------------------------------------------------------------- +tokudb.hotindex-insert-0 : MDEV-15271 - Timeout +tokudb.hotindex-insert-1 : MDEV-13870 - Lost connection to MySQL server +tokudb.hotindex-insert-bigchar : MDEV-12640 - Crash +tokudb.hotindex-update-0 : MDEV-15198 - Timeout +tokudb.hotindex-update-1 : MDEV-12640 - Crash +tokudb.locks-select-update-1 : MDEV-13406 - Lock wait timeout +tokudb.rows-32m-rand-insert : MDEV-12640 - Crash +tokudb.rows-32m-seq-insert : MDEV-12640 - Crash +tokudb.savepoint-5 : MDEV-15280 - Wrong result +tokudb.type_datetime : MDEV-15193 - Wrong result + +#----------------------------------------------------------------------- + +tokudb_backup.* : MDEV-11001 - tests don't work + +#----------------------------------------------------------------------- + +tokudb_bugs.PS-5158 : Added in 10.1.39 +tokudb_bugs.PS-5163 : Added in 10.1.39 +tokudb_bugs.checkpoint_lock : MDEV-10637 - Wrong processlist output +tokudb_bugs.checkpoint_lock_3 : MDEV-10637 - Wrong processlist output +tokudb_bugs.frm_store : MDEV-12823 - Valgrind +tokudb_bugs.frm_store2 : MDEV-12823 - Valgrind +tokudb_bugs.frm_store3 : MDEV-12823 - Valgrind +tokudb_bugs.xa : MDEV-11804 - Lock wait timeout + +#----------------------------------------------------------------------- + +tokudb_rpl.* : MDEV-11001 - tests don't work + +#----------------------------------------------------------------------- + +tokudb_sys_vars.* : MDEV-11001 - tests don't work + +#----------------------------------------------------------------------- unit.ma_pagecache_consist_64kRD : MDEV-19367 - AddressSanitizer CHECK failed unit.ma_pagecache_consist_64kWR : MDEV-19367 - AddressSanitizer CHECK failed unit.ma_test_loghandler : MDEV-10638 - record read not ok -#---------------------------------------------------------------- +#----------------------------------------------------------------------- vcol.not_supported : MDEV-10639 - Testcase timeout vcol.vcol_keys_innodb : MDEV-10639 - Testcase timeout vcol.vcol_misc : MDEV-16651 - Wrong error message vcol.wrong_arena : Modified in 10.1.39 -#---------------------------------------------------------------- +#----------------------------------------------------------------------- wsrep.foreign_key : MDEV-14725 - WSREP has not yet prepared node wsrep.mdev_6832 : MDEV-14195 - Failure upon check-testcase wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use wsrep.variables : MDEV-17585 - Deadlock -wsrep_info.plugin : MDEV-12909 - Wrong result +#----------------------------------------------------------------------- + +wsrep_info.* : Cnf file modified in 10.1.41 +wsrep_info.plugin : MDEV-12909 - Wrong result diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp index c4a0cae99..80e9e044d 100644 --- a/mysql-test/valgrind.supp +++ b/mysql-test/valgrind.supp @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # Suppress some common (not fatal) errors in system libraries found by valgrind diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt index 704ddf8bb..22b46e389 100644 --- a/mysys/CMakeLists.txt +++ b/mysys/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/mysys) diff --git a/mysys/array.c b/mysys/array.c index 5548ca1b6..07abc460d 100644 --- a/mysys/array.c +++ b/mysys/array.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Handling of arrays that can grow dynamicly. */ diff --git a/mysys/base64.c b/mysys/base64.c index 044114188..d0569d348 100644 --- a/mysys/base64.c +++ b/mysys/base64.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include /* strchr() */ diff --git a/mysys/charset-def.c b/mysys/charset-def.c index defb5c006..8539f7b28 100644 --- a/mysys/charset-def.c +++ b/mysys/charset-def.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/charset.c b/mysys/charset.c index ad3eb78ae..31bde080d 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/checksum.c b/mysys/checksum.c index a948785d9..e48535813 100644 --- a/mysys/checksum.c +++ b/mysys/checksum.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/mysys/errors.c b/mysys/errors.c index 2d29740a6..786ad9afb 100644 --- a/mysys/errors.c +++ b/mysys/errors.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/file_logger.c b/mysys/file_logger.c index 078286cd7..8420ee075 100644 --- a/mysys/file_logger.c +++ b/mysys/file_logger.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef FLOGGER_SKIP_INCLUDES diff --git a/mysys/hash.c b/mysys/hash.c index 3c17dcb99..50a1d0a54 100644 --- a/mysys/hash.c +++ b/mysys/hash.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* The hash functions used for saveing keys */ /* One of key_length or key_length_offset must be given */ diff --git a/mysys/lf_alloc-pin.c b/mysys/lf_alloc-pin.c index b9260b115..c7777cc8f 100644 --- a/mysys/lf_alloc-pin.c +++ b/mysys/lf_alloc-pin.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* wait-free concurrent allocator based on pinning addresses diff --git a/mysys/lf_dynarray.c b/mysys/lf_dynarray.c index bb6cbcefc..be23690c7 100644 --- a/mysys/lf_dynarray.c +++ b/mysys/lf_dynarray.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Analog of DYNAMIC_ARRAY that never reallocs diff --git a/mysys/lf_hash.c b/mysys/lf_hash.c index 5e407e9ca..c0e791705 100644 --- a/mysys/lf_hash.c +++ b/mysys/lf_hash.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* extensible hash diff --git a/mysys/list.c b/mysys/list.c index fb46120db..8f4c934f6 100644 --- a/mysys/list.c +++ b/mysys/list.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Code for handling dubble-linked lists in C diff --git a/mysys/mf_arr_appstr.c b/mysys/mf_arr_appstr.c index d5a0e0707..7c105bcf8 100644 --- a/mysys/mf_arr_appstr.c +++ b/mysys/mf_arr_appstr.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include /* strcmp() */ diff --git a/mysys/mf_cache.c b/mysys/mf_cache.c index a3426889a..0e8a01266 100644 --- a/mysys/mf_cache.c +++ b/mysys/mf_cache.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Open a temporary file and cache it with io_cache. Delete it on close */ diff --git a/mysys/mf_dirname.c b/mysys/mf_dirname.c index bc827f60d..700a68e4f 100644 --- a/mysys/mf_dirname.c +++ b/mysys/mf_dirname.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/mf_fn_ext.c b/mysys/mf_fn_ext.c index debed8afe..3501ca7c2 100644 --- a/mysys/mf_fn_ext.c +++ b/mysys/mf_fn_ext.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/mf_format.c b/mysys/mf_format.c index 6672a4386..57ac3ea43 100644 --- a/mysys/mf_format.c +++ b/mysys/mf_format.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/mf_getdate.c b/mysys/mf_getdate.c index ed8544a23..3db0398bb 100644 --- a/mysys/mf_getdate.c +++ b/mysys/mf_getdate.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Get date in a printable form: yyyy-mm-dd hh:mm:ss */ diff --git a/mysys/mf_iocache.c b/mysys/mf_iocache.c index 5072a3220..1245a6222 100644 --- a/mysys/mf_iocache.c +++ b/mysys/mf_iocache.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Cashing of files with only does (sequential) read or writes of fixed- diff --git a/mysys/mf_iocache2.c b/mysys/mf_iocache2.c index f38773316..ea426347c 100644 --- a/mysys/mf_iocache2.c +++ b/mysys/mf_iocache2.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* More functions to be used with IO_CACHE files diff --git a/mysys/mf_keycache.c b/mysys/mf_keycache.c index 9356f9154..299a9390b 100644 --- a/mysys/mf_keycache.c +++ b/mysys/mf_keycache.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ diff --git a/mysys/mf_keycaches.c b/mysys/mf_keycaches.c index 7dbfc26a3..199fb1098 100644 --- a/mysys/mf_keycaches.c +++ b/mysys/mf_keycaches.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Handling of multiple key caches diff --git a/mysys/mf_loadpath.c b/mysys/mf_loadpath.c index 7bad53558..0a716aa57 100644 --- a/mysys/mf_loadpath.c +++ b/mysys/mf_loadpath.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/mf_pack.c b/mysys/mf_pack.c index e246ff17f..d79aa18da 100644 --- a/mysys/mf_pack.c +++ b/mysys/mf_pack.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ #include "mysys_priv.h" diff --git a/mysys/mf_path.c b/mysys/mf_path.c index 725cf278f..7da925d6f 100644 --- a/mysys/mf_path.c +++ b/mysys/mf_path.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/mf_qsort.c b/mysys/mf_qsort.c index 3e91c0ac0..3f91bb353 100644 --- a/mysys/mf_qsort.c +++ b/mysys/mf_qsort.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* qsort implementation optimized for comparison of pointers diff --git a/mysys/mf_qsort2.c b/mysys/mf_qsort2.c index 501f08c5d..cee460f8d 100644 --- a/mysys/mf_qsort2.c +++ b/mysys/mf_qsort2.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* qsort that sends one extra argument to the compare subrutine */ diff --git a/mysys/mf_radix.c b/mysys/mf_radix.c index 11c4ac45a..8f044cf9b 100644 --- a/mysys/mf_radix.c +++ b/mysys/mf_radix.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Radixsort for pointers to fixed length strings. diff --git a/mysys/mf_same.c b/mysys/mf_same.c index 244dc650d..fda0710ca 100644 --- a/mysys/mf_same.c +++ b/mysys/mf_same.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Kopierar biblioteksstrukturen och extensionen fr}n ett filnamn */ diff --git a/mysys/mf_sort.c b/mysys/mf_sort.c index b2c58c266..3cbad020c 100644 --- a/mysys/mf_sort.c +++ b/mysys/mf_sort.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Sort of string pointers in string-order with radix or qsort */ diff --git a/mysys/mf_soundex.c b/mysys/mf_soundex.c index 2784d1128..b686cac89 100644 --- a/mysys/mf_soundex.c +++ b/mysys/mf_soundex.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /**************************************************************** * SOUNDEX ALGORITHM in C * diff --git a/mysys/mf_tempdir.c b/mysys/mf_tempdir.c index 2fbbedc4e..39de3570f 100644 --- a/mysys/mf_tempdir.c +++ b/mysys/mf_tempdir.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/mf_tempfile.c b/mysys/mf_tempfile.c index 62b3e0974..a535d35a5 100644 --- a/mysys/mf_tempfile.c +++ b/mysys/mf_tempfile.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/mf_unixpath.c b/mysys/mf_unixpath.c index 6777c27bc..cc2b671ab 100644 --- a/mysys/mf_unixpath.c +++ b/mysys/mf_unixpath.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/mf_wcomp.c b/mysys/mf_wcomp.c index fe64d06f2..6fb19ebae 100644 --- a/mysys/mf_wcomp.c +++ b/mysys/mf_wcomp.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Funktions for comparing with wild-cards */ diff --git a/mysys/mulalloc.c b/mysys/mulalloc.c index fceecdc1d..f22464e45 100644 --- a/mysys/mulalloc.c +++ b/mysys/mulalloc.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/my_access.c b/mysys/my_access.c index 757742404..4fbea8bd3 100644 --- a/mysys/my_access.c +++ b/mysys/my_access.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/my_addr_resolve.c b/mysys/my_addr_resolve.c index b82792fc4..d16f33036 100644 --- a/mysys/my_addr_resolve.c +++ b/mysys/my_addr_resolve.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/my_alarm.c b/mysys/my_alarm.c index 4672627a9..ee11dc9ce 100644 --- a/mysys/my_alarm.c +++ b/mysys/my_alarm.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Function to set a varible when we got a alarm */ /* Used by my_lock samt functions in m_alarm.h */ diff --git a/mysys/my_alloc.c b/mysys/my_alloc.c index 276ad0805..3b614cb4c 100644 --- a/mysys/my_alloc.c +++ b/mysys/my_alloc.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Routines to handle mallocing of results which will be freed the same time */ @@ -217,7 +217,7 @@ void *alloc_root(MEM_ROOT *mem_root, size_t length) DBUG_SET("-d,simulate_out_of_memory"); DBUG_RETURN((void*) 0); /* purecov: inspected */ }); - length= ALIGN_SIZE(length); + length= ALIGN_SIZE(length) + REDZONE_SIZE; if ((*(prev= &mem_root->free)) != NULL) { if ((*prev)->left < length && @@ -265,6 +265,7 @@ void *alloc_root(MEM_ROOT *mem_root, size_t length) mem_root->used= next; mem_root->first_block_usage= 0; } + point+= REDZONE_SIZE; TRASH_ALLOC(point, original_length); DBUG_PRINT("exit",("ptr: %p", point)); DBUG_RETURN((void*) point); diff --git a/mysys/my_atomic.c b/mysys/my_atomic.c index 26348b518..72d7f1329 100644 --- a/mysys/my_atomic.c +++ b/mysys/my_atomic.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys/my_basename.c b/mysys/my_basename.c index 9d1eaf53e..68f5565b2 100644 --- a/mysys/my_basename.c +++ b/mysys/my_basename.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include /** diff --git a/mysys/my_bit.c b/mysys/my_bit.c index d36f52bb3..fdf767fa5 100644 --- a/mysys/my_bit.c +++ b/mysys/my_bit.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/mysys/my_bitmap.c b/mysys/my_bitmap.c index 0eaf1a88a..ce48b9fdf 100644 --- a/mysys/my_bitmap.c +++ b/mysys/my_bitmap.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Handling of uchar arrays as large bitmaps. diff --git a/mysys/my_chmod.c b/mysys/my_chmod.c index 095ac8588..3d0863936 100644 --- a/mysys/my_chmod.c +++ b/mysys/my_chmod.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_chsize.c b/mysys/my_chsize.c index 51da6be79..4fd443f53 100644 --- a/mysys/my_chsize.c +++ b/mysys/my_chsize.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_compare.c b/mysys/my_compare.c index 7fb2ef979..7e11f5ffb 100644 --- a/mysys/my_compare.c +++ b/mysys/my_compare.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys/my_compress.c b/mysys/my_compress.c index 0e4db5c3b..7cd85d57d 100644 --- a/mysys/my_compress.c +++ b/mysys/my_compress.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Written by Sinisa Milivojevic */ diff --git a/mysys/my_conio.c b/mysys/my_conio.c index 0af5706ca..bac9f4afd 100644 --- a/mysys/my_conio.c +++ b/mysys/my_conio.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/my_copy.c b/mysys/my_copy.c index bd23dfc48..f73737828 100644 --- a/mysys/my_copy.c +++ b/mysys/my_copy.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_crc32.c b/mysys/my_crc32.c index 0981c7575..3fa8c4b83 100644 --- a/mysys/my_crc32.c +++ b/mysys/my_crc32.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/my_create.c b/mysys/my_create.c index 014b65c4e..6fb817da8 100644 --- a/mysys/my_create.c +++ b/mysys/my_create.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/my_default.c b/mysys/my_default.c index 5c4e33141..32faf2045 100644 --- a/mysys/my_default.c +++ b/mysys/my_default.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /**************************************************************************** Add all options from files named "group".cnf from the default_directories diff --git a/mysys/my_delete.c b/mysys/my_delete.c index 0faf6079d..28889df28 100644 --- a/mysys/my_delete.c +++ b/mysys/my_delete.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_div.c b/mysys/my_div.c index 44eb53924..3395d1422 100644 --- a/mysys/my_div.c +++ b/mysys/my_div.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/my_dlerror.c b/mysys/my_dlerror.c index db21b7fc2..ab34da0e3 100644 --- a/mysys/my_dlerror.c +++ b/mysys/my_dlerror.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys/my_error.c b/mysys/my_error.c index 44d112bc0..ce20c8067 100644 --- a/mysys/my_error.c +++ b/mysys/my_error.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_file.c b/mysys/my_file.c index 23226595b..17b249396 100644 --- a/mysys/my_file.c +++ b/mysys/my_file.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "my_static.h" diff --git a/mysys/my_fopen.c b/mysys/my_fopen.c index c720e2c91..e962b9d03 100644 --- a/mysys/my_fopen.c +++ b/mysys/my_fopen.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "my_static.h" diff --git a/mysys/my_fstream.c b/mysys/my_fstream.c index de752fa14..9c8edb644 100644 --- a/mysys/my_fstream.c +++ b/mysys/my_fstream.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* USE_MY_STREAM isn't set because we can't thrust my_fclose! */ diff --git a/mysys/my_gethwaddr.c b/mysys/my_gethwaddr.c index 0fad7f905..70e1d549e 100644 --- a/mysys/my_gethwaddr.c +++ b/mysys/my_gethwaddr.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* get hardware address for an interface */ /* if there are many available, any non-zero one can be used */ diff --git a/mysys/my_getncpus.c b/mysys/my_getncpus.c index cc2c3843e..38585161c 100644 --- a/mysys/my_getncpus.c +++ b/mysys/my_getncpus.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* get the number of (online) CPUs */ diff --git a/mysys/my_getopt.c b/mysys/my_getopt.c index 57b28d1fd..980a24882 100644 --- a/mysys/my_getopt.c +++ b/mysys/my_getopt.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys/my_getpagesize.c b/mysys/my_getpagesize.c index e1c1fcb16..030a62deb 100644 --- a/mysys/my_getpagesize.c +++ b/mysys/my_getpagesize.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/my_getsystime.c b/mysys/my_getsystime.c index 1cedeb21d..e2e6e8e39 100644 --- a/mysys/my_getsystime.c +++ b/mysys/my_getsystime.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/my_getwd.c b/mysys/my_getwd.c index bfa28f1d3..a6eb5f658 100644 --- a/mysys/my_getwd.c +++ b/mysys/my_getwd.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* my_setwd() and my_getwd() works with intern_filenames !! */ diff --git a/mysys/my_init.c b/mysys/my_init.c index 84489a994..d1ed42c9f 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "my_static.h" diff --git a/mysys/my_largepage.c b/mysys/my_largepage.c index 59f815a9d..c5e33388e 100644 --- a/mysys/my_largepage.c +++ b/mysys/my_largepage.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/my_lib.c b/mysys/my_lib.c index 8daed1101..977352345 100644 --- a/mysys/my_lib.c +++ b/mysys/my_lib.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */ /* TODO: check for overrun of memory for names. */ diff --git a/mysys/my_libwrap.c b/mysys/my_libwrap.c index 6c69757ec..45ab3a7fc 100644 --- a/mysys/my_libwrap.c +++ b/mysys/my_libwrap.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This is needed to be able to compile with original libwrap header diff --git a/mysys/my_lock.c b/mysys/my_lock.c index 082d8e9f5..0fd280ca9 100644 --- a/mysys/my_lock.c +++ b/mysys/my_lock.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_lockmem.c b/mysys/my_lockmem.c index 3e27564f1..ce569b78c 100644 --- a/mysys/my_lockmem.c +++ b/mysys/my_lockmem.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Alloc a block of locked memory */ diff --git a/mysys/my_malloc.c b/mysys/my_malloc.c index 99a15e6f4..0640c0e57 100644 --- a/mysys/my_malloc.c +++ b/mysys/my_malloc.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_memmem.c b/mysys/my_memmem.c index 5806c502b..98b45fed2 100644 --- a/mysys/my_memmem.c +++ b/mysys/my_memmem.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys/my_mess.c b/mysys/my_mess.c index 8ee816b38..7bc4c038c 100644 --- a/mysys/my_mess.c +++ b/mysys/my_mess.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/my_mkdir.c b/mysys/my_mkdir.c index 5e9691f5b..6c0a01abb 100644 --- a/mysys/my_mkdir.c +++ b/mysys/my_mkdir.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_mmap.c b/mysys/my_mmap.c index acd4862ea..9d84c1c76 100644 --- a/mysys/my_mmap.c +++ b/mysys/my_mmap.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" diff --git a/mysys/my_new.cc b/mysys/my_new.cc index a401ccff1..88080f3e7 100644 --- a/mysys/my_new.cc +++ b/mysys/my_new.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This is a replacement of new/delete operators to be used when compiling diff --git a/mysys/my_once.c b/mysys/my_once.c index dfd5de81a..28a175579 100644 --- a/mysys/my_once.c +++ b/mysys/my_once.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Not MT-SAFE */ diff --git a/mysys/my_open.c b/mysys/my_open.c index 3999810eb..951a52c28 100644 --- a/mysys/my_open.c +++ b/mysys/my_open.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_port.c b/mysys/my_port.c index 75a07b03e..c0e36eafc 100644 --- a/mysys/my_port.c +++ b/mysys/my_port.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - MA 02111-1301, USA */ + MA 02110-1335 USA */ /* Small functions to make code portable diff --git a/mysys/my_pread.c b/mysys/my_pread.c index 2b3bfdc9e..082857385 100644 --- a/mysys/my_pread.c +++ b/mysys/my_pread.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_pthread.c b/mysys/my_pthread.c index 20e53a23a..b8121f9a5 100644 --- a/mysys/my_pthread.c +++ b/mysys/my_pthread.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Functions to get threads more portable */ diff --git a/mysys/my_quick.c b/mysys/my_quick.c index 2d5e9fb95..ae7f5cca3 100644 --- a/mysys/my_quick.c +++ b/mysys/my_quick.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Quicker interface to read & write. Used with my_nosys.h */ diff --git a/mysys/my_rdtsc.c b/mysys/my_rdtsc.c index 4228973ca..afb97553d 100644 --- a/mysys/my_rdtsc.c +++ b/mysys/my_rdtsc.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* rdtsc3 -- multi-platform timer code diff --git a/mysys/my_read.c b/mysys/my_read.c index 58ab9070c..caf47a6ed 100644 --- a/mysys/my_read.c +++ b/mysys/my_read.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_redel.c b/mysys/my_redel.c index 9091c74e6..96ab410a3 100644 --- a/mysys/my_redel.c +++ b/mysys/my_redel.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_rename.c b/mysys/my_rename.c index 17f693629..81b43064e 100644 --- a/mysys/my_rename.c +++ b/mysys/my_rename.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/my_rnd.c b/mysys/my_rnd.c index fc38d5586..c38682a20 100644 --- a/mysys/my_rnd.c +++ b/mysys/my_rnd.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include diff --git a/mysys/my_safehash.c b/mysys/my_safehash.c index c34f3c456..e4e72bd65 100644 --- a/mysys/my_safehash.c +++ b/mysys/my_safehash.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Handling of multiple key caches diff --git a/mysys/my_safehash.h b/mysys/my_safehash.h index 3d3aa1e60..71aaf5d0c 100644 --- a/mysys/my_safehash.h +++ b/mysys/my_safehash.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Handling of multiple key caches diff --git a/mysys/my_seek.c b/mysys/my_seek.c index e15179a40..6a370b0ad 100644 --- a/mysys/my_seek.c +++ b/mysys/my_seek.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_sleep.c b/mysys/my_sleep.c index 77eb466ae..1c54b696a 100644 --- a/mysys/my_sleep.c +++ b/mysys/my_sleep.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Wait a given number of microseconds */ diff --git a/mysys/my_static.c b/mysys/my_static.c index 9236c1395..845d3e961 100644 --- a/mysys/my_static.c +++ b/mysys/my_static.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Static variables for mysys library. All definied here for easy making of diff --git a/mysys/my_static.h b/mysys/my_static.h index a44a4b26c..b30540b1c 100644 --- a/mysys/my_static.h +++ b/mysys/my_static.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Static variables for mysys library. All definied here for easy making of diff --git a/mysys/my_symlink.c b/mysys/my_symlink.c index 8580fac35..cbee78a7f 100644 --- a/mysys/my_symlink.c +++ b/mysys/my_symlink.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_symlink2.c b/mysys/my_symlink2.c index f1ace5dcd..aef77333e 100644 --- a/mysys/my_symlink2.c +++ b/mysys/my_symlink2.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Advanced symlink handling. diff --git a/mysys/my_sync.c b/mysys/my_sync.c index d1e239692..2ed62e454 100644 --- a/mysys/my_sync.c +++ b/mysys/my_sync.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c index f827fb136..cc47bfc72 100644 --- a/mysys/my_thr_init.c +++ b/mysys/my_thr_init.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Functions to handle initializating and allocationg of all mysys & debug diff --git a/mysys/my_timer_cycles.il b/mysys/my_timer_cycles.il index e655cad2a..f6eb922c8 100644 --- a/mysys/my_timer_cycles.il +++ b/mysys/my_timer_cycles.il @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Sun Studio SPARC inline templates for cycle timer */ /* Sun Studio i386 and x86_64 inline templates for cycle timer */ diff --git a/mysys/my_uuid.c b/mysys/my_uuid.c index f167ebe1d..da947b09c 100644 --- a/mysys/my_uuid.c +++ b/mysys/my_uuid.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* implements Universal Unique Identifiers (UUIDs), as in diff --git a/mysys/my_wincond.c b/mysys/my_wincond.c index 07ba4f5c5..d68de3f4d 100644 --- a/mysys/my_wincond.c +++ b/mysys/my_wincond.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /***************************************************************************** ** The following is a simple implementation of posix conditions diff --git a/mysys/my_windac.c b/mysys/my_windac.c index 9b4897596..677207b2e 100644 --- a/mysys/my_windac.c +++ b/mysys/my_windac.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "m_string.h" diff --git a/mysys/my_winerr.c b/mysys/my_winerr.c index a3f6229b7..299db2672 100644 --- a/mysys/my_winerr.c +++ b/mysys/my_winerr.c @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Convert Windows API error (GetLastError() to Posix equivalent (errno) diff --git a/mysys/my_winfile.c b/mysys/my_winfile.c index ad87bf718..a250b3d2e 100644 --- a/mysys/my_winfile.c +++ b/mysys/my_winfile.c @@ -11,7 +11,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* The purpose of this file is to provide implementation of file IO routines on diff --git a/mysys/my_winthread.c b/mysys/my_winthread.c index 81fd0e727..725bd6ac3 100644 --- a/mysys/my_winthread.c +++ b/mysys/my_winthread.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /***************************************************************************** ** Simulation of posix threads calls for Windows diff --git a/mysys/my_write.c b/mysys/my_write.c index 43735c18f..53288b43f 100644 --- a/mysys/my_write.c +++ b/mysys/my_write.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "mysys_priv.h" #include "mysys_err.h" diff --git a/mysys/mysys_priv.h b/mysys/mysys_priv.h index 892e09148..c0a040bd4 100644 --- a/mysys/mysys_priv.h +++ b/mysys/mysys_priv.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSYS_PRIV_INCLUDED #define MYSYS_PRIV_INCLUDED diff --git a/mysys/psi_noop.c b/mysys/psi_noop.c index 6eecf56f7..1cf544be0 100644 --- a/mysys/psi_noop.c +++ b/mysys/psi_noop.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Always provide the noop performance interface, for plugins. diff --git a/mysys/ptr_cmp.c b/mysys/ptr_cmp.c index add92edd7..287e88430 100644 --- a/mysys/ptr_cmp.c +++ b/mysys/ptr_cmp.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* get_ptr_compare(len) returns a pointer to a optimal byte-compare function diff --git a/mysys/safemalloc.c b/mysys/safemalloc.c index 08e43d0a8..c439dadbd 100644 --- a/mysys/safemalloc.c +++ b/mysys/safemalloc.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /******************************************************************** memory debugger diff --git a/mysys/stacktrace.c b/mysys/stacktrace.c index 0d4d5fce8..7daed0df6 100644 --- a/mysys/stacktrace.c +++ b/mysys/stacktrace.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys/string.c b/mysys/string.c index a0fa3a02e..1b4254fa6 100644 --- a/mysys/string.c +++ b/mysys/string.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Code for handling strings with can grow dynamicly. diff --git a/mysys/test_charset.c b/mysys/test_charset.c index 49e25b8d5..f8392a9d3 100644 --- a/mysys/test_charset.c +++ b/mysys/test_charset.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys/test_dir.c b/mysys/test_dir.c index 364562a69..00b0c7786 100644 --- a/mysys/test_dir.c +++ b/mysys/test_dir.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* TODO: Test all functions */ diff --git a/mysys/test_thr_mutex.c b/mysys/test_thr_mutex.c index fa5b6f74b..00b1f5f41 100644 --- a/mysys/test_thr_mutex.c +++ b/mysys/test_thr_mutex.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Testing of deadlock detector */ diff --git a/mysys/test_xml.c b/mysys/test_xml.c index 56b506114..ac106da6e 100644 --- a/mysys/test_xml.c +++ b/mysys/test_xml.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys/testhash.c b/mysys/testhash.c index 96b106bec..4af25c32f 100644 --- a/mysys/testhash.c +++ b/mysys/testhash.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Test of hash library: big test */ diff --git a/mysys/thr_alarm.c b/mysys/thr_alarm.c index 61ef36571..a1ff5b6c4 100644 --- a/mysys/thr_alarm.c +++ b/mysys/thr_alarm.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* To avoid problems with alarms in debug code, we disable DBUG here */ #define FORCE_DBUG_OFF diff --git a/mysys/thr_lock.c b/mysys/thr_lock.c index 5c3437382..c23ff62f2 100644 --- a/mysys/thr_lock.c +++ b/mysys/thr_lock.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Read and write locks for Posix threads. All tread must acquire diff --git a/mysys/thr_mutex.c b/mysys/thr_mutex.c index 18af5f47b..6010c3ca6 100644 --- a/mysys/thr_mutex.c +++ b/mysys/thr_mutex.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This makes a wrapper for mutex handling to make it easier to debug mutex */ diff --git a/mysys/thr_rwlock.c b/mysys/thr_rwlock.c index dd6c625a2..ea8b73bf8 100644 --- a/mysys/thr_rwlock.c +++ b/mysys/thr_rwlock.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Synchronization - readers / writer thread locks */ diff --git a/mysys/thr_timer.c b/mysys/thr_timer.c index b8726617f..1532875d7 100644 --- a/mysys/thr_timer.c +++ b/mysys/thr_timer.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Implementation if OS independent timers. diff --git a/mysys/tree.c b/mysys/tree.c index 83be0a0d2..e3e349574 100644 --- a/mysys/tree.c +++ b/mysys/tree.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Code for handling red-black (balanced) binary trees. diff --git a/mysys/typelib.c b/mysys/typelib.c index 9ca084757..3798d970a 100644 --- a/mysys/typelib.c +++ b/mysys/typelib.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Functions to handle typelib */ diff --git a/mysys/waiting_threads.c b/mysys/waiting_threads.c index 2549bd8a5..35f19aa7e 100644 --- a/mysys/waiting_threads.c +++ b/mysys/waiting_threads.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/mysys/wqueue.c b/mysys/wqueue.c index 1dafc03b9..6e4081a26 100644 --- a/mysys/wqueue.c +++ b/mysys/wqueue.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/mysys_ssl/CMakeLists.txt b/mysys_ssl/CMakeLists.txt index 4f6f7458c..9162f7b88 100644 --- a/mysys_ssl/CMakeLists.txt +++ b/mysys_ssl/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/mysys_ssl diff --git a/mysys_ssl/my_crypt.cc b/mysys_ssl/my_crypt.cc index 439339423..ddad3de8d 100644 --- a/mysys_ssl/my_crypt.cc +++ b/mysys_ssl/my_crypt.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/mysys_ssl/my_md5.cc b/mysys_ssl/my_md5.cc index 7139ea9b6..8ed916eba 100644 --- a/mysys_ssl/my_md5.cc +++ b/mysys_ssl/my_md5.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/mysys_ssl/my_sha.ic b/mysys_ssl/my_sha.ic index a7ec8bad5..b1940b1b7 100644 --- a/mysys_ssl/my_sha.ic +++ b/mysys_ssl/my_sha.ic @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/mysys_ssl/my_sha1.cc b/mysys_ssl/my_sha1.cc index dc6a7a461..b53e21446 100644 --- a/mysys_ssl/my_sha1.cc +++ b/mysys_ssl/my_sha1.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define NUM 1 diff --git a/mysys_ssl/my_sha224.cc b/mysys_ssl/my_sha224.cc index 7e8b48125..200b6ed16 100644 --- a/mysys_ssl/my_sha224.cc +++ b/mysys_ssl/my_sha224.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define NUM 224 diff --git a/mysys_ssl/my_sha256.cc b/mysys_ssl/my_sha256.cc index 8c1a46620..1562809f9 100644 --- a/mysys_ssl/my_sha256.cc +++ b/mysys_ssl/my_sha256.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define NUM 256 diff --git a/mysys_ssl/my_sha384.cc b/mysys_ssl/my_sha384.cc index 3bad6b392..6bb644701 100644 --- a/mysys_ssl/my_sha384.cc +++ b/mysys_ssl/my_sha384.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define NUM 384 diff --git a/mysys_ssl/my_sha512.cc b/mysys_ssl/my_sha512.cc index 8077efd3b..1047d0dbe 100644 --- a/mysys_ssl/my_sha512.cc +++ b/mysys_ssl/my_sha512.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define NUM 512 diff --git a/mysys_ssl/yassl.cc b/mysys_ssl/yassl.cc index e9f8e6503..e14b22283 100644 --- a/mysys_ssl/yassl.cc +++ b/mysys_ssl/yassl.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* The very minimal subset of OpenSSL's EVP* functions. diff --git a/plugin/audit_null/CMakeLists.txt b/plugin/audit_null/CMakeLists.txt index e87fc2a85..2d4b6e9be 100644 --- a/plugin/audit_null/CMakeLists.txt +++ b/plugin/audit_null/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA MYSQL_ADD_PLUGIN(audit_null audit_null.c MODULE_ONLY MODULE_OUTPUT_NAME "adt_null" COMPONENT Test) diff --git a/plugin/audit_null/audit_null.c b/plugin/audit_null/audit_null.c index 274706367..58f9c3ef8 100644 --- a/plugin/audit_null/audit_null.c +++ b/plugin/audit_null/audit_null.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/auth_dialog/CMakeLists.txt b/plugin/auth_dialog/CMakeLists.txt index d16007405..b612dd14f 100644 --- a/plugin/auth_dialog/CMakeLists.txt +++ b/plugin/auth_dialog/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ADD_DEFINITIONS(-DNO_GET_TTY_PASSWORD) IF(LIBDL) diff --git a/plugin/auth_dialog/dialog.c b/plugin/auth_dialog/dialog.c index da937ea6e..3ea1da229 100644 --- a/plugin/auth_dialog/dialog.c +++ b/plugin/auth_dialog/dialog.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/plugin/auth_ed25519/client_ed25519.c b/plugin/auth_ed25519/client_ed25519.c index 16267a156..5222da8c7 100644 --- a/plugin/auth_ed25519/client_ed25519.c +++ b/plugin/auth_ed25519/client_ed25519.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /************************** CLIENT *************************************/ diff --git a/plugin/auth_ed25519/common.h b/plugin/auth_ed25519/common.h index 4a52f7742..963a8afb4 100644 --- a/plugin/auth_ed25519/common.h +++ b/plugin/auth_ed25519/common.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/auth_ed25519/ed25519-t.c b/plugin/auth_ed25519/ed25519-t.c index f7d58c48d..4373e59a1 100644 --- a/plugin/auth_ed25519/ed25519-t.c +++ b/plugin/auth_ed25519/ed25519-t.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/auth_ed25519/server_ed25519.c b/plugin/auth_ed25519/server_ed25519.c index 8e442e568..753d4cb58 100644 --- a/plugin/auth_ed25519/server_ed25519.c +++ b/plugin/auth_ed25519/server_ed25519.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "common.h" diff --git a/plugin/auth_examples/CMakeLists.txt b/plugin/auth_examples/CMakeLists.txt index d1152227e..7eed0f722 100644 --- a/plugin/auth_examples/CMakeLists.txt +++ b/plugin/auth_examples/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA MYSQL_ADD_PLUGIN(dialog_examples dialog_examples.c MODULE_ONLY COMPONENT Test) diff --git a/plugin/auth_examples/auth_0x0100.c b/plugin/auth_examples/auth_0x0100.c index d1373b8a0..e23f495f4 100644 --- a/plugin/auth_examples/auth_0x0100.c +++ b/plugin/auth_examples/auth_0x0100.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/plugin/auth_examples/clear_password_client.c b/plugin/auth_examples/clear_password_client.c index 4e7dac61b..726d200db 100644 --- a/plugin/auth_examples/clear_password_client.c +++ b/plugin/auth_examples/clear_password_client.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/auth_examples/dialog_examples.c b/plugin/auth_examples/dialog_examples.c index 067244d6f..096dc3fca 100644 --- a/plugin/auth_examples/dialog_examples.c +++ b/plugin/auth_examples/dialog_examples.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/plugin/auth_examples/qa_auth_client.c b/plugin/auth_examples/qa_auth_client.c index a7ee2f83a..4421ceed5 100644 --- a/plugin/auth_examples/qa_auth_client.c +++ b/plugin/auth_examples/qa_auth_client.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/auth_examples/qa_auth_interface.c b/plugin/auth_examples/qa_auth_interface.c index c9bc6c5aa..6b7e9c42a 100644 --- a/plugin/auth_examples/qa_auth_interface.c +++ b/plugin/auth_examples/qa_auth_interface.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/auth_examples/qa_auth_server.c b/plugin/auth_examples/qa_auth_server.c index 59b926b63..ff4d957a0 100644 --- a/plugin/auth_examples/qa_auth_server.c +++ b/plugin/auth_examples/qa_auth_server.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/auth_examples/test_plugin.c b/plugin/auth_examples/test_plugin.c index 2b20a8cb5..ae4e2004b 100644 --- a/plugin/auth_examples/test_plugin.c +++ b/plugin/auth_examples/test_plugin.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/plugin/auth_pam/auth_pam.c b/plugin/auth_pam/auth_pam.c index 83fd64e4c..fae73aea6 100644 --- a/plugin/auth_pam/auth_pam.c +++ b/plugin/auth_pam/auth_pam.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define _GNU_SOURCE 1 /* for strndup */ diff --git a/plugin/auth_pipe/auth_pipe.c b/plugin/auth_pipe/auth_pipe.c index 20c33c07e..ed41b94cf 100644 --- a/plugin/auth_pipe/auth_pipe.c +++ b/plugin/auth_pipe/auth_pipe.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/plugin/auth_socket/CMakeLists.txt b/plugin/auth_socket/CMakeLists.txt index bfded6a55..eafa82bda 100644 --- a/plugin/auth_socket/CMakeLists.txt +++ b/plugin/auth_socket/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA CHECK_CXX_SOURCE_COMPILES( "#define _GNU_SOURCE diff --git a/plugin/auth_socket/auth_socket.c b/plugin/auth_socket/auth_socket.c index f04b1d9d2..c31f78a45 100644 --- a/plugin/auth_socket/auth_socket.c +++ b/plugin/auth_socket/auth_socket.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/plugin/aws_key_management/aws_key_management_plugin.cc b/plugin/aws_key_management/aws_key_management_plugin.cc index 60ca6fd1f..e396be8cb 100644 --- a/plugin/aws_key_management/aws_key_management_plugin.cc +++ b/plugin/aws_key_management/aws_key_management_plugin.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/plugin/cracklib_password_check/cracklib_password_check.c b/plugin/cracklib_password_check/cracklib_password_check.c index 94587a6d6..f8de9907d 100644 --- a/plugin/cracklib_password_check/cracklib_password_check.c +++ b/plugin/cracklib_password_check/cracklib_password_check.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/daemon_example/CMakeLists.txt b/plugin/daemon_example/CMakeLists.txt index 28fbff783..57a1135e6 100644 --- a/plugin/daemon_example/CMakeLists.txt +++ b/plugin/daemon_example/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA MYSQL_ADD_PLUGIN(daemon_example daemon_example.cc RECOMPILE_FOR_EMBEDDED MODULE_ONLY MODULE_OUTPUT_NAME "libdaemon_example" COMPONENT Test) diff --git a/plugin/daemon_example/daemon_example.cc b/plugin/daemon_example/daemon_example.cc index cdea632c8..87f48a1fa 100644 --- a/plugin/daemon_example/daemon_example.cc +++ b/plugin/daemon_example/daemon_example.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/debug_key_management/debug_key_management_plugin.cc b/plugin/debug_key_management/debug_key_management_plugin.cc index 23ff78dec..74ab3522e 100644 --- a/plugin/debug_key_management/debug_key_management_plugin.cc +++ b/plugin/debug_key_management/debug_key_management_plugin.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** Debug key management plugin. diff --git a/plugin/disks/information_schema_disks.cc b/plugin/disks/information_schema_disks.cc index 122b3d3f1..c4b558ba1 100644 --- a/plugin/disks/information_schema_disks.cc +++ b/plugin/disks/information_schema_disks.cc @@ -12,13 +12,14 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include #include #include #include +#include /* check_global_access() */ bool schema_table_store_record(THD *thd, TABLE *table); @@ -83,6 +84,9 @@ int disks_fill_table(THD* pThd, TABLE_LIST* pTables, Item* pCond) int rv = 1; TABLE* pTable = pTables->table; + if (check_global_access(pThd, FILE_ACL, true)) + return 0; + FILE* pFile = setmntent("/etc/mtab", "r"); if (pFile) @@ -144,11 +148,11 @@ maria_declare_plugin(disks) PLUGIN_LICENSE_GPL, /* license type */ disks_table_init, /* init function */ NULL, /* deinit function */ - 0x0100, /* version = 1.0 */ + 0x0101, /* version = 1.1 */ NULL, /* no status variables */ NULL, /* no system variables */ - "1.0", /* String version representation */ - MariaDB_PLUGIN_MATURITY_BETA /* Maturity (see include/mysql/plugin.h)*/ + "1.1", /* String version representation */ + MariaDB_PLUGIN_MATURITY_STABLE /* Maturity (see include/mysql/plugin.h)*/ } mysql_declare_plugin_end; diff --git a/plugin/disks/mysql-test/disks/disks_notembedded.result b/plugin/disks/mysql-test/disks/disks_notembedded.result new file mode 100644 index 000000000..f0f9e46aa --- /dev/null +++ b/plugin/disks/mysql-test/disks/disks_notembedded.result @@ -0,0 +1,15 @@ +# +# MDEV-18328: Make DISKS plugin check some privilege to access +# information_schema.DISKS table +# +CREATE USER user1@localhost; +GRANT SELECT ON *.* TO user1@localhost; +select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks; +sum(Total) > sum(Available) sum(Total)>sum(Used) +NULL NULL +GRANT FILE ON *.* TO user1@localhost; +select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks; +sum(Total) > sum(Available) sum(Total)>sum(Used) +1 1 +DROP USER user1@localhost; +# End of 10.1 tests diff --git a/plugin/disks/mysql-test/disks/disks_notembedded.test b/plugin/disks/mysql-test/disks/disks_notembedded.test new file mode 100644 index 000000000..a0f6c2e58 --- /dev/null +++ b/plugin/disks/mysql-test/disks/disks_notembedded.test @@ -0,0 +1,25 @@ +source include/not_embedded.inc; + +--echo # +--echo # MDEV-18328: Make DISKS plugin check some privilege to access +--echo # information_schema.DISKS table +--echo # + +CREATE USER user1@localhost; +GRANT SELECT ON *.* TO user1@localhost; + +connect (con1,localhost,user1,,); +connection con1; +select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks; +disconnect con1; + +connection default; +GRANT FILE ON *.* TO user1@localhost; + +connect (con1,localhost,user1,,); +connection con1; +select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks; +connection default; +DROP USER user1@localhost; + +--echo # End of 10.1 tests diff --git a/plugin/example_key_management/example_key_management_plugin.cc b/plugin/example_key_management/example_key_management_plugin.cc index 2b43729e3..665e3128e 100644 --- a/plugin/example_key_management/example_key_management_plugin.cc +++ b/plugin/example_key_management/example_key_management_plugin.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** Example key management plugin. It demonstrates how to return diff --git a/plugin/feedback/feedback.cc b/plugin/feedback/feedback.cc index bd433efa4..75e6e8ddf 100644 --- a/plugin/feedback/feedback.cc +++ b/plugin/feedback/feedback.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "feedback.h" diff --git a/plugin/feedback/feedback.h b/plugin/feedback/feedback.h index 5e7e7b151..0fffeb922 100644 --- a/plugin/feedback/feedback.h +++ b/plugin/feedback/feedback.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define MYSQL_SERVER 1 #include diff --git a/plugin/feedback/sender_thread.cc b/plugin/feedback/sender_thread.cc index d61e303e8..e22550998 100644 --- a/plugin/feedback/sender_thread.cc +++ b/plugin/feedback/sender_thread.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "feedback.h" #include diff --git a/plugin/feedback/url_base.cc b/plugin/feedback/url_base.cc index 44cb0b00c..21661079c 100644 --- a/plugin/feedback/url_base.cc +++ b/plugin/feedback/url_base.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "feedback.h" diff --git a/plugin/feedback/url_http.cc b/plugin/feedback/url_http.cc index 4851097e6..6ae94d5b9 100644 --- a/plugin/feedback/url_http.cc +++ b/plugin/feedback/url_http.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "feedback.h" diff --git a/plugin/feedback/utils.cc b/plugin/feedback/utils.cc index 6da1b5916..684d95a3d 100644 --- a/plugin/feedback/utils.cc +++ b/plugin/feedback/utils.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "feedback.h" diff --git a/plugin/file_key_management/file_key_management_plugin.cc b/plugin/file_key_management/file_key_management_plugin.cc index f6f7083d5..b5dcbd71f 100644 --- a/plugin/file_key_management/file_key_management_plugin.cc +++ b/plugin/file_key_management/file_key_management_plugin.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/file_key_management/parser.cc b/plugin/file_key_management/parser.cc index ac78186a4..83895fe28 100644 --- a/plugin/file_key_management/parser.cc +++ b/plugin/file_key_management/parser.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /******************************************************************//** @file Parser.cc diff --git a/plugin/file_key_management/parser.h b/plugin/file_key_management/parser.h index 627b7fd84..ca9dedd8a 100644 --- a/plugin/file_key_management/parser.h +++ b/plugin/file_key_management/parser.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /******************************************************************//** @file Parser.h diff --git a/plugin/fulltext/CMakeLists.txt b/plugin/fulltext/CMakeLists.txt index b65fcba04..23710ee13 100644 --- a/plugin/fulltext/CMakeLists.txt +++ b/plugin/fulltext/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA MYSQL_ADD_PLUGIN(ftexample plugin_example.c MODULE_ONLY MODULE_OUTPUT_NAME "mypluglib" COMPONENT Test) diff --git a/plugin/fulltext/plugin_example.c b/plugin/fulltext/plugin_example.c index 778918cb4..f175179e8 100644 --- a/plugin/fulltext/plugin_example.c +++ b/plugin/fulltext/plugin_example.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/metadata_lock_info/metadata_lock_info.cc b/plugin/metadata_lock_info/metadata_lock_info.cc index 39ac390b0..7abae275f 100644 --- a/plugin/metadata_lock_info/metadata_lock_info.cc +++ b/plugin/metadata_lock_info/metadata_lock_info.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define MYSQL_SERVER 1 #include "my_config.h" diff --git a/plugin/query_response_time/plugin.cc b/plugin/query_response_time/plugin.cc index 0ed8b88dc..eddf65c49 100644 --- a/plugin/query_response_time/plugin.cc +++ b/plugin/query_response_time/plugin.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define MYSQL_SERVER #include diff --git a/plugin/semisync/CMakeLists.txt b/plugin/semisync/CMakeLists.txt index 88998fb30..1def8fdc6 100644 --- a/plugin/semisync/CMakeLists.txt +++ b/plugin/semisync/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET(SEMISYNC_MASTER_SOURCES semisync.cc semisync_master.cc semisync_master_plugin.cc diff --git a/plugin/semisync/semisync.cc b/plugin/semisync/semisync.cc index 4a80360ba..fe6f1d9b0 100644 --- a/plugin/semisync/semisync.cc +++ b/plugin/semisync/semisync.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "semisync.h" diff --git a/plugin/semisync/semisync.h b/plugin/semisync/semisync.h index 285772968..abd0bb078 100644 --- a/plugin/semisync/semisync.h +++ b/plugin/semisync/semisync.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef SEMISYNC_H diff --git a/plugin/semisync/semisync_master.cc b/plugin/semisync/semisync_master.cc index ab437bcfa..cd80e8614 100644 --- a/plugin/semisync/semisync_master.cc +++ b/plugin/semisync/semisync_master.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "semisync_master.h" diff --git a/plugin/semisync/semisync_master.h b/plugin/semisync/semisync_master.h index c2862476e..23d3140bf 100644 --- a/plugin/semisync/semisync_master.h +++ b/plugin/semisync/semisync_master.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef SEMISYNC_MASTER_H diff --git a/plugin/semisync/semisync_master_plugin.cc b/plugin/semisync/semisync_master_plugin.cc index 309910312..4432b829c 100644 --- a/plugin/semisync/semisync_master_plugin.cc +++ b/plugin/semisync/semisync_master_plugin.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "semisync_master.h" diff --git a/plugin/semisync/semisync_slave.cc b/plugin/semisync/semisync_slave.cc index 5f98472d5..3223bd932 100644 --- a/plugin/semisync/semisync_slave.cc +++ b/plugin/semisync/semisync_slave.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "semisync_slave.h" diff --git a/plugin/semisync/semisync_slave.h b/plugin/semisync/semisync_slave.h index 1bf8cf319..56c0a4ccc 100644 --- a/plugin/semisync/semisync_slave.h +++ b/plugin/semisync/semisync_slave.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef SEMISYNC_SLAVE_H diff --git a/plugin/semisync/semisync_slave_plugin.cc b/plugin/semisync/semisync_slave_plugin.cc index 3a6c7625d..b7a4c964c 100644 --- a/plugin/semisync/semisync_slave_plugin.cc +++ b/plugin/semisync/semisync_slave_plugin.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "semisync_slave.h" diff --git a/plugin/server_audit/CMakeLists.txt b/plugin/server_audit/CMakeLists.txt index 056a11f37..8a5333cfb 100644 --- a/plugin/server_audit/CMakeLists.txt +++ b/plugin/server_audit/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA SET(SOURCES server_audit.c test_audit_v4.c plugin_audit_v4.h) diff --git a/plugin/server_audit/COPYING b/plugin/server_audit/COPYING index d511905c1..6e475df55 100644 --- a/plugin/server_audit/COPYING +++ b/plugin/server_audit/COPYING @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. Also add information on how to contact you by electronic and paper mail. diff --git a/plugin/server_audit/plugin_audit_v4.h b/plugin/server_audit/plugin_audit_v4.h index f8662c23e..a2a38806f 100644 --- a/plugin/server_audit/plugin_audit_v4.h +++ b/plugin/server_audit/plugin_audit_v4.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _my_audit_h #define _my_audit_h diff --git a/plugin/server_audit/server_audit.c b/plugin/server_audit/server_audit.c index c4dcf082f..a18b40c21 100644 --- a/plugin/server_audit/server_audit.c +++ b/plugin/server_audit/server_audit.c @@ -11,11 +11,11 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #define PLUGIN_VERSION 0x104 -#define PLUGIN_STR_VERSION "1.4.4" +#define PLUGIN_STR_VERSION "1.4.7" #define _my_thread_var loc_thread_var @@ -26,8 +26,13 @@ #include #ifndef _WIN32 +#define DO_SYSLOG #include +static const char out_type_desc[]= "Desired output type. Possible values - 'syslog', 'file'" + " or 'null' as no output."; #else +static const char out_type_desc[]= "Desired output type. Possible values - 'file'" + " or 'null' as no output."; #define syslog(PRIORITY, FORMAT, INFO, MESSAGE_LEN, MESSAGE) do {}while(0) static void closelog() {} #define openlog(IDENT, LOG_NOWAIT, LOG_USER) do {}while(0) @@ -87,6 +92,7 @@ static void closelog() {} #include #include #include +#include "../../mysys/mysys_priv.h" #ifndef RTLD_DEFAULT #define RTLD_DEFAULT NULL #endif @@ -295,7 +301,7 @@ static unsigned long long file_rotate_size; static unsigned int rotations; static my_bool rotate= TRUE; static char logging; -static int internal_stop_logging= 0; +static volatile int internal_stop_logging= 0; static char incl_user_buffer[1024]; static char excl_user_buffer[1024]; static char *big_buffer= NULL; @@ -384,18 +390,28 @@ static MYSQL_SYSVAR_SET(events, events, PLUGIN_VAR_RQCMDARG, "Specifies the set of events to monitor. Can be CONNECT, QUERY, TABLE," " QUERY_DDL, QUERY_DML, QUERY_DML_NO_SELECT, QUERY_DCL.", NULL, NULL, 0, &events_typelib); +#ifdef DO_SYSLOG #define OUTPUT_SYSLOG 0 #define OUTPUT_FILE 1 +#else +#define OUTPUT_SYSLOG 0xFFFF +#define OUTPUT_FILE 0 +#endif /*DO_SYSLOG*/ + #define OUTPUT_NO 0xFFFF -static const char *output_type_names[]= { "syslog", "file", 0 }; +static const char *output_type_names[]= { +#ifdef DO_SYSLOG + "syslog", +#endif + "file", 0 }; static TYPELIB output_typelib= { array_elements(output_type_names) - 1, "output_typelib", output_type_names, NULL }; static MYSQL_SYSVAR_ENUM(output_type, output_type, PLUGIN_VAR_RQCMDARG, - "Desired output type. Possible values - 'syslog', 'file'" - " or 'null' as no output.", 0, update_output_type, OUTPUT_FILE, + out_type_desc, + 0, update_output_type, OUTPUT_FILE, &output_typelib); static MYSQL_SYSVAR_STR(file_path, file_path, PLUGIN_VAR_RQCMDARG, "Path to the log file.", NULL, update_file_path, default_file_name); @@ -533,16 +549,20 @@ static struct st_mysql_show_var audit_status[]= #if defined(HAVE_PSI_INTERFACE) && !defined(FLOGGER_NO_PSI) /* These belong to the service initialization */ static PSI_mutex_key key_LOCK_operations; +static PSI_mutex_key key_LOCK_atomic; static PSI_mutex_key key_LOCK_bigbuffer; static PSI_mutex_info mutex_key_list[]= { { &key_LOCK_operations, "SERVER_AUDIT_plugin::lock_operations", PSI_FLAG_GLOBAL}, + { &key_LOCK_atomic, "SERVER_AUDIT_plugin::lock_atomic", + PSI_FLAG_GLOBAL}, { &key_LOCK_bigbuffer, "SERVER_AUDIT_plugin::lock_bigbuffer", PSI_FLAG_GLOBAL} }; #endif static mysql_mutex_t lock_operations; +static mysql_mutex_t lock_atomic; static mysql_mutex_t lock_bigbuffer; /* The Percona server and partly MySQL don't support */ @@ -553,6 +573,14 @@ static mysql_mutex_t lock_bigbuffer; /* worths doing. */ #define CLIENT_ERROR if (!started_mysql) my_printf_error +#define ADD_ATOMIC(x, a) \ + do { \ + flogger_mutex_lock(&lock_atomic); \ + x+= a; \ + flogger_mutex_unlock(&lock_atomic); \ + } while (0) + + static uchar *getkey_user(const char *entry, size_t *length, my_bool nu __attribute__((unused)) ) { @@ -626,7 +654,7 @@ static void remove_blanks(char *user) struct user_name { - int name_len; + size_t name_len; char *name; }; @@ -661,7 +689,7 @@ static int cmp_users(const void *ia, const void *ib) { const struct user_name *a= (const struct user_name *) ia; const struct user_name *b= (const struct user_name *) ib; - int dl= a->name_len - b->name_len; + int dl= (int) a->name_len - (int) b->name_len; if (dl != 0) return dl; @@ -669,7 +697,7 @@ static int cmp_users(const void *ia, const void *ib) } -static char *coll_search(struct user_coll *c, const char *n, int len) +static char *coll_search(struct user_coll *c, const char *n, size_t len) { struct user_name un; struct user_name *found; @@ -681,7 +709,7 @@ static char *coll_search(struct user_coll *c, const char *n, int len) } -static int coll_insert(struct user_coll *c, char *n, int len) +static int coll_insert(struct user_coll *c, char *n, size_t len) { if (c->n_users >= c->n_alloced) { @@ -731,20 +759,20 @@ static int user_coll_fill(struct user_coll *c, char *users, if (cmp_user && take_over_cmp) { - internal_stop_logging= 1; + ADD_ATOMIC(internal_stop_logging, 1); CLIENT_ERROR(1, "User '%.*s' was removed from the" " server_audit_excl_users.", MYF(ME_JUST_WARNING), (int) cmp_length, users); - internal_stop_logging= 0; + ADD_ATOMIC(internal_stop_logging, -1); blank_user(cmp_user); refill_cmp_coll= 1; } else if (cmp_user) { - internal_stop_logging= 1; + ADD_ATOMIC(internal_stop_logging, 1); CLIENT_ERROR(1, "User '%.*s' is in the server_audit_incl_users, " "so wasn't added.", MYF(ME_JUST_WARNING), (int) cmp_length, users); - internal_stop_logging= 0; + ADD_ATOMIC(internal_stop_logging, -1); remove_user(users); continue; } @@ -936,7 +964,7 @@ static void get_str_n(char *dest, int *dest_len, size_t dest_size, memcpy(dest, src, src_len); dest[src_len]= 0; - *dest_len= src_len; + *dest_len= (int) src_len; } @@ -1122,6 +1150,7 @@ static void setup_connection_connect(struct connection_info *cn, #define SAFE_STRLEN(s) (s ? strlen(s) : 0) +#define SAFE_STRLEN_UI(s) ((unsigned int) (s ? strlen(s) : 0)) static char empty_str[1]= { 0 }; @@ -1252,29 +1281,36 @@ static void change_connection(struct connection_info *cn, event->ip, event->ip_length); } -static int write_log(const char *message, int len) +static int write_log(const char *message, size_t len, int take_lock) { + int result= 0; + if (take_lock) + flogger_mutex_lock(&lock_operations); + if (output_type == OUTPUT_FILE) { if (logfile && - (is_active= (logger_write(logfile, message, len) == len))) - return 0; + (is_active= (logger_write(logfile, message, len) == (int) len))) + goto exit; ++log_write_failures; - return 1; + result= 1; } else if (output_type == OUTPUT_SYSLOG) { syslog(syslog_facility_codes[syslog_facility] | syslog_priority_codes[syslog_priority], - "%s %.*s", syslog_info, len, message); + "%s %.*s", syslog_info, (int) len, message); } - return 0; +exit: + if (take_lock) + flogger_mutex_unlock(&lock_operations); + return result; } static size_t log_header(char *message, size_t message_len, time_t *ts, - const char *serverhost, unsigned int serverhost_len, + const char *serverhost, size_t serverhost_len, const char *username, unsigned int username_len, const char *host, unsigned int host_len, const char *userip, unsigned int userip_len, @@ -1292,7 +1328,7 @@ static size_t log_header(char *message, size_t message_len, if (output_type == OUTPUT_SYSLOG) return my_snprintf(message, message_len, "%.*s,%.*s,%.*s,%d,%lld,%s", - serverhost_len, serverhost, + (unsigned int) serverhost_len, serverhost, username_len, username, host_len, host, connection_id, query_id, operation); @@ -1327,7 +1363,7 @@ static int log_connection(const struct connection_info *cn, csize+= my_snprintf(message+csize, sizeof(message) - 1 - csize, ",%.*s,,%d", cn->db_length, cn->db, event->status); message[csize]= '\n'; - return write_log(message, csize + 1); + return write_log(message, csize + 1, 1); } @@ -1348,7 +1384,7 @@ static int log_connection_event(const struct mysql_event_connection *event, csize+= my_snprintf(message+csize, sizeof(message) - 1 - csize, ",%.*s,,%d", event->database_length, event->database, event->status); message[csize]= '\n'; - return write_log(message, csize + 1); + return write_log(message, csize + 1, 1); } @@ -1450,7 +1486,7 @@ static size_t escape_string_hide_passwords(const char *str, unsigned int len, } next_s++; } - len-= next_s - str; + len-= (unsigned int) (next_s - str); str= next_s; continue; } @@ -1477,21 +1513,28 @@ static size_t escape_string_hide_passwords(const char *str, unsigned int len, -static int do_log_user(const char *name) +static int do_log_user(const char *name, int take_lock) { size_t len; + int result; if (!name) return 0; len= strlen(name); - if (incl_user_coll.n_users) - return coll_search(&incl_user_coll, name, len) != 0; + if (take_lock) + flogger_mutex_lock(&lock_operations); - if (excl_user_coll.n_users) - return coll_search(&excl_user_coll, name, len) == 0; + if (incl_user_coll.n_users) + result= coll_search(&incl_user_coll, name, len) != 0; + else if (excl_user_coll.n_users) + result= coll_search(&excl_user_coll, name, len) == 0; + else + result= 1; - return 1; + if (take_lock) + flogger_mutex_unlock(&lock_operations); + return result; } @@ -1588,7 +1631,7 @@ static int filter_query_type(const char *query, struct sa_keyword *kwd) static int log_statement_ex(const struct connection_info *cn, time_t ev_time, unsigned long thd_id, const char *query, unsigned int query_len, - int error_code, const char *type) + int error_code, const char *type, int take_lock) { size_t csize; char message_loc[1024]; @@ -1736,7 +1779,7 @@ static int log_statement_ex(const struct connection_info *cn, csize+= my_snprintf(message+csize, message_size - 1 - csize, "\',%d", error_code); message[csize]= '\n'; - result= write_log(message, csize + 1); + result= write_log(message, csize + 1, take_lock); if (message == big_buffer) flogger_mutex_unlock(&lock_bigbuffer); @@ -1750,7 +1793,7 @@ static int log_statement(const struct connection_info *cn, { return log_statement_ex(cn, event->general_time, event->general_thread_id, event->general_query, event->general_query_length, - event->general_error_code, type); + event->general_error_code, type, 1); } @@ -1764,15 +1807,15 @@ static int log_table(const struct connection_info *cn, (void) time(&ctime); csize= log_header(message, sizeof(message)-1, &ctime, servhost, servhost_len, - event->user, SAFE_STRLEN(event->user), - event->host, SAFE_STRLEN(event->host), - event->ip, SAFE_STRLEN(event->ip), + event->user, SAFE_STRLEN_UI(event->user), + event->host, SAFE_STRLEN_UI(event->host), + event->ip, SAFE_STRLEN_UI(event->ip), event->thread_id, cn->query_id, type); csize+= my_snprintf(message+csize, sizeof(message) - 1 - csize, ",%.*s,%.*s,",event->database_length, event->database, event->table_length, event->table); message[csize]= '\n'; - return write_log(message, csize + 1); + return write_log(message, csize + 1, 1); } @@ -1786,9 +1829,9 @@ static int log_rename(const struct connection_info *cn, (void) time(&ctime); csize= log_header(message, sizeof(message)-1, &ctime, servhost, servhost_len, - event->user, SAFE_STRLEN(event->user), - event->host, SAFE_STRLEN(event->host), - event->ip, SAFE_STRLEN(event->ip), + event->user, SAFE_STRLEN_UI(event->user), + event->host, SAFE_STRLEN_UI(event->host), + event->ip, SAFE_STRLEN_UI(event->ip), event->thread_id, cn->query_id, "RENAME"); csize+= my_snprintf(message+csize, sizeof(message) - 1 - csize, ",%.*s,%.*s|%.*s.%.*s,",event->database_length, event->database, @@ -1796,7 +1839,7 @@ static int log_rename(const struct connection_info *cn, event->new_database_length, event->new_database, event->new_table_length, event->new_table); message[csize]= '\n'; - return write_log(message, csize + 1); + return write_log(message, csize + 1, 1); } @@ -1988,8 +2031,6 @@ void auditing(MYSQL_THD thd, unsigned int event_class, const void *ev) if (!thd || internal_stop_logging) return; - flogger_mutex_lock(&lock_operations); - if (maria_55_started && debug_server_started && event_class == MYSQL_AUDIT_GENERAL_CLASS) { @@ -2024,7 +2065,7 @@ void auditing(MYSQL_THD thd, unsigned int event_class, const void *ev) goto exit_func; if (event_class == MYSQL_AUDIT_GENERAL_CLASS && FILTER(EVENT_QUERY) && - cn && do_log_user(cn->user)) + cn && do_log_user(cn->user, 1)) { const struct mysql_event_general *event = (const struct mysql_event_general *) ev; @@ -2043,7 +2084,7 @@ void auditing(MYSQL_THD thd, unsigned int event_class, const void *ev) { const struct mysql_event_table *event = (const struct mysql_event_table *) ev; - if (do_log_user(event->user)) + if (do_log_user(event->user, 1)) { switch (event->event_subclass) { @@ -2109,7 +2150,6 @@ void auditing(MYSQL_THD thd, unsigned int event_class, const void *ev) } if (cn) cn->log_always= 0; - flogger_mutex_unlock(&lock_operations); } @@ -2377,6 +2417,7 @@ static int server_audit_init(void *p __attribute__((unused))) PSI_server->register_mutex("server_audit", mutex_key_list, 1); #endif flogger_mutex_init(key_LOCK_operations, &lock_operations, MY_MUTEX_INIT_FAST); + flogger_mutex_init(key_LOCK_operations, &lock_atomic, MY_MUTEX_INIT_FAST); flogger_mutex_init(key_LOCK_operations, &lock_bigbuffer, MY_MUTEX_INIT_FAST); coll_init(&incl_user_coll); @@ -2464,6 +2505,7 @@ static int server_audit_deinit(void *p __attribute__((unused))) (void) free(big_buffer); flogger_mutex_destroy(&lock_operations); + flogger_mutex_destroy(&lock_atomic); flogger_mutex_destroy(&lock_bigbuffer); error_header(); @@ -2553,10 +2595,10 @@ static void log_current_query(MYSQL_THD thd) return; cn= get_loc_info(thd); if (!ci_needs_setup(cn) && cn->query_length && - FILTER(EVENT_QUERY) && do_log_user(cn->user)) + FILTER(EVENT_QUERY) && do_log_user(cn->user, 0)) { log_statement_ex(cn, cn->query_time, thd_get_thread_id(thd), - cn->query, cn->query_length, 0, "QUERY"); + cn->query, cn->query_length, 0, "QUERY", 0); cn->log_always= 1; } } @@ -2568,12 +2610,13 @@ static void update_file_path(MYSQL_THD thd, { char *new_name= (*(char **) save) ? *(char **) save : empty_str; - if (!maria_55_started || !debug_server_started) - flogger_mutex_lock(&lock_operations); - internal_stop_logging= 1; + ADD_ATOMIC(internal_stop_logging, 1); error_header(); fprintf(stderr, "Log file name was changed to '%s'.\n", new_name); + if (!maria_55_started || !debug_server_started) + flogger_mutex_lock(&lock_operations); + if (logging) log_current_query(thd); @@ -2582,7 +2625,6 @@ static void update_file_path(MYSQL_THD thd, char *sav_path= file_path; file_path= new_name; - internal_stop_logging= 1; stop_logging(); if (start_logging()) { @@ -2598,16 +2640,15 @@ static void update_file_path(MYSQL_THD thd, } goto exit_func; } - internal_stop_logging= 0; } strncpy(path_buffer, new_name, sizeof(path_buffer)-1); path_buffer[sizeof(path_buffer)-1]= 0; file_path= path_buffer; exit_func: - internal_stop_logging= 0; if (!maria_55_started || !debug_server_started) flogger_mutex_unlock(&lock_operations); + ADD_ATOMIC(internal_stop_logging, -1); } @@ -2692,8 +2733,8 @@ static void update_output_type(MYSQL_THD thd, if (output_type == new_output_type) return; + ADD_ATOMIC(internal_stop_logging, 1); flogger_mutex_lock(&lock_operations); - internal_stop_logging= 1; if (logging) { log_current_query(thd); @@ -2707,8 +2748,8 @@ static void update_output_type(MYSQL_THD thd, if (logging) start_logging(); - internal_stop_logging= 0; flogger_mutex_unlock(&lock_operations); + ADD_ATOMIC(internal_stop_logging, -1); } @@ -2756,9 +2797,9 @@ static void update_logging(MYSQL_THD thd, if (new_logging == logging) return; + ADD_ATOMIC(internal_stop_logging, 1); if (!maria_55_started || !debug_server_started) flogger_mutex_lock(&lock_operations); - internal_stop_logging= 1; if ((logging= new_logging)) { start_logging(); @@ -2773,9 +2814,9 @@ static void update_logging(MYSQL_THD thd, stop_logging(); } - internal_stop_logging= 0; if (!maria_55_started || !debug_server_started) flogger_mutex_unlock(&lock_operations); + ADD_ATOMIC(internal_stop_logging, -1); } @@ -2787,16 +2828,16 @@ static void update_mode(MYSQL_THD thd __attribute__((unused)), if (mode_readonly || new_mode == mode) return; + ADD_ATOMIC(internal_stop_logging, 1); if (!maria_55_started || !debug_server_started) flogger_mutex_lock(&lock_operations); - internal_stop_logging= 1; mark_always_logged(thd); error_header(); fprintf(stderr, "Logging mode was changed from %d to %d.\n", mode, new_mode); mode= new_mode; - internal_stop_logging= 0; if (!maria_55_started || !debug_server_started) flogger_mutex_unlock(&lock_operations); + ADD_ATOMIC(internal_stop_logging, -1); } diff --git a/plugin/server_audit/test_audit_v4.c b/plugin/server_audit/test_audit_v4.c index ae7527f84..d0b341be3 100644 --- a/plugin/server_audit/test_audit_v4.c +++ b/plugin/server_audit/test_audit_v4.c @@ -56,11 +56,11 @@ static int auditing_v4(MYSQL_THD thd, mysql_event_class_t class, const void *ev) ev_302.general_error_code= event->general_error_code; ev_302.general_thread_id= event->general_thread_id; ev_302.general_user= event->general_user.str; - ev_302.general_user_length= event->general_user.length; + ev_302.general_user_length= (unsigned int) event->general_user.length; ev_302.general_command= event->general_command.str; - ev_302.general_command_length= event->general_command.length; + ev_302.general_command_length= (unsigned int) event->general_command.length; ev_302.general_query= event->general_query.str; - ev_302.general_query_length= event->general_query.length; + ev_302.general_query_length= (unsigned int) event->general_query.length; ev_302.general_charset= event->general_charset; ev_302.general_time= event->general_time; ev_302.general_rows= event->general_rows; diff --git a/plugin/simple_password_check/simple_password_check.c b/plugin/simple_password_check/simple_password_check.c index f1c425b33..32f3ba6c7 100644 --- a/plugin/simple_password_check/simple_password_check.c +++ b/plugin/simple_password_check/simple_password_check.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/sql_errlog/CMakeLists.txt b/plugin/sql_errlog/CMakeLists.txt index 18fb9f542..10754f2a3 100644 --- a/plugin/sql_errlog/CMakeLists.txt +++ b/plugin/sql_errlog/CMakeLists.txt @@ -11,6 +11,6 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA MYSQL_ADD_PLUGIN(sql_errlog sql_errlog.c MODULE_ONLY) diff --git a/plugin/sql_errlog/sql_errlog.c b/plugin/sql_errlog/sql_errlog.c index c0e6b7255..e0ebd6b77 100644 --- a/plugin/sql_errlog/sql_errlog.c +++ b/plugin/sql_errlog/sql_errlog.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/win_auth_client/CMakeLists.txt b/plugin/win_auth_client/CMakeLists.txt index 5d72d24d6..435c5b896 100644 --- a/plugin/win_auth_client/CMakeLists.txt +++ b/plugin/win_auth_client/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA IF(WIN32) # diff --git a/plugin/win_auth_client/common.cc b/plugin/win_auth_client/common.cc index 30a8e0b3b..27f1685e2 100644 --- a/plugin/win_auth_client/common.cc +++ b/plugin/win_auth_client/common.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "common.h" #include // for ConvertSidToStringSid() @@ -504,7 +504,7 @@ const char* get_last_error_message(Error_message_buf buf) buf[0]= '\0'; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPTSTR)buf, sizeof(buf), NULL ); + (LPTSTR)buf, sizeof(Error_message_buf), NULL); return buf; } diff --git a/plugin/win_auth_client/common.h b/plugin/win_auth_client/common.h index 415294b1e..206cb9240 100644 --- a/plugin/win_auth_client/common.h +++ b/plugin/win_auth_client/common.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef COMMON_H #define COMMON_H diff --git a/plugin/win_auth_client/handshake.cc b/plugin/win_auth_client/handshake.cc index 8e6af8408..cd63ee263 100644 --- a/plugin/win_auth_client/handshake.cc +++ b/plugin/win_auth_client/handshake.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "handshake.h" diff --git a/plugin/win_auth_client/handshake.h b/plugin/win_auth_client/handshake.h index adab4715c..d495ba511 100644 --- a/plugin/win_auth_client/handshake.h +++ b/plugin/win_auth_client/handshake.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef HANDSHAKE_H #define HANDSHAKE_H diff --git a/plugin/win_auth_client/handshake_client.cc b/plugin/win_auth_client/handshake_client.cc index 856dda762..4a3208af2 100644 --- a/plugin/win_auth_client/handshake_client.cc +++ b/plugin/win_auth_client/handshake_client.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "handshake.h" diff --git a/plugin/win_auth_client/log_client.cc b/plugin/win_auth_client/log_client.cc index ec7210a8a..2e8785101 100644 --- a/plugin/win_auth_client/log_client.cc +++ b/plugin/win_auth_client/log_client.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "common.h" diff --git a/plugin/win_auth_client/plugin_client.cc b/plugin/win_auth_client/plugin_client.cc index c7dcb92e6..37bd1bc5c 100644 --- a/plugin/win_auth_client/plugin_client.cc +++ b/plugin/win_auth_client/plugin_client.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/plugin/wsrep_info/mysql-test/wsrep_info/my.cnf b/plugin/wsrep_info/mysql-test/wsrep_info/my.cnf index 70682178c..52c7789e9 100644 --- a/plugin/wsrep_info/mysql-test/wsrep_info/my.cnf +++ b/plugin/wsrep_info/mysql-test/wsrep_info/my.cnf @@ -5,7 +5,6 @@ wsrep-on=1 binlog-format=row innodb-autoinc-lock-mode=2 -innodb-locks-unsafe-for-binlog=1 wsrep-cluster-address=gcomm:// wsrep_provider=@ENV.WSREP_PROVIDER diff --git a/plugin/wsrep_info/plugin.cc b/plugin/wsrep_info/plugin.cc index a4362f007..6e95438c3 100644 --- a/plugin/wsrep_info/plugin.cc +++ b/plugin/wsrep_info/plugin.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQL_SERVER #define MYSQL_SERVER diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 9f320ce6a..b139b51e2 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Build comp_sql - used for embedding SQL in C or C++ programs IF(NOT CMAKE_CROSSCOMPILING) diff --git a/scripts/comp_sql.c b/scripts/comp_sql.c index bcc653a3b..a1f272618 100644 --- a/scripts/comp_sql.c +++ b/scripts/comp_sql.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Originally written by Magnus Svensson diff --git a/scripts/fill_help_tables.sql b/scripts/fill_help_tables.sql index f8055867b..71a44358c 100644 --- a/scripts/fill_help_tables.sql +++ b/scripts/fill_help_tables.sql @@ -11,7 +11,7 @@ -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software --- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. -- DO NOT EDIT THIS FILE. It is generated automatically. diff --git a/scripts/galera_recovery.sh b/scripts/galera_recovery.sh index c58f3d8f6..709c4b0ee 100644 --- a/scripts/galera_recovery.sh +++ b/scripts/galera_recovery.sh @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ # This script is intended to be executed by systemd. It starts mysqld with diff --git a/scripts/make_win_bin_dist b/scripts/make_win_bin_dist index 2415d4017..7387dc2c1 100755 --- a/scripts/make_win_bin_dist +++ b/scripts/make_win_bin_dist @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Exit if failing to copy, we want exact specifications, not # just "what happen to be built". diff --git a/scripts/maria_add_gis_sp.sql.in b/scripts/maria_add_gis_sp.sql.in index 5826cc1a0..412b83e3d 100644 --- a/scripts/maria_add_gis_sp.sql.in +++ b/scripts/maria_add_gis_sp.sql.in @@ -11,7 +11,7 @@ -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software --- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This part creates stored procedures required by the OpenGIS standards. # script is prepared to be run with the --bootstrap server option diff --git a/scripts/mariadb-service-convert b/scripts/mariadb-service-convert index 83c926591..380437335 100755 --- a/scripts/mariadb-service-convert +++ b/scripts/mariadb-service-convert @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # # PURPOSE: # diff --git a/scripts/msql2mysql.sh b/scripts/msql2mysql.sh index d5f1e55af..72a609fa6 100644 --- a/scripts/msql2mysql.sh +++ b/scripts/msql2mysql.sh @@ -14,6 +14,6 @@ # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston -# MA 02110-1301 USA. +# MA 02110-1335 USA. @bindir@/replace msqlConnect mysql_connect msqlListDBs mysql_list_dbs msqlNumRows mysql_num_rows msqlFetchRow mysql_fetch_row msqlFetchField mysql_fetch_field msqlFreeResult mysql_free_result msqlListFields mysql_list_fields msqlListTables mysql_list_tables msqlErrMsg 'mysql_error(mysql)' msqlStoreResult mysql_store_result msqlQuery mysql_query msqlField mysql_field msqlSelect mysql_select msqlSelectDB mysql_select_db msqlNumFields mysql_num_fields msqlClose mysql_close msqlDataSeek mysql_data_seek m_field MYSQL_FIELD m_result MYSQL_RES m_row MYSQL_ROW msql mysql mSQL mySQL MSQL MYSQL msqlCreateDB mysql_create_db msqlDropDB mysql_drop_db msqlFieldSeek mysql_field_seek -- $* diff --git a/scripts/mysql_config.pl.in b/scripts/mysql_config.pl.in index f2c27bc0b..fec9bc648 100644 --- a/scripts/mysql_config.pl.in +++ b/scripts/mysql_config.pl.in @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ############################################################################## # diff --git a/scripts/mysql_config.sh b/scripts/mysql_config.sh index 52f6d563f..425dee1e2 100644 --- a/scripts/mysql_config.sh +++ b/scripts/mysql_config.sh @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This script reports various configuration settings that may be needed # when using the MariaDB client library. diff --git a/scripts/mysql_convert_table_format.sh b/scripts/mysql_convert_table_format.sh index 8fe7e9b22..2001efae3 100644 --- a/scripts/mysql_convert_table_format.sh +++ b/scripts/mysql_convert_table_format.sh @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Convert given tables in a database to MYISAM diff --git a/scripts/mysql_find_rows.sh b/scripts/mysql_find_rows.sh index 4a9c3dbd4..09bcc2279 100644 --- a/scripts/mysql_find_rows.sh +++ b/scripts/mysql_find_rows.sh @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA $version="1.02"; diff --git a/scripts/mysql_fix_extensions.sh b/scripts/mysql_fix_extensions.sh index edc209589..c0de813ef 100644 --- a/scripts/mysql_fix_extensions.sh +++ b/scripts/mysql_fix_extensions.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # This is a utility for MariaDB. It is not needed by any standard part # of MariaDB. diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in index 68d47fed2..f6d3eefbb 100644 --- a/scripts/mysql_install_db.pl.in +++ b/scripts/mysql_install_db.pl.in @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ############################################################################## # diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index 43b7d7a52..1479ffc04 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This scripts creates the MariaDB Server system tables # @@ -273,9 +273,16 @@ then fi if test -n "$srcdir" then + # In an out-of-source build, builddir is not srcdir. Try to guess where + # builddir is by looking for my_print_defaults. if test -z "$builddir" then - builddir="$srcdir" + if test -x "$dirname0/extra/my_print_defaults" + then + builddir="$dirname0" + else + builddir="$srcdir" + fi fi print_defaults="$builddir/extra/my_print_defaults" elif test -n "$basedir" diff --git a/scripts/mysql_secure_installation.pl.in b/scripts/mysql_secure_installation.pl.in index 01d34c4af..e4353e57b 100644 --- a/scripts/mysql_secure_installation.pl.in +++ b/scripts/mysql_secure_installation.pl.in @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA use Fcntl; use File::Spec; diff --git a/scripts/mysql_secure_installation.sh b/scripts/mysql_secure_installation.sh index 57e4d43df..a87dd93bc 100644 --- a/scripts/mysql_secure_installation.sh +++ b/scripts/mysql_secure_installation.sh @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA config=".my.cnf.$$" command=".mysql.$$" diff --git a/scripts/mysql_setpermission.sh b/scripts/mysql_setpermission.sh index 1d67ff82f..71462d286 100644 --- a/scripts/mysql_setpermission.sh +++ b/scripts/mysql_setpermission.sh @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA ## ## Permission setter for MySQL diff --git a/scripts/mysql_system_tables.sql b/scripts/mysql_system_tables.sql index f7d277544..76b4fb93e 100644 --- a/scripts/mysql_system_tables.sql +++ b/scripts/mysql_system_tables.sql @@ -12,7 +12,7 @@ -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software --- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA -- -- The system tables of MySQL Server diff --git a/scripts/mysql_system_tables_data.sql b/scripts/mysql_system_tables_data.sql index 9556e7ba1..53704c763 100644 --- a/scripts/mysql_system_tables_data.sql +++ b/scripts/mysql_system_tables_data.sql @@ -11,7 +11,7 @@ -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software --- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA -- -- The inital data for system tables of MySQL Server diff --git a/scripts/mysql_system_tables_fix.sql b/scripts/mysql_system_tables_fix.sql index df5458978..89b1756d7 100644 --- a/scripts/mysql_system_tables_fix.sql +++ b/scripts/mysql_system_tables_fix.sql @@ -12,7 +12,7 @@ -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software --- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This part converts any old privilege tables to privilege tables suitable # for current version of MySQL diff --git a/scripts/mysql_test_data_timezone.sql b/scripts/mysql_test_data_timezone.sql index 091d4f00a..b4902c358 100644 --- a/scripts/mysql_test_data_timezone.sql +++ b/scripts/mysql_test_data_timezone.sql @@ -12,7 +12,7 @@ -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software --- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA INSERT INTO time_zone_name (Name, Time_Zone_id) VALUES ('MET', 1), ('UTC', 2), ('Universal', 2), ('Europe/Moscow',3), ('leap/Europe/Moscow',4), ('Japan', 5); INSERT INTO time_zone (Time_zone_id, Use_leap_seconds) VALUES (1,'N'), (2,'N'), (3,'N'), (4,'Y'), (5,'N'); diff --git a/scripts/mysql_zap.sh b/scripts/mysql_zap.sh index a2ee225c0..ca8348238 100644 --- a/scripts/mysql_zap.sh +++ b/scripts/mysql_zap.sh @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # This is a utility for MariaDB. It is not needed by any standard part # of MariaDB. diff --git a/scripts/mysqlaccess.sh b/scripts/mysqlaccess.sh index e7c1f8d1f..7d7883d29 100644 --- a/scripts/mysqlaccess.sh +++ b/scripts/mysqlaccess.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # **************************** package MySQLaccess; diff --git a/scripts/mysqlbug.sh b/scripts/mysqlbug.sh index e9df210fa..4533f8202 100644 --- a/scripts/mysqlbug.sh +++ b/scripts/mysqlbug.sh @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Create a bug report and mail it to the mysql mailing list # Based on glibc bug reporting script. diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index 2ab70cdd4..64fa76f0e 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA use Getopt::Long; use POSIX qw(strftime getcwd); diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh index f21e69795..d51867d9d 100644 --- a/scripts/mysqld_safe.sh +++ b/scripts/mysqld_safe.sh @@ -752,9 +752,9 @@ fi safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}} # Make sure that directory for $safe_mysql_unix_port exists mysql_unix_port_dir=`dirname $safe_mysql_unix_port` -if [ ! -d $mysql_unix_port_dir ] +if [ ! -d $mysql_unix_port_dir -a $dry_run -eq 0 ] then - if ! `mkdir -p $mysql_unix_port_dir` + if ! mkdir -p $mysql_unix_port_dir then log_error "Fatal error Can't create database directory '$mysql_unix_port'" exit 1 diff --git a/scripts/mysqldumpslow.sh b/scripts/mysqldumpslow.sh index 6a6ab0dc8..5c46587e9 100644 --- a/scripts/mysqldumpslow.sh +++ b/scripts/mysqldumpslow.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # mysqldumpslow - parse and summarize the MySQL slow query log diff --git a/scripts/mysqlhotcopy.sh b/scripts/mysqlhotcopy.sh index d6184d9ef..c56cdea47 100644 --- a/scripts/mysqlhotcopy.sh +++ b/scripts/mysqlhotcopy.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA use strict; use Getopt::Long; diff --git a/scripts/wsrep_sst_common.sh b/scripts/wsrep_sst_common.sh index da148495b..3b8cce9c4 100644 --- a/scripts/wsrep_sst_common.sh +++ b/scripts/wsrep_sst_common.sh @@ -12,7 +12,7 @@ # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston -# MA 02110-1301 USA. +# MA 02110-1335 USA. # This is a common command line parser to be sourced by other SST scripts diff --git a/scripts/wsrep_sst_mariabackup.sh b/scripts/wsrep_sst_mariabackup.sh index e8344bbaf..45a7f32d1 100644 --- a/scripts/wsrep_sst_mariabackup.sh +++ b/scripts/wsrep_sst_mariabackup.sh @@ -14,7 +14,7 @@ # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston -# MA 02110-1301 USA. +# MA 02110-1335 USA. # Documentation: # http://www.percona.com/doc/percona-xtradb-cluster/manual/xtrabackup_sst.html diff --git a/scripts/wsrep_sst_mysqldump.sh b/scripts/wsrep_sst_mysqldump.sh index faa3f1063..664fd2c04 100644 --- a/scripts/wsrep_sst_mysqldump.sh +++ b/scripts/wsrep_sst_mysqldump.sh @@ -13,7 +13,7 @@ # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston -# MA 02110-1301 USA. +# MA 02110-1335 USA. # This is a reference script for mysqldump-based state snapshot tansfer diff --git a/scripts/wsrep_sst_rsync.sh b/scripts/wsrep_sst_rsync.sh index bc2af40e2..0e3ef0c92 100644 --- a/scripts/wsrep_sst_rsync.sh +++ b/scripts/wsrep_sst_rsync.sh @@ -14,7 +14,7 @@ # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston -# MA 02110-1301 USA. +# MA 02110-1335 USA. # This is a reference script for rsync-based state snapshot tansfer diff --git a/scripts/wsrep_sst_xtrabackup-v2.sh b/scripts/wsrep_sst_xtrabackup-v2.sh index 54a7c8852..8e353c24d 100644 --- a/scripts/wsrep_sst_xtrabackup-v2.sh +++ b/scripts/wsrep_sst_xtrabackup-v2.sh @@ -13,7 +13,7 @@ # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston -# MA 02110-1301 USA. +# MA 02110-1335 USA. # Documentation: http://www.percona.com/doc/percona-xtradb-cluster/manual/xtrabackup_sst.html # Make sure to read that before proceeding! diff --git a/scripts/wsrep_sst_xtrabackup.sh b/scripts/wsrep_sst_xtrabackup.sh index 5bf380a81..485e071bd 100644 --- a/scripts/wsrep_sst_xtrabackup.sh +++ b/scripts/wsrep_sst_xtrabackup.sh @@ -13,7 +13,7 @@ # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston -# MA 02110-1301 USA. +# MA 02110-1335 USA. # Optional dependencies and options documented here: http://www.percona.com/doc/percona-xtradb-cluster/manual/xtrabackup_sst.html # Make sure to read that before proceeding! diff --git a/sql-bench/CMakeLists.txt b/sql-bench/CMakeLists.txt index a837746bb..58ae070b3 100644 --- a/sql-bench/CMakeLists.txt +++ b/sql-bench/CMakeLists.txt @@ -11,7 +11,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA # Install sql-bench files diff --git a/sql-bench/as3ap.sh b/sql-bench/as3ap.sh index 52e790caf..fd2b6ba3b 100644 --- a/sql-bench/as3ap.sh +++ b/sql-bench/as3ap.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # AS3AP single-user benchmark. # diff --git a/sql-bench/bench-count-distinct.sh b/sql-bench/bench-count-distinct.sh index 923af9864..9ce9b2fb1 100644 --- a/sql-bench/bench-count-distinct.sh +++ b/sql-bench/bench-count-distinct.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # Test of selecting on keys that consist of many parts # diff --git a/sql-bench/bench-init.pl.sh b/sql-bench/bench-init.pl.sh index 7bc7c23be..1b6509ceb 100644 --- a/sql-bench/bench-init.pl.sh +++ b/sql-bench/bench-init.pl.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # ########################################################## # this is the base file every test is using .... diff --git a/sql-bench/compare-results.sh b/sql-bench/compare-results.sh index 91d29685e..f0658160d 100644 --- a/sql-bench/compare-results.sh +++ b/sql-bench/compare-results.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # a little program to generate a table of results # just read all the RUN-*.log files and format them nicely diff --git a/sql-bench/copy-db.sh b/sql-bench/copy-db.sh index 082db2203..38a010e52 100644 --- a/sql-bench/copy-db.sh +++ b/sql-bench/copy-db.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # start initialition # diff --git a/sql-bench/crash-me.sh b/sql-bench/crash-me.sh index 4391a2afb..a7298c5f9 100644 --- a/sql-bench/crash-me.sh +++ b/sql-bench/crash-me.sh @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # Written by Monty for the TCX/Monty Program/Detron benchmark suite. # Empress and PostgreSQL patches by Luuk de Boer diff --git a/sql-bench/run-all-tests.sh b/sql-bench/run-all-tests.sh index 4e4b372b7..5d77c8c38 100644 --- a/sql-bench/run-all-tests.sh +++ b/sql-bench/run-all-tests.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # This program runs all test that starts with 'test-' and sums # the results that the program prints. diff --git a/sql-bench/server-cfg.sh b/sql-bench/server-cfg.sh index 7e83b7365..fcdfe0b67 100644 --- a/sql-bench/server-cfg.sh +++ b/sql-bench/server-cfg.sh @@ -16,7 +16,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # The configuration file for the DBI/DBD tests on different databases .... # You will need the DBD module for the database you are running. diff --git a/sql-bench/test-ATIS.sh b/sql-bench/test-ATIS.sh index ca1132435..d3c242db2 100644 --- a/sql-bench/test-ATIS.sh +++ b/sql-bench/test-ATIS.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # Test of creating the ATIS database and doing many different selects on it # diff --git a/sql-bench/test-alter-table.sh b/sql-bench/test-alter-table.sh index 6dc5ce358..3a7f325b6 100644 --- a/sql-bench/test-alter-table.sh +++ b/sql-bench/test-alter-table.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # Test of alter table # diff --git a/sql-bench/test-big-tables.sh b/sql-bench/test-big-tables.sh index 68b4afaa4..e2cf983de 100644 --- a/sql-bench/test-big-tables.sh +++ b/sql-bench/test-big-tables.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # Test of extreme tables. # diff --git a/sql-bench/test-connect.sh b/sql-bench/test-connect.sh index 50024e7e0..1226301df 100644 --- a/sql-bench/test-connect.sh +++ b/sql-bench/test-connect.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # This test is for testing the speed of connections and sending # data to the client. diff --git a/sql-bench/test-create.sh b/sql-bench/test-create.sh index 235cacd86..7af6fa135 100644 --- a/sql-bench/test-create.sh +++ b/sql-bench/test-create.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # This test is for testing how long it takes to create tables, # make a count(*) from them and finally drop the tables. These diff --git a/sql-bench/test-insert.sh b/sql-bench/test-insert.sh index e264c7d52..be57b0447 100644 --- a/sql-bench/test-insert.sh +++ b/sql-bench/test-insert.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # Test of creating a simple table and inserting $record_count records in it, # $opt_loop_count rows in order, $opt_loop_count rows in reverse order and diff --git a/sql-bench/test-select.sh b/sql-bench/test-select.sh index 1752c0507..4c7147b57 100644 --- a/sql-bench/test-select.sh +++ b/sql-bench/test-select.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # Test of selecting on keys that consist of many parts # diff --git a/sql-bench/test-transactions.sh b/sql-bench/test-transactions.sh index b0aee8c6d..4732658c5 100644 --- a/sql-bench/test-transactions.sh +++ b/sql-bench/test-transactions.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # # Test of transactions performance. # diff --git a/sql-bench/test-wisconsin.sh b/sql-bench/test-wisconsin.sh index 4fb3bc65f..47c9e0503 100644 --- a/sql-bench/test-wisconsin.sh +++ b/sql-bench/test-wisconsin.sh @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA +# MA 02110-1335 USA # use Cwd; diff --git a/sql-common/client.c b/sql-common/client.c index 4420a1afc..fe7388710 100644 --- a/sql-common/client.c +++ b/sql-common/client.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file is included by both libmysql.c (the MySQL client C API) diff --git a/sql-common/client_plugin.c b/sql-common/client_plugin.c index f93e50125..52e0ae03e 100644 --- a/sql-common/client_plugin.c +++ b/sql-common/client_plugin.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file @@ -362,7 +362,13 @@ mysql_load_plugin_v(MYSQL *mysql, const char *name, int type, mysql->options.extension && mysql->options.extension->plugin_dir ? mysql->options.extension->plugin_dir : PLUGINDIR, "/", name, SO_EXT, NullS); - + + if (strpbrk(name, "()[]!@#$%^&/*;.,'?\\")) + { + errmsg= "invalid plugin name"; + goto err; + } + DBUG_PRINT ("info", ("dlopeninig %s", dlpath)); /* Open new dll handle */ if (!(dlhandle= dlopen(dlpath, RTLD_NOW))) diff --git a/sql-common/my_time.c b/sql-common/my_time.c index 7cf8692a3..01b4d1fc2 100644 --- a/sql-common/my_time.c +++ b/sql-common/my_time.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/sql-common/my_user.c b/sql-common/my_user.c index a486f77bc..0f0b21cc1 100644 --- a/sql-common/my_user.c +++ b/sql-common/my_user.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/sql-common/pack.c b/sql-common/pack.c index 4bb4a0b7a..57abeffab 100644 --- a/sql-common/pack.c +++ b/sql-common/pack.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index fa69d5c30..6362ed2c5 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA IF(WITH_WSREP AND NOT EMBEDDED_LIBRARY) diff --git a/sql/authors.h b/sql/authors.h index 3a8f54972..4c6482ed6 100644 --- a/sql/authors.h +++ b/sql/authors.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Structure of the name list */ diff --git a/sql/bounded_queue.h b/sql/bounded_queue.h index 070ae46c3..8bb691ed0 100644 --- a/sql/bounded_queue.h +++ b/sql/bounded_queue.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef BOUNDED_QUEUE_INCLUDED #define BOUNDED_QUEUE_INCLUDED diff --git a/sql/client_settings.h b/sql/client_settings.h index f2ad1797b..1c83b0aef 100644 --- a/sql/client_settings.h +++ b/sql/client_settings.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef CLIENT_SETTINGS_INCLUDED diff --git a/sql/compat56.cc b/sql/compat56.cc index 357b4bcf7..1ffc8fd76 100644 --- a/sql/compat56.cc +++ b/sql/compat56.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "my_global.h" #include "compat56.h" diff --git a/sql/compat56.h b/sql/compat56.h index bb5e2670f..7f72c26c0 100644 --- a/sql/compat56.h +++ b/sql/compat56.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** MySQL56 routines and macros **/ diff --git a/sql/contributors.h b/sql/contributors.h index 69f8fa6bd..34f06087c 100644 --- a/sql/contributors.h +++ b/sql/contributors.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Structure of the name list */ diff --git a/sql/create_options.cc b/sql/create_options.cc index f6bf391e2..80f8f6ad7 100644 --- a/sql/create_options.cc +++ b/sql/create_options.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/create_options.h b/sql/create_options.h index 191ec8875..6a8d1acd8 100644 --- a/sql/create_options.h +++ b/sql/create_options.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/custom_conf.h b/sql/custom_conf.h index 62fdb619c..5847b939c 100644 --- a/sql/custom_conf.h +++ b/sql/custom_conf.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef __MYSQL_CUSTOM_BUILD_CONFIG__ #define __MYSQL_CUSTOM_BUILD_CONFIG__ diff --git a/sql/datadict.cc b/sql/datadict.cc index f01d61f53..b3d44c68f 100644 --- a/sql/datadict.cc +++ b/sql/datadict.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "datadict.h" diff --git a/sql/datadict.h b/sql/datadict.h index 9b180a882..a256c89ba 100644 --- a/sql/datadict.h +++ b/sql/datadict.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "handler.h" diff --git a/sql/debug_sync.cc b/sql/debug_sync.cc index 3dfbcdbcf..105d868a1 100644 --- a/sql/debug_sync.cc +++ b/sql/debug_sync.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* see include/mysql/service_debug_sync.h for debug sync documentation */ diff --git a/sql/debug_sync.h b/sql/debug_sync.h index 25b379e58..859675465 100644 --- a/sql/debug_sync.h +++ b/sql/debug_sync.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/derror.cc b/sql/derror.cc index 5f0bc455c..b976fff9d 100644 --- a/sql/derror.cc +++ b/sql/derror.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file @@ -146,7 +146,7 @@ static bool check_error_mesg(const char *file_name, const char **errmsg) bool read_texts(const char *file_name, const char *language, const char ***point, uint error_messages) { - register uint i; + uint i; uint count,funktpos; size_t offset, length; File file; diff --git a/sql/derror.h b/sql/derror.h index b2f6331e0..e7b913bd0 100644 --- a/sql/derror.h +++ b/sql/derror.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef DERROR_INCLUDED #define DERROR_INCLUDED diff --git a/sql/des_key_file.cc b/sql/des_key_file.cc index ede2e9fa9..f942feb58 100644 --- a/sql/des_key_file.cc +++ b/sql/des_key_file.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include // HAVE_* #include "sql_priv.h" diff --git a/sql/des_key_file.h b/sql/des_key_file.h index 024a1715d..847cd767b 100644 --- a/sql/des_key_file.h +++ b/sql/des_key_file.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef DES_KEY_FILE_INCLUDED #define DES_KEY_FILE_INCLUDED diff --git a/sql/discover.cc b/sql/discover.cc index d8bf6ca79..0d7767097 100644 --- a/sql/discover.cc +++ b/sql/discover.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/discover.h b/sql/discover.h index e15081072..a3d61c4f1 100644 --- a/sql/discover.h +++ b/sql/discover.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef DISCOVER_INCLUDED #define DISCOVER_INCLUDED diff --git a/sql/encryption.cc b/sql/encryption.cc index e5b546330..ad23c80b8 100644 --- a/sql/encryption.cc +++ b/sql/encryption.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/sql/event_data_objects.cc b/sql/event_data_objects.cc index 6ef9fa9f8..759bca08e 100644 --- a/sql/event_data_objects.cc +++ b/sql/event_data_objects.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #define MYSQL_LEX 1 #include /* NO_EMBEDDED_ACCESS_CHECKS */ diff --git a/sql/event_data_objects.h b/sql/event_data_objects.h index 8113fcb0e..fd7f2f2e1 100644 --- a/sql/event_data_objects.h +++ b/sql/event_data_objects.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @addtogroup Event_Scheduler diff --git a/sql/event_db_repository.cc b/sql/event_db_repository.cc index 3afd2659a..2928a059a 100644 --- a/sql/event_db_repository.cc +++ b/sql/event_db_repository.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/event_db_repository.h b/sql/event_db_repository.h index e7b52bacc..d6834d5ae 100644 --- a/sql/event_db_repository.h +++ b/sql/event_db_repository.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/event_parse_data.cc b/sql/event_parse_data.cc index 6c123c8e6..3dbcaba8b 100644 --- a/sql/event_parse_data.cc +++ b/sql/event_parse_data.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/event_parse_data.h b/sql/event_parse_data.h index 3ca7fcaab..03f6e8c3d 100644 --- a/sql/event_parse_data.h +++ b/sql/event_parse_data.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _EVENT_PARSE_DATA_H_ #define _EVENT_PARSE_DATA_H_ diff --git a/sql/event_queue.cc b/sql/event_queue.cc index ae8ba2587..3a52da024 100644 --- a/sql/event_queue.cc +++ b/sql/event_queue.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/event_queue.h b/sql/event_queue.h index fdd5937ee..2f1e9a59c 100644 --- a/sql/event_queue.h +++ b/sql/event_queue.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/event_scheduler.cc b/sql/event_scheduler.cc index e02b618a8..8c49e6f27 100644 --- a/sql/event_scheduler.cc +++ b/sql/event_scheduler.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/event_scheduler.h b/sql/event_scheduler.h index 6ec7dccef..59ac923cf 100644 --- a/sql/event_scheduler.h +++ b/sql/event_scheduler.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @addtogroup Event_Scheduler diff --git a/sql/events.cc b/sql/events.cc index 174179976..6f2f17a50 100644 --- a/sql/events.cc +++ b/sql/events.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/events.h b/sql/events.h index 368aa9a05..7268c569b 100644 --- a/sql/events.h +++ b/sql/events.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @defgroup Event_Scheduler Event Scheduler diff --git a/sql/field.cc b/sql/field.cc index a4308a378..291e2134d 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @@ -2725,7 +2725,7 @@ int Field_decimal::store(double nr) return 1; } - reg4 uint i; + uint i; size_t length; uchar fyllchar,*to; char buff[DOUBLE_TO_STRING_CONVERSION_BUFFER_SIZE]; diff --git a/sql/field.h b/sql/field.h index 2243f8499..60849ea80 100644 --- a/sql/field.h +++ b/sql/field.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Because of the function make_new_field() all field classes that have static @@ -1406,7 +1406,7 @@ class Field: public Value_source // Exactly the same rules with REF access return can_optimize_keypart_ref(cond, item); } - friend int cre_myisam(char * name, register TABLE *form, uint options, + friend int cre_myisam(char * name, TABLE *form, uint options, ulonglong auto_increment_value); friend class Copy_field; friend class Item_avg_field; diff --git a/sql/field_conv.cc b/sql/field_conv.cc index cdef8e8d7..8705e5e1e 100644 --- a/sql/field_conv.cc +++ b/sql/field_conv.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/filesort.cc b/sql/filesort.cc index 7f7407fc2..4f195f680 100644 --- a/sql/filesort.cc +++ b/sql/filesort.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @@ -967,12 +967,12 @@ static inline void store_length(uchar *to, uint length, uint pack_length) /** Make a sort-key from record. */ -static void make_sortkey(register Sort_param *param, - register uchar *to, uchar *ref_pos) +static void make_sortkey(Sort_param *param, + uchar *to, uchar *ref_pos) { - reg3 Field *field; - reg1 SORT_FIELD *sort_field; - reg5 uint length; + Field *field; + SORT_FIELD *sort_field; + uint length; for (sort_field=param->local_sortorder ; sort_field != param->end ; @@ -1214,7 +1214,7 @@ static void make_sortkey(register Sort_param *param, static void register_used_fields(Sort_param *param) { - reg1 SORT_FIELD *sort_field; + SORT_FIELD *sort_field; TABLE *table=param->sort_form; MY_BITMAP *bitmap= table->read_set; @@ -1425,7 +1425,7 @@ bool check_if_pq_applicable(Sort_param *param, int merge_many_buff(Sort_param *param, uchar *sort_buffer, BUFFPEK *buffpek, uint *maxbuffer, IO_CACHE *t_file) { - register uint i; + uint i; IO_CACHE t_file2,*from_file,*to_file,*temp; BUFFPEK *lastbuff; DBUG_ENTER("merge_many_buff"); @@ -1483,7 +1483,7 @@ int merge_many_buff(Sort_param *param, uchar *sort_buffer, uint read_to_buffer(IO_CACHE *fromfile, BUFFPEK *buffpek, uint rec_length) { - register uint count; + uint count; uint length; if ((count=(uint) MY_MIN((ha_rows) buffpek->max_keys,buffpek->count))) @@ -1787,7 +1787,7 @@ int merge_buffers(Sort_param *param, IO_CACHE *from_file, } else { - register uchar *end; + uchar *end; src= buffpek->key+offset; for (end= src+buffpek->mem_count*rec_length ; src != end ; diff --git a/sql/filesort.h b/sql/filesort.h index 4c95f1202..2c2b9e30c 100644 --- a/sql/filesort.h +++ b/sql/filesort.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef FILESORT_INCLUDED #define FILESORT_INCLUDED diff --git a/sql/filesort_utils.cc b/sql/filesort_utils.cc index 1e0cf0961..f1a164dd9 100644 --- a/sql/filesort_utils.cc +++ b/sql/filesort_utils.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "filesort_utils.h" #include "sql_const.h" diff --git a/sql/filesort_utils.h b/sql/filesort_utils.h index 00fa6f256..60de41998 100644 --- a/sql/filesort_utils.h +++ b/sql/filesort_utils.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef FILESORT_UTILS_INCLUDED #define FILESORT_UTILS_INCLUDED diff --git a/sql/gcalc_slicescan.cc b/sql/gcalc_slicescan.cc index 644ab4b87..179807326 100644 --- a/sql/gcalc_slicescan.cc +++ b/sql/gcalc_slicescan.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/sql/gcalc_slicescan.h b/sql/gcalc_slicescan.h index b9516fc8d..7b7038812 100644 --- a/sql/gcalc_slicescan.h +++ b/sql/gcalc_slicescan.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef GCALC_SLICESCAN_INCLUDED diff --git a/sql/gcalc_tools.cc b/sql/gcalc_tools.cc index 71118ae1c..acf51839e 100644 --- a/sql/gcalc_tools.cc +++ b/sql/gcalc_tools.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include diff --git a/sql/gcalc_tools.h b/sql/gcalc_tools.h index 8bda3c144..cc908812d 100644 --- a/sql/gcalc_tools.h +++ b/sql/gcalc_tools.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef GCALC_TOOLS_INCLUDED diff --git a/sql/gen_lex_hash.cc b/sql/gen_lex_hash.cc index 3a3273d27..76c747ceb 100644 --- a/sql/gen_lex_hash.cc +++ b/sql/gen_lex_hash.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file @@ -403,8 +403,8 @@ int main(int argc,char **argv) static SYMBOL *get_hash_symbol(const char *s,\n\ unsigned int len,bool function)\n\ {\n\ - register uchar *hash_map;\n\ - register const char *cur_str= s;\n\ + uchar *hash_map;\n\ + const char *cur_str= s;\n\ \n\ if (len == 0) {\n\ DBUG_PRINT(\"warning\", (\"get_hash_symbol() received a request for a zero-length symbol, which is probably a mistake.\"));\ @@ -416,25 +416,25 @@ static SYMBOL *get_hash_symbol(const char *s,\n\ if (function){\n\ if (len>sql_functions_max_len) return 0;\n\ hash_map= sql_functions_map;\n\ - register uint32 cur_struct= uint4korr(hash_map+((len-1)*4));\n\ + uint32 cur_struct= uint4korr(hash_map+((len-1)*4));\n\ \n\ for (;;){\n\ - register uchar first_char= (uchar)cur_struct;\n\ + uchar first_char= (uchar)cur_struct;\n\ \n\ if (first_char == 0)\n\ {\n\ - register int16 ires= (int16)(cur_struct>>16);\n\ + int16 ires= (int16)(cur_struct>>16);\n\ if (ires==array_elements(symbols)) return 0;\n\ - register SYMBOL *res;\n\ + SYMBOL *res;\n\ if (ires>=0) \n\ res= symbols+ires;\n\ else\n\ res= sql_functions-ires-1;\n\ - register uint count= (uint) (cur_str - s);\n\ + uint count= (uint) (cur_str - s);\n\ return lex_casecmp(cur_str,res->name+count,len-count) ? 0 : res;\n\ }\n\ \n\ - register uchar cur_char= (uchar)to_upper_lex[(uchar)*cur_str];\n\ + uchar cur_char= (uchar)to_upper_lex[(uchar)*cur_str];\n\ if (cur_char>=8;\n\ if (cur_char>(uchar)cur_struct) return 0;\n\ @@ -450,20 +450,20 @@ static SYMBOL *get_hash_symbol(const char *s,\n\ }else{\n\ if (len>symbols_max_len) return 0;\n\ hash_map= symbols_map;\n\ - register uint32 cur_struct= uint4korr(hash_map+((len-1)*4));\n\ + uint32 cur_struct= uint4korr(hash_map+((len-1)*4));\n\ \n\ for (;;){\n\ - register uchar first_char= (uchar)cur_struct;\n\ + uchar first_char= (uchar)cur_struct;\n\ \n\ if (first_char==0){\n\ - register int16 ires= (int16)(cur_struct>>16);\n\ + int16 ires= (int16)(cur_struct>>16);\n\ if (ires==array_elements(symbols)) return 0;\n\ - register SYMBOL *res= symbols+ires;\n\ - register uint count= (uint) (cur_str - s);\n\ + SYMBOL *res= symbols+ires;\n\ + uint count= (uint) (cur_str - s);\n\ return lex_casecmp(cur_str,res->name+count,len-count)!=0 ? 0 : res;\n\ }\n\ \n\ - register uchar cur_char= (uchar)to_upper_lex[(uchar)*cur_str];\n\ + uchar cur_char= (uchar)to_upper_lex[(uchar)*cur_str];\n\ if (cur_char>=8;\n\ if (cur_char>(uchar)cur_struct) return 0;\n\ diff --git a/sql/gen_lex_token.cc b/sql/gen_lex_token.cc index eefe91638..7ba25f3ec 100644 --- a/sql/gen_lex_token.cc +++ b/sql/gen_lex_token.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/sql/group_by_handler.cc b/sql/group_by_handler.cc index c1b5cfbe2..197ada0d4 100644 --- a/sql/group_by_handler.cc +++ b/sql/group_by_handler.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file implements the group_by_handler code. This interface diff --git a/sql/group_by_handler.h b/sql/group_by_handler.h index d3f48a15c..108ebc989 100644 --- a/sql/group_by_handler.h +++ b/sql/group_by_handler.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file implements the group_by_handler interface. This interface diff --git a/sql/gstream.cc b/sql/gstream.cc index adb460836..8a3e35ac0 100644 --- a/sql/gstream.cc +++ b/sql/gstream.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Functions to read and parse geometrical data. diff --git a/sql/gstream.h b/sql/gstream.h index f10b7e9b8..687627aa5 100644 --- a/sql/gstream.h +++ b/sql/gstream.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "my_global.h" /* NULL, NullS */ diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 80bf7ef17..4169e2b30 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 23d023373..c2c4ffcda 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "sql_partition.h" /* part_id_range, partition_element */ #include "queues.h" /* QUEUE */ diff --git a/sql/handler.cc b/sql/handler.cc index 87331a41d..79f23c0d2 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -11,8 +11,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file handler.cc @@ -211,6 +211,40 @@ plugin_ref ha_resolve_by_name(THD *thd, const LEX_STRING *name, bool tmp_table) } +bool +Storage_engine_name::resolve_storage_engine_with_error(THD *thd, + handlerton **ha, + bool tmp_table) +{ +#if MYSQL_VERSION_ID < 100300 + /* + Please remove tmp_name when merging to 10.3 and pass m_storage_engine_name + directly to ha_resolve_by_name(). + */ + LEX_STRING tmp_name; + tmp_name.str= const_cast(m_storage_engine_name.str); + tmp_name.length= m_storage_engine_name.length; +#endif + if (plugin_ref plugin= ha_resolve_by_name(thd, &tmp_name, tmp_table)) + { + *ha= plugin_hton(plugin); + return false; + } + + *ha= NULL; + if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION) + { + my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), m_storage_engine_name.str); + return true; + } + push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, + ER_UNKNOWN_STORAGE_ENGINE, + ER_THD(thd, ER_UNKNOWN_STORAGE_ENGINE), + m_storage_engine_name.str); + return false; +} + + plugin_ref ha_lock_engine(THD *thd, const handlerton *hton) { if (hton) @@ -2800,7 +2834,7 @@ int handler::ha_rnd_init_with_error(bool scan) */ int handler::read_first_row(uchar * buf, uint primary_key) { - register int error; + int error; DBUG_ENTER("handler::read_first_row"); /* diff --git a/sql/handler.h b/sql/handler.h index 99dfefd4c..057a0e841 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Definitions for parameters to do with handler-routines */ diff --git a/sql/hash_filo.cc b/sql/hash_filo.cc index fc89bb83a..967ef641b 100644 --- a/sql/hash_filo.cc +++ b/sql/hash_filo.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/sql/hash_filo.h b/sql/hash_filo.h index 4c8c7575e..d815c428a 100644 --- a/sql/hash_filo.h +++ b/sql/hash_filo.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* diff --git a/sql/hostname.cc b/sql/hostname.cc index 39e4b34d6..a256da471 100644 --- a/sql/hostname.cc +++ b/sql/hostname.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/hostname.h b/sql/hostname.h index 81a1d0de8..a00f2b077 100644 --- a/sql/hostname.h +++ b/sql/hostname.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef HOSTNAME_INCLUDED #define HOSTNAME_INCLUDED diff --git a/sql/init.cc b/sql/init.cc index 8001e60b6..5f452439f 100644 --- a/sql/init.cc +++ b/sql/init.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/init.h b/sql/init.h index 88cd8e6e1..d0518066f 100644 --- a/sql/init.h +++ b/sql/init.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef INIT_INCLUDED #define INIT_INCLUDED diff --git a/sql/innodb_priv.h b/sql/innodb_priv.h index 27aa9ac86..e01b9f89d 100644 --- a/sql/innodb_priv.h +++ b/sql/innodb_priv.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef INNODB_PRIV_INCLUDED #define INNODB_PRIV_INCLUDED diff --git a/sql/item.cc b/sql/item.cc index 3bfbdb75c..de7e6ae65 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef USE_PRAGMA_IMPLEMENTATION @@ -9736,11 +9736,14 @@ table_map Item_direct_view_ref::used_tables() const table_map Item_direct_view_ref::not_null_tables() const { - return get_depended_from() ? - 0 : - ((view->is_merged_derived() || view->merged || !view->table) ? - (*ref)->not_null_tables() : - view->table->map); + if (get_depended_from()) + return 0; + if (!( view->merged || !view->table)) + return view->table->map; + TABLE *tab= get_null_ref_table(); + if (tab == NO_NULL_TABLE || (*ref)->used_tables()) + return (*ref)->not_null_tables(); + return get_null_ref_table()->map; } /* diff --git a/sql/item.h b/sql/item.h index 5c432887e..edf9f748d 100644 --- a/sql/item.h +++ b/sql/item.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef USE_PRAGMA_INTERFACE @@ -4374,6 +4374,7 @@ class Item_direct_view_ref :public Item_direct_ref void update_used_tables(); table_map not_null_tables() const; bool const_item() const { return used_tables() == 0; } + TABLE *get_null_ref_table() const { return null_ref_table; } bool walk(Item_processor processor, bool walk_subquery, uchar *arg) { return (*ref)->walk(processor, walk_subquery, arg) || diff --git a/sql/item_buff.cc b/sql/item_buff.cc index d1134525f..22e068033 100644 --- a/sql/item_buff.cc +++ b/sql/item_buff.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 4e572b95e..2e029f307 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @@ -5901,8 +5901,8 @@ void Item_func_like::turboBM_compute_bad_character_shifts() bool Item_func_like::turboBM_matches(const char* text, int text_len) const { - register int bcShift; - register int turboShift; + int bcShift; + int turboShift; int shift = pattern_len; int j = 0; int u = 0; @@ -5916,7 +5916,7 @@ bool Item_func_like::turboBM_matches(const char* text, int text_len) const { while (j <= tlmpl) { - register int i= plm1; + int i= plm1; while (i >= 0 && pattern[i] == text[i + j]) { i--; @@ -5926,7 +5926,7 @@ bool Item_func_like::turboBM_matches(const char* text, int text_len) const if (i < 0) return 1; - register const int v = plm1 - i; + const int v = plm1 - i; turboShift = u - v; bcShift = bmBc[(uint) (uchar) text[i + j]] - plm1 + i; shift = MY_MAX(turboShift, bcShift); @@ -5947,7 +5947,7 @@ bool Item_func_like::turboBM_matches(const char* text, int text_len) const { while (j <= tlmpl) { - register int i = plm1; + int i = plm1; while (i >= 0 && likeconv(cs,pattern[i]) == likeconv(cs,text[i + j])) { i--; @@ -5957,7 +5957,7 @@ bool Item_func_like::turboBM_matches(const char* text, int text_len) const if (i < 0) return 1; - register const int v = plm1 - i; + const int v = plm1 - i; turboShift = u - v; bcShift = bmBc[(uint) likeconv(cs, text[i + j])] - plm1 + i; shift = MY_MAX(turboShift, bcShift); diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index eb1da504e..e47b88bdc 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* compare and test functions */ @@ -257,6 +257,8 @@ class Item_func_isnottrue : public Item_func_truth Item_func_truth(thd, a, true, false) {} ~Item_func_isnottrue() {} virtual const char* func_name() const { return "isnottrue"; } + bool eval_not_null_tables(uchar *opt_arg) + { not_null_tables_cache= 0; return false; } }; @@ -284,6 +286,8 @@ class Item_func_isnotfalse : public Item_func_truth Item_func_truth(thd, a, false, false) {} ~Item_func_isnotfalse() {} virtual const char* func_name() const { return "isnotfalse"; } + bool eval_not_null_tables(uchar *opt_arg) + { not_null_tables_cache= 0; return false; } }; diff --git a/sql/item_create.cc b/sql/item_create.cc index 82f6bbd31..aa9f1ba8a 100644 --- a/sql/item_create.cc +++ b/sql/item_create.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/item_create.h b/sql/item_create.h index 05fe48f65..97dc594b1 100644 --- a/sql/item_create.h +++ b/sql/item_create.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Functions to create an item. Used by sql/sql_yacc.yy */ diff --git a/sql/item_func.cc b/sql/item_func.cc index 861113741..8e8020e28 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file @@ -218,6 +218,7 @@ Item_func::fix_fields(THD *thd, Item **ref) with_param= with_param || item->with_param; with_field= with_field || item->with_field; used_tables_and_const_cache_join(item); + not_null_tables_cache|= item->not_null_tables(); with_subselect|= item->has_subquery(); } } @@ -3282,8 +3283,8 @@ longlong Item_func_ord::val_int() #ifdef USE_MB if (use_mb(res->charset())) { - register const char *str=res->ptr(); - register uint32 n=0, l=my_ismbchar(res->charset(),str,str+res->length()); + const char *str=res->ptr(); + uint32 n=0, l=my_ismbchar(res->charset(),str,str+res->length()); if (!l) return (longlong)((uchar) *str); while (l--) diff --git a/sql/item_func.h b/sql/item_func.h index 36a2f94b3..a05ae0c5a 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Function items used by mysql */ diff --git a/sql/item_geofunc.cc b/sql/item_geofunc.cc index 51a4636df..1ace20230 100644 --- a/sql/item_geofunc.cc +++ b/sql/item_geofunc.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/item_geofunc.h b/sql/item_geofunc.h index 251cae112..a49a92f2e 100644 --- a/sql/item_geofunc.h +++ b/sql/item_geofunc.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file defines all spatial functions */ diff --git a/sql/item_inetfunc.cc b/sql/item_inetfunc.cc index 4c4dfa449..4cf43e075 100644 --- a/sql/item_inetfunc.cc +++ b/sql/item_inetfunc.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "item_inetfunc.h" diff --git a/sql/item_inetfunc.h b/sql/item_inetfunc.h index eaafd005f..b3213030c 100644 --- a/sql/item_inetfunc.h +++ b/sql/item_inetfunc.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "item.h" diff --git a/sql/item_row.cc b/sql/item_row.cc index 8c6edacad..08d856b9a 100644 --- a/sql/item_row.cc +++ b/sql/item_row.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/item_row.h b/sql/item_row.h index 5e8071ec4..4cc8dfd3e 100644 --- a/sql/item_row.h +++ b/sql/item_row.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** Row items used for comparing rows and IN operations on rows: diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index de13999ba..f3e19a19b 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @@ -1039,7 +1039,7 @@ String *Item_func_reverse::val_str(String *str) #ifdef USE_MB if (use_mb(res->charset())) { - register uint32 l; + uint32 l; while (ptr < end) { if ((l= my_ismbchar(res->charset(),ptr,end))) @@ -1088,7 +1088,7 @@ String *Item_func_replace::val_str(String *str) bool alloced=0; #ifdef USE_MB const char *ptr,*end,*strend,*search,*search_end; - register uint32 l; + uint32 l; bool binary_cmp; #endif THD *thd= 0; @@ -1141,7 +1141,7 @@ String *Item_func_replace::val_str(String *str) { if (*ptr == *search) { - register char *i,*j; + char *i,*j; i=(char*) ptr+1; j=(char*) search+1; while (j != search_end) if (*i++ != *j++) goto skip; @@ -1735,14 +1735,14 @@ String *Item_func_substr_index::val_str(String *str) const char *search= delimiter->ptr(); const char *search_end= search+delimiter_length; int32 n=0,c=count,pass; - register uint32 l; + uint32 l; for (pass=(count>0);pass<2;++pass) { while (ptr < end) { if (*ptr == *search) { - register char *i,*j; + char *i,*j; i=(char*) ptr+1; j=(char*) search+1; while (j != search_end) if (*i++ != *j++) goto skip; @@ -1926,7 +1926,7 @@ String *Item_func_rtrim::val_str(String *str) end= ptr+res->length(); #ifdef USE_MB char *p=ptr; - register uint32 l; + uint32 l; #endif if (remove_length == 1) { @@ -2011,7 +2011,7 @@ String *Item_func_trim::val_str(String *str) if (use_mb(collation.collation)) { char *p=ptr; - register uint32 l; + uint32 l; loop: while (ptr + remove_length < end) { diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h index ace246bc2..9ea9ff970 100644 --- a/sql/item_strfunc.h +++ b/sql/item_strfunc.h @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file defines all string functions */ diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index b275f749f..e3cb82df1 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file @@ -1500,13 +1500,20 @@ void Item_exists_subselect::fix_length_and_dec() { DBUG_ENTER("Item_exists_subselect::fix_length_and_dec"); init_length_and_dec(); - /* - We need only 1 row to determine existence (i.e. any EXISTS that is not - an IN always requires LIMIT 1) - */ - thd->change_item_tree(&unit->global_parameters()->select_limit, - new (thd->mem_root) Item_int(thd, (int32) 1)); - DBUG_PRINT("info", ("Set limit to 1")); + // If limit is not set or it is constant more than 1 + if (!unit->global_parameters()->select_limit || + (unit->global_parameters()->select_limit->basic_const_item() && + unit->global_parameters()->select_limit->val_int() > 1)) + { + /* + We need only 1 row to determine existence (i.e. any EXISTS that is not + an IN always requires LIMIT 1) + */ + thd->change_item_tree(&unit->global_parameters()->select_limit, + new (thd->mem_root) Item_int(thd, (int32) 1)); + unit->global_parameters()->explicit_limit= 1; // we set the limit + DBUG_PRINT("info", ("Set limit to 1")); + } DBUG_VOID_RETURN; } diff --git a/sql/item_subselect.h b/sql/item_subselect.h index 424ea6f05..3be1013e4 100644 --- a/sql/item_subselect.h +++ b/sql/item_subselect.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* subselect Item */ diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 71f07706d..f5bcd0828 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @@ -2549,11 +2549,14 @@ Item_sum_hybrid::min_max_update_str_field() if (!args[0]->null_value) { - result_field->val_str(&cmp->value2); - - if (result_field->is_null() || - (cmp_sign * sortcmp(res_str,&cmp->value2,collation.collation)) < 0) + if (result_field->is_null()) result_field->store(res_str->ptr(),res_str->length(),res_str->charset()); + else + { + result_field->val_str(&cmp->value2); + if ((cmp_sign * sortcmp(res_str,&cmp->value2,collation.collation)) < 0) + result_field->store(res_str->ptr(),res_str->length(),res_str->charset()); + } result_field->set_notnull(); } } diff --git a/sql/item_sum.h b/sql/item_sum.h index 001d1d13f..cbca701e5 100644 --- a/sql/item_sum.h +++ b/sql/item_sum.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* classes for sum functions */ diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc index e84408032..93889f75f 100644 --- a/sql/item_timefunc.cc +++ b/sql/item_timefunc.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h index 927ce12f0..75d19b69e 100644 --- a/sql/item_timefunc.h +++ b/sql/item_timefunc.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Function items used by mysql */ diff --git a/sql/item_xmlfunc.cc b/sql/item_xmlfunc.cc index c9e6df52d..d33cd30a9 100644 --- a/sql/item_xmlfunc.cc +++ b/sql/item_xmlfunc.cc @@ -1,5 +1,5 @@ -/* Copyright (c) 2005, 2016, Oracle and/or its affiliates. - Copyright (c) 2009, 2017, MariaDB +/* Copyright (c) 2005, 2019, Oracle and/or its affiliates. + Copyright (c) 2009, 2019, MariaDB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,9 +12,9 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ -#ifdef __GNUC__ +#ifdef USE_PRAGMA_IMPLEMENTATION #pragma implementation #endif diff --git a/sql/item_xmlfunc.h b/sql/item_xmlfunc.h index 92a8f7578..ea1f10d8c 100644 --- a/sql/item_xmlfunc.h +++ b/sql/item_xmlfunc.h @@ -1,8 +1,7 @@ #ifndef ITEM_XMLFUNC_INCLUDED #define ITEM_XMLFUNC_INCLUDED -/* Copyright (c) 2000-2007 MySQL AB, 2009 Sun Microsystems, Inc. - Use is subject to license terms. +/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file defines all XML functions */ diff --git a/sql/key.cc b/sql/key.cc index 19b96522b..9c59bdf02 100644 --- a/sql/key.cc +++ b/sql/key.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Functions to handle keys and fields in forms */ @@ -54,8 +54,8 @@ using std::max; int find_ref_key(KEY *key, uint key_count, uchar *record, Field *field, uint *key_length, uint *keypart) { - reg2 int i; - reg3 KEY *key_info; + int i; + KEY *key_info; uint fieldpos; fieldpos= field->offset(record); @@ -511,7 +511,7 @@ int key_cmp(KEY_PART_INFO *key_part, const uchar *key, uint key_length) if (key_part->null_bit) { /* This key part allows null values; NULL is lower than everything */ - register bool field_is_null= key_part->field->is_null(); + bool field_is_null= key_part->field->is_null(); if (*key) // If range key is null { /* the range is expecting a null value */ diff --git a/sql/key.h b/sql/key.h index 47b981f52..37d94b1f4 100644 --- a/sql/key.h +++ b/sql/key.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef KEY_INCLUDED #define KEY_INCLUDED diff --git a/sql/keycaches.cc b/sql/keycaches.cc index 78e64ebac..bc0f43a4d 100644 --- a/sql/keycaches.cc +++ b/sql/keycaches.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "keycaches.h" diff --git a/sql/keycaches.h b/sql/keycaches.h index fff48d51c..99528682d 100644 --- a/sql/keycaches.h +++ b/sql/keycaches.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "sql_list.h" #include diff --git a/sql/lex.h b/sql/lex.h index 87c87d03f..3386dbf3d 100644 --- a/sql/lex.h +++ b/sql/lex.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* This file includes all reserved words and functions */ diff --git a/sql/lex_symbol.h b/sql/lex_symbol.h index d48ca57df..e7819cd4e 100644 --- a/sql/lex_symbol.h +++ b/sql/lex_symbol.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* This struct includes all reserved words and functions */ diff --git a/sql/lock.cc b/sql/lock.cc index f3445e3b3..07021bae9 100644 --- a/sql/lock.cc +++ b/sql/lock.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @@ -347,7 +347,7 @@ bool mysql_lock_tables(THD *thd, MYSQL_LOCK *sql_lock, uint flags) static int lock_external(THD *thd, TABLE **tables, uint count) { - reg1 uint i; + uint i; int lock_type,error; DBUG_ENTER("lock_external"); @@ -500,7 +500,7 @@ void mysql_lock_remove(THD *thd, MYSQL_LOCK *locked,TABLE *table) { if (locked) { - reg1 uint i; + uint i; for (i=0; i < locked->table_count; i++) { if (locked->table[i] == table) diff --git a/sql/lock.h b/sql/lock.h index b2de4f60b..460cbd7df 100644 --- a/sql/lock.h +++ b/sql/lock.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef LOCK_INCLUDED #define LOCK_INCLUDED diff --git a/sql/log.cc b/sql/log.cc index bab250223..acf1f8f8a 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @@ -2430,7 +2430,7 @@ static int find_uniq_filename(char *name, ulong next_log_number) uint i; char buff[FN_REFLEN], ext_buf[FN_REFLEN]; struct st_my_dir *dir_info; - reg1 struct fileinfo *file_info; + struct fileinfo *file_info; ulong max_found, next, number; size_t buf_length, length; char *start, *end; @@ -8483,10 +8483,9 @@ void MYSQL_BIN_LOG::set_max_size(ulong max_size_arg) 0 String is not a number */ -static bool test_if_number(register const char *str, - ulong *res, bool allow_wildcards) +static bool test_if_number(const char *str, ulong *res, bool allow_wildcards) { - reg2 int flag; + int flag; const char *start; DBUG_ENTER("test_if_number"); diff --git a/sql/log.h b/sql/log.h index 2118bd7a0..b4c9b24a3 100644 --- a/sql/log.h +++ b/sql/log.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef LOG_H #define LOG_H diff --git a/sql/log_event.cc b/sql/log_event.cc index a6091fcc2..65f29441e 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include @@ -296,7 +296,7 @@ class Write_on_release_cache public: enum flag { - FLUSH_F + FLUSH_F= 1 }; typedef unsigned short flag_set; diff --git a/sql/log_event.h b/sql/log_event.h index 446bd8cb8..9c555c540 100644 --- a/sql/log_event.h +++ b/sql/log_event.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @addtogroup Replication diff --git a/sql/log_event_old.cc b/sql/log_event_old.cc index f0c1c61bb..f70fa3605 100644 --- a/sql/log_event_old.cc +++ b/sql/log_event_old.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/log_event_old.h b/sql/log_event_old.h index 40e01d373..cccb0674e 100644 --- a/sql/log_event_old.h +++ b/sql/log_event_old.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef LOG_EVENT_OLD_H #define LOG_EVENT_OLD_H diff --git a/sql/log_slow.h b/sql/log_slow.h index 5092e8332..4131a9c2a 100644 --- a/sql/log_slow.h +++ b/sql/log_slow.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Defining what to log to slow log */ diff --git a/sql/main.cc b/sql/main.cc index 10141c132..957efb8fa 100644 --- a/sql/main.cc +++ b/sql/main.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* main() for mysqld. diff --git a/sql/mdl.cc b/sql/mdl.cc index 86fc5fa39..d52920d9e 100644 --- a/sql/mdl.cc +++ b/sql/mdl.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "sql_class.h" diff --git a/sql/mdl.h b/sql/mdl.h index 15a197687..2b6b7b313 100644 --- a/sql/mdl.h +++ b/sql/mdl.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #if defined(__IBMC__) || defined(__IBMCPP__) /* Further down, "next_in_lock" and "next_in_context" have the same type, diff --git a/sql/mem_root_array.h b/sql/mem_root_array.h index 5daeedadc..1230f4124 100644 --- a/sql/mem_root_array.h +++ b/sql/mem_root_array.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MEM_ROOT_ARRAY_INCLUDED diff --git a/sql/message.h b/sql/message.h index 6641453a9..934503751 100644 --- a/sql/message.h +++ b/sql/message.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* To change or add messages mysqld writes to the Windows error log, run diff --git a/sql/mf_iocache.cc b/sql/mf_iocache.cc index 6535f1644..0336df6df 100644 --- a/sql/mf_iocache.cc +++ b/sql/mf_iocache.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file @@ -49,7 +49,7 @@ extern "C" { */ -int _my_b_net_read(register IO_CACHE *info, uchar *Buffer, +int _my_b_net_read(IO_CACHE *info, uchar *Buffer, size_t Count __attribute__((unused))) { ulong read_length; diff --git a/sql/mf_iocache_encr.cc b/sql/mf_iocache_encr.cc index f26a437a2..00eb6baf2 100644 --- a/sql/mf_iocache_encr.cc +++ b/sql/mf_iocache_encr.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /************************************************************************* Limitation of encrypted IO_CACHEs diff --git a/sql/multi_range_read.cc b/sql/multi_range_read.cc index 50918d8dc..62ca4f628 100644 --- a/sql/multi_range_read.cc +++ b/sql/multi_range_read.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "sql_parse.h" #include diff --git a/sql/multi_range_read.h b/sql/multi_range_read.h index b8234998f..524e60cb5 100644 --- a/sql/multi_range_read.h +++ b/sql/multi_range_read.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @defgroup DS-MRR declarations diff --git a/sql/my_apc.cc b/sql/my_apc.cc index b165a801c..f54e2ad3a 100644 --- a/sql/my_apc.cc +++ b/sql/my_apc.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MY_APC_STANDALONE diff --git a/sql/my_apc.h b/sql/my_apc.h index 46c6fbd54..0ac840b78 100644 --- a/sql/my_apc.h +++ b/sql/my_apc.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Interface diff --git a/sql/my_decimal.cc b/sql/my_decimal.cc index be732d4a9..eec267676 100644 --- a/sql/my_decimal.cc +++ b/sql/my_decimal.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/my_decimal.h b/sql/my_decimal.h index 265b370a1..f318bcd1c 100644 --- a/sql/my_decimal.h +++ b/sql/my_decimal.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/my_json_writer.cc b/sql/my_json_writer.cc index 390123fbb..22c66ba7a 100644 --- a/sql/my_json_writer.cc +++ b/sql/my_json_writer.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" @@ -129,6 +129,13 @@ void Json_writer::add_ll(longlong val) add_unquoted_str(buf); } +void Json_writer::add_ull(ulonglong val) +{ + char buf[64]; + my_snprintf(buf, sizeof(buf), "%llu", val); + add_unquoted_str(buf); +} + /* Add a memory size, printing in Kb, Kb, Gb if necessary */ void Json_writer::add_size(longlong val) diff --git a/sql/my_json_writer.h b/sql/my_json_writer.h index c4b528ae1..ffee6db4c 100644 --- a/sql/my_json_writer.h +++ b/sql/my_json_writer.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ class Json_writer; @@ -108,6 +108,7 @@ class Json_writer void add_str(const String &str); void add_ll(longlong val); + void add_ull(ulonglong val); void add_size(longlong val); void add_double(double val); void add_bool(bool val); diff --git a/sql/mysql_install_db.cc b/sql/mysql_install_db.cc index 01d00855a..c6912e41f 100644 --- a/sql/mysql_install_db.cc +++ b/sql/mysql_install_db.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* mysql_install_db creates a new database instance (optionally as service) diff --git a/sql/mysql_upgrade_service.cc b/sql/mysql_upgrade_service.cc index 9bb608092..37dae6485 100644 --- a/sql/mysql_upgrade_service.cc +++ b/sql/mysql_upgrade_service.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* mysql_upgrade_service upgrades mysql service on Windows. @@ -148,8 +148,9 @@ static void die(const char *fmt, ...) #define WRITE_LOG(fmt,...) {\ char log_buf[1024]; \ + DWORD nbytes; \ snprintf(log_buf,sizeof(log_buf), fmt, __VA_ARGS__);\ - WriteFile(logfile_handle,log_buf, strlen(log_buf), 0 , 0);\ + WriteFile(logfile_handle,log_buf, strlen(log_buf), &nbytes , 0);\ } /* @@ -529,4 +530,4 @@ int main(int argc, char **argv) CloseHandle(logfile_handle); my_end(0); exit(0); -} \ No newline at end of file +} diff --git a/sql/mysqld.cc b/sql/mysqld.cc index cf76a6a4c..4a216c9ee 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "sql_plugin.h" // Includes my_global.h #include "sql_priv.h" diff --git a/sql/mysqld.h b/sql/mysqld.h index af519622d..e939524db 100644 --- a/sql/mysqld.h +++ b/sql/mysqld.h @@ -1,5 +1,5 @@ /* Copyright (c) 2006, 2016, Oracle and/or its affiliates. - Copyright (c) 2010, 2016, MariaDB + Copyright (c) 2010, 2019, MariaDB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef MYSQLD_INCLUDED #define MYSQLD_INCLUDED @@ -64,7 +64,7 @@ typedef Bitmap<((MAX_INDEXES+7)/8*8)> key_map; /* Used for finding keys */ #define OPT_SESSION SHOW_OPT_SESSION #define OPT_GLOBAL SHOW_OPT_GLOBAL -extern MY_TIMER_INFO sys_timer_info; +extern MYSQL_PLUGIN_IMPORT MY_TIMER_INFO sys_timer_info; /* Values for --slave-parallel-mode @@ -560,11 +560,11 @@ extern mysql_mutex_t LOCK_item_func_sleep, LOCK_status, LOCK_show_status, LOCK_error_log, LOCK_delayed_insert, LOCK_short_uuid_generator, LOCK_delayed_status, LOCK_delayed_create, LOCK_crypt, LOCK_timezone, - LOCK_slave_list, LOCK_active_mi, LOCK_manager, - LOCK_global_system_variables, LOCK_user_conn, + LOCK_slave_list, LOCK_active_mi, LOCK_manager, LOCK_user_conn, LOCK_prepared_stmt_count, LOCK_error_messages, LOCK_connection_count, LOCK_slave_background; -extern MYSQL_PLUGIN_IMPORT mysql_mutex_t LOCK_thread_count; +extern MYSQL_PLUGIN_IMPORT mysql_mutex_t LOCK_thread_count, + LOCK_global_system_variables; #ifdef HAVE_OPENSSL extern char* des_key_file; extern mysql_mutex_t LOCK_des_key_file; diff --git a/sql/mysqld_suffix.h b/sql/mysqld_suffix.h index fd515ac59..3c36ba2bc 100644 --- a/sql/mysqld_suffix.h +++ b/sql/mysqld_suffix.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/net_serv.cc b/sql/net_serv.cc index 6d200f556..ea5e4353c 100644 --- a/sql/net_serv.cc +++ b/sql/net_serv.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file @@ -60,8 +60,8 @@ #define EXTRA_DEBUG_fflush fflush #define EXTRA_DEBUG_ASSERT DBUG_ASSERT #else -static void inline EXTRA_DEBUG_fprintf(...) {} -static int inline EXTRA_DEBUG_fflush(...) { return 0; } +#define EXTRA_DEBUG_fprintf(...) +#define EXTRA_DEBUG_fflush(...) #define EXTRA_DEBUG_ASSERT(X) do {} while(0) #endif #ifdef MYSQL_SERVER diff --git a/sql/opt_index_cond_pushdown.cc b/sql/opt_index_cond_pushdown.cc index 1dde52282..cbaa6f4fe 100644 --- a/sql/opt_index_cond_pushdown.cc +++ b/sql/opt_index_cond_pushdown.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "sql_select.h" #include "sql_test.h" diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 2f76f918e..e8421ad05 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* TODO: @@ -3050,7 +3050,7 @@ bool calculate_cond_selectivity_for_table(THD *thd, TABLE *table, Item **cond) if (thd->variables.optimizer_use_condition_selectivity > 2 && !bitmap_is_clear_all(used_fields) && - thd->variables.use_stat_tables > 0) + thd->variables.use_stat_tables > 0 && table->stats_is_read) { PARAM param; MEM_ROOT alloc; diff --git a/sql/opt_range.h b/sql/opt_range.h index 0c495639d..7d8c6e755 100644 --- a/sql/opt_range.h +++ b/sql/opt_range.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* classes to use when handling where clause */ diff --git a/sql/opt_range_mrr.cc b/sql/opt_range_mrr.cc index b3350191d..5d62ceda7 100644 --- a/sql/opt_range_mrr.cc +++ b/sql/opt_range_mrr.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /**************************************************************************** MRR Range Sequence Interface implementation that walks a SEL_ARG* tree. diff --git a/sql/opt_subselect.cc b/sql/opt_subselect.cc index 852f91efc..33ac3dd7c 100644 --- a/sql/opt_subselect.cc +++ b/sql/opt_subselect.cc @@ -1,5 +1,5 @@ /* - Copyright (c) 2010, 2015, MariaDB + Copyright (c) 2010, 2019, MariaDB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file @@ -28,6 +28,7 @@ #include #include "sql_base.h" +#include "sql_const.h" #include "sql_select.h" #include "filesort.h" #include "opt_subselect.h" @@ -522,7 +523,7 @@ bool is_materialization_applicable(THD *thd, Item_in_subselect *in_subs, if (optimizer_flag(thd, OPTIMIZER_SWITCH_MATERIALIZATION) && // 0 !child_select->is_part_of_union() && // 1 parent_unit->first_select()->leaf_tables.elements && // 2 - child_select->outer_select()->leaf_tables.elements && // 2A + child_select->outer_select()->table_list.first && // 2A subquery_types_allow_materialization(in_subs) && (in_subs->is_top_level_item() || //3 optimizer_flag(thd, @@ -1383,8 +1384,8 @@ void get_delayed_table_estimates(TABLE *table, *startup_cost= item->jtbm_read_time; /* Calculate cost of scanning the temptable */ - double data_size= item->jtbm_record_count * - hash_sj_engine->tmp_table->s->reclength; + double data_size= COST_MULT(item->jtbm_record_count, + hash_sj_engine->tmp_table->s->reclength); /* Do like in handler::read_time */ *scan_time= data_size/IO_SIZE + 2; } @@ -2467,7 +2468,8 @@ bool optimize_semijoin_nests(JOIN *join, table_map all_table_map) int tableno; double rows= 1.0; while ((tableno = tm_it.next_bit()) != Table_map_iterator::BITMAP_END) - rows *= join->map2table[tableno]->table->quick_condition_rows; + rows= COST_MULT(rows, + join->map2table[tableno]->table->quick_condition_rows); sjm->rows= MY_MIN(sjm->rows, rows); } memcpy((uchar*) sjm->positions, @@ -2581,7 +2583,7 @@ static uint get_tmp_table_rec_length(Item **p_items, uint elements) static double get_tmp_table_lookup_cost(THD *thd, double row_count, uint row_size) { - if (row_count * row_size > thd->variables.max_heap_table_size) + if (row_count > thd->variables.max_heap_table_size / (double) row_size) return (double) DISK_TEMPTABLE_LOOKUP_COST; else return (double) HEAP_TEMPTABLE_LOOKUP_COST; @@ -2987,8 +2989,11 @@ bool Sj_materialization_picker::check_qep(JOIN *join, } double mat_read_time= prefix_cost.total_cost(); - mat_read_time += mat_info->materialization_cost.total_cost() + - prefix_rec_count * mat_info->lookup_cost.total_cost(); + mat_read_time= + COST_ADD(mat_read_time, + COST_ADD(mat_info->materialization_cost.total_cost(), + COST_MULT(prefix_rec_count, + mat_info->lookup_cost.total_cost()))); /* NOTE: When we pick to use SJM[-Scan] we don't memcpy its POSITION @@ -3028,9 +3033,12 @@ bool Sj_materialization_picker::check_qep(JOIN *join, } /* Add materialization cost */ - prefix_cost += mat_info->materialization_cost.total_cost() + - prefix_rec_count * mat_info->scan_cost.total_cost(); - prefix_rec_count *= mat_info->rows; + prefix_cost= + COST_ADD(prefix_cost, + COST_ADD(mat_info->materialization_cost.total_cost(), + COST_MULT(prefix_rec_count, + mat_info->scan_cost.total_cost()))); + prefix_rec_count= COST_MULT(prefix_rec_count, mat_info->rows); uint i; table_map rem_tables= remaining_tables; @@ -3044,8 +3052,8 @@ bool Sj_materialization_picker::check_qep(JOIN *join, { best_access_path(join, join->positions[i].table, rem_tables, i, disable_jbuf, prefix_rec_count, &curpos, &dummy); - prefix_rec_count *= curpos.records_read; - prefix_cost += curpos.read_time; + prefix_rec_count= COST_MULT(prefix_rec_count, curpos.records_read); + prefix_cost= COST_ADD(prefix_cost, curpos.read_time); } *strategy= SJ_OPT_MATERIALIZE_SCAN; @@ -3352,16 +3360,18 @@ bool Duplicate_weedout_picker::check_qep(JOIN *join, for (uint j= first_dupsweedout_table; j <= idx; j++) { POSITION *p= join->positions + j; - current_fanout *= p->records_read; - dups_cost += p->read_time + current_fanout / TIME_FOR_COMPARE; + current_fanout= COST_MULT(current_fanout, p->records_read); + dups_cost= COST_ADD(dups_cost, + COST_ADD(p->read_time, + current_fanout / TIME_FOR_COMPARE)); if (p->table->emb_sj_nest) { - sj_inner_fanout *= p->records_read; + sj_inner_fanout= COST_MULT(sj_inner_fanout, p->records_read); dups_removed_fanout |= p->table->table->map; } else { - sj_outer_fanout *= p->records_read; + sj_outer_fanout= COST_MULT(sj_outer_fanout, p->records_read); temptable_rec_size += p->table->table->file->ref_length; } } @@ -3380,12 +3390,13 @@ bool Duplicate_weedout_picker::check_qep(JOIN *join, sj_outer_fanout, temptable_rec_size); - double write_cost= join->positions[first_tab].prefix_record_count* - sj_outer_fanout * one_write_cost; - double full_lookup_cost= join->positions[first_tab].prefix_record_count* - sj_outer_fanout* sj_inner_fanout * - one_lookup_cost; - dups_cost += write_cost + full_lookup_cost; + double write_cost= COST_MULT(join->positions[first_tab].prefix_record_count, + sj_outer_fanout * one_write_cost); + double full_lookup_cost= + COST_MULT(join->positions[first_tab].prefix_record_count, + COST_MULT(sj_outer_fanout, + sj_inner_fanout * one_lookup_cost)); + dups_cost= COST_ADD(dups_cost, COST_ADD(write_cost, full_lookup_cost)); *read_time= dups_cost; *record_count= prefix_rec_count * sj_outer_fanout; @@ -3532,8 +3543,8 @@ static void recalculate_prefix_record_count(JOIN *join, uint start, uint end) if (j == join->const_tables) prefix_count= 1.0; else - prefix_count= join->best_positions[j-1].prefix_record_count * - join->best_positions[j-1].records_read; + prefix_count= COST_MULT(join->best_positions[j-1].prefix_record_count, + join->best_positions[j-1].records_read); join->best_positions[j].prefix_record_count= prefix_count; } @@ -5882,14 +5893,16 @@ bool JOIN::choose_subquery_plan(table_map join_tables) The cost of executing the subquery and storing its result in an indexed temporary table. */ - double materialization_cost= inner_read_time_1 + - write_cost * inner_record_count_1; + double materialization_cost= COST_ADD(inner_read_time_1, + COST_MULT(write_cost, + inner_record_count_1)); - materialize_strategy_cost= materialization_cost + - outer_lookup_keys * lookup_cost; + materialize_strategy_cost= COST_ADD(materialization_cost, + COST_MULT(outer_lookup_keys, + lookup_cost)); /* C.2 Compute the cost of the IN=>EXISTS strategy. */ - in_exists_strategy_cost= outer_lookup_keys * inner_read_time_2; + in_exists_strategy_cost= COST_MULT(outer_lookup_keys, inner_read_time_2); /* C.3 Compare the costs and choose the cheaper strategy. */ if (materialize_strategy_cost >= in_exists_strategy_cost) diff --git a/sql/opt_subselect.h b/sql/opt_subselect.h index 7954becfa..1b4c81161 100644 --- a/sql/opt_subselect.h +++ b/sql/opt_subselect.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* Semi-join subquery optimization code definitions diff --git a/sql/opt_sum.cc b/sql/opt_sum.cc index 5d5132e7f..a87e6ba08 100644 --- a/sql/opt_sum.cc +++ b/sql/opt_sum.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** diff --git a/sql/opt_table_elimination.cc b/sql/opt_table_elimination.cc index da1706e63..17fabb058 100644 --- a/sql/opt_table_elimination.cc +++ b/sql/opt_table_elimination.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/parse_file.cc b/sql/parse_file.cc index f3dab4f7b..79d95fa7e 100644 --- a/sql/parse_file.cc +++ b/sql/parse_file.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/parse_file.h b/sql/parse_file.h index 87917dbd7..54a2b86dc 100644 --- a/sql/parse_file.h +++ b/sql/parse_file.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef _PARSE_FILE_H_ #define _PARSE_FILE_H_ diff --git a/sql/partition_element.h b/sql/partition_element.h index 308a4d6dd..c1ad8c9b4 100644 --- a/sql/partition_element.h +++ b/sql/partition_element.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include "my_base.h" /* ha_rows */ #include "handler.h" /* UNDEF_NODEGROUP */ diff --git a/sql/partition_info.cc b/sql/partition_info.cc index 892b7e8bd..7ec7b792d 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Some general useful functions */ diff --git a/sql/partition_info.h b/sql/partition_info.h index 0f38c87dd..fa596fdbc 100644 --- a/sql/partition_info.h +++ b/sql/partition_info.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef USE_PRAGMA_INTERFACE #pragma interface /* gcc class implementation */ diff --git a/sql/password.c b/sql/password.c index 02e4a0c37..8efba1535 100644 --- a/sql/password.c +++ b/sql/password.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* password checking routines */ /***************************************************************************** diff --git a/sql/plistsort.c b/sql/plistsort.c index 99657410f..6efea2739 100644 --- a/sql/plistsort.c +++ b/sql/plistsort.c @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /* @@ -91,7 +91,7 @@ LS_SCOPE LS_LIST_ITEM* LS_NAME(LS_COMPARE_FUNC_DECL LS_LIST_ITEM *list, int list } { - register struct LS_STRUCT_NAME *sp0= sp++; + struct LS_STRUCT_NAME *sp0= sp++; sp->list_len= sp0->list_len >> 1; sp0->list_len-= sp->list_len; sp->return_point= 0; @@ -100,7 +100,7 @@ LS_SCOPE LS_LIST_ITEM* LS_NAME(LS_COMPARE_FUNC_DECL LS_LIST_ITEM *list, int list return_point0: sp->list1= sorted_list; { - register struct LS_STRUCT_NAME *sp0= sp++; + struct LS_STRUCT_NAME *sp0= sp++; list= list_end; sp->list_len= sp0->list_len; sp->return_point= 1; @@ -108,9 +108,9 @@ LS_SCOPE LS_LIST_ITEM* LS_NAME(LS_COMPARE_FUNC_DECL LS_LIST_ITEM *list, int list goto recursion_point; return_point1: { - register LS_LIST_ITEM **hook= &sorted_list; - register LS_LIST_ITEM *list1= sp->list1; - register LS_LIST_ITEM *list2= sorted_list; + LS_LIST_ITEM **hook= &sorted_list; + LS_LIST_ITEM *list1= sp->list1; + LS_LIST_ITEM *list2= sorted_list; if (LS_COMPARE_FUNC_CALL(list1, list2)) { diff --git a/sql/procedure.cc b/sql/procedure.cc index 8f9d6c0a7..75a3a4ea8 100644 --- a/sql/procedure.cc +++ b/sql/procedure.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Procedures (functions with changes output of select) */ diff --git a/sql/procedure.h b/sql/procedure.h index a46e8cfc1..c9b93d681 100644 --- a/sql/procedure.h +++ b/sql/procedure.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* When using sql procedures */ diff --git a/sql/protocol.cc b/sql/protocol.cc index 9c5df04e4..f15b01d3e 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/protocol.h b/sql/protocol.h index 2edad5663..b13978a86 100644 --- a/sql/protocol.h +++ b/sql/protocol.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef USE_PRAGMA_INTERFACE #pragma interface /* gcc class implementation */ diff --git a/sql/records.cc b/sql/records.cc index d98c6939e..795f11978 100644 --- a/sql/records.cc +++ b/sql/records.cc @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef USE_PRAGMA_INTERFACE #pragma implementation /* gcc class implementation */ @@ -622,7 +622,7 @@ static int init_rr_cache(THD *thd, READ_RECORD *info) static int rr_from_cache(READ_RECORD *info) { - reg1 uint i; + uint i; ulong length; my_off_t rest_of_file; int16 error; diff --git a/sql/records.h b/sql/records.h index b55fbc22f..fe3e9556b 100644 --- a/sql/records.h +++ b/sql/records.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef USE_PRAGMA_INTERFACE #pragma interface /* gcc class implementation */ diff --git a/sql/repl_failsafe.cc b/sql/repl_failsafe.cc index 4cf7df522..7a3725a76 100644 --- a/sql/repl_failsafe.cc +++ b/sql/repl_failsafe.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/repl_failsafe.h b/sql/repl_failsafe.h index 2cc031a46..d11cfae11 100644 --- a/sql/repl_failsafe.h +++ b/sql/repl_failsafe.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifdef HAVE_REPLICATION diff --git a/sql/replication.h b/sql/replication.h index 4731c2246..cd3d05d21 100644 --- a/sql/replication.h +++ b/sql/replication.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef REPLICATION_H #define REPLICATION_H diff --git a/sql/rpl_constants.h b/sql/rpl_constants.h index 0a7fde439..f319d0830 100644 --- a/sql/rpl_constants.h +++ b/sql/rpl_constants.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_CONSTANTS_H #define RPL_CONSTANTS_H diff --git a/sql/rpl_filter.cc b/sql/rpl_filter.cc index b82e7bada..366902c1f 100644 --- a/sql/rpl_filter.cc +++ b/sql/rpl_filter.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/rpl_filter.h b/sql/rpl_filter.h index f24ece30a..f22ec8a0c 100644 --- a/sql/rpl_filter.h +++ b/sql/rpl_filter.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_FILTER_H #define RPL_FILTER_H diff --git a/sql/rpl_gtid.cc b/sql/rpl_gtid.cc index 2d4acde03..752b4172b 100644 --- a/sql/rpl_gtid.cc +++ b/sql/rpl_gtid.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Definitions for MariaDB global transaction ID (GTID). */ diff --git a/sql/rpl_gtid.h b/sql/rpl_gtid.h index 7bd639b76..972f1f658 100644 --- a/sql/rpl_gtid.h +++ b/sql/rpl_gtid.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_GTID_H #define RPL_GTID_H diff --git a/sql/rpl_handler.cc b/sql/rpl_handler.cc index 520fb61d8..9582e0876 100644 --- a/sql/rpl_handler.cc +++ b/sql/rpl_handler.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/rpl_handler.h b/sql/rpl_handler.h index afcfd9d55..b53f93dca 100644 --- a/sql/rpl_handler.h +++ b/sql/rpl_handler.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_HANDLER_H #define RPL_HANDLER_H diff --git a/sql/rpl_injector.cc b/sql/rpl_injector.cc index bff0da268..53999d57b 100644 --- a/sql/rpl_injector.cc +++ b/sql/rpl_injector.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/rpl_injector.h b/sql/rpl_injector.h index 41e1fcf46..cd4568cdb 100644 --- a/sql/rpl_injector.h +++ b/sql/rpl_injector.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef INJECTOR_H #define INJECTOR_H diff --git a/sql/rpl_mi.cc b/sql/rpl_mi.cc index ab54f0bfb..0fca8ff62 100644 --- a/sql/rpl_mi.cc +++ b/sql/rpl_mi.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include // For HAVE_REPLICATION #include "sql_priv.h" @@ -115,15 +115,6 @@ void Master_info::wait_until_free() Master_info::~Master_info() { wait_until_free(); -#ifdef WITH_WSREP - /* - Do not free "wsrep" rpl_filter. It will eventually be freed by - free_all_rpl_filters() when server terminates. - */ - if (strncmp(connection_name.str, STRING_WITH_LEN("wsrep"))) -#endif - rpl_filters.delete_element(connection_name.str, connection_name.length, - (void (*)(const char*, uchar*)) free_rpl_filter); my_free(connection_name.str); delete_dynamic(&ignore_server_ids); mysql_mutex_destroy(&run_lock); @@ -1233,7 +1224,7 @@ bool Master_info_index::init_all_master_info() if (!err_num) // No Error on read Master_info { if (global_system_variables.log_warnings > 1) - sql_print_information("Reading of all Master_info entries succeded"); + sql_print_information("Reading of all Master_info entries succeeded"); DBUG_RETURN(0); } if (succ_num) // Have some Error and some Success diff --git a/sql/rpl_mi.h b/sql/rpl_mi.h index d0f617181..12574285d 100644 --- a/sql/rpl_mi.h +++ b/sql/rpl_mi.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_MI_H #define RPL_MI_H diff --git a/sql/rpl_record.cc b/sql/rpl_record.cc index 4f12169fb..f752b88f5 100644 --- a/sql/rpl_record.cc +++ b/sql/rpl_record.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/rpl_record.h b/sql/rpl_record.h index be69716d9..36b654a45 100644 --- a/sql/rpl_record.h +++ b/sql/rpl_record.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_RECORD_H #define RPL_RECORD_H diff --git a/sql/rpl_record_old.cc b/sql/rpl_record_old.cc index 5b876373b..c1a012ab9 100644 --- a/sql/rpl_record_old.cc +++ b/sql/rpl_record_old.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/rpl_record_old.h b/sql/rpl_record_old.h index 34ef9f11c..0b2dd4321 100644 --- a/sql/rpl_record_old.h +++ b/sql/rpl_record_old.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_RECORD_OLD_H #define RPL_RECORD_OLD_H diff --git a/sql/rpl_reporting.cc b/sql/rpl_reporting.cc index ad9494025..d6107e949 100644 --- a/sql/rpl_reporting.cc +++ b/sql/rpl_reporting.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/rpl_reporting.h b/sql/rpl_reporting.h index d90b7ad66..6867b77eb 100644 --- a/sql/rpl_reporting.h +++ b/sql/rpl_reporting.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_REPORTING_H #define RPL_REPORTING_H diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc index b35130c15..f35142538 100644 --- a/sql/rpl_rli.cc +++ b/sql/rpl_rli.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/rpl_rli.h b/sql/rpl_rli.h index b40a34a54..3dec5b0f0 100644 --- a/sql/rpl_rli.h +++ b/sql/rpl_rli.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_RLI_H #define RPL_RLI_H diff --git a/sql/rpl_tblmap.cc b/sql/rpl_tblmap.cc index 80114f50d..1c3832510 100644 --- a/sql/rpl_tblmap.cc +++ b/sql/rpl_tblmap.cc @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include "sql_priv.h" diff --git a/sql/rpl_tblmap.h b/sql/rpl_tblmap.h index 05b298e60..63bac5e68 100644 --- a/sql/rpl_tblmap.h +++ b/sql/rpl_tblmap.h @@ -11,7 +11,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef TABLE_MAPPING_H #define TABLE_MAPPING_H diff --git a/sql/rpl_utility.cc b/sql/rpl_utility.cc index ff2cd74c3..59f4dd054 100644 --- a/sql/rpl_utility.cc +++ b/sql/rpl_utility.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #include #include diff --git a/sql/rpl_utility.h b/sql/rpl_utility.h index ed0ce1636..b42b11231 100644 --- a/sql/rpl_utility.h +++ b/sql/rpl_utility.h @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_UTILITY_H #define RPL_UTILITY_H diff --git a/sql/scheduler.cc b/sql/scheduler.cc index bc3166210..598366be8 100644 --- a/sql/scheduler.cc +++ b/sql/scheduler.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Implementation for the thread scheduler diff --git a/sql/scheduler.h b/sql/scheduler.h index f7aff377e..72ab1918b 100644 --- a/sql/scheduler.h +++ b/sql/scheduler.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* Classes for the thread scheduler diff --git a/sql/set_var.cc b/sql/set_var.cc index b5430c568..b5f017eb8 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /* variable declarations are in sys_vars.cc now !!! */ diff --git a/sql/set_var.h b/sql/set_var.h index 203969d61..fc79e9062 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file diff --git a/sql/share/CMakeLists.txt b/sql/share/CMakeLists.txt index 4293c0b52..246b31614 100644 --- a/sql/share/CMakeLists.txt +++ b/sql/share/CMakeLists.txt @@ -12,7 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA SET (dirs danish diff --git a/sql/share/charsets/Index.xml b/sql/share/charsets/Index.xml index 9764d6296..3530d95bf 100644 --- a/sql/share/charsets/Index.xml +++ b/sql/share/charsets/Index.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/armscii8.xml b/sql/share/charsets/armscii8.xml index c1eb93b1f..161d469c3 100644 --- a/sql/share/charsets/armscii8.xml +++ b/sql/share/charsets/armscii8.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/ascii.xml b/sql/share/charsets/ascii.xml index c516a6851..0f90f4983 100644 --- a/sql/share/charsets/ascii.xml +++ b/sql/share/charsets/ascii.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/cp1250.xml b/sql/share/charsets/cp1250.xml index e6681a625..55379ef66 100644 --- a/sql/share/charsets/cp1250.xml +++ b/sql/share/charsets/cp1250.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/cp1251.xml b/sql/share/charsets/cp1251.xml index 4cd584c0b..33a36289e 100644 --- a/sql/share/charsets/cp1251.xml +++ b/sql/share/charsets/cp1251.xml @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/cp1256.xml b/sql/share/charsets/cp1256.xml index ab0ba855f..4584b30c0 100644 --- a/sql/share/charsets/cp1256.xml +++ b/sql/share/charsets/cp1256.xml @@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/cp1257.xml b/sql/share/charsets/cp1257.xml index 61d1d276b..d2f3d59fe 100644 --- a/sql/share/charsets/cp1257.xml +++ b/sql/share/charsets/cp1257.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/cp850.xml b/sql/share/charsets/cp850.xml index 06465540a..32eb37e3c 100644 --- a/sql/share/charsets/cp850.xml +++ b/sql/share/charsets/cp850.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/cp852.xml b/sql/share/charsets/cp852.xml index e0c574d2e..f038fa92d 100644 --- a/sql/share/charsets/cp852.xml +++ b/sql/share/charsets/cp852.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/cp866.xml b/sql/share/charsets/cp866.xml index 9cd8c8c50..3245326af 100644 --- a/sql/share/charsets/cp866.xml +++ b/sql/share/charsets/cp866.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/dec8.xml b/sql/share/charsets/dec8.xml index 68949309c..256971331 100644 --- a/sql/share/charsets/dec8.xml +++ b/sql/share/charsets/dec8.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/geostd8.xml b/sql/share/charsets/geostd8.xml index 822cc0837..bcb3148fe 100644 --- a/sql/share/charsets/geostd8.xml +++ b/sql/share/charsets/geostd8.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/greek.xml b/sql/share/charsets/greek.xml index cbbe22e67..9ab0cb683 100644 --- a/sql/share/charsets/greek.xml +++ b/sql/share/charsets/greek.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/hebrew.xml b/sql/share/charsets/hebrew.xml index 562fa4f47..295440b4e 100644 --- a/sql/share/charsets/hebrew.xml +++ b/sql/share/charsets/hebrew.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/hp8.xml b/sql/share/charsets/hp8.xml index b17f75ed7..628ebe7f3 100644 --- a/sql/share/charsets/hp8.xml +++ b/sql/share/charsets/hp8.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/keybcs2.xml b/sql/share/charsets/keybcs2.xml index 7c2775ba5..a60793196 100644 --- a/sql/share/charsets/keybcs2.xml +++ b/sql/share/charsets/keybcs2.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/koi8r.xml b/sql/share/charsets/koi8r.xml index 25264d4f9..7a8a936f7 100644 --- a/sql/share/charsets/koi8r.xml +++ b/sql/share/charsets/koi8r.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/koi8u.xml b/sql/share/charsets/koi8u.xml index a2f5de9fe..83e85b843 100644 --- a/sql/share/charsets/koi8u.xml +++ b/sql/share/charsets/koi8u.xml @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA diff --git a/sql/share/charsets/languages.html b/sql/share/charsets/languages.html index 3263d6a2a..9adce32f3 100644 --- a/sql/share/charsets/languages.html +++ b/sql/share/charsets/languages.html @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA #
 (
diff --git a/sql/share/charsets/latin1.xml b/sql/share/charsets/latin1.xml
index 68307847d..f88a2840f 100644
--- a/sql/share/charsets/latin1.xml
+++ b/sql/share/charsets/latin1.xml
@@ -17,7 +17,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 
 
diff --git a/sql/share/charsets/latin2.xml b/sql/share/charsets/latin2.xml
index 29ff4cb97..20e7803ce 100644
--- a/sql/share/charsets/latin2.xml
+++ b/sql/share/charsets/latin2.xml
@@ -17,7 +17,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 
 
diff --git a/sql/share/charsets/latin5.xml b/sql/share/charsets/latin5.xml
index ca7dd106d..727019ccd 100644
--- a/sql/share/charsets/latin5.xml
+++ b/sql/share/charsets/latin5.xml
@@ -17,7 +17,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 
 
diff --git a/sql/share/charsets/latin7.xml b/sql/share/charsets/latin7.xml
index 81866c23b..78b7dda61 100644
--- a/sql/share/charsets/latin7.xml
+++ b/sql/share/charsets/latin7.xml
@@ -17,7 +17,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 
 
diff --git a/sql/share/charsets/macce.xml b/sql/share/charsets/macce.xml
index 4fa46301d..2a601b7b6 100644
--- a/sql/share/charsets/macce.xml
+++ b/sql/share/charsets/macce.xml
@@ -17,7 +17,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 
 
diff --git a/sql/share/charsets/macroman.xml b/sql/share/charsets/macroman.xml
index 4ee8dc1f9..711a39145 100644
--- a/sql/share/charsets/macroman.xml
+++ b/sql/share/charsets/macroman.xml
@@ -17,7 +17,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 
 
diff --git a/sql/share/charsets/swe7.xml b/sql/share/charsets/swe7.xml
index d881f1e7d..513c3eeb8 100644
--- a/sql/share/charsets/swe7.xml
+++ b/sql/share/charsets/swe7.xml
@@ -17,7 +17,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 
 
diff --git a/sql/signal_handler.cc b/sql/signal_handler.cc
index 76af7733f..d9b3fece8 100644
--- a/sql/signal_handler.cc
+++ b/sql/signal_handler.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "my_global.h"
 #include 
diff --git a/sql/slave.cc b/sql/slave.cc
index 6fe6de687..0ebed343a 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /**
@@ -217,7 +217,7 @@ static void set_slave_max_allowed_packet(THD *thd, MYSQL *mysql)
 void init_thread_mask(int* mask,Master_info* mi,bool inverse)
 {
   bool set_io = mi->slave_running, set_sql = mi->rli.slave_running;
-  register int tmp_mask=0;
+  int tmp_mask=0;
   DBUG_ENTER("init_thread_mask");
 
   if (set_io)
diff --git a/sql/slave.h b/sql/slave.h
index 58c810661..11a8fa1e6 100644
--- a/sql/slave.h
+++ b/sql/slave.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef SLAVE_H
 #define SLAVE_H
diff --git a/sql/sp.cc b/sql/sp.cc
index a5a14ec8d..966ea0280 100644
--- a/sql/sp.cc
+++ b/sql/sp.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/sp.h b/sql/sp.h
index df60482f8..6dea08ea6 100644
--- a/sql/sp.h
+++ b/sql/sp.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _SP_H_
 #define _SP_H_
diff --git a/sql/sp_cache.cc b/sql/sp_cache.cc
index bafd0f34a..f99c0bd0b 100644
--- a/sql/sp_cache.cc
+++ b/sql/sp_cache.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/sp_cache.h b/sql/sp_cache.h
index b21d4c4bf..607495666 100644
--- a/sql/sp_cache.h
+++ b/sql/sp_cache.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _SP_CACHE_H_
 #define _SP_CACHE_H_
diff --git a/sql/sp_head.cc b/sql/sp_head.cc
index 852ba4530..5c5688be4 100644
--- a/sql/sp_head.cc
+++ b/sql/sp_head.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include                           /* NO_EMBEDDED_ACCESS_CHECKS */
 #include "sql_priv.h"
@@ -212,7 +212,7 @@ sp_get_flags_for_command(LEX *lex)
 
   switch (lex->sql_command) {
   case SQLCOM_SELECT:
-    if (lex->result)
+    if (lex->result && !lex->analyze_stmt)
     {
       flags= 0;                      /* This is a SELECT with INTO clause */
       break;
diff --git a/sql/sp_head.h b/sql/sp_head.h
index 604190079..2b3e568fb 100644
--- a/sql/sp_head.h
+++ b/sql/sp_head.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _SP_HEAD_H_
 #define _SP_HEAD_H_
diff --git a/sql/sp_pcontext.cc b/sql/sp_pcontext.cc
index faf5a2de8..a0ef70c89 100644
--- a/sql/sp_pcontext.cc
+++ b/sql/sp_pcontext.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/sp_pcontext.h b/sql/sp_pcontext.h
index efe9531c3..4d500c15f 100644
--- a/sql/sp_pcontext.h
+++ b/sql/sp_pcontext.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _SP_PCONTEXT_H_
 #define _SP_PCONTEXT_H_
diff --git a/sql/sp_rcontext.cc b/sql/sp_rcontext.cc
index 4d74d2721..c3ef676f9 100644
--- a/sql/sp_rcontext.cc
+++ b/sql/sp_rcontext.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/sp_rcontext.h b/sql/sp_rcontext.h
index 2640490fe..a0a009adb 100644
--- a/sql/sp_rcontext.h
+++ b/sql/sp_rcontext.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _SP_RCONTEXT_H_
 #define _SP_RCONTEXT_H_
diff --git a/sql/spatial.cc b/sql/spatial.cc
index e8d2fb423..b8378e4fd 100644
--- a/sql/spatial.cc
+++ b/sql/spatial.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/spatial.h b/sql/spatial.h
index 6f50acac9..79a3553bc 100644
--- a/sql/spatial.h
+++ b/sql/spatial.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _spatial_h
 #define _spatial_h
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 6448f65a2..4569121ab 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 /*
@@ -10629,7 +10629,7 @@ int fill_schema_applicable_roles(THD *thd, TABLE_LIST *tables, COND *cond)
 
 int wild_case_compare(CHARSET_INFO *cs, const char *str,const char *wildstr)
 {
-  reg3 int flag;
+  int flag;
   DBUG_ENTER("wild_case_compare");
   DBUG_PRINT("enter",("str: '%s'  wildstr: '%s'",str,wildstr));
   while (*wildstr)
@@ -11510,6 +11510,7 @@ static bool send_plugin_request_packet(MPVIO_EXT *mpvio,
     ((st_mysql_auth *) (plugin_decl(mpvio->plugin)->info))->client_auth_plugin;
 
   DBUG_EXECUTE_IF("auth_disconnect", { vio_close(net->vio); DBUG_RETURN(1); });
+  DBUG_EXECUTE_IF("auth_invalid_plugin", client_auth_plugin="foo/bar"; );
   DBUG_ASSERT(client_auth_plugin);
 
   /*
diff --git a/sql/sql_acl.h b/sql/sql_acl.h
index fc3fcdc53..c191cb83d 100644
--- a/sql/sql_acl.h
+++ b/sql/sql_acl.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "my_global.h"                          /* NO_EMBEDDED_ACCESS_CHECKS */
 #include "violite.h"                            /* SSL_type */
diff --git a/sql/sql_admin.cc b/sql/sql_admin.cc
index 0ec671903..4afaff582 100644
--- a/sql/sql_admin.cc
+++ b/sql/sql_admin.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "sql_class.h"                       // THD and my_global.h
 #include "keycaches.h"                       // get_key_cache
diff --git a/sql/sql_admin.h b/sql/sql_admin.h
index 96594fad0..e764ebb14 100644
--- a/sql/sql_admin.h
+++ b/sql/sql_admin.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef SQL_TABLE_MAINTENANCE_H
 #define SQL_TABLE_MAINTENANCE_H
diff --git a/sql/sql_alter.cc b/sql/sql_alter.cc
index ddac27114..8ec68bf48 100644
--- a/sql/sql_alter.cc
+++ b/sql/sql_alter.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "sql_parse.h"                       // check_access
 #include "sql_table.h"                       // mysql_alter_table,
@@ -193,6 +193,18 @@ bool Sql_cmd_alter_table::execute(THD *thd)
   SELECT_LEX *select_lex= &lex->select_lex;
   /* first table of first SELECT_LEX */
   TABLE_LIST *first_table= (TABLE_LIST*) select_lex->table_list.first;
+
+  const bool used_engine= lex->create_info.used_fields & HA_CREATE_USED_ENGINE;
+  DBUG_ASSERT((m_storage_engine_name.str != NULL) == used_engine);
+  if (used_engine)
+  {
+    if (resolve_storage_engine_with_error(thd, &lex->create_info.db_type,
+                                          lex->create_info.tmp_table()))
+      return true; // Engine not found, substitution is not allowed
+    if (!lex->create_info.db_type) // Not found, but substitution is allowed
+      lex->create_info.used_fields&= ~HA_CREATE_USED_ENGINE;
+  }
+
   /*
     Code in mysql_alter_table() may modify its HA_CREATE_INFO argument,
     so we have to use a copy of this structure to make execution
diff --git a/sql/sql_alter.h b/sql/sql_alter.h
index a4505f1d6..473208f06 100644
--- a/sql/sql_alter.h
+++ b/sql/sql_alter.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef SQL_ALTER_TABLE_H
 #define SQL_ALTER_TABLE_H
@@ -385,7 +385,8 @@ class Sql_cmd_common_alter_table : public Sql_cmd
   Sql_cmd_alter_table represents the generic ALTER TABLE statement.
   @todo move Alter_info and other ALTER specific structures from Lex here.
 */
-class Sql_cmd_alter_table : public Sql_cmd_common_alter_table
+class Sql_cmd_alter_table : public Sql_cmd_common_alter_table,
+                            public Storage_engine_name
 {
 public:
   /**
@@ -397,6 +398,8 @@ class Sql_cmd_alter_table : public Sql_cmd_common_alter_table
   ~Sql_cmd_alter_table()
   {}
 
+  Storage_engine_name *option_storage_engine_name() { return this; }
+
   bool execute(THD *thd);
 };
 
diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc
index 45f4f87f1..902b78932 100644
--- a/sql/sql_analyse.cc
+++ b/sql/sql_analyse.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 /* Analyse database */
diff --git a/sql/sql_analyse.h b/sql/sql_analyse.h
index 738737f0e..440e49d50 100644
--- a/sql/sql_analyse.h
+++ b/sql/sql_analyse.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* Analyse database */
diff --git a/sql/sql_analyze_stmt.cc b/sql/sql_analyze_stmt.cc
index 68299d024..0d72bed3b 100644
--- a/sql/sql_analyze_stmt.cc
+++ b/sql/sql_analyze_stmt.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
 #pragma implementation				// gcc: Class implementation
diff --git a/sql/sql_analyze_stmt.h b/sql/sql_analyze_stmt.h
index 7d3d08534..321a233c5 100644
--- a/sql/sql_analyze_stmt.h
+++ b/sql/sql_analyze_stmt.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
 
diff --git a/sql/sql_array.h b/sql/sql_array.h
index 3e75a9ea5..32e2a6b68 100644
--- a/sql/sql_array.h
+++ b/sql/sql_array.h
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 
diff --git a/sql/sql_audit.cc b/sql/sql_audit.cc
index 60a75cb06..cee0ac228 100644
--- a/sql/sql_audit.cc
+++ b/sql/sql_audit.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
@@ -212,6 +212,7 @@ void mysql_audit_acquire_plugins(THD *thd, ulong *event_class_mask)
   {
     plugin_foreach(thd, acquire_plugins, MYSQL_AUDIT_PLUGIN, event_class_mask);
     add_audit_mask(thd->audit_class_mask, event_class_mask);
+    thd->audit_plugin_version= global_plugin_version;
   }
   DBUG_VOID_RETURN;
 }
@@ -241,6 +242,20 @@ void mysql_audit_notify(THD *thd, uint event_class, uint event_subtype, ...)
 }
 
 
+/**
+  Check if there were changes in the state of plugins
+  so we need to do the mysql_audit_release asap.
+
+  @param[in] thd
+
+*/
+
+my_bool mysql_audit_release_required(THD *thd)
+{
+  return thd && (thd->audit_plugin_version != global_plugin_version);
+}
+
+
 /**
   Release any resources associated with the current thd.
   
@@ -276,6 +291,7 @@ void mysql_audit_release(THD *thd)
   /* Reset the state of thread values */
   reset_dynamic(&thd->audit_class_plugins);
   bzero(thd->audit_class_mask, sizeof(thd->audit_class_mask));
+  thd->audit_plugin_version= -1;
 }
 
 
diff --git a/sql/sql_audit.h b/sql/sql_audit.h
index 68106f099..9a7467572 100644
--- a/sql/sql_audit.h
+++ b/sql/sql_audit.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #include 
@@ -60,6 +60,7 @@ static inline void mysql_audit_notify(THD *thd, uint event_class,
 #define mysql_audit_connection_enabled() 0
 #define mysql_audit_table_enabled() 0
 #endif
+extern my_bool mysql_audit_release_required(THD *thd);
 extern void mysql_audit_release(THD *thd);
 
 #define MAX_USER_HOST_SIZE 512
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 3a7ffdb65..e8bdff8b4 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 /* Basic functions needed by many modules */
@@ -1205,7 +1205,7 @@ bool close_temporary_tables(THD *thd)
       my_thread_id save_pseudo_thread_id= thd->variables.pseudo_thread_id;
       char db_buf[FN_REFLEN];
       String db(db_buf, sizeof(db_buf), system_charset_info);
-
+      bool at_least_one_create_logged;
       /* Set pseudo_thread_id to be that of the processed table */
       thd->variables.pseudo_thread_id= tmpkeyval(thd, table);
 
@@ -1217,56 +1217,62 @@ bool close_temporary_tables(THD *thd)
          within the sublist of common pseudo_thread_id to create single
          DROP query 
       */
-      for (;
+      for (at_least_one_create_logged= false;
            table && is_user_table(table) &&
              tmpkeyval(thd, table) == thd->variables.pseudo_thread_id &&
              table->s->db.length == db.length() &&
              memcmp(table->s->db.str, db.ptr(), db.length()) == 0;
            table= next)
       {
-        /*
-          We are going to add ` around the table names and possible more
-          due to special characters
-        */
-        append_identifier(thd, &s_query, table->s->table_name.str,
-                          strlen(table->s->table_name.str));
-        s_query.append(',');
+        if (table->s->table_creation_was_logged)
+        {
+          at_least_one_create_logged= true;
+          /*
+            We are going to add ` around the table names and possible more
+            due to special characters
+          */
+          append_identifier(thd, &s_query, table->s->table_name.str,
+                            strlen(table->s->table_name.str));
+          s_query.append(',');
+        }
         next= table->next;
         mysql_lock_remove(thd, thd->lock, table);
         close_temporary(table, 1, 1);
       }
-      thd->clear_error();
-      CHARSET_INFO *cs_save= thd->variables.character_set_client;
-      thd->variables.character_set_client= system_charset_info;
-      thd->thread_specific_used= TRUE;
-      Query_log_event qinfo(thd, s_query.ptr(),
-                            s_query.length() - 1 /* to remove trailing ',' */,
-                            FALSE, TRUE, FALSE, 0);
-      qinfo.db= db.ptr();
-      qinfo.db_len= db.length();
-      thd->variables.character_set_client= cs_save;
-
-      thd->get_stmt_da()->set_overwrite_status(true);
-      thd->transaction.stmt.mark_dropped_temp_table();
-      if ((error= (mysql_bin_log.write(&qinfo) || error)))
+      if (at_least_one_create_logged)
       {
-        /*
-          If we're here following THD::cleanup, thence the connection
-          has been closed already. So lets print a message to the
-          error log instead of pushing yet another error into the
-          stmt_da.
-
-          Also, we keep the error flag so that we propagate the error
-          up in the stack. This way, if we're the SQL thread we notice
-          that close_temporary_tables failed. (Actually, the SQL
-          thread only calls close_temporary_tables while applying old
-          Start_log_event_v3 events.)
-        */
-        sql_print_error("Failed to write the DROP statement for "
-                        "temporary tables to binary log");
+        thd->clear_error();
+        CHARSET_INFO *cs_save= thd->variables.character_set_client;
+        thd->variables.character_set_client= system_charset_info;
+        thd->thread_specific_used= TRUE;
+        Query_log_event qinfo(thd, s_query.ptr(),
+                              s_query.length() - 1 /* to remove trailing ',' */,
+                              FALSE, TRUE, FALSE, 0);
+        qinfo.db= db.ptr();
+        qinfo.db_len= db.length();
+        thd->variables.character_set_client= cs_save;
+
+        thd->get_stmt_da()->set_overwrite_status(true);
+        thd->transaction.stmt.mark_dropped_temp_table();
+        if ((error= (mysql_bin_log.write(&qinfo) || error)))
+        {
+          /*
+            If we're here following THD::cleanup, thence the connection
+            has been closed already. So lets print a message to the
+            error log instead of pushing yet another error into the
+            stmt_da.
+
+            Also, we keep the error flag so that we propagate the error
+            up in the stack. This way, if we're the SQL thread we notice
+            that close_temporary_tables failed. (Actually, the SQL
+            thread only calls close_temporary_tables while applying old
+            Start_log_event_v3 events.)
+          */
+          sql_print_error("Failed to write the DROP statement for "
+                          "temporary tables to binary log");
+        }
+        thd->get_stmt_da()->set_overwrite_status(false);
       }
-      thd->get_stmt_da()->set_overwrite_status(false);
-
       thd->variables.pseudo_thread_id= save_pseudo_thread_id;
       thd->thread_specific_used= save_thread_specific_used;
     }
@@ -4389,10 +4395,10 @@ lock_table_names(THD *thd, const DDL_options_st &options,
     mdl_requests.push_front(&global_request);
 
     if (create_table)
-    #ifdef WITH_WSREP
-      if (thd->lex->sql_command != SQLCOM_CREATE_TABLE &&
-          thd->wsrep_exec_mode != REPL_RECV)
-    #endif
+#ifdef WITH_WSREP
+      if (!(thd->lex->sql_command == SQLCOM_CREATE_TABLE &&
+	    thd->wsrep_exec_mode == REPL_RECV))
+#endif
       lock_wait_timeout= 0;                     // Don't wait for timeout
   }
 
@@ -4403,6 +4409,7 @@ lock_table_names(THD *thd, const DDL_options_st &options,
     bool res= thd->mdl_context.acquire_locks(&mdl_requests, lock_wait_timeout);
     if (create_table)
       thd->pop_internal_handler();
+
     if (!res)
       DBUG_RETURN(FALSE);                       // Got locks
 
@@ -4530,8 +4537,7 @@ open_tables_check_upgradable_mdl(THD *thd, TABLE_LIST *tables_start,
 */
 
 bool open_tables(THD *thd, const DDL_options_st &options,
-                 TABLE_LIST **start, uint *counter,
-                 Sroutine_hash_entry **sroutine_to_open_list, uint flags,
+                 TABLE_LIST **start, uint *counter, uint flags,
                  Prelocking_strategy *prelocking_strategy)
 {
   /*
@@ -4574,9 +4580,10 @@ bool open_tables(THD *thd, const DDL_options_st &options,
 
   has_prelocking_list= thd->lex->requires_prelocking();
   table_to_open= start;
-  sroutine_to_open= sroutine_to_open_list;
+  sroutine_to_open= &thd->lex->sroutines_list.first;
   *counter= 0;
   THD_STAGE_INFO(thd, stage_opening_tables);
+  prelocking_strategy->reset(thd);
 
   /*
     If we are executing LOCK TABLES statement or a DDL statement
@@ -4634,8 +4641,7 @@ bool open_tables(THD *thd, const DDL_options_st &options,
     elements in prelocking list/set.
   */
   while (*table_to_open  ||
-         (thd->locked_tables_mode <= LTM_LOCK_TABLES &&
-          *sroutine_to_open))
+         (thd->locked_tables_mode <= LTM_LOCK_TABLES && *sroutine_to_open))
   {
     /*
       For every table in the list of tables to open, try to find or open
@@ -4755,6 +4761,8 @@ bool open_tables(THD *thd, const DDL_options_st &options,
         }
       }
     }
+    if ((error= prelocking_strategy->handle_end(thd)))
+      goto error;
   }
 
   /*
@@ -8009,7 +8017,7 @@ bool setup_fields(THD *thd, Item **ref_pointer_array,
                   List *sum_func_list, List *pre_fix,
                   bool allow_sum_func)
 {
-  reg2 Item *item;
+  Item *item;
   enum_mark_columns save_mark_used_columns= thd->mark_used_columns;
   nesting_map save_allow_sum_func= thd->lex->allow_sum_func;
   List_iterator it(fields);
@@ -9216,8 +9224,7 @@ my_bool mysql_rm_tmp_tables(void)
     {
       file=dirp->dir_entry+idx;
 
-      if (!memcmp(file->name, tmp_file_prefix,
-                  tmp_file_prefix_length))
+      if (!strncmp(file->name, tmp_file_prefix, tmp_file_prefix_length))
       {
         char *ext= fn_ext(file->name);
         uint ext_len= strlen(ext);
diff --git a/sql/sql_base.h b/sql/sql_base.h
index 53b588546..91eef7369 100644
--- a/sql/sql_base.h
+++ b/sql/sql_base.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_BASE_INCLUDED
 #define SQL_BASE_INCLUDED
@@ -252,17 +252,7 @@ lock_table_names(THD *thd, TABLE_LIST *table_list,
 }
 bool open_tables(THD *thd, const DDL_options_st &options,
                  TABLE_LIST **tables, uint *counter,
-                 Sroutine_hash_entry **sroutine_to_open, uint flags,
-                 Prelocking_strategy *prelocking_strategy);
-
-static inline bool
-open_tables(THD *thd, const DDL_options_st &options, TABLE_LIST **tables,
-            uint *counter, uint flags, Prelocking_strategy *prelocking_strategy)
-{
-  return open_tables(thd, options, tables, counter,
-                     &thd->lex->sroutines_list.first, flags,
-                     prelocking_strategy);
-}
+                 uint flags, Prelocking_strategy *prelocking_strategy);
 
 static inline bool
 open_tables(THD *thd, TABLE_LIST **tables, uint *counter, uint flags,
@@ -442,6 +432,7 @@ class Prelocking_strategy
 public:
   virtual ~Prelocking_strategy() { }
 
+  virtual void reset(THD *thd) { };
   virtual bool handle_routine(THD *thd, Query_tables_list *prelocking_ctx,
                               Sroutine_hash_entry *rt, sp_head *sp,
                               bool *need_prelocking) = 0;
@@ -449,6 +440,7 @@ class Prelocking_strategy
                             TABLE_LIST *table_list, bool *need_prelocking) = 0;
   virtual bool handle_view(THD *thd, Query_tables_list *prelocking_ctx,
                            TABLE_LIST *table_list, bool *need_prelocking)= 0;
+  virtual bool handle_end(THD *thd) { return 0; };
 };
 
 
diff --git a/sql/sql_binlog.cc b/sql/sql_binlog.cc
index 2e861d00f..1105c9a55 100644
--- a/sql/sql_binlog.cc
+++ b/sql/sql_binlog.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/sql_binlog.h b/sql/sql_binlog.h
index 3a6d56170..d10d78e1e 100644
--- a/sql/sql_binlog.h
+++ b/sql/sql_binlog.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_BINLOG_INCLUDED
 #define SQL_BINLOG_INCLUDED
diff --git a/sql/sql_bitmap.h b/sql/sql_bitmap.h
index 5a2caf89f..fb40d003c 100644
--- a/sql/sql_bitmap.h
+++ b/sql/sql_bitmap.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Implementation of a bitmap type.
diff --git a/sql/sql_bootstrap.cc b/sql/sql_bootstrap.cc
index 30d03029c..ec06854ab 100644
--- a/sql/sql_bootstrap.cc
+++ b/sql/sql_bootstrap.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
-   51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 
 #include 
diff --git a/sql/sql_bootstrap.h b/sql/sql_bootstrap.h
index b8a302a86..f12d66a52 100644
--- a/sql/sql_bootstrap.h
+++ b/sql/sql_bootstrap.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
-   51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 
 #ifndef SQL_BOOTSTRAP_H
diff --git a/sql/sql_builtin.cc.in b/sql/sql_builtin.cc.in
index a40a064dc..e666985eb 100644
--- a/sql/sql_builtin.cc.in
+++ b/sql/sql_builtin.cc.in
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/sql/sql_cache.cc b/sql/sql_cache.cc
index df6c7c35e..44ae9d329 100644
--- a/sql/sql_cache.cc
+++ b/sql/sql_cache.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
-   51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Description of the query cache:
diff --git a/sql/sql_cache.h b/sql/sql_cache.h
index 657caf4a5..82d18ce76 100644
--- a/sql/sql_cache.h
+++ b/sql/sql_cache.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _SQL_CACHE_H
 #define _SQL_CACHE_H
diff --git a/sql/sql_callback.h b/sql/sql_callback.h
index 316f94a02..1f798ad5a 100644
--- a/sql/sql_callback.h
+++ b/sql/sql_callback.h
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 #ifndef SQL_CALLBACK_INCLUDED
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 6fa8c1008..6bcff6d1f 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 
@@ -776,6 +776,9 @@ THD::THD(bool is_wsrep_applier)
    waiting_on_group_commit(FALSE), has_waiter(FALSE),
    spcont(NULL),
    m_parser_state(NULL),
+#ifndef EMBEDDED_LIBRARY
+   audit_plugin_version(-1),
+#endif
 #if defined(ENABLED_DEBUG_SYNC)
    debug_sync_control(0),
 #endif /* defined(ENABLED_DEBUG_SYNC) */
@@ -1562,7 +1565,6 @@ THD::~THD()
 
   mdl_context.destroy();
   ha_close_connection(this);
-  mysql_audit_release(this);
   plugin_thdvar_cleanup(this);
 
   main_security_ctx.destroy();
diff --git a/sql/sql_class.h b/sql/sql_class.h
index c0dc42dee..e3bc572ed 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_CLASS_INCLUDED
 #define SQL_CLASS_INCLUDED
@@ -2978,6 +2978,7 @@ class THD :public Statement,
     added to the list of audit plugins which are currently in use.
   */
   unsigned long audit_class_mask[MYSQL_AUDIT_CLASS_MASK_SIZE];
+  int audit_plugin_version;
 #endif
 
 #if defined(ENABLED_DEBUG_SYNC)
@@ -5195,7 +5196,7 @@ class Unique :public Sql_alloc
   inline static int get_cost_calc_buff_size(size_t nkeys, uint key_size,
                                             ulonglong max_in_memory_size)
   {
-    register ulonglong max_elems_in_tree=
+    ulonglong max_elems_in_tree=
       max_in_memory_size / ALIGN_SIZE(sizeof(TREE_ELEMENT)+key_size);
     return (int) (sizeof(uint)*(1 + nkeys/max_elems_in_tree));
   }
diff --git a/sql/sql_client.cc b/sql/sql_client.cc
index efac01f98..bd60b17ea 100644
--- a/sql/sql_client.cc
+++ b/sql/sql_client.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   This files defines some MySQL C API functions that are server specific
diff --git a/sql/sql_cmd.h b/sql/sql_cmd.h
index 904578134..c237bb927 100644
--- a/sql/sql_cmd.h
+++ b/sql/sql_cmd.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file Representation of an SQL command.
@@ -102,6 +102,31 @@ enum enum_sql_command {
   SQLCOM_END
 };
 
+
+class Storage_engine_name
+{
+protected:
+  LEX_CSTRING m_storage_engine_name;
+public:
+  Storage_engine_name()
+  {
+    m_storage_engine_name.str= NULL;
+    m_storage_engine_name.length= 0;
+  }
+  Storage_engine_name(const LEX_CSTRING &name)
+   :m_storage_engine_name(name)
+  { }
+  Storage_engine_name(const LEX_STRING &name)
+  {
+    m_storage_engine_name.str= name.str;
+    m_storage_engine_name.length= name.length;
+  }
+  bool resolve_storage_engine_with_error(THD *thd,
+                                         handlerton **ha,
+                                         bool tmp_table);
+};
+
+
 /**
   @class Sql_cmd - Representation of an SQL command.
 
@@ -145,6 +170,11 @@ class Sql_cmd : public Sql_alloc
   */
   virtual bool execute(THD *thd) = 0;
 
+  virtual Storage_engine_name *option_storage_engine_name()
+  {
+    return NULL;
+  }
+
 protected:
   Sql_cmd()
   {}
@@ -161,4 +191,15 @@ class Sql_cmd : public Sql_alloc
   }
 };
 
+
+class Sql_cmd_create_table: public Sql_cmd,
+                            public Storage_engine_name
+{
+public:
+  enum_sql_command sql_command_code() const { return SQLCOM_CREATE_TABLE; }
+  Storage_engine_name *option_storage_engine_name() { return this; }
+  bool execute(THD *thd);
+};
+
+
 #endif // SQL_CMD_INCLUDED
diff --git a/sql/sql_connect.cc b/sql/sql_connect.cc
index abb234ab4..a6a01b140 100644
--- a/sql/sql_connect.cc
+++ b/sql/sql_connect.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 /*
@@ -1326,7 +1326,8 @@ void do_handle_one_connection(THD *thd_arg)
 
     while (thd_is_connection_alive(thd))
     {
-      mysql_audit_release(thd);
+      if (mysql_audit_release_required(thd))
+        mysql_audit_release(thd);
       if (do_command(thd))
 	break;
     }
diff --git a/sql/sql_connect.h b/sql/sql_connect.h
index bab171606..2b00c2d6e 100644
--- a/sql/sql_connect.h
+++ b/sql/sql_connect.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_CONNECT_INCLUDED
 #define SQL_CONNECT_INCLUDED
diff --git a/sql/sql_const.h b/sql/sql_const.h
index 1d6549f77..2e5844f8e 100644
--- a/sql/sql_const.h
+++ b/sql/sql_const.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /**
   @file
@@ -234,6 +234,14 @@
 #define HEAP_TEMPTABLE_LOOKUP_COST 0.05
 #define DISK_TEMPTABLE_LOOKUP_COST 1.0
 
+
+#define COST_MAX (DBL_MAX * (1.0 - DBL_EPSILON))
+
+#define COST_ADD(c,d) (COST_MAX - (d) > (c) ? (c) + (d) : COST_MAX)
+
+#define COST_MULT(c,f) (COST_MAX / (f) > (c) ? (c) * (f) : COST_MAX)
+
+
 #define MY_CHARSET_BIN_MB_MAXLEN 1
 
 /** Don't pack string keys shorter than this (if PACK_KEYS=1 isn't used). */
diff --git a/sql/sql_crypt.cc b/sql/sql_crypt.cc
index 2460a1655..f913cd3eb 100644
--- a/sql/sql_crypt.cc
+++ b/sql/sql_crypt.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 
diff --git a/sql/sql_crypt.h b/sql/sql_crypt.h
index 3df554e9d..e077452e5 100644
--- a/sql/sql_crypt.h
+++ b/sql/sql_crypt.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_INTERFACE 
diff --git a/sql/sql_cursor.cc b/sql/sql_cursor.cc
index 69781b5de..e324ab884 100644
--- a/sql/sql_cursor.cc
+++ b/sql/sql_cursor.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 #ifdef USE_PRAGMA_IMPLEMENTATION
 #pragma implementation                         /* gcc class implementation */
 #endif
diff --git a/sql/sql_cursor.h b/sql/sql_cursor.h
index bff47d654..e07cb9973 100644
--- a/sql/sql_cursor.h
+++ b/sql/sql_cursor.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _sql_cursor_h_
 #define _sql_cursor_h_
diff --git a/sql/sql_db.cc b/sql/sql_db.cc
index 7b83332ea..b1a82ab09 100644
--- a/sql/sql_db.cc
+++ b/sql/sql_db.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 /* create and drop of databases */
@@ -338,7 +338,7 @@ static void del_dbopt(const char *path)
 static bool write_db_opt(THD *thd, const char *path,
                          Schema_specification_st *create)
 {
-  register File file;
+  File file;
   char buf[256]; // Should be enough for one option
   bool error=1;
 
diff --git a/sql/sql_db.h b/sql/sql_db.h
index b778e4264..5841de635 100644
--- a/sql/sql_db.h
+++ b/sql/sql_db.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_DB_INCLUDED
 #define SQL_DB_INCLUDED
diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc
index 9f3caf9df..ab02c3f9c 100644
--- a/sql/sql_delete.cc
+++ b/sql/sql_delete.cc
@@ -1,6 +1,6 @@
 /*
-   Copyright (c) 2000, 2010, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2015, MariaDB
+   Copyright (c) 2000, 2019, Oracle and/or its affiliates.
+   Copyright (c) 2010, 2019, MariaDB
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Delete of records tables.
@@ -1324,6 +1324,7 @@ bool multi_delete::send_eof()
         thd->clear_error();
       else
         errcode= query_error_code(thd, killed_status == NOT_KILLED);
+      thd->thread_specific_used= TRUE;
       if (thd->binlog_query(THD::ROW_QUERY_TYPE,
                             thd->query(), thd->query_length(),
                             transactional_tables, FALSE, FALSE, errcode) &&
diff --git a/sql/sql_delete.h b/sql/sql_delete.h
index 9cd09dc57..5975598f6 100644
--- a/sql/sql_delete.h
+++ b/sql/sql_delete.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_DELETE_INCLUDED
 #define SQL_DELETE_INCLUDED
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index c93aa132e..f151592c0 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /*
diff --git a/sql/sql_derived.h b/sql/sql_derived.h
index 301ae31b0..04e03fa75 100644
--- a/sql/sql_derived.h
+++ b/sql/sql_derived.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_DERIVED_INCLUDED
 #define SQL_DERIVED_INCLUDED
diff --git a/sql/sql_digest.cc b/sql/sql_digest.cc
index 6605d0af0..2f7ad546b 100644
--- a/sql/sql_digest.cc
+++ b/sql/sql_digest.cc
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   This code needs extra visibility in the lexer structures
diff --git a/sql/sql_digest.h b/sql/sql_digest.h
index eaf74b954..9f3f75ab4 100644
--- a/sql/sql_digest.h
+++ b/sql/sql_digest.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef SQL_DIGEST_H
 #define SQL_DIGEST_H
diff --git a/sql/sql_digest_stream.h b/sql/sql_digest_stream.h
index 55f7e2293..75e534e83 100644
--- a/sql/sql_digest_stream.h
+++ b/sql/sql_digest_stream.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef SQL_DIGEST_STREAM_H
 #define SQL_DIGEST_STREAM_H
diff --git a/sql/sql_do.cc b/sql/sql_do.cc
index 54850494a..5d1f0c4c7 100644
--- a/sql/sql_do.cc
+++ b/sql/sql_do.cc
@@ -11,7 +11,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* Execute DO statement */
diff --git a/sql/sql_do.h b/sql/sql_do.h
index 35130cc58..5280a4a52 100644
--- a/sql/sql_do.h
+++ b/sql/sql_do.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_DO_INCLUDED
 #define SQL_DO_INCLUDED
diff --git a/sql/sql_error.cc b/sql/sql_error.cc
index b72d642ef..6ec6c4d24 100644
--- a/sql/sql_error.cc
+++ b/sql/sql_error.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**********************************************************************
 This file contains the implementation of error and warnings related
diff --git a/sql/sql_error.h b/sql/sql_error.h
index 0134f938c..a6c64fbc8 100644
--- a/sql/sql_error.h
+++ b/sql/sql_error.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef SQL_ERROR_H
 #define SQL_ERROR_H
diff --git a/sql/sql_explain.cc b/sql/sql_explain.cc
index a1d6764d8..2fa4b2cb3 100644
--- a/sql/sql_explain.cc
+++ b/sql/sql_explain.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
 #pragma implementation				// gcc: Class implementation
@@ -1223,7 +1223,7 @@ int Explain_table_access::print_explain(select_result_sink *output, uint8 explai
   if (rows_set)
   {
     item_list.push_back(new (mem_root)
-                        Item_int(thd, (longlong) (ulonglong) rows,
+                        Item_int(thd, (ulonglong) rows,
                                  MY_INT64_NUM_DECIMAL_DIGITS),
                         mem_root);
   }
@@ -1601,7 +1601,7 @@ void Explain_table_access::print_explain_json(Explain_query *query,
   
   /* `rows` */
   if (rows_set)
-    writer->add_member("rows").add_ll(rows);
+    writer->add_member("rows").add_ull(rows);
 
   /* `r_rows` */
   if (is_analyze)
@@ -2239,7 +2239,7 @@ void Explain_update::print_explain_json(Explain_query *query,
   }
   
   /* `rows` */
-  writer->add_member("rows").add_ll(rows);
+  writer->add_member("rows").add_ull(rows);
 
 
   if (mrr_type.length() != 0)
@@ -2268,7 +2268,7 @@ void Explain_update::print_explain_json(Explain_query *query,
           r_rows= 0;
         r_filtered= buf_tracker.get_filtered_after_where() * 100.0;
       }
-      writer->add_member("r_rows").add_ll(r_rows);
+      writer->add_member("r_rows").add_ull(r_rows);
       writer->add_member("r_filtered").add_double(r_filtered);
     }
     else /* Not doing buffering */
diff --git a/sql/sql_explain.h b/sql/sql_explain.h
index caacf6b3a..462b98987 100644
--- a/sql/sql_explain.h
+++ b/sql/sql_explain.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
 
diff --git a/sql/sql_expression_cache.cc b/sql/sql_expression_cache.cc
index c79783bf5..4b6d4b447 100644
--- a/sql/sql_expression_cache.cc
+++ b/sql/sql_expression_cache.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include "sql_base.h"
diff --git a/sql/sql_expression_cache.h b/sql/sql_expression_cache.h
index 05ac51f81..61e0c4c69 100644
--- a/sql/sql_expression_cache.h
+++ b/sql/sql_expression_cache.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef SQL_EXPRESSION_CACHE_INCLUDED
 #define SQL_EXPRESSION_CACHE_INCLUDED
diff --git a/sql/sql_get_diagnostics.cc b/sql/sql_get_diagnostics.cc
index 1713cb04e..b164a247c 100644
--- a/sql/sql_get_diagnostics.cc
+++ b/sql/sql_get_diagnostics.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02111-1307  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "sql_list.h"                 // Sql_alloc, List, List_iterator
 #include "sql_cmd.h"                  // Sql_cmd
diff --git a/sql/sql_get_diagnostics.h b/sql/sql_get_diagnostics.h
index f34820757..f283aa5b2 100644
--- a/sql/sql_get_diagnostics.h
+++ b/sql/sql_get_diagnostics.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02111-1307  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef SQL_GET_DIAGNOSTICS_H
 #define SQL_GET_DIAGNOSTICS_H
diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc
index bc6119b9a..b5b1fe814 100644
--- a/sql/sql_handler.cc
+++ b/sql/sql_handler.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 /* HANDLER ... commands - direct access to ISAM */
diff --git a/sql/sql_handler.h b/sql/sql_handler.h
index 7fe5ae5bb..9f0ef7bd0 100644
--- a/sql/sql_handler.h
+++ b/sql/sql_handler.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface			/* gcc class implementation */
diff --git a/sql/sql_help.cc b/sql/sql_help.cc
index d71a6caf8..cd9da566e 100644
--- a/sql/sql_help.cc
+++ b/sql/sql_help.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/sql_help.h b/sql/sql_help.h
index b6ae490e7..cb3314b75 100644
--- a/sql/sql_help.h
+++ b/sql/sql_help.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_HELP_INCLUDED
 #define SQL_HELP_INCLUDED
diff --git a/sql/sql_hset.h b/sql/sql_hset.h
index dc3bd487c..ab03f6bae 100644
--- a/sql/sql_hset.h
+++ b/sql/sql_hset.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "my_global.h"
 #include "hash.h"
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc
index 1745c6b4a..1ad74bd0f 100644
--- a/sql/sql_insert.cc
+++ b/sql/sql_insert.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 /* Insert of records */
@@ -87,7 +87,7 @@ static int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
                          LEX_STRING query, bool ignore, bool log_on);
 static void end_delayed_insert(THD *thd);
 pthread_handler_t handle_delayed_insert(void *arg);
-static void unlink_blobs(register TABLE *table);
+static void unlink_blobs(TABLE *table);
 #endif
 static bool check_view_insertability(THD *thd, TABLE_LIST *view);
 
@@ -3081,7 +3081,7 @@ pthread_handler_t handle_delayed_insert(void *arg)
 
 /* Remove pointers from temporary fields to allocated values */
 
-static void unlink_blobs(register TABLE *table)
+static void unlink_blobs(TABLE *table)
 {
   for (Field **ptr=table->field ; *ptr ; ptr++)
   {
@@ -3092,7 +3092,7 @@ static void unlink_blobs(register TABLE *table)
 
 /* Free blobs stored in current row */
 
-static void free_delayed_insert_blobs(register TABLE *table)
+static void free_delayed_insert_blobs(TABLE *table)
 {
   for (Field **ptr=table->field ; *ptr ; ptr++)
   {
@@ -3871,8 +3871,12 @@ void select_insert::abort_result_set() {
     example), no table will have been opened and therefore 'table'
     will be NULL. In that case, we still need to execute the rollback
     and the end of the function.
+
+    If it fail due to inability to insert in multi-table view for example,
+    table will be assigned with view table structure, but that table will
+    not be opened really (it is dummy to check fields types & Co).
    */
-  if (table)
+  if (table && table->file->get_table())
   {
     bool changed, transactional_table;
     /*
diff --git a/sql/sql_insert.h b/sql/sql_insert.h
index aea0dac6b..3c0d0164d 100644
--- a/sql/sql_insert.h
+++ b/sql/sql_insert.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_INSERT_INCLUDED
 #define SQL_INSERT_INCLUDED
diff --git a/sql/sql_join_cache.cc b/sql/sql_join_cache.cc
index 4b7667f13..f7366a64e 100644
--- a/sql/sql_join_cache.cc
+++ b/sql/sql_join_cache.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file
@@ -2156,7 +2156,8 @@ enum_nested_loop_state JOIN_CACHE::join_records(bool skip_last)
   }
 
 finish:
-  if (outer_join_first_inner)
+  if (outer_join_first_inner &&
+      join_tab->first_inner == join_tab->first_unmatched)
   {
     /* 
       All null complemented rows have been already generated for all
diff --git a/sql/sql_join_cache.h b/sql/sql_join_cache.h
index 4ae843ebf..1cbc6acfd 100644
--- a/sql/sql_join_cache.h
+++ b/sql/sql_join_cache.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   This file contains declarations for implementations
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
index df868d032..a36a19357 100644
--- a/sql/sql_lex.cc
+++ b/sql/sql_lex.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* A lexical scanner on a temporary buffer with a yacc interface */
@@ -1001,7 +1001,7 @@ Lex_input_stream::unescape(CHARSET_INFO *cs, char *to,
 bool Lex_input_stream::get_text(LEX_STRING *dst, uint sep,
                                 int pre_skip, int post_skip)
 {
-  reg1 uchar c;
+  uchar c;
   uint found_escape=0;
   CHARSET_INFO *cs= m_thd->charset();
 
@@ -1181,7 +1181,7 @@ static inline uint int_token(const char *str,uint length)
 */
 bool consume_comment(Lex_input_stream *lip, int remaining_recursions_permitted)
 {
-  reg1 uchar c;
+  uchar c;
   while (! lip->eof())
   {
     c= lip->yyGet();
@@ -1283,7 +1283,7 @@ int MYSQLlex(YYSTYPE *yylval, THD *thd)
 
 static int lex_one_token(YYSTYPE *yylval, THD *thd)
 {
-  reg1	uchar UNINIT_VAR(c);
+  uchar UNINIT_VAR(c);
   bool comment_closed;
   int	tokval, result_state;
   uint length;
@@ -2735,14 +2735,13 @@ void st_select_lex::print_limit(THD *thd,
   if (item && unit->global_parameters() == this)
   {
     Item_subselect::subs_type subs_type= item->substype();
-    if (subs_type == Item_subselect::EXISTS_SUBS ||
-        subs_type == Item_subselect::IN_SUBS ||
+    if (subs_type == Item_subselect::IN_SUBS ||
         subs_type == Item_subselect::ALL_SUBS)
     {
       return;
     }
   }
-  if (explicit_limit)
+  if (explicit_limit && select_limit)
   {
     str->append(STRING_WITH_LEN(" limit "));
     if (offset_limit)
@@ -4372,7 +4371,10 @@ void SELECT_LEX::increase_derived_records(ha_rows records)
   DBUG_ASSERT(unit->derived);
 
   select_union *result= (select_union*)unit->result;
-  result->records+= records;
+  if (HA_ROWS_MAX - records > result->records)
+    result->records+= records;
+  else
+    result->records= HA_ROWS_MAX;
 }
 
 
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index 845e1242e..4462d541e 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -1,5 +1,5 @@
-/* Copyright (c) 2000, 2015, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2018, MariaDB Corporation
+/* Copyright (c) 2000, 2019, Oracle and/or its affiliates.
+   Copyright (c) 2010, 2019, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @defgroup Semantic_Analysis Semantic Analysis
@@ -960,6 +960,8 @@ class st_select_lex: public st_select_lex_node
   TABLE_LIST *end_nested_join(THD *thd);
   TABLE_LIST *nest_last_join(THD *thd);
   void add_joined_table(TABLE_LIST *table);
+  bool add_cross_joined_table(TABLE_LIST *left_op, TABLE_LIST *right_op,
+                              bool straight_fl);
   TABLE_LIST *convert_right_join();
   List* get_item_list();
   ulong get_table_join_options();
@@ -2873,9 +2875,9 @@ struct LEX: public Query_tables_list
     return context_stack.push_front(context, mem_root);
   }
 
-  void pop_context()
+  Name_resolution_context *pop_context()
   {
-    context_stack.pop();
+    return context_stack.pop();
   }
 
   bool copy_db_to(char **p_db, size_t *p_db_length) const;
@@ -3069,15 +3071,18 @@ class Set_signal_information
 class Yacc_state
 {
 public:
-  Yacc_state()
-  {
-    reset();
-  }
+  Yacc_state() : yacc_yyss(NULL), yacc_yyvs(NULL) { reset(); }
 
   void reset()
   {
-    yacc_yyss= NULL;
-    yacc_yyvs= NULL;
+    if (yacc_yyss != NULL) {
+      my_free(yacc_yyss);
+      yacc_yyss = NULL;
+    }
+    if (yacc_yyvs != NULL) {
+      my_free(yacc_yyvs);
+      yacc_yyvs = NULL;
+    }
     m_set_signal_info.clear();
     m_lock_type= TL_READ_DEFAULT;
     m_mdl_type= MDL_SHARED_READ;
diff --git a/sql/sql_lifo_buffer.h b/sql/sql_lifo_buffer.h
index 17024d15b..4d2d0bd3b 100644
--- a/sql/sql_lifo_buffer.h
+++ b/sql/sql_lifo_buffer.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @defgroup Bi-directional LIFO buffers used by DS-MRR implementation
diff --git a/sql/sql_list.cc b/sql/sql_list.cc
index 2c1b3c47d..575ad9f13 100644
--- a/sql/sql_list.cc
+++ b/sql/sql_list.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
diff --git a/sql/sql_list.h b/sql/sql_list.h
index f1c4d1fe9..94e944d5f 100644
--- a/sql/sql_list.h
+++ b/sql/sql_list.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface			/* gcc class implementation */
diff --git a/sql/sql_load.cc b/sql/sql_load.cc
index 85ab43df0..72ca122a6 100644
--- a/sql/sql_load.cc
+++ b/sql/sql_load.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* Copy data from a textfile to table */
diff --git a/sql/sql_load.h b/sql/sql_load.h
index f767e3938..8ff2f1ab8 100644
--- a/sql/sql_load.h
+++ b/sql/sql_load.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_LOAD_INCLUDED
 #define SQL_LOAD_INCLUDED
diff --git a/sql/sql_locale.cc b/sql/sql_locale.cc
index 58443a9a9..a4035726e 100644
--- a/sql/sql_locale.cc
+++ b/sql/sql_locale.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   The beginnings of locale(7) support.
diff --git a/sql/sql_locale.h b/sql/sql_locale.h
index 8559bb55c..295add6ec 100644
--- a/sql/sql_locale.h
+++ b/sql/sql_locale.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_LOCALE_INCLUDED
 #define SQL_LOCALE_INCLUDED
diff --git a/sql/sql_manager.cc b/sql/sql_manager.cc
index 8cf849b97..029d29d4c 100644
--- a/sql/sql_manager.cc
+++ b/sql/sql_manager.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* 
  * sql_manager.cc
diff --git a/sql/sql_manager.h b/sql/sql_manager.h
index 8debbe6ea..9c6c84450 100644
--- a/sql/sql_manager.h
+++ b/sql/sql_manager.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_MANAGER_INCLUDED
 #define SQL_MANAGER_INCLUDED
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 73b820cf8..385319d80 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #define MYSQL_LEX 1
 #include 
@@ -3280,274 +3280,6 @@ mysql_execute_command(THD *thd)
       res = ha_show_status(thd, lex->create_info.db_type, HA_ENGINE_MUTEX);
       break;
     }
-  case SQLCOM_CREATE_TABLE:
-  {
-    DBUG_ASSERT(first_table == all_tables && first_table != 0);
-    bool link_to_local;
-    TABLE_LIST *create_table= first_table;
-    TABLE_LIST *select_tables= lex->create_last_non_select_table->next_global;
-
-    if (lex->tmp_table())
-    {
-      status_var_decrement(thd->status_var.com_stat[SQLCOM_CREATE_TABLE]);
-      status_var_increment(thd->status_var.com_create_tmp_table);
-    }
-
-    /*
-      Code below (especially in mysql_create_table() and select_create
-      methods) may modify HA_CREATE_INFO structure in LEX, so we have to
-      use a copy of this structure to make execution prepared statement-
-      safe. A shallow copy is enough as this code won't modify any memory
-      referenced from this structure.
-    */
-    Table_specification_st create_info(lex->create_info);
-    /*
-      We need to copy alter_info for the same reasons of re-execution
-      safety, only in case of Alter_info we have to do (almost) a deep
-      copy.
-    */
-    Alter_info alter_info(lex->alter_info, thd->mem_root);
-
-    if (thd->is_fatal_error)
-    {
-      /* If out of memory when creating a copy of alter_info. */
-      res= 1;
-      goto end_with_restore_list;
-    }
-
-    /* Check privileges */
-    if ((res= create_table_precheck(thd, select_tables, create_table)))
-      goto end_with_restore_list;
-
-    /* Might have been updated in create_table_precheck */
-    create_info.alias= create_table->alias;
-
-    /* Fix names if symlinked or relocated tables */
-    if (append_file_to_dir(thd, &create_info.data_file_name,
-			   create_table->table_name) ||
-	append_file_to_dir(thd, &create_info.index_file_name,
-			   create_table->table_name))
-      goto end_with_restore_list;
-
-    /*
-      If no engine type was given, work out the default now
-      rather than at parse-time.
-    */
-    if (!(create_info.used_fields & HA_CREATE_USED_ENGINE))
-      create_info.use_default_db_type(thd);
-    /*
-      If we are using SET CHARSET without DEFAULT, add an implicit
-      DEFAULT to not confuse old users. (This may change).
-    */
-    if ((create_info.used_fields &
-	 (HA_CREATE_USED_DEFAULT_CHARSET | HA_CREATE_USED_CHARSET)) ==
-	HA_CREATE_USED_CHARSET)
-    {
-      create_info.used_fields&= ~HA_CREATE_USED_CHARSET;
-      create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
-      create_info.default_table_charset= create_info.table_charset;
-      create_info.table_charset= 0;
-    }
-
-    /*
-      If we are a slave, we should add OR REPLACE if we don't have
-      IF EXISTS. This will help a slave to recover from
-      CREATE TABLE OR EXISTS failures by dropping the table and
-      retrying the create.
-    */
-    if (thd->slave_thread &&
-        slave_ddl_exec_mode_options == SLAVE_EXEC_MODE_IDEMPOTENT &&
-        !lex->create_info.if_not_exists())
-    {
-      create_info.add(DDL_options_st::OPT_OR_REPLACE);
-      create_info.add(DDL_options_st::OPT_OR_REPLACE_SLAVE_GENERATED);
-    }
-
-#ifdef WITH_PARTITION_STORAGE_ENGINE
-    {
-      partition_info *part_info= thd->lex->part_info;
-      if (part_info && !(part_info= part_info->get_clone(thd)))
-      {
-        res= -1;
-        goto end_with_restore_list;
-      }
-      thd->work_part_info= part_info;
-    }
-#endif
-
-    if (select_lex->item_list.elements)		// With select
-    {
-      select_result *result;
-
-      /*
-        CREATE TABLE...IGNORE/REPLACE SELECT... can be unsafe, unless
-        ORDER BY PRIMARY KEY clause is used in SELECT statement. We therefore
-        use row based logging if mixed or row based logging is available.
-        TODO: Check if the order of the output of the select statement is
-        deterministic. Waiting for BUG#42415
-      */
-      if(lex->ignore)
-        lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_CREATE_IGNORE_SELECT);
-
-      if(lex->duplicates == DUP_REPLACE)
-        lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_CREATE_REPLACE_SELECT);
-
-      /*
-        If:
-        a) we inside an SP and there was NAME_CONST substitution,
-        b) binlogging is on (STMT mode),
-        c) we log the SP as separate statements
-        raise a warning, as it may cause problems
-        (see 'NAME_CONST issues' in 'Binary Logging of Stored Programs')
-       */
-      if (thd->query_name_consts && mysql_bin_log.is_open() &&
-          thd->wsrep_binlog_format() == BINLOG_FORMAT_STMT &&
-          !mysql_bin_log.is_query_in_union(thd, thd->query_id))
-      {
-        List_iterator_fast it(select_lex->item_list);
-        Item *item;
-        uint splocal_refs= 0;
-        /* Count SP local vars in the top-level SELECT list */
-        while ((item= it++))
-        {
-          if (item->get_item_splocal())
-            splocal_refs++;
-        }
-        /*
-          If it differs from number of NAME_CONST substitution applied,
-          we may have a SOME_FUNC(NAME_CONST()) in the SELECT list,
-          that may cause a problem with binary log (see BUG#35383),
-          raise a warning. 
-        */
-        if (splocal_refs != thd->query_name_consts)
-          push_warning(thd, 
-                       Sql_condition::WARN_LEVEL_WARN,
-                       ER_UNKNOWN_ERROR,
-"Invoked routine ran a statement that may cause problems with "
-"binary log, see 'NAME_CONST issues' in 'Binary Logging of Stored Programs' "
-"section of the manual.");
-      }
-      
-      select_lex->options|= SELECT_NO_UNLOCK;
-      unit->set_limit(select_lex);
-
-      /*
-        Disable non-empty MERGE tables with CREATE...SELECT. Too
-        complicated. See Bug #26379. Empty MERGE tables are read-only
-        and don't allow CREATE...SELECT anyway.
-      */
-      if (create_info.used_fields & HA_CREATE_USED_UNION)
-      {
-        my_error(ER_WRONG_OBJECT, MYF(0), create_table->db,
-                 create_table->table_name, "BASE TABLE");
-        res= 1;
-        goto end_with_restore_list;
-      }
-
-      /* Copy temporarily the statement flags to thd for lock_table_names() */
-      uint save_thd_create_info_options= thd->lex->create_info.options;
-      thd->lex->create_info.options|= create_info.options;
-      res= open_and_lock_tables(thd, create_info, lex->query_tables, TRUE, 0);
-      thd->lex->create_info.options= save_thd_create_info_options;
-      if (res)
-      {
-        /* Got error or warning. Set res to 1 if error */
-        if (!(res= thd->is_error()))
-          my_ok(thd);                           // CREATE ... IF NOT EXISTS
-        goto end_with_restore_list;
-      }
-
-      /* Ensure we don't try to create something from which we select from */
-      if (create_info.or_replace() && !create_info.tmp_table())
-      {
-        TABLE_LIST *duplicate;
-        if ((duplicate= unique_table(thd, lex->query_tables,
-                                     lex->query_tables->next_global,
-                                     CHECK_DUP_FOR_CREATE)))
-        {
-          update_non_unique_table_error(lex->query_tables, "CREATE",
-                                        duplicate);
-          res= TRUE;
-          goto end_with_restore_list;
-        }
-      }
-      {
-        /*
-          Remove target table from main select and name resolution
-          context. This can't be done earlier as it will break view merging in
-          statements like "CREATE TABLE IF NOT EXISTS existing_view SELECT".
-        */
-        lex->unlink_first_table(&link_to_local);
-
-        /* Store reference to table in case of LOCK TABLES */
-        create_info.table= create_table->table;
-
-        /*
-          select_create is currently not re-execution friendly and
-          needs to be created for every execution of a PS/SP.
-          Note: In wsrep-patch, CTAS is handled like a regular transaction.
-        */
-        if ((result= new (thd->mem_root) select_create(thd, create_table,
-                                                       &create_info,
-                                                       &alter_info,
-                                                       select_lex->item_list,
-                                                       lex->duplicates,
-                                                       lex->ignore,
-                                                       select_tables)))
-        {
-          /*
-            CREATE from SELECT give its SELECT_LEX for SELECT,
-            and item_list belong to SELECT
-          */
-          if (!(res= handle_select(thd, lex, result, 0)))
-          {
-            if (create_info.tmp_table())
-              thd->variables.option_bits|= OPTION_KEEP_LOG;
-          }
-          delete result;
-        }
-        lex->link_first_table_back(create_table, link_to_local);
-      }
-    }
-    else
-    {
-      /* regular create */
-      if (create_info.like())
-      {
-        /* CREATE TABLE ... LIKE ... */
-        res= mysql_create_like_table(thd, create_table, select_tables,
-                                     &create_info);
-      }
-      else
-      {
-        /*
-          In STATEMENT format, we probably have to replicate also temporary
-          tables, like mysql replication does. Also check if the requested
-          engine is allowed/supported.
-        */
-        if (WSREP(thd) &&
-            !check_engine(thd, create_table->db, create_table->table_name,
-                          &create_info) &&
-            (!thd->is_current_stmt_binlog_format_row() ||
-             !create_info.tmp_table()))
-        {
-	  WSREP_TO_ISOLATION_BEGIN(create_table->db, create_table->table_name, NULL)
-        }
-        /* Regular CREATE TABLE */
-        res= mysql_create_table(thd, create_table, &create_info, &alter_info);
-      }
-      if (!res)
-      {
-        /* So that CREATE TEMPORARY TABLE gets to binlog at commit/rollback */
-        if (create_info.tmp_table())
-          thd->variables.option_bits|= OPTION_KEEP_LOG;
-        my_ok(thd);
-      }
-    }
-
-end_with_restore_list:
-    break;
-  }
   case SQLCOM_CREATE_INDEX:
   case SQLCOM_DROP_INDEX:
   /*
@@ -4022,6 +3754,13 @@ mysql_execute_command(THD *thd)
       */
       /* Skip first table, which is the table we are inserting in */
       TABLE_LIST *second_table= first_table->next_local;
+      /*
+        This is a hack: this leaves select_lex->table_list in an inconsistent
+        state as 'elements' does not contain number of elements in the list.
+        Moreover, if second_table == NULL then 'next' becomes invalid.
+        TODO: fix it by removing the front element (restoring of it should
+        be done properly as well)
+      */
       select_lex->table_list.first= second_table;
       select_lex->context.table_list= 
         select_lex->context.first_name_resolution_table= second_table;
@@ -5692,6 +5431,7 @@ mysql_execute_command(THD *thd)
   case SQLCOM_OPTIMIZE:
   case SQLCOM_REPAIR:
   case SQLCOM_TRUNCATE:
+  case SQLCOM_CREATE_TABLE:
   case SQLCOM_ALTER_TABLE:
       DBUG_ASSERT(first_table == all_tables && first_table != 0);
     /* fall through */
@@ -7620,7 +7360,7 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd,
                                              List *partition_names,
                                              LEX_STRING *option)
 {
-  register TABLE_LIST *ptr;
+  TABLE_LIST *ptr;
   TABLE_LIST *UNINIT_VAR(previous_table_ref); /* The table preceding the current one. */
   char *alias_str;
   LEX *lex= thd->lex;
@@ -7854,6 +7594,7 @@ TABLE_LIST *st_select_lex::end_nested_join(THD *thd)
   join_list= ptr->join_list;
   embedding= ptr->embedding;
   nested_join= ptr->nested_join;
+  nested_join->nest_type= 0;
   if (nested_join->join_list.elements == 1)
   {
     TABLE_LIST *embedded= nested_join->join_list.head();
@@ -7863,6 +7604,8 @@ TABLE_LIST *st_select_lex::end_nested_join(THD *thd)
     join_list->push_front(embedded, thd->mem_root);
     ptr= embedded;
     embedded->lifted= 1;
+    if (embedded->nested_join)
+      embedded->nested_join->nest_type= 0;
   }
   else if (nested_join->join_list.elements == 0)
   {
@@ -7893,6 +7636,16 @@ TABLE_LIST *st_select_lex::nest_last_join(THD *thd)
   List *embedded_list;
   DBUG_ENTER("nest_last_join");
 
+  TABLE_LIST *head= join_list->head();
+  if (head->nested_join && head->nested_join->nest_type & REBALANCED_NEST)
+  {
+    List_iterator li(*join_list);
+    li++;
+    while (li++)
+      li.remove();
+    DBUG_RETURN(head);
+  }
+
   if (!(ptr= (TABLE_LIST*) thd->calloc(ALIGN_SIZE(sizeof(TABLE_LIST))+
                                        sizeof(NESTED_JOIN))))
     DBUG_RETURN(0);
@@ -7904,6 +7657,7 @@ TABLE_LIST *st_select_lex::nest_last_join(THD *thd)
   ptr->alias= (char*) "(nest_last_join)";
   embedded_list= &nested_join->join_list;
   embedded_list->empty();
+  nested_join->nest_type= JOIN_OP_NEST;
 
   for (uint i=0; i < 2; i++)
   {
@@ -7954,6 +7708,227 @@ void st_select_lex::add_joined_table(TABLE_LIST *table)
 }
 
 
+/**
+  @brief
+    Create a node for JOIN/INNER JOIN/CROSS JOIN/STRAIGHT_JOIN operation
+
+  @param left_op     the node for the left operand constructed by the parser
+  @param right_op    the node for the right operand constructed by the parser
+  @param straight_fl TRUE if STRAIGHT_JOIN is used
+
+  @retval
+    false on success
+    true  otherwise
+
+  @details
+
+    JOIN operator can be left-associative with other join operators in one
+    context and right-associative in another context.
+
+    In this query
+       SELECT * FROM t1 JOIN t2 LEFT JOIN t3 ON t2.a=t3.a  (Q1)
+    JOIN is left-associative and the query Q1 is interpreted as
+       SELECT * FROM (t1 JOIN t2) LEFT JOIN t3 ON t2.a=t3.a.
+    While in this query
+       SELECT * FROM t1 JOIN t2 LEFT JOIN t3 ON t2.a=t3.a ON t1.b=t2.b (Q2)
+    JOIN is right-associative and the query Q2 is interpreted as
+       SELECT * FROM t1 JOIN (t2 LEFT JOIN t3 ON t2.a=t3.a) ON t1.b=t2.b
+
+    JOIN is right-associative if it is used with ON clause or with USING clause.
+    Otherwise it is left-associative.
+    When parsing a join expression with JOIN operator we can't determine
+    whether this operation left or right associative until either we read the
+    corresponding ON clause or we reach the end of the expression. This creates
+    a problem for the parser to build a proper internal representation of the
+    used join expression.
+
+    For Q1 and Q2 the trees representing the used join expressions look like
+
+            LJ - ON                   J - ON
+           /  \                      / \
+          J    t3   (TQ1)          t1   LJ - ON      (TQ2)
+         / \                           /  \
+       t1   t2                       t2    t3
+
+    To build TQ1 the parser has to reduce the expression for JOIN right after
+    it has read the reference to t2. To build TQ2 the parser reduces JOIN
+    when he has read the whole join expression. There is no way to determine
+    whether an early reduction is needed until the whole join expression is
+    read.
+    A solution here is always to do a late reduction. In this case the parser
+    first builds an incorrect tree TQ1* that has to be rebalanced right after
+    it has been constructed.
+
+             J                               LJ - ON
+            / \                             /  \
+          t1   LJ - ON    (TQ1*)    =>     J    t3
+              /  \                        / \
+            t2    t3                    t1   t2
+
+    Actually the transformation is performed over the nodes t1 and LJ before the
+    node for J is created in the function st_select_lex::add_cross_joined_table.
+    The function creates a node for J which replaces the node t2. Then it
+    attaches the nodes t1 and t2 to this newly created node. The node LJ becomes
+    the top node of the tree.
+
+    For the query
+      SELECT * FROM t1 JOIN t2 RIGHT JOIN t3 ON t2.a=t3.a  (Q3)
+    the transformation looks slightly differently because the parser
+    replaces the RIGHT JOIN tree for an equivalent LEFT JOIN tree.
+
+             J                               LJ - ON
+            / \                             /  \
+          t1   LJ - ON    (TQ3*)    =>     J    t2
+              /  \                        / \
+            t3    t2                    t1   t3
+
+    With several left associative JOINs
+      SELECT * FROM t1 JOIN t2 JOIN t3 LEFT JOIN t4 ON t3.a=t4.a (Q4)
+    the newly created node for JOIN replaces the left most node of the tree:
+
+          J1                         LJ - ON
+         /  \                       /  \
+       t1    LJ - ON               J2   t4
+            /  \          =>      /  \
+           J2   t4              J1    t3
+          /  \                 /  \
+        t2    t3             t1    t2
+
+     Here's another example:
+       SELECT *
+       FROM t1 JOIN t2 LEFT JOIN t3 JOIN t4 ON t3.a=t4.a ON t2.b=t3.b (Q5)
+
+          J                       LJ - ON
+         / \                     /   \
+       t1   LJ - ON             J     J - ON
+           /  \          =>    / \   / \
+         t2    J - ON         t1 t2 t3 t4
+              / \
+            t3   t4
+
+     If the transformed nested join node node is a natural join node like in
+     the following query
+       SELECT * FROM t1 JOIN t2 LEFT JOIN t3 USING(a)  (Q6)
+     the transformation additionally has to take care about setting proper
+     references in the field natural_join for both operands of the natural
+     join operation.
+     The function also has to change the name resolution context for ON
+     expressions used in the transformed join expression to take into
+     account the tables of the left_op node.
+*/
+
+bool st_select_lex::add_cross_joined_table(TABLE_LIST *left_op,
+                                           TABLE_LIST *right_op,
+                                           bool straight_fl)
+{
+  DBUG_ENTER("add_cross_joined_table");
+  THD *thd= parent_lex->thd;
+  if (!(right_op->nested_join &&
+	(right_op->nested_join->nest_type & JOIN_OP_NEST)))
+  {
+    /*
+      This handles the cases when the right operand is not a nested join.
+      like in queries
+        SELECT * FROM t1 JOIN t2;
+        SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a JOIN t3
+    */
+    right_op->straight= straight_fl;
+    DBUG_RETURN(false);
+  }
+
+  TABLE_LIST *tbl;
+  List *jl= &right_op->nested_join->join_list;
+  TABLE_LIST *cj_nest;
+
+  /*
+    Create the node NJ for a new nested join for the future inclusion
+    of left_op in it. Initially the nest is empty.
+  */
+  if (unlikely(!(cj_nest=
+                 (TABLE_LIST*) thd->calloc(ALIGN_SIZE(sizeof(TABLE_LIST))+
+                                           sizeof(NESTED_JOIN)))))
+    DBUG_RETURN(true);
+  cj_nest->nested_join=
+    ((NESTED_JOIN*) ((uchar*) cj_nest + ALIGN_SIZE(sizeof(TABLE_LIST))));
+  cj_nest->nested_join->nest_type= JOIN_OP_NEST;
+  List *cjl=  &cj_nest->nested_join->join_list;
+  cjl->empty();
+
+  /* Look for the left most node tbl of the right_op tree */
+  for ( ; ; )
+  {
+    TABLE_LIST *pair_tbl= 0;  /* useful only for operands of natural joins */
+
+    List_iterator li(*jl);
+    tbl= li++;
+
+    /* Expand name resolution context */
+    Name_resolution_context *on_context;
+    if ((on_context= tbl->on_context))
+    {
+      on_context->first_name_resolution_table=
+        left_op->first_leaf_for_name_resolution();
+    }
+
+    if (!(tbl->outer_join & JOIN_TYPE_RIGHT))
+    {
+      pair_tbl= tbl;
+      tbl= li++;
+    }
+    if (tbl->nested_join &&
+        tbl->nested_join->nest_type & JOIN_OP_NEST)
+    {
+      jl= &tbl->nested_join->join_list;
+      continue;
+    }
+
+    /* Replace the tbl node in the tree for the newly created NJ node */
+    cj_nest->outer_join= tbl->outer_join;
+    cj_nest->on_expr= tbl->on_expr;
+    cj_nest->embedding= tbl->embedding;
+    cj_nest->join_list= jl;
+    cj_nest->alias= (char*) "(nest_last_join)";
+    li.replace(cj_nest);
+
+    /*
+      If tbl is an operand of a natural join set properly the references
+      in the fields natural_join for both operands of the operation.
+    */
+    if(tbl->embedding && tbl->embedding->is_natural_join)
+    {
+      if (!pair_tbl)
+        pair_tbl= li++;
+      pair_tbl->natural_join= cj_nest;
+      cj_nest->natural_join= pair_tbl;
+    }
+    break;
+  }
+
+  /* Attach tbl as the right operand of NJ */
+  if (unlikely(cjl->push_back(tbl, thd->mem_root)))
+    DBUG_RETURN(true);
+  tbl->outer_join= 0;
+  tbl->on_expr= 0;
+  tbl->straight= straight_fl;
+  tbl->natural_join= 0;
+  tbl->embedding= cj_nest;
+  tbl->join_list= cjl;
+
+  /* Add left_op as the left operand of NJ */
+  if (unlikely(cjl->push_back(left_op, thd->mem_root)))
+    DBUG_RETURN(true);
+  left_op->embedding= cj_nest;
+  left_op->join_list= cjl;
+
+  /*
+    Mark right_op as a rebalanced nested join in order not to
+    create a new top level nested join node.
+  */
+  right_op->nested_join->nest_type|= REBALANCED_NEST;
+  DBUG_RETURN(false);
+}
+
+
 /**
   Convert a right join into equivalent left join.
 
diff --git a/sql/sql_parse.h b/sql/sql_parse.h
index 602a3e8d7..1048c735f 100644
--- a/sql/sql_parse.h
+++ b/sql/sql_parse.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_PARSE_INCLUDED
 #define SQL_PARSE_INCLUDED
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc
index 05ef69e57..6ca181cdb 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /*
   This file is a container for general functionality related
diff --git a/sql/sql_partition.h b/sql/sql_partition.h
index 6629537b2..6a3315c7f 100644
--- a/sql/sql_partition.h
+++ b/sql/sql_partition.h
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface				/* gcc class implementation */
diff --git a/sql/sql_partition_admin.cc b/sql/sql_partition_admin.cc
index d2fdee934..fdec68a51 100644
--- a/sql/sql_partition_admin.cc
+++ b/sql/sql_partition_admin.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "sql_parse.h"                      // check_one_table_access
                                             // check_merge_table_access
diff --git a/sql/sql_partition_admin.h b/sql/sql_partition_admin.h
index 9c53744d9..4be9e56e3 100644
--- a/sql/sql_partition_admin.h
+++ b/sql/sql_partition_admin.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef SQL_PARTITION_ADMIN_H
 #define SQL_PARTITION_ADMIN_H
diff --git a/sql/sql_plist.h b/sql/sql_plist.h
index df50cccc8..1274a5a78 100644
--- a/sql/sql_plist.h
+++ b/sql/sql_plist.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #include 
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc
index 1000fc371..c7f360140 100644
--- a/sql/sql_plugin.cc
+++ b/sql/sql_plugin.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "sql_plugin.h"                         // Includes my_global.h
 #include "sql_priv.h"                         // SHOW_MY_BOOL
@@ -77,7 +77,7 @@ uint plugin_maturity_map[]=
 { 0, 1, 2, 3, 4, 5, 6 };
 
 /*
-  When you ad a new plugin type, add both a string and make sure that the
+  When you add a new plugin type, add both a string and make sure that the
   init and deinit array are correctly updated.
 */
 const LEX_STRING plugin_type_names[MYSQL_MAX_PLUGIN_TYPE_NUM]=
@@ -228,6 +228,7 @@ static DYNAMIC_ARRAY plugin_array;
 static HASH plugin_hash[MYSQL_MAX_PLUGIN_TYPE_NUM];
 static MEM_ROOT plugin_mem_root;
 static bool reap_needed= false;
+volatile int global_plugin_version= 1;
 
 static bool initialized= 0;
 ulong dlopen_count;
@@ -746,9 +747,9 @@ static st_plugin_dl *plugin_dl_add(const LEX_STRING *dl, int report)
     This is done to ensure that only approved libraries from the
     plugin directory are used (to make this even remotely secure).
   */
-  if (check_valid_path(dl->str, dl->length) ||
-      check_string_char_length((LEX_STRING *) dl, 0, NAME_CHAR_LEN,
+  if (check_string_char_length((LEX_STRING *) dl, 0, NAME_CHAR_LEN,
                                system_charset_info, 1) ||
+      check_valid_path(dl->str, dl->length) ||
       plugin_dir_len + dl->length + 1 >= FN_REFLEN)
   {
     report_error(report, ER_UDF_NO_PATHS);
@@ -1813,6 +1814,9 @@ static void plugin_load(MEM_ROOT *tmp_root)
     LEX_STRING name= {(char *)str_name.ptr(), str_name.length()};
     LEX_STRING dl= {(char *)str_dl.ptr(), str_dl.length()};
 
+    if (!name.length || !dl.length)
+      continue;
+
     /*
       there're no other threads running yet, so we don't need a mutex.
       but plugin_add() before is designed to work in multi-threaded
@@ -2181,6 +2185,7 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name,
     reap_plugins();
   }
 err:
+  global_plugin_version++;
   mysql_mutex_unlock(&LOCK_plugin);
   if (argv)
     free_defaults(argv);
@@ -2327,6 +2332,7 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name,
   }
   reap_plugins();
 
+  global_plugin_version++;
   mysql_mutex_unlock(&LOCK_plugin);
   DBUG_RETURN(error);
 
@@ -3640,7 +3646,7 @@ static int construct_options(MEM_ROOT *mem_root, struct st_plugin_int *tmp,
   const LEX_STRING plugin_dash = { C_STRING_WITH_LEN("plugin-") };
   uint plugin_name_len= strlen(plugin_name);
   uint optnamelen;
-  const int max_comment_len= 180;
+  const int max_comment_len= 255;
   char *comment= (char *) alloc_root(mem_root, max_comment_len + 1);
   char *optname;
 
@@ -3674,8 +3680,9 @@ static int construct_options(MEM_ROOT *mem_root, struct st_plugin_int *tmp,
     options[0].typelib= options[1].typelib= &global_plugin_typelib;
 
     strxnmov(comment, max_comment_len, "Enable or disable ", plugin_name,
-            " plugin. One of: ON, OFF, FORCE (don't start "
-            "if the plugin fails to load).", NullS);
+            " plugin. One of: ON, OFF, FORCE (don't start if the plugin"
+            " fails to load), FORCE_PLUS_PERMANENT (like FORCE, but the"
+            " plugin can not be uninstalled).", NullS);
     options[0].comment= comment;
     /*
       Allocate temporary space for the value of the tristate.
diff --git a/sql/sql_plugin.h b/sql/sql_plugin.h
index d11c44996..3bde06a99 100644
--- a/sql/sql_plugin.h
+++ b/sql/sql_plugin.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _sql_plugin_h
 #define _sql_plugin_h
@@ -37,6 +37,7 @@ enum enum_plugin_load_option { PLUGIN_OFF, PLUGIN_ON, PLUGIN_FORCE,
   PLUGIN_FORCE_PLUS_PERMANENT };
 extern const char *global_plugin_typelib_names[];
 
+extern volatile int global_plugin_version;
 extern ulong dlopen_count;
 
 #include 
diff --git a/sql/sql_plugin_compat.h b/sql/sql_plugin_compat.h
index 5c7bb6205..876b18ee2 100644
--- a/sql/sql_plugin_compat.h
+++ b/sql/sql_plugin_compat.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* old plugin api structures, used for backward compatibility */
 
diff --git a/sql/sql_plugin_services.ic b/sql/sql_plugin_services.ic
index 427d8937c..6cf2a31f7 100644
--- a/sql/sql_plugin_services.ic
+++ b/sql/sql_plugin_services.ic
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* support for Services */
 #include 
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc
index 9de2f7f34..2c6aeda79 100644
--- a/sql/sql_prepare.cc
+++ b/sql/sql_prepare.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /**
   @file
@@ -404,7 +404,7 @@ static bool send_prep_stmt(Prepared_statement *stmt,
 
 static ulong get_param_length(uchar **packet, ulong len)
 {
-  reg1 uchar *pos= *packet;
+  uchar *pos= *packet;
   if (len < 1)
     return 0;
   if (*pos < 251)
diff --git a/sql/sql_prepare.h b/sql/sql_prepare.h
index b468ac1bf..200d1abdd 100644
--- a/sql/sql_prepare.h
+++ b/sql/sql_prepare.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "sql_error.h"
 
diff --git a/sql/sql_priv.h b/sql/sql_priv.h
index f54c66e1d..0f8ee5c00 100644
--- a/sql/sql_priv.h
+++ b/sql/sql_priv.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file
diff --git a/sql/sql_profile.cc b/sql/sql_profile.cc
index 48f7987da..d9dee7859 100644
--- a/sql/sql_profile.cc
+++ b/sql/sql_profile.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /**
diff --git a/sql/sql_profile.h b/sql/sql_profile.h
index 1d770ca11..8271b97a8 100644
--- a/sql/sql_profile.h
+++ b/sql/sql_profile.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef _SQL_PROFILE_H
 #define _SQL_PROFILE_H
diff --git a/sql/sql_reload.cc b/sql/sql_reload.cc
index ab9e7c33a..daacab46c 100644
--- a/sql/sql_reload.cc
+++ b/sql/sql_reload.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_reload.h"
diff --git a/sql/sql_reload.h b/sql/sql_reload.h
index 33ca022dc..699912e03 100644
--- a/sql/sql_reload.h
+++ b/sql/sql_reload.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 class THD;
 struct TABLE_LIST;
diff --git a/sql/sql_rename.cc b/sql/sql_rename.cc
index 4c164a3a6..bd7841f1d 100644
--- a/sql/sql_rename.cc
+++ b/sql/sql_rename.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Atomic rename of table;  RENAME TABLE t1 to t2, tmp to t1 [,...]
diff --git a/sql/sql_rename.h b/sql/sql_rename.h
index aaf09a8d0..1b9fcfb12 100644
--- a/sql/sql_rename.h
+++ b/sql/sql_rename.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_RENAME_INCLUDED
 #define SQL_RENAME_INCLUDED
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc
index f1a1ca6fd..ef6d0706d 100644
--- a/sql/sql_repl.cc
+++ b/sql/sql_repl.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/sql_repl.h b/sql/sql_repl.h
index 37acff314..6a50cc66a 100644
--- a/sql/sql_repl.h
+++ b/sql/sql_repl.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef SQL_REPL_INCLUDED
 #define SQL_REPL_INCLUDED
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index eb9e0492d..fb8e4755b 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -1,5 +1,5 @@
-/* Copyright (c) 2000, 2016 Oracle and/or its affiliates.
-   Copyright (c) 2009, 2018 MariaDB Corporation
+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates.
+   Copyright (c) 2009, 2019, MariaDB Corporation.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /**
   @file
@@ -218,7 +218,8 @@ static COND *make_cond_for_table_from_pred(THD *thd, Item *root_cond,
                                            table_map used_table,
                                            int join_tab_idx_arg,
                                            bool exclude_expensive_cond,
-                                           bool retain_ref_cond);
+                                           bool retain_ref_cond,
+                                           bool is_top_and_level);
 
 static Item* part_of_refkey(TABLE *form,Field *field);
 uint find_shortest_key(TABLE *table, const key_map *usable_keys);
@@ -357,7 +358,7 @@ bool handle_select(THD *thd, LEX *lex, select_result *result,
                    ulong setup_tables_done_option)
 {
   bool res;
-  register SELECT_LEX *select_lex = &lex->select_lex;
+  SELECT_LEX *select_lex = &lex->select_lex;
   DBUG_ENTER("handle_select");
   MYSQL_SELECT_START(thd->query());
 
@@ -1143,7 +1144,6 @@ JOIN::optimize_inner()
       DBUG_RETURN(1); /* purecov: inspected */
     /* dump_TABLE_LIST_graph(select_lex, select_lex->leaf_tables); */
     select_lex->update_used_tables();
-
   }
   
   eval_select_list_used_tables();
@@ -1205,6 +1205,8 @@ JOIN::optimize_inner()
 
     sel->where= conds;
 
+    select_lex->update_used_tables();
+
     if (arena)
       thd->restore_active_arena(arena, &backup);
   }
@@ -4238,7 +4240,7 @@ make_join_statistics(JOIN *join, List &tables_list,
     DBUG_RETURN(TRUE); /* purecov: inspected */
 
   {
-    ha_rows records= 1;
+    double records= 1;
     SELECT_LEX_UNIT *unit= join->select_lex->master_unit();
 
     /* Find an optimal join order of the non-constant tables. */
@@ -4263,10 +4265,11 @@ make_join_statistics(JOIN *join, List &tables_list,
         table/view.
       */
       for (i= 0; i < join->table_count ; i++)
-        records*= join->best_positions[i].records_read ?
-                  (ha_rows)join->best_positions[i].records_read : 1;
-      set_if_smaller(records, unit->select_limit_cnt);
-      join->select_lex->increase_derived_records(records);
+        if (double rr= join->best_positions[i].records_read)
+          records= COST_MULT(records, rr);
+      ha_rows rows= records > HA_ROWS_MAX ? HA_ROWS_MAX : (ha_rows) records;
+      set_if_smaller(rows, unit->select_limit_cnt);
+      join->select_lex->increase_derived_records(rows);
     }
   }
 
@@ -6153,7 +6156,7 @@ best_access_path(JOIN      *join,
             else
               tmp= table->file->read_time(key, 1,
                                           (ha_rows) MY_MIN(tmp,s->worst_seeks));
-            tmp*= record_count;
+            tmp= COST_MULT(tmp, record_count);
           }
         }
         else
@@ -6318,18 +6321,18 @@ best_access_path(JOIN      *join,
             else
               tmp= table->file->read_time(key, 1,
                                           (ha_rows) MY_MIN(tmp,s->worst_seeks));
-            tmp*= record_count;
+            tmp= COST_MULT(tmp, record_count);
           }
           else
-            tmp= best_time;                    // Do nothing
+            tmp= best_time;                     // Do nothing
         }
 
-        tmp += s->startup_cost;
+        tmp= COST_ADD(tmp, s->startup_cost);
         loose_scan_opt.check_ref_access_part2(key, start_key, records, tmp);
       } /* not ft_key */
       if (tmp + 0.0001 < best_time - records/(double) TIME_FOR_COMPARE)
       {
-        best_time= tmp + records/(double) TIME_FOR_COMPARE;
+        best_time= COST_ADD(tmp, records/(double) TIME_FOR_COMPARE);
         best= tmp;
         best_records= records;
         best_key= start_key;
@@ -6363,14 +6366,18 @@ best_access_path(JOIN      *join,
                                                      use_cond_selectivity);
 
     tmp= s->quick ? s->quick->read_time : s->scan_time();
-    tmp+= (s->records - rnd_records)/(double) TIME_FOR_COMPARE;
+    double cmp_time= (s->records - rnd_records)/(double) TIME_FOR_COMPARE;
+    tmp= COST_ADD(tmp, cmp_time);
 
     /* We read the table as many times as join buffer becomes full. */
-    tmp*= (1.0 + floor((double) cache_record_length(join,idx) *
-                          record_count /
-                          (double) thd->variables.join_buff_size));
-    best_time= tmp + 
-               (record_count*join_sel) / TIME_FOR_COMPARE * rnd_records;
+
+    double refills= (1.0 + floor((double) cache_record_length(join,idx) *
+                           record_count /
+			   (double) thd->variables.join_buff_size));
+    tmp= COST_MULT(tmp, refills);
+    best_time= COST_ADD(tmp,
+                        COST_MULT((record_count*join_sel) / TIME_FOR_COMPARE,
+                                  rnd_records));
     best= tmp;
     records= rnd_records;
     best_key= hj_start_key;
@@ -6396,7 +6403,8 @@ best_access_path(JOIN      *join,
         'range' access using index IDX, and the best way to perform 'ref' 
         access is to use the same index IDX, with the same or more key parts.
         (note: it is not clear how this rule is/should be extended to 
-        index_merge quick selects)
+        index_merge quick selects). Also if we have a hash join we prefer that
+        over a table scan
     (3) See above note about InnoDB.
     (4) NOT ("FORCE INDEX(...)" is used for table and there is 'ref' access
              path, but there is no quick select)
@@ -6412,6 +6420,7 @@ best_access_path(JOIN      *join,
         be used for cases with small datasets, which is annoying.
   */
   if ((records >= s->found_records || best > s->read_time) &&            // (1)
+      !(best_key && best_key->key == MAX_KEY) &&                         // (2)
       !(s->quick && best_key && s->quick->index == best_key->key &&      // (2)
         best_max_key_part >= s->table->quick_key_parts[best_key->key]) &&// (2)
       !((s->table->file->ha_table_flags() & HA_TABLE_SCAN_ON_INDEX) &&   // (3)
@@ -6439,9 +6448,9 @@ best_access_path(JOIN      *join,
         access (see first else-branch below), but we don't take it into 
         account here for range/index_merge access. Find out why this is so.
       */
-      tmp= record_count *
-        (s->quick->read_time +
-         (s->found_records - rnd_records)/(double) TIME_FOR_COMPARE);
+      double cmp_time= (s->found_records - rnd_records)/(double) TIME_FOR_COMPARE;
+      tmp= COST_MULT(record_count,
+                     COST_ADD(s->quick->read_time, cmp_time));
 
       loose_scan_opt.check_range_access(join, idx, s->quick);
     }
@@ -6460,16 +6469,15 @@ best_access_path(JOIN      *join,
           - read the whole table record 
           - skip rows which does not satisfy join condition
         */
-        tmp= record_count *
-          (tmp +
-           (s->records - rnd_records)/(double) TIME_FOR_COMPARE);
+        double cmp_time= (s->records - rnd_records)/(double) TIME_FOR_COMPARE;
+        tmp= COST_MULT(record_count, COST_ADD(tmp,cmp_time));
       }
       else
       {
-        /* We read the table as many times as join buffer becomes full. */
-        tmp*= (1.0 + floor((double) cache_record_length(join,idx) *
-                           record_count /
-                           (double) thd->variables.join_buff_size));
+        double refills= (1.0 + floor((double) cache_record_length(join,idx) *
+                        (record_count /
+                         (double) thd->variables.join_buff_size)));
+        tmp= COST_MULT(tmp, refills);
         /* 
             We don't make full cartesian product between rows in the scanned
            table and existing records because we skip all rows from the
@@ -6477,7 +6485,8 @@ best_access_path(JOIN      *join,
            we read the table (see flush_cached_records for details). Here we
            take into account cost to read and skip these records.
         */
-        tmp+= (s->records - rnd_records)/(double) TIME_FOR_COMPARE;
+        double cmp_time= (s->records - rnd_records)/(double) TIME_FOR_COMPARE;
+        tmp= COST_ADD(tmp, cmp_time);
       }
     }
 
@@ -6488,9 +6497,9 @@ best_access_path(JOIN      *join,
       tmp give us total cost of using TABLE SCAN
     */
     if (best == DBL_MAX ||
-        (tmp  + record_count/(double) TIME_FOR_COMPARE*rnd_records <
+        COST_ADD(tmp, record_count/(double) TIME_FOR_COMPARE*rnd_records) <
          (best_key->is_for_hash_join() ? best_time :
-          best + record_count/(double) TIME_FOR_COMPARE*records)))
+          COST_ADD(best, record_count/(double) TIME_FOR_COMPARE*records)))
     {
       /*
         If the table has a range (s->quick is set) make_join_select()
@@ -7019,9 +7028,10 @@ optimize_straight_join(JOIN *join, table_map join_tables)
                      join->positions + idx, &loose_scan_pos);
 
     /* compute the cost of the new plan extended with 's' */
-    record_count*= join->positions[idx].records_read;
-    read_time+= join->positions[idx].read_time +
-                record_count / (double) TIME_FOR_COMPARE;
+    record_count= COST_MULT(record_count, join->positions[idx].records_read);
+    read_time= COST_ADD(read_time,
+                        COST_ADD(join->positions[idx].read_time,
+                                 record_count / (double) TIME_FOR_COMPARE));
     advance_sj_state(join, join_tables, idx, &record_count, &read_time,
                      &loose_scan_pos);
 
@@ -7211,9 +7221,10 @@ greedy_search(JOIN      *join,
     swap_variables(JOIN_TAB*, join->best_ref[idx], join->best_ref[best_idx]);
 
     /* compute the cost of the new plan extended with 'best_table' */
-    record_count*= join->positions[idx].records_read;
-    read_time+= join->positions[idx].read_time + 
-                record_count / (double) TIME_FOR_COMPARE;
+    record_count= COST_MULT(record_count, join->positions[idx].records_read);
+    read_time= COST_ADD(read_time,
+                         COST_ADD(join->positions[idx].read_time,
+                                  record_count / (double) TIME_FOR_COMPARE));
 
     remaining_tables&= ~(best_table->table->map);
     --size_remain;
@@ -7320,11 +7331,13 @@ void JOIN::get_partial_cost_and_fanout(int end_tab_idx,
     }
     if (tab->records_read && (cur_table_map & filter_map))
     {
-      record_count *= tab->records_read;
-      read_time += tab->read_time + record_count / (double) TIME_FOR_COMPARE;
+      record_count= COST_MULT(record_count, tab->records_read);
+      read_time= COST_ADD(read_time,
+                          COST_ADD(tab->read_time,
+                                   record_count / (double) TIME_FOR_COMPARE));
       if (tab->emb_sj_nest)
-        sj_inner_fanout *= tab->records_read;
-    }
+        sj_inner_fanout= COST_MULT(sj_inner_fanout, tab->records_read);
+				     }
 
     if (i == last_sj_table)
     {
@@ -7362,8 +7375,8 @@ void JOIN::get_prefix_cost_and_fanout(uint n_tables,
   {
     if (best_positions[i].records_read)
     {
-      record_count *= best_positions[i].records_read;
-      read_time += best_positions[i].read_time;
+      record_count= COST_MULT(record_count, best_positions[i].records_read);
+      read_time= COST_ADD(read_time, best_positions[i].read_time);
     }
   }
   *read_time_arg= read_time;// + record_count / TIME_FOR_COMPARE;
@@ -7382,18 +7395,23 @@ double JOIN::get_examined_rows()
 {
   double examined_rows;
   double prev_fanout= 1;
+  double records;
   JOIN_TAB *tab= first_breadth_first_optimization_tab();
   JOIN_TAB *prev_tab= tab;
 
-  examined_rows= tab->get_examined_rows();
+  records= tab->get_examined_rows();
 
   while ((tab= next_breadth_first_tab(first_breadth_first_optimization_tab(),
                                       top_table_access_tabs_count, tab)))
   {
-    prev_fanout *= prev_tab->records_read;
-    examined_rows+= tab->get_examined_rows() * prev_fanout;
+    prev_fanout= COST_MULT(prev_fanout, prev_tab->records_read);
+    records=
+      COST_ADD(records,
+               COST_MULT((double) (tab->get_examined_rows()), prev_fanout));
     prev_tab= tab;
   }
+  examined_rows=
+    records > (double) HA_ROWS_MAX ? HA_ROWS_MAX : (ha_rows) records;
   return examined_rows;
 }
 
@@ -7924,13 +7942,12 @@ best_extension_by_limited_search(JOIN      *join,
       best_access_path(join, s, remaining_tables, idx, disable_jbuf,
                        record_count, join->positions + idx, &loose_scan_pos);
 
-      /* Compute the cost of extending the plan with 's', avoid overflow */
-      if (position->records_read < DBL_MAX / record_count)
-        current_record_count= record_count * position->records_read;
-      else
-        current_record_count= DBL_MAX;
-      current_read_time=read_time + position->read_time +
-                        current_record_count / (double) TIME_FOR_COMPARE;
+      /* Compute the cost of extending the plan with 's' */
+      current_record_count= COST_MULT(record_count, position->records_read);
+      current_read_time=COST_ADD(read_time,
+                                 COST_ADD(position->read_time,
+                                          current_record_count /
+                                          (double) TIME_FOR_COMPARE));
 
       advance_sj_state(join, remaining_tables, idx, ¤t_record_count,
                        ¤t_read_time, &loose_scan_pos);
@@ -8012,12 +8029,12 @@ best_extension_by_limited_search(JOIN      *join,
         if (join->sort_by_table &&
             join->sort_by_table !=
             join->positions[join->const_tables].table->table)
-          /* 
-             We may have to make a temp table, note that this is only a 
-             heuristic since we cannot know for sure at this point. 
+          /*
+             We may have to make a temp table, note that this is only a
+             heuristic since we cannot know for sure at this point.
              Hence it may be wrong.
           */
-          current_read_time+= current_record_count;
+          current_read_time= COST_ADD(current_read_time, current_record_count);
         if (current_read_time < join->best_read)
         {
           memcpy((uchar*) join->best_positions, (uchar*) join->positions,
@@ -8061,11 +8078,11 @@ find_best(JOIN *join,table_map rest_tables,uint idx,double record_count,
     DBUG_PRINT("best",("read_time: %g  record_count: %g",read_time,
 		       record_count));
 
-    read_time+=record_count/(double) TIME_FOR_COMPARE;
+    read_time= COST_ADD(read_time, record_count/(double) TIME_FOR_COMPARE);
     if (join->sort_by_table &&
 	join->sort_by_table !=
 	join->positions[join->const_tables].table->table)
-      read_time+=record_count;			// We have to make a temp table
+      read_time= COST_ADD(read_time, record_count);	// We have to make a temp table
     if (read_time < join->best_read)
     {
       memcpy((uchar*) join->best_positions,(uchar*) join->positions,
@@ -8074,7 +8091,8 @@ find_best(JOIN *join,table_map rest_tables,uint idx,double record_count,
     }
     DBUG_RETURN(FALSE);
   }
-  if (read_time+record_count/(double) TIME_FOR_COMPARE >= join->best_read)
+  if (COST_ADD(read_time, record_count/(double) TIME_FOR_COMPARE)
+      >= join->best_read)
     DBUG_RETURN(FALSE);					/* Found better before */
 
   JOIN_TAB *s;
@@ -8096,8 +8114,8 @@ find_best(JOIN *join,table_map rest_tables,uint idx,double record_count,
 	Go to the next level only if there hasn't been a better key on
 	this level! This will cut down the search for a lot simple cases!
       */
-      double current_record_count=record_count*records;
-      double current_read_time=read_time+best;
+      double current_record_count= COST_MULT(record_count, records);
+      double current_read_time= COST_ADD(read_time, best);
       advance_sj_state(join, rest_tables, idx, ¤t_record_count, 
                        ¤t_read_time, &loose_scan_pos);
 
@@ -8434,8 +8452,8 @@ prev_record_reads(POSITION *positions, uint idx, table_map found_ref)
           #max_nested_outer_joins=64-1) will not make it any more precise.
       */
       if (pos->records_read)
-        found*= pos->records_read;
-    }
+        found= COST_MULT(found, pos->records_read);
+     }
   }
   return found;
 }
@@ -9843,12 +9861,6 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
                      RAND_TABLE_BIT;
       }
 
-      /*
-	Following force including random expression in last table condition.
-	It solve problem with select like SELECT * FROM t1 WHERE rand() > 0.5
-      */
-      if (tab == join->join_tab + last_top_base_tab_idx)
-        current_map|= RAND_TABLE_BIT;
       used_tables|=current_map;
 
       if (tab->type == JT_REF && tab->quick &&
@@ -9890,6 +9902,20 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
         {
           tmp= make_cond_for_table(thd, cond, used_tables, current_map, i,
                                    FALSE, FALSE);
+          if (tab == join->join_tab + last_top_base_tab_idx)
+          {
+            /*
+              This pushes conjunctive conditions of WHERE condition such that:
+              - their used_tables() contain RAND_TABLE_BIT
+              - the conditions does not refer to any fields
+              (such like rand() > 0.5)
+            */
+            table_map rand_table_bit= (table_map) RAND_TABLE_BIT;
+            COND *rand_cond= make_cond_for_table(thd, cond, used_tables,
+                                                 rand_table_bit, -1,
+                                                 FALSE, FALSE);
+            add_cond_and_fix(thd, &tmp, rand_cond);
+          }
         }
         /* Add conditions added by add_not_null_conds(). */
         if (tab->select_cond)
@@ -10027,8 +10053,16 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
 	  /*
 	    We plan to scan all rows.
 	    Check again if we should use an index.
-	    We could have used an column from a previous table in
-	    the index if we are using limit and this is the first table
+
+            There are two cases:
+            1) There could be an index usage the refers to a previous
+               table that we didn't consider before, but could be consider
+               now as a "last resort". For example
+               SELECT * from t1,t2 where t1.a between t2.a and t2.b;
+            2) If the current table is the first non const table
+               and there is a limit it still possibly beneficial
+               to use the index even if the index range is big as
+               we can stop when we've found limit rows.
 
             (1) - Don't switch the used index if we are using semi-join
                   LooseScan on this table. Using different index will not
@@ -10217,6 +10251,21 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
                                               current_map,
                                               /*(inner_tab - first_tab)*/ -1,
 					      FALSE, FALSE);
+          if (tab == last_tab)
+          {
+            /*
+              This pushes conjunctive conditions of ON expression of an outer
+              join such that:
+              - their used_tables() contain RAND_TABLE_BIT
+              - the conditions does not refer to any fields
+              (such like rand() > 0.5)
+            */
+            table_map rand_table_bit= (table_map) RAND_TABLE_BIT;
+            COND *rand_cond= make_cond_for_table(thd, on_expr, used_tables2,
+                                                 rand_table_bit, -1,
+                                                 FALSE, FALSE);
+            add_cond_and_fix(thd, &tmp_cond, rand_cond);
+          }
           bool is_sjm_lookup_tab= FALSE;
           if (inner_tab->bush_children)
           {
@@ -11830,6 +11879,8 @@ ha_rows JOIN_TAB::get_examined_rows()
   else
     examined_rows= records_read;
 
+  if (examined_rows >= (double) HA_ROWS_MAX)
+    return HA_ROWS_MAX;
   return (ha_rows) examined_rows;
 }
 
@@ -12844,6 +12895,9 @@ static bool check_simple_equality(THD *thd, const Item::Context &ctx,
   {
     if (((Item_ref*)left_item)->get_depended_from())
       return FALSE;
+    if (((Item_direct_view_ref*)left_item)->get_null_ref_table() !=
+        NO_NULL_TABLE && !left_item->real_item()->used_tables())
+      return FALSE;
     left_item= left_item->real_item();
   }
   if (right_item->type() == Item::REF_ITEM &&
@@ -12851,6 +12905,9 @@ static bool check_simple_equality(THD *thd, const Item::Context &ctx,
   {
     if (((Item_ref*)right_item)->get_depended_from())
       return FALSE;
+    if (((Item_direct_view_ref*)right_item)->get_null_ref_table() !=
+        NO_NULL_TABLE && !right_item->real_item()->used_tables())
+      return FALSE;
     right_item= right_item->real_item();
   }
   if (left_item->type() == Item::FIELD_ITEM &&
@@ -14625,8 +14682,20 @@ simplify_joins(JOIN *join, List *join_list, COND *conds, bool top,
         table->table->maybe_null= FALSE;
       table->outer_join= 0;
       if (!(straight_join || table->straight))
-        table->dep_tables= table->embedding && !table->embedding->sj_subq_pred ?
-                             table->embedding->dep_tables : 0;
+      {
+        table->dep_tables= 0;
+        TABLE_LIST *embedding= table->embedding;
+        while (embedding)
+        {
+          if (embedding->nested_join->join_list.head()->outer_join)
+          {
+            if (!embedding->sj_subq_pred)
+              table->dep_tables= embedding->dep_tables;
+            break;
+          }
+          embedding= embedding->embedding;
+        }
+      }
       if (table->on_expr)
       {
         /* Add ON expression to the WHERE or upper-level ON condition. */
@@ -15149,11 +15218,12 @@ void optimize_wo_join_buffering(JOIN *join, uint first_tab, uint last_tab,
       pos= loose_scan_pos;
 
     reopt_remaining_tables &= ~rs->table->map;
-    rec_count *= pos.records_read;
-    cost += pos.read_time;
+    rec_count= COST_MULT(rec_count, pos.records_read);
+    cost= COST_ADD(cost, pos.read_time);
+
 
     if (!rs->emb_sj_nest)
-      *outer_rec_count *= pos.records_read;
+      *outer_rec_count= COST_MULT(*outer_rec_count, pos.records_read);
   }
   join->cur_sj_inner_tables= save_cur_sj_inner_tables;
 
@@ -20244,7 +20314,7 @@ make_cond_for_table(THD *thd, Item *cond, table_map tables,
   return make_cond_for_table_from_pred(thd, cond, cond, tables, used_table,
                                        join_tab_idx_arg,
                                        exclude_expensive_cond,
-                                       retain_ref_cond);
+                                       retain_ref_cond, true);
 }
 
 
@@ -20254,9 +20324,12 @@ make_cond_for_table_from_pred(THD *thd, Item *root_cond, Item *cond,
                               int join_tab_idx_arg,
                               bool exclude_expensive_cond __attribute__
                               ((unused)),
-                              bool retain_ref_cond)
+                              bool retain_ref_cond,
+                              bool is_top_and_level)
 
 {
+  table_map rand_table_bit= (table_map) RAND_TABLE_BIT;
+
   if (used_table && !(cond->used_tables() & used_table))
     return (COND*) 0;				// Already checked
 
@@ -20272,11 +20345,28 @@ make_cond_for_table_from_pred(THD *thd, Item *root_cond, Item *cond,
       Item *item;
       while ((item=li++))
       {
+        /*
+          Special handling of top level conjuncts with RAND_TABLE_BIT:
+          if such a conjunct contains a reference to a field that is not
+          an outer field then it is pushed to the corresponding table by
+          the same rule as all other conjuncts. Otherwise, if the conjunct
+          is used in WHERE is is pushed to the last joined table, if is it
+          is used in ON condition of an outer join it is pushed into the
+          last inner table of the outer join. Such conjuncts are pushed in
+          a call of make_cond_for_table_from_pred() with the
+          parameter 'used_table' equal to PSEUDO_TABLE_BITS.
+        */
+        if (is_top_and_level && used_table == rand_table_bit &&
+            (item->used_tables() & ~OUTER_REF_TABLE_BIT) != rand_table_bit)
+        {
+          /* The conjunct with RAND_TABLE_BIT has been allready pushed */
+          continue;
+        }
 	Item *fix=make_cond_for_table_from_pred(thd, root_cond, item, 
                                                 tables, used_table,
-						join_tab_idx_arg,
+                                                join_tab_idx_arg,
                                                 exclude_expensive_cond,
-                                                retain_ref_cond);
+                                                retain_ref_cond, false);
 	if (fix)
 	  new_cond->argument_list()->push_back(fix, thd->mem_root);
       }
@@ -20300,6 +20390,13 @@ make_cond_for_table_from_pred(THD *thd, Item *root_cond, Item *cond,
     }
     else
     {						// Or list
+      if (is_top_and_level && used_table == rand_table_bit &&
+          (cond->used_tables() & ~OUTER_REF_TABLE_BIT) != rand_table_bit)
+      {
+        /* This top level formula with RAND_TABLE_BIT has been already pushed */
+        return (COND*) 0;
+      }
+
       Item_cond_or *new_cond=new (thd->mem_root) Item_cond_or(thd);
       if (!new_cond)
 	return (COND*) 0;			// OOM /* purecov: inspected */
@@ -20311,7 +20408,7 @@ make_cond_for_table_from_pred(THD *thd, Item *root_cond, Item *cond,
                                                 tables, 0L,
                                                 join_tab_idx_arg,
                                                 exclude_expensive_cond,
-                                                retain_ref_cond);
+                                                retain_ref_cond, false);
 	if (!fix)
 	  return (COND*) 0;			// Always true
 	new_cond->argument_list()->push_back(fix, thd->mem_root);
@@ -20328,6 +20425,13 @@ make_cond_for_table_from_pred(THD *thd, Item *root_cond, Item *cond,
     }
   }
 
+  if (is_top_and_level && used_table == rand_table_bit &&
+      (cond->used_tables() & ~OUTER_REF_TABLE_BIT) != rand_table_bit)
+  {
+    /* This top level formula with RAND_TABLE_BIT has been already pushed */
+    return (COND*) 0;
+  }
+
   /*
     Because the following test takes a while and it can be done
     table_count times, we mark each item that we have examined with the result
@@ -24454,10 +24558,10 @@ void JOIN_TAB::save_explain_data(Explain_table_access *eta,
   }
   else
   {
-    double examined_rows= get_examined_rows();
+    ha_rows examined_rows= get_examined_rows();
 
     eta->rows_set= true;
-    eta->rows= (ha_rows) examined_rows;
+    eta->rows= examined_rows;
 
     /* "filtered"  */
     float f= 0.0; 
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 266fe7a70..d955d569c 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file
diff --git a/sql/sql_servers.cc b/sql/sql_servers.cc
index 0138c3e5a..def4063f7 100644
--- a/sql/sql_servers.cc
+++ b/sql/sql_servers.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /*
diff --git a/sql/sql_servers.h b/sql/sql_servers.h
index d5668f0df..85e7e68e0 100644
--- a/sql/sql_servers.h
+++ b/sql/sql_servers.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "my_global.h"                  /* uint */
 #include "slave.h" // for tables_ok(), rpl_filter
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 7f0c50a2e..71bfc6444 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* Function with list databases, tables or fields */
@@ -4272,8 +4272,8 @@ fill_schema_table_by_open(THD *thd, bool is_show_fields_or_keys,
     SQLCOM_SHOW_FIELDS is used because it satisfies
     'only_view_structure()'.
   */
-  lex->sql_command= SQLCOM_SHOW_FIELDS;
   thd->force_read_stats= get_schema_table_idx(schema_table) == SCH_STATISTICS;
+  lex->sql_command= SQLCOM_SHOW_FIELDS;
   result= (open_temporary_tables(thd, table_list) ||
            open_normal_and_derived_tables(thd, table_list,
                                           (MYSQL_OPEN_IGNORE_FLUSH |
@@ -4281,16 +4281,15 @@ fill_schema_table_by_open(THD *thd, bool is_show_fields_or_keys,
                                            (can_deadlock ?
                                             MYSQL_OPEN_FAIL_ON_MDL_CONFLICT : 0)),
                                           DT_PREPARE | DT_CREATE));
-
-  (void) read_statistics_for_tables_if_needed(thd, table_list);
-  thd->force_read_stats= false;
-
   /*
     Restore old value of sql_command back as it is being looked at in
     process_table() function.
   */
   lex->sql_command= old_lex->sql_command;
 
+  (void) read_statistics_for_tables_if_needed(thd, table_list);
+  thd->force_read_stats= false;
+
   DEBUG_SYNC(thd, "after_open_table_ignore_flush");
 
   /*
@@ -9840,8 +9839,6 @@ char *thd_get_error_context_description(THD *thd, char *buffer,
   char header[256];
   int len;
 
-  mysql_mutex_lock(&LOCK_thread_count);
-
   len= my_snprintf(header, sizeof(header),
                    "MySQL thread id %lu, OS thread handle 0x%lx, query id %lu",
                    thd->thread_id, (ulong) thd->real_id, (ulong) thd->query_id);
@@ -9886,7 +9883,6 @@ char *thd_get_error_context_description(THD *thd, char *buffer,
     }
     mysql_mutex_unlock(&thd->LOCK_thd_data);
   }
-  mysql_mutex_unlock(&LOCK_thread_count);
 
   if (str.c_ptr_safe() == buffer)
     return buffer;
diff --git a/sql/sql_show.h b/sql/sql_show.h
index dbae2a42b..b912023d0 100644
--- a/sql/sql_show.h
+++ b/sql/sql_show.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_SHOW_H
 #define SQL_SHOW_H
diff --git a/sql/sql_signal.cc b/sql/sql_signal.cc
index 1b7edbee5..bb3b99ba4 100644
--- a/sql/sql_signal.cc
+++ b/sql/sql_signal.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "sql_priv.h"
diff --git a/sql/sql_signal.h b/sql/sql_signal.h
index 2a508eed5..b73233ef1 100644
--- a/sql/sql_signal.h
+++ b/sql/sql_signal.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef SQL_SIGNAL_H
 #define SQL_SIGNAL_H
diff --git a/sql/sql_sort.h b/sql/sql_sort.h
index d30ddfb6e..09bf7d696 100644
--- a/sql/sql_sort.h
+++ b/sql/sql_sort.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "m_string.h"                           /* memset */
 #include "my_global.h"                          /* uchar */
diff --git a/sql/sql_state.c b/sql/sql_state.c
index 2bfd61d66..dcffe49a7 100644
--- a/sql/sql_state.c
+++ b/sql/sql_state.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Functions to map mysqld errno to sql_state */
 
diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc
index 061622a2c..37f73adcc 100644
--- a/sql/sql_statistics.cc
+++ b/sql/sql_statistics.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file
@@ -2191,6 +2191,9 @@ inline bool statistics_for_command_is_needed(THD *thd)
   case SQLCOM_DELETE_MULTI:
   case SQLCOM_REPLACE:
   case SQLCOM_REPLACE_SELECT:
+  case SQLCOM_CREATE_TABLE:
+  case SQLCOM_SET_OPTION:
+  case SQLCOM_DO:
     break;
   default: 
     return FALSE;
@@ -3285,12 +3288,13 @@ int read_statistics_for_tables_if_needed(THD *thd, TABLE_LIST *tables)
       if (table_share->stats_cb.stats_is_read)
         tl->table->stats_is_read= TRUE;
       if (thd->variables.optimizer_use_condition_selectivity > 3 && 
-          table_share && !table_share->stats_cb.histograms_are_read)
+          table_share && table_share->stats_cb.stats_can_be_read &&
+          !table_share->stats_cb.histograms_are_read)
       {
         (void) read_histograms_for_table(thd, tl->table, stat_tables);
         table_share->stats_cb.histograms_are_read= TRUE;
       }
-      if (table_share->stats_cb.stats_is_read)
+      if (table_share->stats_cb.histograms_are_read)
         tl->table->histograms_are_read= TRUE;
     }
   }  
diff --git a/sql/sql_statistics.h b/sql/sql_statistics.h
index 6530c2d6c..16325220e 100644
--- a/sql/sql_statistics.h
+++ b/sql/sql_statistics.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_STATISTICS_H
 #define SQL_STATISTICS_H
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index 8c69bea24..d03ed5be0 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is originally from the mysql distribution. Coded by monty */
 
@@ -608,8 +608,8 @@ int String::strstr(const String &s,uint32 offset)
     if (!s.length())
       return ((int) offset);	// Empty string is always found
 
-    register const char *str = Ptr+offset;
-    register const char *search=s.ptr();
+    const char *str = Ptr+offset;
+    const char *search=s.ptr();
     const char *end=Ptr+str_length-s.length()+1;
     const char *search_end=s.ptr()+s.length();
 skip:
@@ -617,7 +617,7 @@ int String::strstr(const String &s,uint32 offset)
     {
       if (*str++ == *search)
       {
-	register char *i,*j;
+	char *i,*j;
 	i=(char*) str; j=(char*) search+1;
 	while (j != search_end)
 	  if (*i++ != *j++) goto skip;
@@ -638,8 +638,8 @@ int String::strrstr(const String &s,uint32 offset)
   {
     if (!s.length())
       return offset;				// Empty string is always found
-    register const char *str = Ptr+offset-1;
-    register const char *search=s.ptr()+s.length()-1;
+    const char *str = Ptr+offset-1;
+    const char *search=s.ptr()+s.length()-1;
 
     const char *end=Ptr+s.length()-2;
     const char *search_end=s.ptr()-1;
@@ -648,7 +648,7 @@ int String::strrstr(const String &s,uint32 offset)
     {
       if (*str-- == *search)
       {
-	register char *i,*j;
+	char *i,*j;
 	i=(char*) str; j=(char*) search-1;
 	while (j != search_end)
 	  if (*i-- != *j--) goto skip;
diff --git a/sql/sql_string.h b/sql/sql_string.h
index ba28dbeea..6fd3d7a10 100644
--- a/sql/sql_string.h
+++ b/sql/sql_string.h
@@ -16,7 +16,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is originally from the mysql distribution. Coded by monty */
 
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 57333e7dc..656834c78 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -1,6 +1,6 @@
 /*
-   Copyright (c) 2000, 2016, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2018, MariaDB
+   Copyright (c) 2000, 2019, Oracle and/or its affiliates.
+   Copyright (c) 2010, 2019, MariaDB
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 /* drop and alter of tables */
@@ -2265,7 +2265,7 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables, bool if_exists,
   for (table= tables; table; table= table->next_local)
   {
     bool is_trans= 0;
-    bool table_creation_was_logged= 1;
+    bool table_creation_was_logged= 0;
     char *db=table->db;
     size_t db_length= table->db_length;
     handlerton *table_type= 0;
@@ -2529,8 +2529,7 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables, bool if_exists,
                                     table->table_name););
   }
   DEBUG_SYNC(thd, "rm_table_no_locks_before_binlog");
-  thd->thread_specific_used|= (trans_tmp_table_deleted ||
-                               non_trans_tmp_table_deleted);
+  thd->thread_specific_used= TRUE;
   error= 0;
 err:
   if (wrong_tables.length())
@@ -8242,6 +8241,50 @@ static bool fk_prepare_copy_alter_table(THD *thd, TABLE *table,
     }
   }
 
+  /*
+    Normally, an attempt to modify an FK parent table will cause
+    FK children to be prelocked, so the table-being-altered cannot
+    be modified by a cascade FK action, because ALTER holds a lock
+    and prelocking will wait.
+
+    But if a new FK is being added by this very ALTER, then the target
+    table is not locked yet (it's a temporary table). So, we have to
+    lock FK parents explicitly.
+  */
+  if (alter_info->flags & Alter_info::ADD_FOREIGN_KEY)
+  {
+    List_iterator fk_list_it(alter_info->key_list);
+
+    while (Key *key= fk_list_it++)
+    {
+      if (key->type != Key::FOREIGN_KEY)
+        continue;
+
+      Foreign_key *fk= static_cast(key);
+      char dbuf[NAME_LEN];
+      char tbuf[NAME_LEN];
+      const char *ref_db= fk->ref_db.str ? fk->ref_db.str : alter_ctx->new_db;
+      const char *ref_table= fk->ref_table.str;
+      MDL_request mdl_request;
+
+      if (lower_case_table_names)
+      {
+        strmake_buf(dbuf, ref_db);
+        my_casedn_str(system_charset_info, dbuf);
+        strmake_buf(tbuf, ref_table);
+        my_casedn_str(system_charset_info, tbuf);
+        ref_db= dbuf;
+        ref_table= tbuf;
+      }
+
+      mdl_request.init(MDL_key::TABLE, ref_db, ref_table, MDL_SHARED_NO_WRITE,
+                       MDL_TRANSACTION);
+      if (thd->mdl_context.acquire_lock(&mdl_request,
+                                        thd->variables.lock_wait_timeout))
+        DBUG_RETURN(true);
+    }
+  }
+
   DBUG_RETURN(false);
 }
 
@@ -9093,6 +9136,7 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
 
   /* Mark that we have created table in storage engine. */
   no_ha_table= false;
+  DEBUG_SYNC(thd, "alter_table_intermediate_table_created");
 
   if (create_info->tmp_table())
   {
@@ -9126,52 +9170,6 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
                                    true, true);
     if (!new_table)
       goto err_new_table_cleanup;
-
-    /*
-      Normally, an attempt to modify an FK parent table will cause
-      FK children to be prelocked, so the table-being-altered cannot
-      be modified by a cascade FK action, because ALTER holds a lock
-      and prelocking will wait.
-
-      But if a new FK is being added by this very ALTER, then the target
-      table is not locked yet (it's a temporary table). So, we have to
-      lock FK parents explicitly.
-    */
-    if (alter_info->flags & Alter_info::ADD_FOREIGN_KEY)
-    {
-      List  fk_list;
-      List_iterator fk_list_it(fk_list);
-      FOREIGN_KEY_INFO *fk;
-
-      /* tables_opened can be > 1 only for MERGE tables */
-      DBUG_ASSERT(tables_opened == 1);
-      DBUG_ASSERT(&table_list->next_global == thd->lex->query_tables_last);
-
-      new_table->file->get_foreign_key_list(thd, &fk_list);
-      while ((fk= fk_list_it++))
-      {
-        MDL_request mdl_request;
-
-        if (lower_case_table_names)
-        {
-         char buf[NAME_LEN];
-         uint len;
-         strmake_buf(buf, fk->referenced_db->str);
-         len = my_casedn_str(files_charset_info, buf);
-         thd->make_lex_string(fk->referenced_db, buf, len);
-         strmake_buf(buf, fk->referenced_table->str);
-         len = my_casedn_str(files_charset_info, buf);
-         thd->make_lex_string(fk->referenced_table, buf, len);
-        }
-
-        mdl_request.init(MDL_key::TABLE,
-                         fk->referenced_db->str, fk->referenced_table->str,
-                         MDL_SHARED_NO_WRITE, MDL_TRANSACTION);
-        if (thd->mdl_context.acquire_lock(&mdl_request,
-                                          thd->variables.lock_wait_timeout))
-          goto err_new_table_cleanup;
-      }
-    }
   }
   /*
     Note: In case of MERGE table, we do not attach children. We do not
@@ -10117,3 +10115,303 @@ bool check_engine(THD *thd, const char *db_name,
 
   DBUG_RETURN(false);
 }
+
+
+bool Sql_cmd_create_table::execute(THD *thd)
+{
+  DBUG_ENTER("Sql_cmd_create_table::execute");
+  LEX *lex= thd->lex;
+  TABLE_LIST *all_tables= lex->query_tables;
+  SELECT_LEX *select_lex= &lex->select_lex;
+  TABLE_LIST *first_table= select_lex->table_list.first;
+  DBUG_ASSERT(first_table == all_tables && first_table != 0);
+  bool link_to_local;
+  TABLE_LIST *create_table= first_table;
+  TABLE_LIST *select_tables= lex->create_last_non_select_table->next_global;
+  /* most outer SELECT_LEX_UNIT of query */
+  SELECT_LEX_UNIT *unit= &lex->unit;
+  int res= 0;
+
+  const bool used_engine= lex->create_info.used_fields & HA_CREATE_USED_ENGINE;
+  DBUG_ASSERT((m_storage_engine_name.str != NULL) == used_engine);
+  if (used_engine)
+  {
+    if (resolve_storage_engine_with_error(thd, &lex->create_info.db_type,
+                                          lex->create_info.tmp_table()))
+      DBUG_RETURN(true); // Engine not found, substitution is not allowed
+
+    if (!lex->create_info.db_type) // Not found, but substitution is allowed
+    {
+      lex->create_info.use_default_db_type(thd);
+      push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
+                          ER_WARN_USING_OTHER_HANDLER,
+                          ER_THD(thd, ER_WARN_USING_OTHER_HANDLER),
+                          hton_name(lex->create_info.db_type)->str,
+                          create_table->table_name);
+    }
+  }
+
+  if (lex->tmp_table())
+  {
+    status_var_decrement(thd->status_var.com_stat[SQLCOM_CREATE_TABLE]);
+    status_var_increment(thd->status_var.com_create_tmp_table);
+  }
+
+  /*
+    Code below (especially in mysql_create_table() and select_create
+    methods) may modify HA_CREATE_INFO structure in LEX, so we have to
+    use a copy of this structure to make execution prepared statement-
+    safe. A shallow copy is enough as this code won't modify any memory
+    referenced from this structure.
+  */
+  Table_specification_st create_info(lex->create_info);
+  /*
+    We need to copy alter_info for the same reasons of re-execution
+    safety, only in case of Alter_info we have to do (almost) a deep
+    copy.
+  */
+  Alter_info alter_info(lex->alter_info, thd->mem_root);
+
+  if (thd->is_fatal_error)
+  {
+    /* If out of memory when creating a copy of alter_info. */
+    res= 1;
+    goto end_with_restore_list;
+  }
+
+  /* Check privileges */
+  if ((res= create_table_precheck(thd, select_tables, create_table)))
+    goto end_with_restore_list;
+
+  /* Might have been updated in create_table_precheck */
+  create_info.alias= create_table->alias;
+
+  /* Fix names if symlinked or relocated tables */
+  if (append_file_to_dir(thd, &create_info.data_file_name,
+                         create_table->table_name) ||
+      append_file_to_dir(thd, &create_info.index_file_name,
+                         create_table->table_name))
+    goto end_with_restore_list;
+
+  /*
+    If no engine type was given, work out the default now
+    rather than at parse-time.
+  */
+  if (!(create_info.used_fields & HA_CREATE_USED_ENGINE))
+    create_info.use_default_db_type(thd);
+  /*
+    If we are using SET CHARSET without DEFAULT, add an implicit
+    DEFAULT to not confuse old users. (This may change).
+  */
+  if ((create_info.used_fields &
+       (HA_CREATE_USED_DEFAULT_CHARSET | HA_CREATE_USED_CHARSET)) ==
+      HA_CREATE_USED_CHARSET)
+  {
+    create_info.used_fields&= ~HA_CREATE_USED_CHARSET;
+    create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
+    create_info.default_table_charset= create_info.table_charset;
+    create_info.table_charset= 0;
+  }
+
+  /*
+    If we are a slave, we should add OR REPLACE if we don't have
+    IF EXISTS. This will help a slave to recover from
+    CREATE TABLE OR EXISTS failures by dropping the table and
+    retrying the create.
+  */
+  if (thd->slave_thread &&
+      slave_ddl_exec_mode_options == SLAVE_EXEC_MODE_IDEMPOTENT &&
+      !lex->create_info.if_not_exists())
+  {
+    create_info.add(DDL_options_st::OPT_OR_REPLACE);
+    create_info.add(DDL_options_st::OPT_OR_REPLACE_SLAVE_GENERATED);
+  }
+
+#ifdef WITH_PARTITION_STORAGE_ENGINE
+  {
+    partition_info *part_info= thd->lex->part_info;
+    if (part_info && !(part_info= part_info->get_clone(thd)))
+    {
+      res= -1;
+      goto end_with_restore_list;
+    }
+    thd->work_part_info= part_info;
+  }
+#endif
+
+  if (select_lex->item_list.elements)		// With select
+  {
+    select_result *result;
+
+    /*
+      CREATE TABLE...IGNORE/REPLACE SELECT... can be unsafe, unless
+      ORDER BY PRIMARY KEY clause is used in SELECT statement. We therefore
+      use row based logging if mixed or row based logging is available.
+      TODO: Check if the order of the output of the select statement is
+      deterministic. Waiting for BUG#42415
+    */
+    if(lex->ignore)
+      lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_CREATE_IGNORE_SELECT);
+
+    if(lex->duplicates == DUP_REPLACE)
+      lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_CREATE_REPLACE_SELECT);
+
+    /*
+      If:
+      a) we inside an SP and there was NAME_CONST substitution,
+      b) binlogging is on (STMT mode),
+      c) we log the SP as separate statements
+      raise a warning, as it may cause problems
+      (see 'NAME_CONST issues' in 'Binary Logging of Stored Programs')
+     */
+    if (thd->query_name_consts && mysql_bin_log.is_open() &&
+        thd->wsrep_binlog_format() == BINLOG_FORMAT_STMT &&
+        !mysql_bin_log.is_query_in_union(thd, thd->query_id))
+    {
+      List_iterator_fast it(select_lex->item_list);
+      Item *item;
+      uint splocal_refs= 0;
+      /* Count SP local vars in the top-level SELECT list */
+      while ((item= it++))
+      {
+        if (item->get_item_splocal())
+          splocal_refs++;
+      }
+      /*
+        If it differs from number of NAME_CONST substitution applied,
+        we may have a SOME_FUNC(NAME_CONST()) in the SELECT list,
+        that may cause a problem with binary log (see BUG#35383),
+        raise a warning.
+      */
+      if (splocal_refs != thd->query_name_consts)
+        push_warning(thd,
+                     Sql_condition::WARN_LEVEL_WARN,
+                     ER_UNKNOWN_ERROR,
+"Invoked routine ran a statement that may cause problems with "
+"binary log, see 'NAME_CONST issues' in 'Binary Logging of Stored Programs' "
+"section of the manual.");
+    }
+
+    select_lex->options|= SELECT_NO_UNLOCK;
+    unit->set_limit(select_lex);
+
+    /*
+      Disable non-empty MERGE tables with CREATE...SELECT. Too
+      complicated. See Bug #26379. Empty MERGE tables are read-only
+      and don't allow CREATE...SELECT anyway.
+    */
+    if (create_info.used_fields & HA_CREATE_USED_UNION)
+    {
+      my_error(ER_WRONG_OBJECT, MYF(0), create_table->db,
+               create_table->table_name, "BASE TABLE");
+      res= 1;
+      goto end_with_restore_list;
+    }
+
+    /* Copy temporarily the statement flags to thd for lock_table_names() */
+    uint save_thd_create_info_options= thd->lex->create_info.options;
+    thd->lex->create_info.options|= create_info.options;
+    res= open_and_lock_tables(thd, create_info, lex->query_tables, TRUE, 0);
+    thd->lex->create_info.options= save_thd_create_info_options;
+    if (res)
+    {
+      /* Got error or warning. Set res to 1 if error */
+      if (!(res= thd->is_error()))
+        my_ok(thd);                           // CREATE ... IF NOT EXISTS
+      goto end_with_restore_list;
+    }
+
+    /* Ensure we don't try to create something from which we select from */
+    if (create_info.or_replace() && !create_info.tmp_table())
+    {
+      TABLE_LIST *duplicate;
+      if ((duplicate= unique_table(thd, lex->query_tables,
+                                   lex->query_tables->next_global,
+                                   CHECK_DUP_FOR_CREATE)))
+      {
+        update_non_unique_table_error(lex->query_tables, "CREATE",
+                                      duplicate);
+        res= TRUE;
+        goto end_with_restore_list;
+      }
+    }
+    {
+      /*
+        Remove target table from main select and name resolution
+        context. This can't be done earlier as it will break view merging in
+        statements like "CREATE TABLE IF NOT EXISTS existing_view SELECT".
+      */
+      lex->unlink_first_table(&link_to_local);
+
+      /* Store reference to table in case of LOCK TABLES */
+      create_info.table= create_table->table;
+
+      /*
+        select_create is currently not re-execution friendly and
+        needs to be created for every execution of a PS/SP.
+        Note: In wsrep-patch, CTAS is handled like a regular transaction.
+      */
+      if ((result= new (thd->mem_root) select_create(thd, create_table,
+                                                     &create_info,
+                                                     &alter_info,
+                                                     select_lex->item_list,
+                                                     lex->duplicates,
+                                                     lex->ignore,
+                                                     select_tables)))
+      {
+        /*
+          CREATE from SELECT give its SELECT_LEX for SELECT,
+          and item_list belong to SELECT
+        */
+        if (!(res= handle_select(thd, lex, result, 0)))
+        {
+          if (create_info.tmp_table())
+            thd->variables.option_bits|= OPTION_KEEP_LOG;
+        }
+        delete result;
+      }
+      lex->link_first_table_back(create_table, link_to_local);
+    }
+  }
+  else
+  {
+    /* regular create */
+    if (create_info.like())
+    {
+      /* CREATE TABLE ... LIKE ... */
+      res= mysql_create_like_table(thd, create_table, select_tables,
+                                   &create_info);
+    }
+    else
+    {
+      /*
+        In STATEMENT format, we probably have to replicate also temporary
+        tables, like mysql replication does. Also check if the requested
+        engine is allowed/supported.
+      */
+      if (WSREP(thd) &&
+          !check_engine(thd, create_table->db, create_table->table_name,
+                        &create_info) &&
+          (!thd->is_current_stmt_binlog_format_row() ||
+           !create_info.tmp_table()))
+      {
+        WSREP_TO_ISOLATION_BEGIN(create_table->db, create_table->table_name, NULL)
+      }
+      /* Regular CREATE TABLE */
+      res= mysql_create_table(thd, create_table, &create_info, &alter_info);
+    }
+    if (!res)
+    {
+      /* So that CREATE TEMPORARY TABLE gets to binlog at commit/rollback */
+      if (create_info.tmp_table())
+        thd->variables.option_bits|= OPTION_KEEP_LOG;
+      my_ok(thd);
+    }
+  }
+
+end_with_restore_list:
+  DBUG_RETURN(res);
+
+WSREP_ERROR_LABEL:
+  DBUG_RETURN(true);
+}
diff --git a/sql/sql_table.h b/sql/sql_table.h
index 474fe9cd9..1ac738704 100644
--- a/sql/sql_table.h
+++ b/sql/sql_table.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_TABLE_INCLUDED
 #define SQL_TABLE_INCLUDED
diff --git a/sql/sql_tablespace.cc b/sql/sql_tablespace.cc
index 8b9e14e5a..3e241e313 100644
--- a/sql/sql_tablespace.cc
+++ b/sql/sql_tablespace.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* drop and alter of tablespaces */
 
diff --git a/sql/sql_tablespace.h b/sql/sql_tablespace.h
index ae77d15cb..0760935ed 100644
--- a/sql/sql_tablespace.h
+++ b/sql/sql_tablespace.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_TABLESPACE_INCLUDED
 #define SQL_TABLESPACE_INCLUDED
diff --git a/sql/sql_test.cc b/sql/sql_test.cc
index 8e7525893..adda01d2f 100644
--- a/sql/sql_test.cc
+++ b/sql/sql_test.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* Write some debug info */
diff --git a/sql/sql_test.h b/sql/sql_test.h
index 3c1ee188e..f6d89cf55 100644
--- a/sql/sql_test.h
+++ b/sql/sql_test.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_TEST_INCLUDED
 #define SQL_TEST_INCLUDED
diff --git a/sql/sql_time.cc b/sql/sql_time.cc
index c4d875e41..6d94de047 100644
--- a/sql/sql_time.cc
+++ b/sql/sql_time.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* Functions to handle date and time */
diff --git a/sql/sql_time.h b/sql/sql_time.h
index e0cab5cfa..e3aa6bcb3 100644
--- a/sql/sql_time.h
+++ b/sql/sql_time.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_TIME_INCLUDED
 #define SQL_TIME_INCLUDED
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc
index f6dd48131..4ecd81399 100644
--- a/sql/sql_trigger.cc
+++ b/sql/sql_trigger.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #define MYSQL_LEX 1
diff --git a/sql/sql_trigger.h b/sql/sql_trigger.h
index fa858a058..f451dfda1 100644
--- a/sql/sql_trigger.h
+++ b/sql/sql_trigger.h
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 
diff --git a/sql/sql_truncate.cc b/sql/sql_truncate.cc
index 6252caf98..a00659e36 100644
--- a/sql/sql_truncate.cc
+++ b/sql/sql_truncate.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "debug_sync.h"  // DEBUG_SYNC
 #include "table.h"       // TABLE, FOREIGN_KEY_INFO
diff --git a/sql/sql_truncate.h b/sql/sql_truncate.h
index b8525fd6a..7d2ff4b60 100644
--- a/sql/sql_truncate.h
+++ b/sql/sql_truncate.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 class THD;
 struct TABLE_LIST;
diff --git a/sql/sql_type.cc b/sql/sql_type.cc
index 7d52419ae..628e1cfd3 100644
--- a/sql/sql_type.cc
+++ b/sql/sql_type.cc
@@ -12,7 +12,7 @@
 
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "sql_type.h"
 #include "sql_const.h"
diff --git a/sql/sql_type.h b/sql/sql_type.h
index f5a42e8d9..632492aff 100644
--- a/sql/sql_type.h
+++ b/sql/sql_type.h
@@ -14,7 +14,7 @@
 
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface			/* gcc class implementation */
diff --git a/sql/sql_type_int.h b/sql/sql_type_int.h
index 7433bd524..74e59b083 100644
--- a/sql/sql_type_int.h
+++ b/sql/sql_type_int.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_TYPE_INT_INCLUDED
 #define SQL_TYPE_INT_INCLUDED
diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc
index 4ccd4948b..d195000e3 100644
--- a/sql/sql_udf.cc
+++ b/sql/sql_udf.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This implements 'user defined functions' */
 
diff --git a/sql/sql_udf.h b/sql/sql_udf.h
index d3ec1cc1f..a683b8a75 100644
--- a/sql/sql_udf.h
+++ b/sql/sql_udf.h
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* This file defines structures needed by udf functions */
diff --git a/sql/sql_union.cc b/sql/sql_union.cc
index 72926a26e..38de2d592 100644
--- a/sql/sql_union.cc
+++ b/sql/sql_union.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /*
diff --git a/sql/sql_union.h b/sql/sql_union.h
index 171f607fb..7b65bccd4 100644
--- a/sql/sql_union.h
+++ b/sql/sql_union.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_UNION_INCLUDED
 #define SQL_UNION_INCLUDED
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 721e1ed90..1360bf9fb 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /*
@@ -1364,106 +1364,81 @@ static bool multi_update_check_table_access(THD *thd, TABLE_LIST *table,
 }
 
 
-/*
-  make update specific preparation and checks after opening tables
+class Multiupdate_prelocking_strategy : public DML_prelocking_strategy
+{
+  bool done;
+  bool has_prelocking_list;
+public:
+  void reset(THD *thd);
+  bool handle_end(THD *thd);
+};
+
+void Multiupdate_prelocking_strategy::reset(THD *thd)
+{
+  done= false;
+  has_prelocking_list= thd->lex->requires_prelocking();
+}
 
-  SYNOPSIS
-    mysql_multi_update_prepare()
-    thd         thread handler
+/**
+  Determine what tables could be updated in the multi-update
 
-  RETURN
-    FALSE OK
-    TRUE  Error
+  For these tables we'll need to open triggers and continue prelocking
+  until all is open.
 */
-
-int mysql_multi_update_prepare(THD *thd)
+bool Multiupdate_prelocking_strategy::handle_end(THD *thd)
 {
-  LEX *lex= thd->lex;
-  TABLE_LIST *table_list= lex->query_tables;
-  TABLE_LIST *tl;
-  List *fields= &lex->select_lex.item_list;
-  table_map tables_for_update;
-  bool update_view= 0;
-  DML_prelocking_strategy prelocking_strategy;
-  bool has_prelocking_list= thd->lex->requires_prelocking();
+  DBUG_ENTER("Multiupdate_prelocking_strategy::handle_end");
+  if (done)
+    DBUG_RETURN(0);
 
-  /*
-    if this multi-update was converted from usual update, here is table
-    counter else junk will be assigned here, but then replaced with real
-    count in open_tables()
-  */
-  uint  table_count= lex->table_count;
-  const bool using_lock_tables= thd->locked_tables_mode != LTM_NONE;
-  bool original_multiupdate= (thd->lex->sql_command == SQLCOM_UPDATE_MULTI);
-  DBUG_ENTER("mysql_multi_update_prepare");
+  LEX *lex= thd->lex;
+  SELECT_LEX *select_lex= &lex->select_lex;
+  TABLE_LIST *table_list= lex->query_tables, *tl;
 
-  /* following need for prepared statements, to run next time multi-update */
-  thd->lex->sql_command= SQLCOM_UPDATE_MULTI;
+  done= true;
 
-  /*
-    Open tables and create derived ones, but do not lock and fill them yet.
+  if (mysql_handle_derived(lex, DT_INIT) ||
+      mysql_handle_derived(lex, DT_MERGE_FOR_INSERT) ||
+      mysql_handle_derived(lex, DT_PREPARE))
+    DBUG_RETURN(1);
 
-    During prepare phase acquire only S metadata locks instead of SW locks to
-    keep prepare of multi-UPDATE compatible with concurrent LOCK TABLES WRITE
-    and global read lock.
-  */
-  if ((original_multiupdate && open_tables(thd, &table_list, &table_count,
-                                           thd->stmt_arena->is_stmt_prepare()
-                                           ? MYSQL_OPEN_FORCE_SHARED_MDL : 0,
-                                           &prelocking_strategy)) ||
-      mysql_handle_derived(lex, DT_INIT))
-    DBUG_RETURN(TRUE);
   /*
     setup_tables() need for VIEWs. JOIN::prepare() will call setup_tables()
     second time, but this call will do nothing (there are check for second
     call in setup_tables()).
   */
 
-  //We need to merge for insert prior to prepare.
-  if (mysql_handle_derived(lex, DT_MERGE_FOR_INSERT))
-    DBUG_RETURN(TRUE);
-  if (mysql_handle_derived(lex, DT_PREPARE))
-    DBUG_RETURN(TRUE);
-
-  if (setup_tables_and_check_access(thd, &lex->select_lex.context,
-                                    &lex->select_lex.top_join_list,
-                                    table_list,
-                                    lex->select_lex.leaf_tables, FALSE,
-                                    UPDATE_ACL, SELECT_ACL, FALSE))
-    DBUG_RETURN(TRUE);
+  if (setup_tables_and_check_access(thd, &select_lex->context,
+        &select_lex->top_join_list, table_list, select_lex->leaf_tables,
+        FALSE, UPDATE_ACL, SELECT_ACL, FALSE))
+    DBUG_RETURN(1);
 
-  if (lex->select_lex.handle_derived(thd->lex, DT_MERGE))  
-    DBUG_RETURN(TRUE);
+  if (select_lex->handle_derived(thd->lex, DT_MERGE))
+    DBUG_RETURN(1);
 
+  List *fields= &lex->select_lex.item_list;
   if (setup_fields_with_no_wrap(thd, 0, *fields, MARK_COLUMNS_WRITE, 0, 0))
-    DBUG_RETURN(TRUE);
+    DBUG_RETURN(1);
 
   for (tl= table_list; tl ; tl= tl->next_local)
-  {
     if (tl->view)
     {
-      update_view= 1;
-      break;
+      if (check_fields(thd, *fields))
+        DBUG_RETURN(1);
+      else
+        break;
     }
-  }
-
-  if (update_view && check_fields(thd, *fields))
-  {
-    DBUG_RETURN(TRUE);
-  }
-
-  thd->table_map_for_update= tables_for_update= get_table_map(fields);
 
-  if (unsafe_key_update(lex->select_lex.leaf_tables, tables_for_update))
-    DBUG_RETURN(true);
+  table_map tables_for_update= thd->table_map_for_update= get_table_map(fields);
 
-  TABLE_LIST **new_tables= lex->query_tables_last;
-  DBUG_ASSERT(*new_tables== NULL);
+  if (unsafe_key_update(select_lex->leaf_tables, tables_for_update))
+    DBUG_RETURN(1);
 
   /*
     Setup timestamp handling and locking mode
   */
-  List_iterator ti(lex->select_lex.leaf_tables);
+  List_iterator ti(select_lex->leaf_tables);
+  const bool using_lock_tables= thd->locked_tables_mode != LTM_NONE;
   while ((tl= ti++))
   {
     TABLE *table= tl->table;
@@ -1477,7 +1452,7 @@ int mysql_multi_update_prepare(THD *thd)
       if (!tl->single_table_updatable() || check_key_in_view(thd, tl))
       {
         my_error(ER_NON_UPDATABLE_TABLE, MYF(0), tl->alias, "UPDATE");
-        DBUG_RETURN(TRUE);
+        DBUG_RETURN(1);
       }
 
       DBUG_PRINT("info",("setting table `%s` for update", tl->alias));
@@ -1488,8 +1463,8 @@ int mysql_multi_update_prepare(THD *thd)
       tl->updating= 1;
       if (tl->belong_to_view)
         tl->belong_to_view->updating= 1;
-      if (extend_table_list(thd, tl, &prelocking_strategy, has_prelocking_list))
-        DBUG_RETURN(TRUE);
+      if (extend_table_list(thd, tl, this, has_prelocking_list))
+        DBUG_RETURN(1);
     }
     else
     {
@@ -1521,19 +1496,6 @@ int mysql_multi_update_prepare(THD *thd)
     through all leaf tables but also through all view hierarchy.
   */
 
-  uint addon_table_count= 0;
-  if (*new_tables)
-  {
-    Sroutine_hash_entry **new_routines= thd->lex->sroutines_list.next;
-    DBUG_ASSERT(*new_routines == NULL);
-    if (open_tables(thd, thd->lex->create_info, new_tables,
-                    &addon_table_count, new_routines,
-                    thd->stmt_arena->is_stmt_prepare()
-                    ? MYSQL_OPEN_FORCE_SHARED_MDL : 0,
-                    &prelocking_strategy))
-      DBUG_RETURN(TRUE);
-  }
-
   for (tl= table_list; tl; tl= tl->next_local)
   {
     bool not_used= false;
@@ -1546,23 +1508,67 @@ int mysql_multi_update_prepare(THD *thd)
   /* check single table update for view compound from several tables */
   for (tl= table_list; tl; tl= tl->next_local)
   {
+    TABLE_LIST *for_update= 0;
     if (tl->is_jtbm())
       continue;
-    if (tl->is_merged_derived())
+    if (tl->is_merged_derived() &&
+        tl->check_single_table(&for_update, tables_for_update, tl))
     {
-      TABLE_LIST *for_update= 0;
-      if (tl->check_single_table(&for_update, tables_for_update, tl))
-      {
-	my_error(ER_VIEW_MULTIUPDATE, MYF(0),
-		 tl->view_db.str, tl->view_name.str);
-	DBUG_RETURN(-1);
-      }
+      my_error(ER_VIEW_MULTIUPDATE, MYF(0), tl->view_db.str, tl->view_name.str);
+      DBUG_RETURN(-1);
     }
   }
 
+  DBUG_RETURN(0);
+}
+
+/*
+  make update specific preparation and checks after opening tables
+
+  SYNOPSIS
+    mysql_multi_update_prepare()
+    thd         thread handler
+
+  RETURN
+    FALSE OK
+    TRUE  Error
+*/
+
+int mysql_multi_update_prepare(THD *thd)
+{
+  LEX *lex= thd->lex;
+  TABLE_LIST *table_list= lex->query_tables;
+  TABLE_LIST *tl;
+  Multiupdate_prelocking_strategy prelocking_strategy;
+  uint table_count= lex->table_count;
+  DBUG_ENTER("mysql_multi_update_prepare");
+
+  /*
+    Open tables and create derived ones, but do not lock and fill them yet.
+
+    During prepare phase acquire only S metadata locks instead of SW locks to
+    keep prepare of multi-UPDATE compatible with concurrent LOCK TABLES WRITE
+    and global read lock.
+  */
+  if (thd->lex->sql_command == SQLCOM_UPDATE_MULTI)
+  {
+    if (open_tables(thd, &table_list, &table_count,
+        thd->stmt_arena->is_stmt_prepare() ? MYSQL_OPEN_FORCE_SHARED_MDL : 0,
+        &prelocking_strategy))
+      DBUG_RETURN(TRUE);
+  }
+  else
+  {
+    /* following need for prepared statements, to run next time multi-update */
+    thd->lex->sql_command= SQLCOM_UPDATE_MULTI;
+    prelocking_strategy.reset(thd);
+    if (prelocking_strategy.handle_end(thd))
+      DBUG_RETURN(TRUE);
+  }
+
   /* now lock and fill tables */
   if (!thd->stmt_arena->is_stmt_prepare() &&
-      lock_tables(thd, table_list, table_count + addon_table_count, 0))
+      lock_tables(thd, table_list, table_count, 0))
   {
     DBUG_RETURN(TRUE);
   }
@@ -1575,7 +1581,7 @@ int mysql_multi_update_prepare(THD *thd)
   */
   lex->select_lex.exclude_from_table_unique_test= TRUE;
   /* We only need SELECT privilege for columns in the values list */
-  ti.rewind();
+  List_iterator ti(lex->select_lex.leaf_tables);
   while ((tl= ti++))
   {
     if (tl->is_jtbm())
@@ -1618,25 +1624,18 @@ int mysql_multi_update_prepare(THD *thd)
   Setup multi-update handling and call SELECT to do the join
 */
 
-bool mysql_multi_update(THD *thd,
-                        TABLE_LIST *table_list,
-                        List *fields,
-                        List *values,
-                        COND *conds,
-                        ulonglong options,
+bool mysql_multi_update(THD *thd, TABLE_LIST *table_list, List *fields,
+                        List *values, COND *conds, ulonglong options,
                         enum enum_duplicates handle_duplicates,
-                        bool ignore,
-                        SELECT_LEX_UNIT *unit,
-                        SELECT_LEX *select_lex,
-                        multi_update **result)
+                        bool ignore, SELECT_LEX_UNIT *unit,
+                        SELECT_LEX *select_lex, multi_update **result)
 {
   bool res;
   DBUG_ENTER("mysql_multi_update");
-  
+
   if (!(*result= new (thd->mem_root) multi_update(thd, table_list,
                                  &thd->lex->select_lex.leaf_tables,
-                                 fields, values,
-                                 handle_duplicates, ignore)))
+                                 fields, values, handle_duplicates, ignore)))
   {
     DBUG_RETURN(TRUE);
   }
@@ -1644,11 +1643,9 @@ bool mysql_multi_update(THD *thd,
   thd->abort_on_warning= !ignore && thd->is_strict_mode();
   List total_list;
 
-  res= mysql_select(thd, &select_lex->ref_pointer_array,
-                    table_list, select_lex->with_wild,
-                    total_list,
-                    conds, 0, (ORDER *) NULL, (ORDER *)NULL, (Item *) NULL,
-                    (ORDER *)NULL,
+  res= mysql_select(thd, &select_lex->ref_pointer_array, table_list,
+                    select_lex->with_wild, total_list, conds, 0, NULL, NULL,
+                    NULL, NULL,
                     options | SELECT_NO_JOIN_CACHE | SELECT_NO_UNLOCK |
                     OPTION_SETUP_TABLES_DONE,
                     *result, unit, select_lex);
diff --git a/sql/sql_update.h b/sql/sql_update.h
index 4c6f89d84..d8cd30288 100644
--- a/sql/sql_update.h
+++ b/sql/sql_update.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef SQL_UPDATE_INCLUDED
 #define SQL_UPDATE_INCLUDED
diff --git a/sql/sql_view.cc b/sql/sql_view.cc
index cef20ba08..cb92f30c9 100644
--- a/sql/sql_view.cc
+++ b/sql/sql_view.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #define MYSQL_LEX 1
diff --git a/sql/sql_view.h b/sql/sql_view.h
index ce83dc656..63831b08d 100644
--- a/sql/sql_view.h
+++ b/sql/sql_view.h
@@ -16,7 +16,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 #include "sql_class.h"     /* Required by sql_lex.h */
diff --git a/sql/sql_yacc.cc b/sql/sql_yacc.cc
index 6c54c78cd..825e61c34 100644
--- a/sql/sql_yacc.cc
+++ b/sql/sql_yacc.cc
@@ -1668,7 +1668,9 @@ extern int MYSQLdebug;
     YEAR_MONTH_SYM = 896,
     YEAR_SYM = 897,
     ZEROFILL = 898,
-    IMPOSSIBLE_ACTION = 899
+    IMPOSSIBLE_ACTION = 899,
+    CONDITIONLESS_JOIN = 900,
+    ON_SYM = 901
   };
 #endif
 /* Tokens.  */
@@ -2314,6 +2316,8 @@ extern int MYSQLdebug;
 #define YEAR_SYM 897
 #define ZEROFILL 898
 #define IMPOSSIBLE_ACTION 899
+#define CONDITIONLESS_JOIN 900
+#define ON_SYM 901
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -2393,7 +2397,7 @@ union YYSTYPE
   enum enum_mysql_timestamp_type date_time_type;
   DDL_options_st object_ddl_options;
 
-#line 2397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:355  */
+#line 2401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:355  */
 };
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
@@ -2410,7 +2414,7 @@ int MYSQLparse (THD *thd);
 
 bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
 
-#line 2414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:358  */
+#line 2418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -2652,10 +2656,10 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  636
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   66945
+#define YYLAST   67023
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  667
+#define YYNTOKENS  669
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  1031
 /* YYNRULES -- Number of rules.  */
@@ -2666,7 +2670,7 @@ union yyalloc
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   899
+#define YYMAXUTOK   901
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -2678,16 +2682,16 @@ static const yytype_uint16 yytranslate[] =
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   660,     2,     2,     2,   654,   649,     2,
-     657,   658,   652,   651,   659,   650,   665,   653,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,   666,   663,
-     647,   645,   646,     2,   664,     2,     2,     2,     2,     2,
+       2,     2,     2,   662,     2,     2,     2,   656,   651,     2,
+     659,   660,   654,   653,   661,   652,   667,   655,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,   668,   665,
+     649,   647,   648,     2,   666,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,   655,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,   657,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   661,   648,   662,   656,     2,     2,     2,
+       2,     2,     2,   663,   650,   664,   658,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -2764,7 +2768,8 @@ static const yytype_uint16 yytranslate[] =
      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
-     635,   636,   637,   638,   639,   640,   641,   642,   643,   644
+     635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
+     645,   646
 };
 
 #if YYDEBUG
@@ -2783,281 +2788,281 @@ static const yytype_uint16 yyrline[] =
     2256,  2260,  2265,  2269,  2273,  2277,  2281,  2285,  2290,  2294,
     2299,  2326,  2330,  2334,  2339,  2342,  2344,  2345,  2349,  2355,
     2357,  2358,  2362,  2368,  2370,  2371,  2375,  2382,  2386,  2401,
-    2405,  2411,  2417,  2423,  2433,  2437,  2441,  2455,  2454,  2493,
-    2490,  2503,  2501,  2513,  2511,  2522,  2521,  2534,  2533,  2542,
-    2547,  2553,  2557,  2561,  2561,  2568,  2567,  2579,  2580,  2584,
-    2589,  2594,  2599,  2604,  2609,  2614,  2622,  2621,  2653,  2652,
-    2659,  2666,  2667,  2673,  2679,  2689,  2695,  2701,  2703,  2710,
-    2711,  2715,  2725,  2726,  2734,  2734,  2778,  2792,  2803,  2821,
-    2822,  2826,  2827,  2832,  2834,  2836,  2838,  2840,  2842,  2844,
-    2850,  2851,  2855,  2859,  2867,  2866,  2879,  2881,  2884,  2886,
-    2890,  2894,  2901,  2903,  2907,  2908,  2913,  2912,  2945,  2947,
-    2951,  2952,  2956,  2960,  2961,  2962,  2963,  2967,  2968,  2972,
-    2973,  2978,  2981,  3000,  2999,  3071,  3084,  3083,  3142,  3164,
-    3164,  3183,  3184,  3189,  3191,  3196,  3211,  3219,  3223,  3242,
-    3243,  3247,  3251,  3257,  3263,  3269,  3278,  3292,  3307,  3313,
-    3314,  3320,  3323,  3327,  3335,  3352,  3354,  3372,  3378,  3380,
-    3382,  3384,  3386,  3388,  3390,  3392,  3394,  3396,  3398,  3400,
-    3405,  3420,  3436,  3437,  3442,  3448,  3457,  3463,  3472,  3480,
-    3489,  3498,  3500,  3509,  3514,  3520,  3529,  3537,  3539,  3541,
-    3543,  3545,  3547,  3549,  3551,  3553,  3555,  3557,  3559,  3561,
-    3566,  3578,  3593,  3594,  3598,  3599,  3600,  3601,  3602,  3603,
-    3604,  3605,  3606,  3607,  3608,  3612,  3613,  3614,  3615,  3620,
-    3619,  3630,  3630,  3683,  3682,  3707,  3757,  3798,  3817,  3816,
-    3836,  3853,  3855,  3856,  3860,  3874,  3891,  3893,  3909,  3891,
-    3928,  3930,  3931,  3936,  3935,  4005,  4007,  4005,  4016,  4021,
-    4022,  4026,  4027,  4032,  4036,  4031,  4057,  4061,  4056,  4080,
-    4090,  4094,  4095,  4100,  4099,  4121,  4120,  4130,  4129,  4140,
-    4140,  4180,  4195,  4194,  4226,  4225,  4245,  4259,  4268,  4267,
-    4275,  4274,  4283,  4282,  4293,  4292,  4301,  4300,  4310,  4309,
-    4320,  4322,  4327,  4329,  4331,  4348,  4353,  4359,  4366,  4367,
-    4375,  4381,  4390,  4396,  4402,  4403,  4407,  4407,  4412,  4413,
-    4414,  4418,  4419,  4420,  4424,  4428,  4429,  4430,  4434,  4435,
-    4436,  4437,  4438,  4439,  4440,  4441,  4445,  4449,  4450,  4451,
-    4455,  4456,  4457,  4458,  4459,  4463,  4467,  4468,  4469,  4473,
-    4474,  4475,  4476,  4477,  4478,  4479,  4483,  4487,  4488,  4489,
-    4493,  4494,  4495,  4500,  4508,  4516,  4524,  4537,  4550,  4555,
-    4560,  4568,  4576,  4584,  4592,  4600,  4608,  4616,  4626,  4636,
-    4646,  4648,  4652,  4657,  4667,  4668,  4707,  4706,  4709,  4715,
-    4715,  4716,  4730,  4731,  4735,  4737,  4736,  4740,  4739,  4745,
-    4782,  4783,  4788,  4787,  4806,  4821,  4820,  4837,  4841,  4849,
-    4848,  4851,  4853,  4855,  4857,  4862,  4863,  4869,  4870,  4887,
-    4888,  4892,  4893,  4897,  4913,  4923,  4934,  4943,  4944,  4957,
-    4959,  4958,  4963,  4961,  4972,  4973,  4977,  4992,  5008,  5009,
-    5022,  5031,  5053,  5054,  5059,  5058,  5083,  5095,  5107,  5106,
-    5121,  5120,  5137,  5159,  5163,  5192,  5204,  5205,  5210,  5221,
-    5209,  5246,  5247,  5251,  5264,  5285,  5298,  5324,  5325,  5330,
-    5329,  5367,  5376,  5377,  5381,  5382,  5386,  5388,  5394,  5400,
-    5402,  5404,  5406,  5408,  5410,  5420,  5435,  5419,  5449,  5450,
-    5454,  5455,  5459,  5460,  5464,  5465,  5470,  5473,  5481,  5484,
-    5491,  5495,  5501,  5503,  5507,  5508,  5512,  5513,  5514,  5518,
-    5523,  5528,  5533,  5538,  5543,  5548,  5553,  5568,  5574,  5589,
-    5594,  5609,  5615,  5633,  5638,  5643,  5648,  5653,  5658,  5664,
-    5663,  5689,  5690,  5691,  5696,  5701,  5706,  5708,  5710,  5712,
-    5718,  5723,  5728,  5736,  5744,  5750,  5759,  5767,  5784,  5805,
-    5816,  5817,  5818,  5819,  5820,  5821,  5822,  5826,  5827,  5828,
-    5832,  5833,  5834,  5835,  5840,  5847,  5848,  5852,  5853,  5857,
-    5858,  5863,  5862,  5870,  5869,  5877,  5876,  5884,  5883,  5893,
-    5890,  5901,  5899,  5908,  5907,  5942,  5945,  5947,  5951,  5955,
-    5956,  5960,  5965,  5978,  5964,  5997,  5998,  6004,  6005,  6010,
-    6013,  6017,  6024,  6025,  6029,  6030,  6034,  6040,  6046,  6050,
-    6063,  6080,  6081,  6082,  6097,  6102,  6106,  6111,  6116,  6120,
-    6125,  6130,  6136,  6141,  6147,  6151,  6156,  6161,  6179,  6181,
-    6184,  6201,  6204,  6209,  6214,  6225,  6230,  6235,  6240,  6242,
-    6244,  6246,  6248,  6250,  6252,  6254,  6256,  6258,  6260,  6262,
-    6271,  6272,  6273,  6279,  6280,  6281,  6282,  6283,  6287,  6291,
-    6292,  6296,  6297,  6301,  6302,  6303,  6304,  6305,  6309,  6310,
-    6311,  6312,  6313,  6317,  6322,  6324,  6330,  6332,  6340,  6341,
-    6343,  6348,  6357,  6358,  6362,  6363,  6367,  6368,  6369,  6373,
-    6374,  6375,  6376,  6379,  6380,  6384,  6385,  6389,  6390,  6394,
-    6395,  6399,  6400,  6401,  6402,  6409,  6410,  6416,  6422,  6428,
-    6434,  6435,  6442,  6450,  6458,  6464,  6473,  6488,  6494,  6499,
-    6500,  6504,  6509,  6513,  6514,  6518,  6519,  6523,  6529,  6533,
-    6534,  6538,  6546,  6547,  6551,  6552,  6556,  6557,  6561,  6562,
-    6563,  6571,  6572,  6573,  6574,  6575,  6579,  6580,  6585,  6584,
-    6597,  6598,  6602,  6605,  6606,  6607,  6608,  6612,  6620,  6627,
-    6628,  6632,  6642,  6643,  6647,  6648,  6651,  6653,  6657,  6669,
-    6670,  6674,  6681,  6694,  6695,  6697,  6699,  6705,  6710,  6716,
-    6722,  6729,  6739,  6740,  6741,  6742,  6743,  6747,  6748,  6752,
-    6753,  6757,  6758,  6762,  6763,  6764,  6768,  6769,  6773,  6777,
-    6789,  6790,  6794,  6795,  6799,  6800,  6804,  6805,  6809,  6810,
-    6814,  6815,  6819,  6820,  6824,  6825,  6826,  6829,  6831,  6836,
-    6838,  6840,  6848,  6856,  6862,  6870,  6871,  6875,  6879,  6880,
-    6890,  6891,  6892,  6896,  6900,  6907,  6913,  6925,  6926,  6930,
-    6931,  6935,  6937,  6946,  6960,  6945,  6980,  6979,  6993,  7002,
-    7001,  7017,  7016,  7032,  7031,  7047,  7041,  7058,  7057,  7092,
-    7097,  7102,  7107,  7113,  7112,  7121,  7122,  7123,  7124,  7128,
-    7129,  7141,  7142,  7146,  7147,  7150,  7152,  7160,  7168,  7170,
-    7172,  7173,  7181,  7182,  7188,  7197,  7195,  7208,  7221,  7220,
-    7233,  7231,  7244,  7251,  7261,  7262,  7289,  7296,  7300,  7306,
-    7304,  7323,  7325,  7330,  7338,  7337,  7353,  7357,  7356,  7368,
-    7369,  7373,  7389,  7390,  7394,  7402,  7406,  7411,  7416,  7423,
-    7430,  7440,  7450,  7461,  7471,  7477,  7483,  7492,  7502,  7518,
-    7532,  7542,  7546,  7551,  7552,  7555,  7557,  7558,  7559,  7560,
-    7563,  7568,  7576,  7581,  7589,  7590,  7594,  7595,  7599,  7599,
-    7602,  7604,  7608,  7609,  7613,  7614,  7622,  7623,  7624,  7628,
-    7629,  7634,  7642,  7643,  7644,  7645,  7650,  7649,  7659,  7658,
-    7665,  7672,  7682,  7699,  7702,  7709,  7713,  7720,  7724,  7728,
-    7735,  7735,  7741,  7742,  7746,  7747,  7748,  7752,  7753,  7762,
-    7769,  7770,  7775,  7774,  7786,  7787,  7788,  7792,  7793,  7793,
-    7798,  7797,  7818,  7819,  7823,  7824,  7828,  7829,  7830,  7834,
-    7835,  7840,  7839,  7860,  7861,  7865,  7870,  7871,  7878,  7880,
-    7884,  7886,  7885,  7897,  7899,  7898,  7911,  7912,  7917,  7926,
-    7927,  7928,  7932,  7939,  7949,  7957,  7966,  7967,  7967,  7971,
-    7970,  7993,  7994,  7998,  7999,  8003,  8004,  8005,  8006,  8007,
-    8008,  8012,  8013,  8018,  8017,  8038,  8039,  8040,  8045,  8044,
-    8050,  8057,  8063,  8072,  8073,  8077,  8091,  8090,  8103,  8104,
-    8108,  8109,  8113,  8123,  8133,  8134,  8139,  8138,  8149,  8150,
-    8154,  8155,  8159,  8169,  8180,  8179,  8187,  8187,  8196,  8197,
-    8202,  8203,  8212,  8221,  8222,  8226,  8226,  8238,  8243,  8243,
-    8252,  8257,  8256,  8271,  8275,  8276,  8297,  8297,  8311,  8322,
-    8325,  8327,  8331,  8337,  8344,  8346,  8354,  8355,  8359,  8360,
-    8377,  8396,  8398,  8405,  8416,  8417,  8418,  8432,  8437,  8459,
-    8465,  8471,  8477,  8478,  8479,  8480,  8481,  8485,  8486,  8487,
-    8491,  8492,  8493,  8497,  8498,  8503,  8554,  8561,  8604,  8610,
-    8616,  8622,  8628,  8634,  8640,  8646,  8650,  8656,  8662,  8668,
-    8674,  8680,  8684,  8690,  8699,  8705,  8713,  8719,  8729,  8735,
-    8744,  8754,  8761,  8771,  8777,  8786,  8790,  8796,  8802,  8808,
-    8814,  8820,  8826,  8832,  8838,  8844,  8850,  8856,  8862,  8868,
-    8874,  8878,  8879,  8883,  8884,  8888,  8889,  8893,  8894,  8898,
-    8899,  8900,  8901,  8902,  8903,  8907,  8908,  8913,  8919,  8923,
-    8930,  8937,  8944,  8951,  8958,  8964,  8963,  8971,  8978,  8985,
-    8993,  9004,  9026,  9033,  9041,  9042,  9043,  9044,  9045,  9046,
-    9057,  9058,  9059,  9060,  9061,  9067,  9071,  9077,  9083,  9089,
-    9095,  9097,  9104,  9111,  9117,  9141,  9151,  9158,  9166,  9172,
-    9179,  9185,  9195,  9202,  9218,  9224,  9230,  9239,  9248,  9254,
-    9260,  9266,  9272,  9286,  9297,  9303,  9309,  9315,  9321,  9327,
-    9334,  9341,  9347,  9353,  9359,  9365,  9371,  9377,  9383,  9389,
-    9395,  9403,  9424,  9431,  9437,  9444,  9451,  9458,  9465,  9471,
-    9477,  9484,  9490,  9497,  9503,  9509,  9515,  9521,  9527,  9545,
-    9551,  9557,  9564,  9571,  9579,  9586,  9593,  9600,  9607,  9624,
-    9630,  9636,  9642,  9648,  9655,  9661,  9667,  9673,  9679,  9685,
-    9691,  9698,  9706,  9712,  9718,  9724,  9730,  9738,  9744,  9758,
-    9764,  9770,  9778,  9790,  9797,  9812,  9818,  9825,  9832,  9839,
-    9846,  9853,  9857,  9877,  9876,  9948,  9986,  9988,  9993,  9994,
-    9998,  9999, 10003, 10004, 10008, 10015, 10023, 10050, 10056, 10062,
-   10068, 10074, 10080, 10089, 10096, 10098, 10095, 10105, 10116, 10122,
-   10128, 10134, 10140, 10146, 10152, 10158, 10164, 10171, 10170, 10190,
-   10189, 10201, 10211, 10219, 10235, 10236, 10241, 10246, 10249, 10252,
-   10251, 10267, 10269, 10275, 10274, 10291, 10294, 10293, 10297, 10299,
-   10301, 10303, 10305, 10307, 10309, 10311, 10317, 10323, 10326, 10325,
-   10331, 10332, 10336, 10343, 10351, 10352, 10356, 10363, 10371, 10372,
-   10376, 10377, 10381, 10389, 10400, 10401, 10413, 10424, 10425, 10431,
-   10432, 10452, 10456, 10454, 10472, 10470, 10481, 10491, 10489, 10507,
-   10506, 10516, 10527, 10525, 10544, 10543, 10554, 10566, 10567, 10568,
-   10572, 10573, 10581, 10582, 10586, 10601, 10601, 10616, 10652, 10737,
-   10748, 10745, 10770, 10783, 10783, 10799, 10798, 10819, 10836, 10819,
-   10843, 10847, 10870, 10871, 10876, 10879, 10880, 10881, 10885, 10886,
-   10891, 10890, 10896, 10895, 10903, 10904, 10907, 10909, 10909, 10913,
-   10913, 10918, 10919, 10923, 10925, 10930, 10931, 10935, 10946, 10959,
-   10960, 10961, 10962, 10963, 10964, 10965, 10966, 10967, 10968, 10969,
-   10970, 10974, 10975, 10976, 10977, 10978, 10979, 10980, 10981, 10982,
-   10986, 10987, 10988, 10989, 10992, 10994, 10995, 10999, 11000, 11008,
-   11010, 11014, 11016, 11015, 11029, 11032, 11031, 11046, 11052, 11066,
-   11068, 11072, 11074, 11079, 11080, 11097, 11119, 11123, 11124, 11128,
-   11140, 11142, 11147, 11146, 11196, 11198, 11203, 11204, 11205, 11209,
-   11210, 11214, 11227, 11234, 11239, 11246, 11253, 11260, 11270, 11297,
-   11301, 11307, 11313, 11322, 11330, 11334, 11341, 11342, 11346, 11347,
-   11348, 11352, 11353, 11354, 11355, 11356, 11357, 11361, 11362, 11363,
-   11364, 11365, 11369, 11370, 11371, 11372, 11373, 11377, 11378, 11379,
-   11380, 11381, 11385, 11390, 11391, 11395, 11396, 11400, 11402, 11401,
-   11439, 11440, 11444, 11445, 11449, 11459, 11459, 11470, 11471, 11474,
-   11494, 11498, 11512, 11513, 11518, 11517, 11527, 11537, 11526, 11539,
-   11552, 11564, 11563, 11581, 11580, 11589, 11589, 11606, 11612, 11627,
-   11643, 11651, 11655, 11660, 11659, 11668, 11673, 11679, 11684, 11689,
-   11697, 11698, 11702, 11713, 11726, 11727, 11731, 11743, 11747, 11756,
-   11759, 11766, 11767, 11775, 11783, 11774, 11793, 11800, 11792, 11810,
-   11818, 11819, 11827, 11831, 11832, 11843, 11844, 11848, 11857, 11858,
-   11859, 11861, 11860, 11871, 11873, 11877, 11878, 11880, 11879, 11883,
-   11882, 11888, 11889, 11893, 11894, 11898, 11908, 11909, 11913, 11914,
-   11919, 11918, 11932, 11933, 11937, 11942, 11950, 11951, 11959, 11961,
-   11961, 11969, 11977, 11968, 11999, 12000, 12004, 12012, 12013, 12017,
-   12027, 12028, 12035, 12034, 12050, 12061, 12049, 12064, 12063, 12075,
-   12074, 12087, 12089, 12093, 12094, 12098, 12111, 12127, 12128, 12132,
-   12133, 12137, 12138, 12139, 12144, 12143, 12164, 12166, 12169, 12171,
-   12174, 12175, 12178, 12182, 12186, 12190, 12194, 12198, 12202, 12206,
-   12210, 12218, 12221, 12231, 12230, 12246, 12253, 12261, 12269, 12277,
-   12285, 12293, 12300, 12307, 12313, 12315, 12317, 12326, 12330, 12335,
-   12334, 12341, 12340, 12345, 12354, 12361, 12366, 12371, 12376, 12378,
-   12380, 12382, 12384, 12386, 12393, 12401, 12403, 12411, 12418, 12425,
-   12432, 12438, 12443, 12451, 12459, 12463, 12468, 12475, 12480, 12487,
-   12494, 12500, 12507, 12514, 12519, 12524, 12529, 12536, 12558, 12560,
-   12562, 12567, 12568, 12571, 12573, 12577, 12578, 12582, 12583, 12587,
-   12588, 12592, 12593, 12597, 12598, 12602, 12603, 12611, 12623, 12622,
-   12638, 12637, 12647, 12648, 12649, 12650, 12651, 12655, 12656, 12660,
-   12667, 12668, 12669, 12673, 12674, 12686, 12687, 12688, 12703, 12702,
-   12715, 12714, 12726, 12730, 12731, 12744, 12747, 12746, 12758, 12759,
-   12764, 12766, 12768, 12770, 12772, 12774, 12782, 12784, 12786, 12788,
-   12793, 12795, 12803, 12805, 12807, 12809, 12825, 12826, 12830, 12831,
-   12834, 12836, 12837, 12841, 12857, 12858, 12862, 12861, 12871, 12872,
-   12876, 12876, 12880, 12879, 12885, 12889, 12890, 12894, 12895, 12903,
-   12902, 12913, 12917, 12921, 12934, 12933, 12948, 12949, 12950, 12953,
-   12954, 12955, 12956, 12964, 12968, 12977, 12983, 12995, 13007, 13017,
-   13028, 12994, 13036, 13037, 13041, 13042, 13046, 13047, 13055, 13059,
-   13060, 13061, 13064, 13066, 13070, 13071, 13075, 13080, 13087, 13092,
-   13099, 13101, 13105, 13106, 13110, 13115, 13123, 13124, 13127, 13129,
-   13137, 13138, 13142, 13143, 13144, 13148, 13150, 13155, 13156, 13165,
-   13166, 13170, 13171, 13175, 13188, 13212, 13224, 13231, 13250, 13258,
-   13263, 13276, 13285, 13301, 13318, 13319, 13320, 13328, 13329, 13330,
-   13331, 13345, 13351, 13357, 13363, 13369, 13375, 13393, 13403, 13413,
-   13419, 13428, 13440, 13446, 13452, 13468, 13469, 13473, 13482, 13497,
-   13501, 13544, 13548, 13565, 13569, 13641, 13665, 13695, 13696, 13706,
-   13713, 13717, 13723, 13729, 13739, 13745, 13754, 13764, 13765, 13793,
-   13807, 13821, 13836, 13837, 13847, 13848, 13858, 13859, 13860, 13864,
-   13877, 13907, 13917, 13917, 13919, 13929, 13930, 13931, 13932, 13933,
-   13934, 13935, 13936, 13937, 13938, 13939, 13940, 13941, 13942, 13943,
-   13944, 13945, 13946, 13947, 13948, 13949, 13950, 13951, 13952, 13953,
-   13954, 13955, 13956, 13957, 13958, 13959, 13960, 13961, 13962, 13963,
-   13964, 13965, 13966, 13967, 13968, 13969, 13970, 13971, 13972, 13973,
-   13974, 13975, 13976, 13977, 13978, 13979, 13980, 13981, 13982, 13983,
-   13984, 13985, 13986, 13987, 13988, 13989, 13999, 14000, 14001, 14002,
-   14003, 14004, 14005, 14006, 14007, 14008, 14009, 14010, 14011, 14012,
-   14013, 14014, 14015, 14016, 14017, 14018, 14019, 14020, 14021, 14022,
-   14023, 14024, 14025, 14026, 14027, 14028, 14029, 14030, 14031, 14032,
-   14033, 14034, 14035, 14036, 14037, 14038, 14039, 14040, 14041, 14042,
-   14043, 14044, 14045, 14046, 14047, 14048, 14053, 14054, 14055, 14056,
-   14057, 14058, 14059, 14060, 14061, 14062, 14063, 14064, 14065, 14066,
-   14067, 14068, 14069, 14070, 14071, 14072, 14073, 14074, 14075, 14076,
-   14077, 14078, 14079, 14080, 14081, 14082, 14083, 14084, 14085, 14086,
-   14087, 14088, 14089, 14090, 14091, 14092, 14093, 14094, 14095, 14096,
-   14097, 14098, 14099, 14100, 14101, 14102, 14103, 14104, 14105, 14106,
-   14107, 14108, 14109, 14110, 14111, 14112, 14113, 14114, 14115, 14116,
-   14117, 14118, 14119, 14120, 14121, 14122, 14123, 14124, 14125, 14126,
-   14127, 14128, 14129, 14130, 14131, 14132, 14133, 14134, 14135, 14136,
-   14137, 14138, 14139, 14140, 14141, 14142, 14143, 14144, 14145, 14146,
-   14147, 14148, 14149, 14150, 14151, 14152, 14153, 14154, 14155, 14156,
-   14157, 14158, 14159, 14160, 14161, 14162, 14163, 14164, 14165, 14166,
-   14167, 14168, 14169, 14170, 14171, 14172, 14173, 14174, 14175, 14176,
-   14177, 14178, 14179, 14180, 14181, 14182, 14183, 14184, 14185, 14186,
-   14187, 14188, 14189, 14190, 14191, 14192, 14193, 14194, 14195, 14196,
-   14197, 14198, 14199, 14200, 14201, 14202, 14203, 14204, 14205, 14206,
-   14207, 14208, 14209, 14210, 14211, 14212, 14213, 14214, 14215, 14216,
-   14217, 14218, 14219, 14220, 14221, 14222, 14223, 14224, 14225, 14226,
-   14227, 14228, 14229, 14230, 14231, 14232, 14233, 14234, 14235, 14236,
-   14237, 14238, 14239, 14240, 14241, 14242, 14243, 14244, 14245, 14246,
-   14247, 14248, 14249, 14250, 14251, 14252, 14253, 14254, 14255, 14256,
-   14257, 14258, 14259, 14260, 14261, 14262, 14263, 14264, 14265, 14266,
-   14267, 14268, 14269, 14270, 14271, 14272, 14273, 14274, 14275, 14276,
-   14277, 14278, 14279, 14280, 14281, 14282, 14283, 14284, 14285, 14286,
-   14287, 14288, 14289, 14290, 14291, 14292, 14293, 14294, 14295, 14296,
-   14297, 14298, 14299, 14300, 14301, 14302, 14303, 14304, 14305, 14306,
-   14307, 14308, 14309, 14310, 14311, 14323, 14322, 14335, 14343, 14334,
-   14360, 14361, 14366, 14365, 14372, 14371, 14381, 14380, 14391, 14390,
-   14396, 14404, 14406, 14411, 14411, 14420, 14419, 14433, 14432, 14437,
-   14441, 14442, 14443, 14447, 14448, 14449, 14450, 14454, 14455, 14456,
-   14457, 14462, 14486, 14512, 14523, 14540, 14554, 14569, 14588, 14605,
-   14617, 14625, 14641, 14667, 14704, 14718, 14719, 14720, 14721, 14725,
-   14743, 14761, 14762, 14766, 14767, 14768, 14769, 14773, 14787, 14791,
-   14792, 14793, 14803, 14804, 14805, 14811, 14817, 14829, 14828, 14841,
-   14842, 14846, 14847, 14851, 14869, 14870, 14871, 14876, 14877, 14882,
-   14881, 14898, 14907, 14917, 14916, 14947, 14948, 14952, 14953, 14957,
-   14958, 14959, 14960, 14962, 14961, 14974, 14975, 14976, 14977, 14978,
-   14984, 14989, 14995, 15006, 15017, 15021, 15028, 15037, 15039, 15044,
-   15049, 15056, 15068, 15080, 15087, 15099, 15100, 15103, 15104, 15107,
-   15112, 15120, 15130, 15149, 15152, 15154, 15158, 15159, 15166, 15168,
-   15172, 15173, 15178, 15177, 15181, 15180, 15184, 15183, 15187, 15186,
-   15189, 15190, 15191, 15192, 15193, 15194, 15195, 15196, 15197, 15198,
-   15199, 15200, 15201, 15202, 15203, 15204, 15205, 15206, 15207, 15208,
-   15209, 15210, 15211, 15212, 15213, 15214, 15218, 15219, 15223, 15224,
-   15228, 15235, 15242, 15252, 15263, 15272, 15281, 15293, 15298, 15306,
-   15311, 15319, 15324, 15331, 15331, 15332, 15332, 15335, 15342, 15347,
-   15353, 15359, 15365, 15369, 15373, 15374, 15378, 15406, 15408, 15412,
-   15416, 15420, 15427, 15428, 15432, 15433, 15437, 15438, 15442, 15443,
-   15449, 15455, 15461, 15467, 15477, 15476, 15486, 15495, 15496, 15500,
-   15501, 15506, 15507, 15508, 15513, 15514, 15515, 15519, 15520, 15524,
-   15536, 15545, 15555, 15564, 15578, 15579, 15584, 15583, 15599, 15600,
-   15604, 15605, 15609, 15609, 15630, 15631, 15635, 15636, 15637, 15641,
-   15646, 15654, 15657, 15655, 15670, 15677, 15698, 15724, 15726, 15730,
-   15731, 15735, 15736, 15744, 15745, 15746, 15747, 15753, 15759, 15769,
-   15771, 15773, 15778, 15779, 15780, 15781, 15782, 15786, 15787, 15788,
-   15789, 15790, 15791, 15801, 15802, 15807, 15820, 15836, 15838, 15840,
-   15846, 15847, 15849, 15855, 15854, 15873, 15874, 15878, 15884, 15893,
-   15893, 15917, 15918, 15923, 15924, 15926, 15928, 15942, 15951, 15957,
-   15962, 15939, 16012, 16013, 16017, 16037, 16058, 16062, 16068, 16074,
-   16033, 16133, 16145, 16154, 16158, 16132, 16175, 16179, 16183, 16187,
-   16191, 16195, 16202, 16209, 16216, 16226, 16227, 16231, 16232, 16233,
-   16237, 16238, 16243, 16245, 16244, 16250, 16251, 16255, 16262, 16272,
-   16278, 16289
+    2405,  2411,  2417,  2423,  2433,  2437,  2441,  2455,  2454,  2485,
+    2482,  2495,  2493,  2505,  2503,  2514,  2513,  2526,  2525,  2534,
+    2539,  2545,  2549,  2553,  2553,  2560,  2559,  2571,  2572,  2576,
+    2581,  2586,  2591,  2596,  2601,  2606,  2614,  2613,  2645,  2644,
+    2651,  2658,  2659,  2665,  2671,  2681,  2687,  2693,  2695,  2702,
+    2703,  2707,  2717,  2718,  2726,  2726,  2770,  2784,  2795,  2813,
+    2814,  2818,  2819,  2824,  2826,  2828,  2830,  2832,  2834,  2836,
+    2842,  2843,  2847,  2851,  2859,  2858,  2871,  2873,  2876,  2878,
+    2882,  2886,  2893,  2895,  2899,  2900,  2905,  2904,  2937,  2939,
+    2943,  2944,  2948,  2952,  2953,  2954,  2955,  2959,  2960,  2964,
+    2965,  2970,  2973,  2992,  2991,  3063,  3076,  3075,  3134,  3156,
+    3156,  3175,  3176,  3181,  3183,  3188,  3203,  3211,  3215,  3234,
+    3235,  3239,  3243,  3249,  3255,  3261,  3270,  3284,  3299,  3305,
+    3306,  3312,  3315,  3319,  3327,  3344,  3346,  3364,  3370,  3372,
+    3374,  3376,  3378,  3380,  3382,  3384,  3386,  3388,  3390,  3392,
+    3397,  3412,  3428,  3429,  3434,  3440,  3449,  3455,  3464,  3472,
+    3481,  3490,  3492,  3501,  3506,  3512,  3521,  3529,  3531,  3533,
+    3535,  3537,  3539,  3541,  3543,  3545,  3547,  3549,  3551,  3553,
+    3558,  3570,  3585,  3586,  3590,  3591,  3592,  3593,  3594,  3595,
+    3596,  3597,  3598,  3599,  3600,  3604,  3605,  3606,  3607,  3612,
+    3611,  3622,  3622,  3675,  3674,  3699,  3749,  3790,  3809,  3808,
+    3828,  3845,  3847,  3848,  3852,  3866,  3883,  3885,  3901,  3883,
+    3920,  3922,  3923,  3928,  3927,  3997,  3999,  3997,  4008,  4013,
+    4014,  4018,  4019,  4024,  4028,  4023,  4049,  4053,  4048,  4072,
+    4082,  4086,  4087,  4092,  4091,  4113,  4112,  4122,  4121,  4132,
+    4132,  4172,  4187,  4186,  4218,  4217,  4237,  4251,  4260,  4259,
+    4267,  4266,  4275,  4274,  4285,  4284,  4293,  4292,  4302,  4301,
+    4312,  4314,  4319,  4321,  4323,  4340,  4345,  4351,  4358,  4359,
+    4367,  4373,  4382,  4388,  4394,  4395,  4399,  4399,  4404,  4405,
+    4406,  4410,  4411,  4412,  4416,  4420,  4421,  4422,  4426,  4427,
+    4428,  4429,  4430,  4431,  4432,  4433,  4437,  4441,  4442,  4443,
+    4447,  4448,  4449,  4450,  4451,  4455,  4459,  4460,  4461,  4465,
+    4466,  4467,  4468,  4469,  4470,  4471,  4475,  4479,  4480,  4481,
+    4485,  4486,  4487,  4492,  4500,  4508,  4516,  4529,  4542,  4547,
+    4552,  4560,  4568,  4576,  4584,  4592,  4600,  4608,  4618,  4628,
+    4638,  4640,  4644,  4649,  4659,  4660,  4699,  4698,  4701,  4707,
+    4707,  4708,  4722,  4723,  4727,  4729,  4728,  4732,  4731,  4737,
+    4774,  4775,  4780,  4779,  4798,  4813,  4812,  4829,  4833,  4841,
+    4840,  4843,  4845,  4847,  4849,  4854,  4855,  4861,  4862,  4879,
+    4880,  4884,  4885,  4889,  4905,  4915,  4926,  4935,  4936,  4949,
+    4951,  4950,  4955,  4953,  4964,  4965,  4969,  4984,  5000,  5001,
+    5014,  5023,  5045,  5046,  5051,  5050,  5075,  5087,  5099,  5098,
+    5113,  5112,  5129,  5151,  5155,  5184,  5196,  5197,  5202,  5213,
+    5201,  5238,  5239,  5243,  5256,  5277,  5290,  5316,  5317,  5322,
+    5321,  5359,  5368,  5369,  5373,  5374,  5378,  5380,  5386,  5392,
+    5394,  5396,  5398,  5400,  5402,  5412,  5427,  5411,  5441,  5442,
+    5446,  5447,  5451,  5452,  5456,  5457,  5462,  5465,  5473,  5476,
+    5483,  5487,  5493,  5495,  5499,  5500,  5504,  5505,  5506,  5510,
+    5525,  5530,  5535,  5540,  5545,  5550,  5555,  5570,  5576,  5591,
+    5596,  5611,  5617,  5635,  5640,  5645,  5650,  5655,  5660,  5666,
+    5665,  5691,  5692,  5693,  5698,  5703,  5708,  5710,  5712,  5714,
+    5720,  5725,  5730,  5738,  5746,  5752,  5761,  5769,  5786,  5796,
+    5807,  5808,  5809,  5810,  5811,  5812,  5813,  5817,  5818,  5819,
+    5823,  5824,  5825,  5826,  5831,  5838,  5839,  5843,  5844,  5848,
+    5849,  5854,  5853,  5861,  5860,  5868,  5867,  5875,  5874,  5884,
+    5881,  5892,  5890,  5899,  5898,  5933,  5936,  5938,  5942,  5946,
+    5947,  5951,  5956,  5969,  5955,  5988,  5989,  5995,  5996,  6001,
+    6004,  6008,  6015,  6016,  6020,  6021,  6025,  6031,  6037,  6041,
+    6054,  6071,  6072,  6073,  6088,  6093,  6097,  6102,  6107,  6111,
+    6116,  6121,  6127,  6132,  6138,  6142,  6147,  6152,  6170,  6172,
+    6175,  6192,  6195,  6200,  6205,  6216,  6221,  6226,  6231,  6233,
+    6235,  6237,  6239,  6241,  6243,  6245,  6247,  6249,  6251,  6253,
+    6262,  6263,  6264,  6270,  6271,  6272,  6273,  6274,  6278,  6282,
+    6283,  6287,  6288,  6292,  6293,  6294,  6295,  6296,  6300,  6301,
+    6302,  6303,  6304,  6308,  6313,  6315,  6321,  6323,  6331,  6332,
+    6334,  6339,  6348,  6349,  6353,  6354,  6358,  6359,  6360,  6364,
+    6365,  6366,  6367,  6370,  6371,  6375,  6376,  6380,  6381,  6385,
+    6386,  6390,  6391,  6392,  6393,  6400,  6401,  6407,  6413,  6419,
+    6425,  6426,  6433,  6441,  6449,  6455,  6464,  6479,  6485,  6490,
+    6491,  6495,  6500,  6504,  6505,  6509,  6510,  6514,  6520,  6524,
+    6525,  6529,  6537,  6538,  6542,  6543,  6547,  6548,  6552,  6553,
+    6554,  6562,  6563,  6564,  6565,  6566,  6570,  6571,  6576,  6575,
+    6588,  6589,  6593,  6596,  6597,  6598,  6599,  6603,  6611,  6618,
+    6619,  6623,  6633,  6634,  6638,  6639,  6642,  6644,  6648,  6660,
+    6661,  6665,  6672,  6685,  6686,  6688,  6690,  6696,  6701,  6707,
+    6713,  6720,  6730,  6731,  6732,  6733,  6734,  6738,  6739,  6743,
+    6744,  6748,  6749,  6753,  6754,  6755,  6759,  6760,  6764,  6768,
+    6780,  6781,  6785,  6786,  6790,  6791,  6795,  6796,  6800,  6801,
+    6805,  6806,  6810,  6811,  6815,  6816,  6817,  6820,  6822,  6827,
+    6829,  6831,  6839,  6847,  6853,  6861,  6862,  6866,  6870,  6871,
+    6881,  6882,  6883,  6887,  6891,  6898,  6904,  6916,  6917,  6921,
+    6922,  6926,  6928,  6937,  6951,  6936,  6971,  6970,  6984,  6993,
+    6992,  7008,  7007,  7023,  7022,  7038,  7032,  7049,  7048,  7083,
+    7088,  7093,  7098,  7104,  7103,  7112,  7113,  7114,  7115,  7119,
+    7120,  7132,  7133,  7137,  7138,  7141,  7143,  7151,  7159,  7161,
+    7163,  7164,  7172,  7173,  7179,  7188,  7186,  7199,  7212,  7211,
+    7224,  7222,  7235,  7242,  7252,  7253,  7280,  7287,  7291,  7297,
+    7295,  7314,  7316,  7321,  7329,  7328,  7344,  7348,  7347,  7359,
+    7360,  7364,  7380,  7381,  7385,  7393,  7397,  7402,  7407,  7414,
+    7421,  7431,  7441,  7452,  7462,  7468,  7474,  7483,  7493,  7509,
+    7523,  7528,  7532,  7537,  7538,  7541,  7543,  7544,  7545,  7546,
+    7549,  7554,  7562,  7567,  7575,  7576,  7580,  7581,  7585,  7585,
+    7588,  7590,  7594,  7595,  7599,  7600,  7608,  7609,  7610,  7614,
+    7615,  7620,  7628,  7629,  7630,  7631,  7636,  7635,  7645,  7644,
+    7651,  7658,  7668,  7685,  7688,  7695,  7699,  7706,  7710,  7714,
+    7721,  7721,  7727,  7728,  7732,  7733,  7734,  7738,  7739,  7748,
+    7755,  7756,  7761,  7760,  7772,  7773,  7774,  7778,  7779,  7779,
+    7784,  7783,  7804,  7805,  7809,  7810,  7814,  7815,  7816,  7820,
+    7821,  7826,  7825,  7846,  7847,  7851,  7856,  7857,  7864,  7866,
+    7870,  7872,  7871,  7883,  7885,  7884,  7897,  7898,  7903,  7912,
+    7913,  7914,  7918,  7925,  7935,  7943,  7952,  7953,  7953,  7957,
+    7956,  7979,  7980,  7984,  7985,  7989,  7990,  7991,  7992,  7993,
+    7994,  7998,  7999,  8004,  8003,  8024,  8025,  8026,  8031,  8030,
+    8036,  8043,  8049,  8058,  8059,  8063,  8077,  8076,  8089,  8090,
+    8094,  8095,  8099,  8109,  8119,  8120,  8125,  8124,  8135,  8136,
+    8140,  8141,  8145,  8155,  8166,  8165,  8173,  8173,  8182,  8183,
+    8188,  8189,  8198,  8207,  8208,  8212,  8212,  8224,  8229,  8229,
+    8238,  8243,  8242,  8257,  8261,  8262,  8283,  8283,  8297,  8308,
+    8311,  8313,  8317,  8323,  8330,  8332,  8340,  8341,  8345,  8346,
+    8363,  8382,  8384,  8391,  8402,  8403,  8404,  8418,  8423,  8445,
+    8451,  8457,  8463,  8464,  8465,  8466,  8467,  8471,  8472,  8473,
+    8477,  8478,  8479,  8483,  8484,  8489,  8540,  8547,  8590,  8596,
+    8602,  8608,  8614,  8620,  8626,  8632,  8636,  8642,  8648,  8654,
+    8660,  8666,  8670,  8676,  8685,  8691,  8699,  8705,  8715,  8721,
+    8730,  8740,  8747,  8757,  8763,  8772,  8776,  8782,  8788,  8794,
+    8800,  8806,  8812,  8818,  8824,  8830,  8836,  8842,  8848,  8854,
+    8860,  8864,  8865,  8869,  8870,  8874,  8875,  8879,  8880,  8884,
+    8885,  8886,  8887,  8888,  8889,  8893,  8894,  8899,  8905,  8909,
+    8916,  8923,  8930,  8937,  8944,  8950,  8949,  8957,  8964,  8971,
+    8979,  8990,  9012,  9019,  9027,  9028,  9029,  9030,  9031,  9032,
+    9043,  9044,  9045,  9046,  9047,  9053,  9057,  9063,  9069,  9075,
+    9081,  9083,  9090,  9097,  9103,  9127,  9137,  9144,  9152,  9158,
+    9165,  9171,  9181,  9188,  9204,  9210,  9216,  9225,  9234,  9240,
+    9246,  9252,  9258,  9272,  9283,  9289,  9295,  9301,  9307,  9313,
+    9320,  9327,  9333,  9339,  9345,  9351,  9357,  9363,  9369,  9375,
+    9381,  9389,  9410,  9417,  9423,  9430,  9437,  9444,  9451,  9457,
+    9463,  9470,  9476,  9483,  9489,  9495,  9501,  9507,  9513,  9531,
+    9537,  9543,  9550,  9557,  9565,  9572,  9579,  9586,  9593,  9610,
+    9616,  9622,  9628,  9634,  9641,  9647,  9653,  9659,  9665,  9671,
+    9677,  9684,  9692,  9698,  9704,  9710,  9716,  9724,  9730,  9744,
+    9750,  9756,  9764,  9776,  9783,  9798,  9804,  9811,  9818,  9825,
+    9832,  9839,  9843,  9863,  9862,  9934,  9972,  9974,  9979,  9980,
+    9984,  9985,  9989,  9990,  9994, 10001, 10009, 10036, 10042, 10048,
+   10054, 10060, 10066, 10075, 10082, 10084, 10081, 10091, 10102, 10108,
+   10114, 10120, 10126, 10132, 10138, 10144, 10150, 10157, 10156, 10176,
+   10175, 10187, 10197, 10205, 10221, 10222, 10227, 10232, 10235, 10238,
+   10237, 10253, 10255, 10261, 10260, 10277, 10280, 10279, 10283, 10285,
+   10287, 10289, 10291, 10293, 10295, 10297, 10303, 10309, 10312, 10311,
+   10317, 10318, 10322, 10329, 10337, 10338, 10342, 10349, 10357, 10358,
+   10362, 10363, 10367, 10375, 10386, 10387, 10399, 10410, 10411, 10417,
+   10418, 10436, 10445, 10443, 10461, 10459, 10470, 10480, 10478, 10496,
+   10495, 10505, 10516, 10514, 10533, 10532, 10543, 10555, 10556, 10557,
+   10561, 10562, 10570, 10571, 10575, 10590, 10590, 10605, 10641, 10726,
+   10737, 10734, 10759, 10772, 10772, 10788, 10787, 10808, 10825, 10808,
+   10832, 10836, 10859, 10860, 10865, 10868, 10869, 10870, 10874, 10875,
+   10880, 10879, 10885, 10884, 10892, 10893, 10896, 10898, 10898, 10902,
+   10902, 10907, 10908, 10912, 10914, 10919, 10920, 10924, 10935, 10948,
+   10949, 10950, 10951, 10952, 10953, 10954, 10955, 10956, 10957, 10958,
+   10959, 10963, 10964, 10965, 10966, 10967, 10968, 10969, 10970, 10971,
+   10975, 10976, 10977, 10978, 10981, 10983, 10984, 10988, 10989, 10997,
+   10999, 11003, 11005, 11004, 11018, 11021, 11020, 11035, 11041, 11055,
+   11057, 11061, 11063, 11068, 11069, 11086, 11108, 11112, 11113, 11117,
+   11129, 11131, 11136, 11135, 11185, 11187, 11192, 11193, 11194, 11198,
+   11199, 11203, 11216, 11223, 11228, 11235, 11242, 11249, 11259, 11286,
+   11290, 11296, 11302, 11311, 11319, 11323, 11330, 11331, 11335, 11336,
+   11337, 11341, 11342, 11343, 11344, 11345, 11346, 11350, 11351, 11352,
+   11353, 11354, 11358, 11359, 11360, 11361, 11362, 11366, 11367, 11368,
+   11369, 11370, 11374, 11379, 11380, 11384, 11385, 11389, 11391, 11390,
+   11428, 11429, 11433, 11434, 11438, 11448, 11448, 11459, 11460, 11463,
+   11483, 11487, 11501, 11502, 11507, 11506, 11516, 11526, 11515, 11528,
+   11541, 11553, 11552, 11570, 11569, 11578, 11578, 11595, 11601, 11616,
+   11632, 11640, 11644, 11649, 11648, 11657, 11662, 11668, 11673, 11678,
+   11686, 11687, 11691, 11702, 11715, 11716, 11720, 11732, 11736, 11745,
+   11748, 11755, 11756, 11764, 11772, 11763, 11782, 11789, 11781, 11799,
+   11807, 11808, 11816, 11820, 11821, 11832, 11833, 11837, 11846, 11847,
+   11848, 11850, 11849, 11860, 11862, 11866, 11867, 11869, 11868, 11872,
+   11871, 11877, 11878, 11882, 11883, 11887, 11897, 11898, 11902, 11903,
+   11908, 11907, 11921, 11922, 11926, 11931, 11939, 11940, 11948, 11950,
+   11950, 11958, 11966, 11957, 11988, 11989, 11993, 12001, 12002, 12006,
+   12016, 12017, 12024, 12023, 12039, 12050, 12038, 12053, 12052, 12064,
+   12063, 12076, 12078, 12082, 12083, 12087, 12100, 12116, 12117, 12121,
+   12122, 12126, 12127, 12128, 12133, 12132, 12153, 12155, 12158, 12160,
+   12163, 12164, 12167, 12171, 12175, 12179, 12183, 12187, 12191, 12195,
+   12199, 12207, 12210, 12220, 12219, 12235, 12242, 12250, 12258, 12266,
+   12274, 12282, 12289, 12296, 12302, 12304, 12306, 12315, 12319, 12324,
+   12323, 12330, 12329, 12334, 12343, 12350, 12355, 12360, 12365, 12367,
+   12369, 12371, 12373, 12375, 12382, 12390, 12392, 12400, 12407, 12414,
+   12421, 12427, 12432, 12440, 12448, 12452, 12457, 12464, 12469, 12476,
+   12483, 12489, 12496, 12503, 12508, 12513, 12518, 12525, 12547, 12549,
+   12551, 12556, 12557, 12560, 12562, 12566, 12567, 12571, 12572, 12576,
+   12577, 12581, 12582, 12586, 12587, 12591, 12592, 12600, 12612, 12611,
+   12627, 12626, 12636, 12637, 12638, 12639, 12640, 12644, 12645, 12649,
+   12656, 12657, 12658, 12662, 12663, 12675, 12676, 12677, 12692, 12691,
+   12704, 12703, 12715, 12719, 12720, 12733, 12736, 12735, 12747, 12748,
+   12753, 12755, 12757, 12759, 12761, 12763, 12771, 12773, 12775, 12777,
+   12782, 12784, 12792, 12794, 12796, 12798, 12814, 12815, 12819, 12820,
+   12823, 12825, 12826, 12830, 12846, 12847, 12851, 12850, 12860, 12861,
+   12865, 12865, 12869, 12868, 12874, 12878, 12879, 12883, 12884, 12892,
+   12891, 12902, 12906, 12910, 12923, 12922, 12937, 12938, 12939, 12942,
+   12943, 12944, 12945, 12953, 12957, 12966, 12972, 12984, 12996, 13006,
+   13017, 12983, 13025, 13026, 13030, 13031, 13035, 13036, 13044, 13048,
+   13049, 13050, 13053, 13055, 13059, 13060, 13064, 13069, 13076, 13081,
+   13088, 13090, 13094, 13095, 13099, 13104, 13112, 13113, 13116, 13118,
+   13126, 13127, 13131, 13132, 13133, 13137, 13139, 13144, 13145, 13154,
+   13155, 13159, 13160, 13164, 13177, 13201, 13213, 13220, 13239, 13247,
+   13252, 13265, 13274, 13290, 13307, 13308, 13309, 13317, 13318, 13319,
+   13320, 13334, 13340, 13346, 13352, 13358, 13364, 13382, 13392, 13402,
+   13408, 13417, 13429, 13435, 13441, 13457, 13458, 13462, 13471, 13486,
+   13490, 13533, 13537, 13554, 13558, 13630, 13654, 13684, 13685, 13695,
+   13702, 13706, 13712, 13718, 13728, 13734, 13743, 13753, 13754, 13782,
+   13796, 13810, 13825, 13826, 13836, 13837, 13847, 13848, 13849, 13853,
+   13866, 13896, 13906, 13906, 13908, 13918, 13919, 13920, 13921, 13922,
+   13923, 13924, 13925, 13926, 13927, 13928, 13929, 13930, 13931, 13932,
+   13933, 13934, 13935, 13936, 13937, 13938, 13939, 13940, 13941, 13942,
+   13943, 13944, 13945, 13946, 13947, 13948, 13949, 13950, 13951, 13952,
+   13953, 13954, 13955, 13956, 13957, 13958, 13959, 13960, 13961, 13962,
+   13963, 13964, 13965, 13966, 13967, 13968, 13969, 13970, 13971, 13972,
+   13973, 13974, 13975, 13976, 13977, 13978, 13988, 13989, 13990, 13991,
+   13992, 13993, 13994, 13995, 13996, 13997, 13998, 13999, 14000, 14001,
+   14002, 14003, 14004, 14005, 14006, 14007, 14008, 14009, 14010, 14011,
+   14012, 14013, 14014, 14015, 14016, 14017, 14018, 14019, 14020, 14021,
+   14022, 14023, 14024, 14025, 14026, 14027, 14028, 14029, 14030, 14031,
+   14032, 14033, 14034, 14035, 14036, 14037, 14042, 14043, 14044, 14045,
+   14046, 14047, 14048, 14049, 14050, 14051, 14052, 14053, 14054, 14055,
+   14056, 14057, 14058, 14059, 14060, 14061, 14062, 14063, 14064, 14065,
+   14066, 14067, 14068, 14069, 14070, 14071, 14072, 14073, 14074, 14075,
+   14076, 14077, 14078, 14079, 14080, 14081, 14082, 14083, 14084, 14085,
+   14086, 14087, 14088, 14089, 14090, 14091, 14092, 14093, 14094, 14095,
+   14096, 14097, 14098, 14099, 14100, 14101, 14102, 14103, 14104, 14105,
+   14106, 14107, 14108, 14109, 14110, 14111, 14112, 14113, 14114, 14115,
+   14116, 14117, 14118, 14119, 14120, 14121, 14122, 14123, 14124, 14125,
+   14126, 14127, 14128, 14129, 14130, 14131, 14132, 14133, 14134, 14135,
+   14136, 14137, 14138, 14139, 14140, 14141, 14142, 14143, 14144, 14145,
+   14146, 14147, 14148, 14149, 14150, 14151, 14152, 14153, 14154, 14155,
+   14156, 14157, 14158, 14159, 14160, 14161, 14162, 14163, 14164, 14165,
+   14166, 14167, 14168, 14169, 14170, 14171, 14172, 14173, 14174, 14175,
+   14176, 14177, 14178, 14179, 14180, 14181, 14182, 14183, 14184, 14185,
+   14186, 14187, 14188, 14189, 14190, 14191, 14192, 14193, 14194, 14195,
+   14196, 14197, 14198, 14199, 14200, 14201, 14202, 14203, 14204, 14205,
+   14206, 14207, 14208, 14209, 14210, 14211, 14212, 14213, 14214, 14215,
+   14216, 14217, 14218, 14219, 14220, 14221, 14222, 14223, 14224, 14225,
+   14226, 14227, 14228, 14229, 14230, 14231, 14232, 14233, 14234, 14235,
+   14236, 14237, 14238, 14239, 14240, 14241, 14242, 14243, 14244, 14245,
+   14246, 14247, 14248, 14249, 14250, 14251, 14252, 14253, 14254, 14255,
+   14256, 14257, 14258, 14259, 14260, 14261, 14262, 14263, 14264, 14265,
+   14266, 14267, 14268, 14269, 14270, 14271, 14272, 14273, 14274, 14275,
+   14276, 14277, 14278, 14279, 14280, 14281, 14282, 14283, 14284, 14285,
+   14286, 14287, 14288, 14289, 14290, 14291, 14292, 14293, 14294, 14295,
+   14296, 14297, 14298, 14299, 14300, 14312, 14311, 14324, 14332, 14323,
+   14349, 14350, 14355, 14354, 14361, 14360, 14370, 14369, 14380, 14379,
+   14385, 14393, 14395, 14400, 14400, 14409, 14408, 14422, 14421, 14426,
+   14430, 14431, 14432, 14436, 14437, 14438, 14439, 14443, 14444, 14445,
+   14446, 14451, 14475, 14501, 14512, 14529, 14543, 14558, 14577, 14594,
+   14606, 14614, 14630, 14656, 14693, 14707, 14708, 14709, 14710, 14714,
+   14732, 14750, 14751, 14755, 14756, 14757, 14758, 14762, 14776, 14780,
+   14781, 14782, 14792, 14793, 14794, 14800, 14806, 14818, 14817, 14830,
+   14831, 14835, 14836, 14840, 14858, 14859, 14860, 14865, 14866, 14871,
+   14870, 14887, 14896, 14906, 14905, 14936, 14937, 14941, 14942, 14946,
+   14947, 14948, 14949, 14951, 14950, 14963, 14964, 14965, 14966, 14967,
+   14973, 14978, 14984, 14995, 15006, 15010, 15017, 15026, 15028, 15033,
+   15038, 15045, 15057, 15069, 15076, 15088, 15089, 15092, 15093, 15096,
+   15101, 15109, 15119, 15138, 15141, 15143, 15147, 15148, 15155, 15157,
+   15161, 15162, 15167, 15166, 15170, 15169, 15173, 15172, 15176, 15175,
+   15178, 15179, 15180, 15181, 15182, 15183, 15184, 15185, 15186, 15187,
+   15188, 15189, 15190, 15191, 15192, 15193, 15194, 15195, 15196, 15197,
+   15198, 15199, 15200, 15201, 15202, 15203, 15207, 15208, 15212, 15213,
+   15217, 15224, 15231, 15241, 15252, 15261, 15270, 15282, 15287, 15295,
+   15300, 15308, 15313, 15320, 15320, 15321, 15321, 15324, 15331, 15336,
+   15342, 15348, 15354, 15358, 15362, 15363, 15367, 15395, 15397, 15401,
+   15405, 15409, 15416, 15417, 15421, 15422, 15426, 15427, 15431, 15432,
+   15438, 15444, 15450, 15456, 15466, 15465, 15475, 15484, 15485, 15489,
+   15490, 15495, 15496, 15497, 15502, 15503, 15504, 15508, 15509, 15513,
+   15525, 15534, 15544, 15553, 15567, 15568, 15573, 15572, 15588, 15589,
+   15593, 15594, 15598, 15598, 15619, 15620, 15624, 15625, 15626, 15630,
+   15635, 15643, 15646, 15644, 15659, 15666, 15687, 15713, 15715, 15719,
+   15720, 15724, 15725, 15733, 15734, 15735, 15736, 15742, 15748, 15758,
+   15760, 15762, 15767, 15768, 15769, 15770, 15771, 15775, 15776, 15777,
+   15778, 15779, 15780, 15790, 15791, 15796, 15809, 15825, 15827, 15829,
+   15835, 15836, 15838, 15844, 15843, 15862, 15863, 15867, 15873, 15882,
+   15882, 15906, 15907, 15912, 15913, 15915, 15917, 15931, 15940, 15946,
+   15951, 15928, 16001, 16002, 16006, 16026, 16047, 16051, 16057, 16063,
+   16022, 16122, 16134, 16143, 16147, 16121, 16164, 16168, 16172, 16176,
+   16180, 16184, 16191, 16198, 16205, 16215, 16216, 16220, 16221, 16222,
+   16226, 16227, 16232, 16234, 16233, 16239, 16240, 16244, 16251, 16261,
+   16267, 16278
 };
 #endif
 
@@ -3207,26 +3212,26 @@ static const char *const yytname[] =
   "WHEN_SYM", "WHERE", "WHILE_SYM", "WITH", "WITH_CUBE_SYM",
   "WITH_ROLLUP_SYM", "WORK_SYM", "WRAPPER_SYM", "WRITE_SYM", "X509_SYM",
   "XA_SYM", "XML_SYM", "XOR", "YEAR_MONTH_SYM", "YEAR_SYM", "ZEROFILL",
-  "IMPOSSIBLE_ACTION", "'='", "'>'", "'<'", "'|'", "'&'", "'-'", "'+'",
-  "'*'", "'/'", "'%'", "'^'", "'~'", "'('", "')'", "','", "'!'", "'{'",
-  "'}'", "';'", "'@'", "'.'", "':'", "$accept", "query", "$@1",
-  "opt_end_of_input", "verb_clause", "statement", "deallocate",
-  "deallocate_or_drop", "prepare", "prepare_src", "execute", "$@2",
-  "execute_using", "execute_var_list", "execute_var_ident", "help", "$@3",
-  "change", "$@4", "master_defs", "master_def", "ignore_server_id_list",
-  "ignore_server_id", "do_domain_id_list", "do_domain_id",
-  "ignore_domain_id_list", "ignore_domain_id", "master_file_def",
-  "optional_connection_name", "connection_name", "create", "$@5", "$@6",
-  "$@7", "$@8", "$@9", "$@10", "$@11", "server_def", "$@12",
-  "server_options_list", "server_option", "event_tail", "$@13",
-  "ev_schedule_time", "$@14", "opt_ev_status", "ev_starts", "ev_ends",
-  "opt_ev_on_completion", "ev_on_completion", "opt_ev_comment",
-  "ev_sql_stmt", "$@15", "clear_privileges", "sp_name", "sp_a_chistics",
-  "sp_c_chistics", "sp_chistic", "sp_c_chistic", "sp_suid", "call", "$@16",
-  "opt_sp_cparam_list", "opt_sp_cparams", "sp_cparams", "sp_fdparam_list",
-  "sp_fdparams", "sp_param_name_and_type", "@17", "sp_pdparam_list",
-  "sp_pdparams", "sp_pdparam", "sp_opt_inout", "sp_proc_stmts",
-  "sp_proc_stmts1", "sp_decls", "sp_decl", "$@18", "$@19",
+  "IMPOSSIBLE_ACTION", "CONDITIONLESS_JOIN", "ON_SYM", "'='", "'>'", "'<'",
+  "'|'", "'&'", "'-'", "'+'", "'*'", "'/'", "'%'", "'^'", "'~'", "'('",
+  "')'", "','", "'!'", "'{'", "'}'", "';'", "'@'", "'.'", "':'", "$accept",
+  "query", "$@1", "opt_end_of_input", "verb_clause", "statement",
+  "deallocate", "deallocate_or_drop", "prepare", "prepare_src", "execute",
+  "$@2", "execute_using", "execute_var_list", "execute_var_ident", "help",
+  "$@3", "change", "$@4", "master_defs", "master_def",
+  "ignore_server_id_list", "ignore_server_id", "do_domain_id_list",
+  "do_domain_id", "ignore_domain_id_list", "ignore_domain_id",
+  "master_file_def", "optional_connection_name", "connection_name",
+  "create", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11",
+  "server_def", "$@12", "server_options_list", "server_option",
+  "event_tail", "$@13", "ev_schedule_time", "$@14", "opt_ev_status",
+  "ev_starts", "ev_ends", "opt_ev_on_completion", "ev_on_completion",
+  "opt_ev_comment", "ev_sql_stmt", "$@15", "clear_privileges", "sp_name",
+  "sp_a_chistics", "sp_c_chistics", "sp_chistic", "sp_c_chistic",
+  "sp_suid", "call", "$@16", "opt_sp_cparam_list", "opt_sp_cparams",
+  "sp_cparams", "sp_fdparam_list", "sp_fdparams", "sp_param_name_and_type",
+  "@17", "sp_pdparam_list", "sp_pdparams", "sp_pdparam", "sp_opt_inout",
+  "sp_proc_stmts", "sp_proc_stmts1", "sp_decls", "sp_decl", "$@18", "$@19",
   "sp_cursor_stmt", "$@20", "sp_handler_type", "sp_hcond_list",
   "sp_hcond_element", "sp_cond", "sqlstate", "opt_value", "sp_hcond",
   "signal_stmt", "signal_value", "opt_signal_value",
@@ -3544,16 +3549,16 @@ static const yytype_uint16 yytoknum[] =
      865,   866,   867,   868,   869,   870,   871,   872,   873,   874,
      875,   876,   877,   878,   879,   880,   881,   882,   883,   884,
      885,   886,   887,   888,   889,   890,   891,   892,   893,   894,
-     895,   896,   897,   898,   899,    61,    62,    60,   124,    38,
-      45,    43,    42,    47,    37,    94,   126,    40,    41,    44,
-      33,   123,   125,    59,    64,    46,    58
+     895,   896,   897,   898,   899,   900,   901,    61,    62,    60,
+     124,    38,    45,    43,    42,    47,    37,    94,   126,    40,
+      41,    44,    33,   123,   125,    59,    64,    46,    58
 };
 # endif
 
-#define YYPACT_NINF -4035
+#define YYPACT_NINF -4295
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-4035)))
+  (!!((Yystate) == (-4295)))
 
 #define YYTABLE_NINF -2801
 
@@ -3564,497 +3569,497 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const int yypact[] =
 {
-    6410,  2635,   940,  1761,   982,   942, 58671, -4035,   133,  -108,
-   -4035,  -151,    19, -4035, -4035, -4035, -4035, -4035,  3251, -4035,
-   58671,   117,  1228, -4035, 26809, -4035, -4035, -4035,   -16, -4035,
-     148,  -108, -4035,   117,   684, -4035, 58671, -4035,   929,  1598,
-     117, -4035, -4035, -4035, 51675, -4035,  -151, 58671, -4035,   954,
-   -4035, -4035, 51675,   206,   259,   944,   -12, -4035, -4035, 58671,
-   -4035,  2241, -4035,   862,  1642,  1514, -4035, -4035,  1244, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035,  3126, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, 27451,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035,  1035, 58671,  1053, 58671,  1500, 58671,
-   49767, 58671, -4035,  1593, -4035, -4035,  1586,  1138, -4035, -4035,
-    -108,   810, -4035, -4035,  1778,  -151, -4035, 49767, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035,  1171, -4035, -4035,  1237,  1306, -4035, -4035,
-   -4035,  -116, -4035,  1866,  1691,  1456, 58671,  1342, 13102,  1697,
-    1697,  1697,  1729,  1790,  1697,  1697,  1697, 58671, -4035,  1697,
-    1697,  1697,  -108, -4035, -4035, -4035,  1819, 38319, 58671,  1635,
-     649,   -67, 49767, -4035,  1412, 58671,  1306,   137, -4035,  1771,
-   -4035, -4035, -4035, 65031,  -108, -4035,  2029,  1882,   258, 58671,
-   -4035, -4035, -4035, 65031,   990,  1298,  1501, -4035, -4035,  1643,
-   -4035, 38955,   207, -4035, -4035, -4035,   130,  1956, -4035, 29377,
-    5183,  1643,  1634,  1306,   638,  1681,  1306, -4035, -4035, 58671,
-    1306,  -108,  1852, -4035, 13102, -4035,   232,   232,   232, -4035,
-     232, -4035,   232,   862,  1507,  1715, -4035, -4035,  1553, 58671,
-    1995, -4035,  1995, -4035, -4035,  1995,   362,  1748,  2004,  2012,
-    2014,  1719,  1807,  1138,  2066, -4035, -4035, -4035,  1616,   772,
-   -4035,  1711, 42135, -4035, 58671, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035,  1881, -4035,  1737,   125,  1796,  2151, -4035,
-   49767, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-    1670, 26809,  1674, 58671, -4035,  2178, 13102,  1237, -4035,  1772,
-   -4035, -4035, 26809, -4035, -4035, 26809,   256,  1207, 58671, -4035,
-   -4035,  2339, -4035, -4035, -4035, 52311,  1342,  1713,  1727,  1730,
-   18390, -4035,  1733,  1745,  1749, 13102,  1784,  1805,  1810,  1826,
-    1828,  1830,  1884,  1886,  1897,  1907,  1916,  1926,  1929,  1937,
-    1937,  1937,  1944,  1947,  1967,  1984,  -170,  1987, -4035,  2001,
-    2006,  2019, -4035, -4035,  2021,  2024,  2026,  2033, -4035, -4035,
-    2057,  2070,  2074, 13763,  2077,  2081,  2094, -4035, 23587,  2097,
-    2099,  2102,  2107,  2128,  2138,  2141,  2149,  2153, -4035, -4035,
-   13102,  1944, -4035, -4035,  2169, -4035,  2173,  2175,  2177,  2180,
-    2183,  2185,  2188,  2196,  2198,  2205,  2207,  2210,  2212,  2218,
-    2220,  2232,  2247,  1944, -4035,  -167,  2256,  2259,  1165,  2267,
-   -4035,  2285, -4035,   251,  2295,  1937,  1944,  1944,  2300,  2316,
-    2318,  2327,  2334,  2336, 18390, 18390, 18390, 13102, -4035, 58671,
-   -4035, 58671,  2230,  2824, -4035,  2702, 18390,   229, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035,  1723,  1880, -4035, -4035, -4035,
-   -4035, -4035, -4035,  2340,  1782,  2234, 58671, 58671, 58671,  2333,
-   58671, 58671, 58671, -4035, 49767,  2025, 58671, -4035, -4035,  1697,
-    2040,  4108, 32582,  2152,  2197,  2155,  1937, -4035, -4035,   671,
-     708,   719,  2303, -4035, -4035,  1969,   760,  2326, -4035,   815,
-     188, -4035,   106,   822,   911, -4035, -4035, -4035, -4035, -4035,
-   -4035,  2132,  2352,  2082, -4035, -4035,   161, -4035, -4035, 58671,
-   -4035,  2628, 13102, -4035, -4035, -4035,  2576,  2432, -4035, -4035,
-   -4035,  1001,  2952,   250, 26809,  1761, 58671,   151, 66303, 66303,
-   58671, -4035, 61851,  2346, -4035, -4035,  7682, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  2351, -4035,
-   -4035,  2356, 13102,  1404, -4035,  1196, -4035, -4035,  2749, -4035,
-   -4035, 46587, 26809,  1469, 65667, -4035, -4035, -4035, 24231, -4035,
-   -4035,  2992, -4035,  2386, -4035, -4035,  1880,  3985, -4035,  2663,
-    2152,  2671, -4035,  2848, -4035,  2678,  2585,  1207,  2471, -4035,
-    3019,  2792, -4035,  2874,  1703, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035,  2427,  1956, -4035, -4035, 52947,
-     784,  2590,  -143,  1155,  1384, 37680,   789, 49767,  1462,    76,
-   30018, 42771,  2420, -4035, -4035, -4035,   868,  2591, -4035,  2917,
-   -4035,    -3, -4035,  2438,  2743,    -3, 47223,  2792,   209, -4035,
-     375, -4035,  2899, -4035, -4035, -4035, -4035,  2562,  2546,  2593,
-   -4035,   412,  1679, -4035,  1306, -4035,   888, -4035,  2566,  2792,
-      -3,   209, -4035,  2817,  2946,   817,  2912, -4035,  1088, -4035,
-   -4035, -4035,   654,  3025, -4035,  2453, -4035, -4035, -4035, 26809,
-   -4035, -4035, -4035,  2576, -4035,   326, -4035, -4035, -4035, -4035,
-    2460, -4035, -4035,  2742,  2569, -4035, -4035,    74,  2464,    25,
-   -4035,  2960, -4035,  1761, 58671, -4035, -4035, -4035,   731,   879,
-    1586,  1995, -4035,  1995,  1995,  1995,  1995,   810, 43407, -4035,
-   -4035, -4035,  2993,  3021,  1937,  2473, -4035, -4035, -4035, -4035,
-   -4035,  3138, -4035, -4035,  2762,  3029,  3029,  3029,  3147, -4035,
-   -4035, -4035, 26809, -4035, -4035, -4035,   125, -4035,  2670,  2536,
-   -4035, 58671,  1796, -4035, 26809, -4035,  2501,  2914,  2511, -4035,
-   -4035,  2770, 13102, -4035, -4035, 13102, 65031,  3012,  2230, -4035,
-   -4035,   285, -4035, -4035, 26809,   295, -4035,  3114,  2733, -4035,
-   -4035, -4035,  3138,  3029, 26809, -4035,  2522, -4035,  2519, -4035,
-   13102, 13102,   363,  3116,  3185,  3185,  3185,  2230,  2573, 13102,
-   13102, 13102, 13102, 13102, 13102, 13102, 13102, 13102, 13102, 13102,
-   13102,  1290,  2545, -4035, -4035, -4035,  1163, -4035,  2547, 13102,
-   13102, -4035, 13102, 13102, 28093, -4035,  3763, 13102, 13102,  1021,
-    3062, 13102, 13102, 13102, 13102,  3070, 13102, 13102, 13102, 28093,
-    3206,  2555, -4035,  2552,  1631, 13102, 13102,  1766, 13102, 13102,
-   13102, 13102, 13102, -4035, -4035, 13102, 13102, 13102, 13102, 18390,
-   13102, 13102, 13102, 13102, 13102, 13102,  2561, 13102,  3185,  3185,
-   13102, 13102,  1768, -4035, -4035, 13102,  2466,  2466, -4035, 13102,
-    9797, 13102, -4035, -4035,  2567, -4035, -4035, -4035, 28093,  3185,
-    3185, 13102, 13102, 13102,  3116,  3116,  3116,   221,  2571,   634,
-   13102, 30659,  2559, -4035, -4035, -4035, -4035, 13102, 13102, 13102,
-   18390, -4035,  1257, -4035, -4035, -4035, -4035, -4035, 14424, 18390,
-   18390,  2570, 18390, 18390, 18390, 18390, 18390,  2953, 18390, 18390,
-   19051, 19712, 18390, 18390, 18390, 18390,   247,  3116, 49767, 18390,
-   13102, -4035, -4035, 58671, -4035, -4035, -4035,  2574, -4035,  2854,
-    2025, -4035, 47859, -4035,    11,  3069, -4035, 46587, 26809, -4035,
-    2572, -4035,  2956, -4035,  2958,  2959,  2962, -4035, -4035, -4035,
-   -4035,  3200,  2964, -4035,  1306,  2971, -4035, -4035,  2606, -4035,
-   -4035, -4035, 20373, 49767, -4035,  2611, -4035,  2626, -4035, -4035,
-   -4035, -4035, -4035, -4035,  2717, -4035, -4035, -4035, -4035,  2617,
-   -4035, 46587,  2617, -4035, -4035,  2617, -4035, -4035,  2617, 42135,
-      90,  3670, -4035, -4035, 58671, -4035, 59307, -4035,  3040,  1077,
-   -4035, 24231,  1306, -4035,  3047, 15085, -4035, -4035, -4035,  2995,
-     212,  2621, -4035, -4035, -4035, -4035,  3081, 58671, -4035, -4035,
-   -4035, 13102,  2991,  2623, -4035, -4035, -4035,   253, 26809, -4035,
-    2230, -4035,   136,   136,  2888,  1193, 49767, -4035, -4035,   201,
-    2632, -4035,  2719,  2633, -4035,  2720, -4035, -4035, 26809,  2627,
-   -4035, 26809, -4035, -4035, -4035,  2900,  2728, -4035,  1306,  1298,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035,  2646,  2662,  3110,  2650, 46587, 42135,   821,
-   -4035, 58671, -4035,  1854, -4035, -4035,   864, -4035, -4035,  1825,
-   44043, -4035,   421,  2681,  2708,  3059, -4035, -4035,  2655, -4035,
-   13102, -4035,  2653,  2656, -4035,   868, -4035, 47859, 58671, -4035,
-   -4035, -4035, -4035, -4035,  3246, 13102, -4035, 46587, -4035,    -7,
-   -4035,   835,   101,   868, -4035, -4035, -4035, -4035, -4035, 58671,
-   53583,  2661, 10458,  2784,  3078, -4035, -4035, -4035,  2682,  1995,
-   58671, 58671, 58671, 26809, 58671, 26809, -4035,  1008,  1008, -4035,
-   -4035, -4035, -4035,    -3, 58671, 58671,    -3, 42135, -4035,   209,
-     735, 58671,    -3, -4035,  3080,  2779, -4035, -4035, -4035,  3149,
-   -4035, -4035,  3142,  2684, -4035,  3171, -4035, -4035,  2809,   209,
-   -4035, -4035, 26809, -4035, -4035,   209, -4035,   209,   209, 13102,
-      -3,    -3,    -3, -4035,   -35, -4035, -4035, -4035,  2838,   638,
-   -4035, -4035, -4035,   999, -4035, -4035,   232,  2942, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,   104,
-   -4035, -4035, -4035,  3179, -4035, 47859, 42135,  3166,  1995,  1995,
-   -4035, -4035,  3202, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-    1995, -4035, -4035, -4035, -4035, -4035, -4035,  1796, 49767, 58671,
-   58671, 58671, 26809, -4035, -4035, -4035, -4035, -4035,    81, -4035,
-   -4035, -4035,   379,  3230, -4035, 49767,  3384,   -44,  1126,  3384,
-    2718,  1306,   214, -4035,   214, -4035, -4035, -4035,   261,  1995,
-   -4035, -4035,  2715, -4035,  2972, -4035, -4035, 49767, 54219, 26809,
-   -4035, -4035, -4035,  1407,  2721,  2722,  2230,  2230, 62487,  3324,
-    2757,  4600, -4035, -4035, 26809, -4035,   333, -4035, -4035, -4035,
-    2786, -4035, -4035, -4035, -4035,  2359, -4035, -4035,  1941,  2781,
-    2734, -4035,  2900, -4035,  1477, 58671,  3194, 35136, -4035,   245,
-     884, -4035,  3185,  2738, -4035,  2739,  2740,  2741, 13102,   248,
-    1855,  1003,  1261,  1470,  1134,   266,  1234,   271, -4035,  1536,
-     281,   343,   386,   219, -4035,  2744,  2748, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035,  2752, -4035, -4035, -4035,   498,
-     619,  1263,  1284,  2754,  2755, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035,  3213, -4035,   624,  1560, -4035,
-   -4035, -4035, -4035,  2758, -4035, -4035,  1296,   743,   777,   241,
-    2768,  1584,   795,  1647,  1659,  2763, 28093, 58671,  3185,  2769,
-    1304,  1337,  3185,  2772,   800,  1369,  1661,  1675,  1683,  1373,
-    1415,   877,  1696,  3589,  1430,   979,  1032,  1452,  1037,  1041,
-   -4035,  1465,  2773,  2776,  1072,   167,  3185,  2782,   275,  2778,
-    2780,  1480, 11119, 11780, 12441,   174,  1116, -4035,  2783, -4035,
-    2552,  2787,  2788,   305,   213,  1494, -4035, 13102, -4035, -4035,
-    2793, -4035,  2831,   160,   101, -4035,  2934, 58671,  2341,   235,
-   -4035, -4035, -4035, -4035, -4035, -4035,  1005, -4035,  2803, -4035,
-    2808,  2286,  2802, 13102,   205,  2802,  3314,  2408,  2408, 18390,
-    2479,  2709, 13763,   963, 13763,   963,  2802,  2802,  2802, -4035,
-   18390,  2819, 18390, 18390, -4035,  3116,  2230,  2821,  -207, 58671,
-   26809,    11,  2807, -4035, -4035, -4035, -4035, -4035,   868, -4035,
-    2818,   139, 26809, 49767,  2823, -4035,  3305, -4035, -4035, -4035,
-   -4035,  1306, -4035, -4035,  4346, -4035, 26809,  2915,  2918,  2919,
-   -4035, 33223, -4035, -4035, -4035, -4035, 33223,   826, -4035, 58671,
-   -4035,  2909, -4035, -4035, -4035,  3253, -4035,  3255,  1114, -4035,
-   24873, 24873, -4035, 24873, -4035, -4035, -4035, -4035, -4035,   188,
-   -4035, -4035, -4035, -4035,   388,   440,  3136,  2681, -4035, -4035,
-   -4035, -4035, -4035, -4035, 34500,  2230, -4035, 26809, -4035,  3247,
-     709, 26809, -4035, -4035,  3243,  2230, -4035, -4035, -4035, -4035,
-   -4035, -4035,  2840, -4035,  2833, -4035, -4035, -4035, -4035, -4035,
-    2887,  2957, -4035,  3492, -4035, 13102,  1306, -4035, 46587, 46587,
-   26809, 26809, 26809,   523, 13102, -4035,  2399,  2849, -4035, -4035,
-    2945, -4035,  3495, -4035,  3985, 20373, 47859,  3297,  3311, -4035,
-    2857, 24873, 24873, 24873, -4035, -4035, -4035, -4035,  2954,  2954,
-   -4035, 31300, -4035, 13102, -4035, -4035, -4035,  3341, -4035,  3051,
-     -48, -4035, -4035, -4035, -4035, -4035, 58671, -4035,  3527, -4035,
-   -4035,  2870, -4035, -4035, 26809, -4035, -4035,  3317, -4035,  3041,
-   -4035,  2230, -4035,  2871, 52947,  3340, 10458,  3342, -4035, 48495,
-   -4035,  2230,   868,  2884,  2885, -4035, -4035,  3268,   765, -4035,
-    2891,  2892, -4035,  2890,  2896,  2898, 52947, 13102, -4035,   835,
-   -4035, -4035, -4035, -4035, -4035, 18390,  2001, -4035,  2230, -4035,
-   -4035,  1306,  3363,  1306, 13102,  2907, 58671, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035,    -3, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035,  3148,  2792,  1679,  3078, -4035,    -3,   209, 26809,    -3,
-      -3,  2230, -4035, -4035, -4035, -4035, -4035, -4035,  2920, -4035,
-    2975, -4035, -4035,  3086, 65031,  2923, -4035,  3386,  2792, -4035,
-   -4035, -4035,    91,  1537,  2926,  1995, -4035, 58671, 58671,  1995,
-    1995, 58671, -4035, -4035,  1143,  3209,  3210, -4035, -4035,   868,
-     868,  3235, -4035,  1306,  3064,  3065,  3067,  3072,  3074,  3111,
-   -4035, -4035,  1306,  1306, -4035, -4035,   868, -4035,  1173, -4035,
-   -4035, -4035, -4035,  1857, -4035,   868,   868, -4035,  1073, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035,  1179, -4035,  5099, -4035,
-   -4035, 26809,  3224, 26809,  3404, -4035,  3474, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035,  2949, -4035, -4035,
-   13102,  3044, -4035, -4035,  2757, -4035,  2968,  2970,  2974,  2980,
-    2982,  2983,  2985,  2986,  2989,  3000,  3001,  3003,  3004,  3006,
-    3008,  3009,  3014,  3016,  3017,  3024,  3030,  3031,  3033,  2950,
-   -4035, -4035, -4035,  3013, -4035, -4035, -4035,   868,   868,   868,
-     868, -4035,  2785, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035,  3328,  1798, 58671,  3028, -4035, 35136, -4035, -4035,   999,
-   -4035,  2955, 15746, -4035,  3022, -4035, 13102, -4035, -4035, -4035,
-    1868, 13102, 13102,  3502,  2716, -4035, 49131, -4035, -4035, -4035,
-   13102, -4035, 13102, -4035, 13102, 13102, 13102, 13102, 49131,  2716,
-   13102, -4035,  3023, -4035,  3416,  3429, -4035, -4035, -4035, -4035,
-   13102, 13102, -4035, 13102, 13102, -4035, 13102, 13102, 13102, 13102,
-   -4035, 13102, -4035, -4035, 18390, -4035,  3018,  3032, -4035, -4035,
-   -4035,  3034, -4035, 13102, -4035, -4035, -4035, -4035, -4035, -4035,
-   13102, -4035, 13102, -4035, 13102, 13102, -4035, 13102, 13102, -4035,
-   -4035, -4035, 16407, 13102, 13102,  3035, -4035, -4035, 13102, 13102,
-   13102, -4035, 13102,  2022, 13102,  2100, 13102,  2146, 13102, -4035,
-   13102, -4035, -4035, -4035, -4035, 13102,   398,  2887,  2945,  3043,
-   -4035,  1717,  2874, -4035,  1292,  2793,  3049,  3205,  1854, -4035,
-   -4035, 49767, 13102, -4035, -4035, -4035, -4035, -4035, -4035, 18390,
-     319,  3055, 18390, -4035,  3314,  3070,  3070,  2310, 13102,   205,
-    3314, 13102,  3056,  3027, -4035, 13102, 58671, -4035, -4035, -4035,
-   47859, -4035, 49767, 46587, -4035, -4035, -4035,   139, -4035,  2572,
-    3042, -4035, -4035, -4035,  2840,   357,  3057,  3046, -4035, -4035,
-   -4035, -4035, -4035, -4035,  1722, -4035, 42135,   317,  3702, 42135,
-   -4035,  3052, -4035,  3053,  3140,  3143,  3144, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  2792, 65031,
-    2399, -4035, -4035,  3066, -4035, -4035,  2770,  2954,  3085,  3443,
-    3639, -4035, -4035, -4035, -4035, 65031, 65031, 13102, 58671, 18390,
-   -4035,  3679,  3076,  3077,  3090,  3079,  2230, -4035,  3155, -4035,
-   -4035, -4035,    39, -4035, -4035, -4035, -4035, -4035,    61,  2191,
-   -4035, -4035,  3082,  3082, 22301, -4035, -4035, -4035, 58671, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  3097, -4035,
-   -4035,  3360, 46587, 42135,  3544,  3545,  3546,   701, -4035, -4035,
-   -4035, 49767,  3089, -4035, -4035, -4035,  2230,  3091,   400, 44679,
-    3575, 44679, 44679, -4035,   831,  3493,  3494, -4035,  3368,  1961,
-    3368, -4035, -4035,   831,   999,  2900, -4035, 13102,  3706,  3539,
-    3419, -4035, 50403, -4035, 35772, -4035,  7155, -4035, 46587, -4035,
-   -4035, -4035, -4035, -4035,  3198,  3203,   -14, -4035, -4035,  3506,
-    3333, -4035, -4035, -4035,   868,  2230, -4035,  2661,  3113, 31941,
-   -4035,  1317, -4035, -4035,  2230,   366, -4035, -4035, -4035,  3398,
-   -4035, -4035,  3363, -4035,  2681,   209, -4035, -4035,   -35,  2463,
-   -4035, 28093, 63123,  2945,  3440, -4035, -4035, -4035,   116,  3770,
-   -4035, 58671,  3121,   660, -4035, -4035, 58671,  3583,  1007,  1007,
-    3408, 26809, 26809,  4240, 48495, 45315, -4035, -4035, -4035, -4035,
-    3672, -4035,  3673,  1046, -4035, -4035,  1506,  1126, -4035,  1306,
-    1306,  1306,  1306,  2945,  1306,  1306,  1759, -4035,  1506,  1506,
-     214, -4035,   181, -4035, -4035, -4035, -4035,  2579,   868,  3713,
-    3394,   868,   868,  3713,   868,  3395,  3396,   868,   868,  3222,
-    3658,   868,  3548,  3250,  3436,  3554,   868,  3417, -4035,  3260,
-    3676,   868,   868,   868,   868,   868,  3713,  3420,  3773,   868,
-     868, -4035,   868,  3423,  3425,   175,  3430,  3432,   868,   868,
-     868,   868,  1147, 58671,   868,   868,  3433,   868, -4035, -4035,
-    6367, -4035, -4035, -4035, -4035, -4035, -4035,   707, 25521, -4035,
-   -4035, -4035, -4035,   868, -4035,   525, -4035,  3376, -4035,   396,
-   51039, 63759,  3167,  3178, 54855,  2230, 65031, 13102, -4035,  3181,
-    3182,  3184,  2945,  1306,  1306,  1317,  1306,  2945,  1306,  1306,
-    1306,  1306,  1306,  1306,  1306,  2945,  2945,  1306,   156,  1518,
-    1306,  2945,  4600, -4035,  1306,  2887,  1506,  1506,  1941, -4035,
-    3621,   868, -4035,  2371, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035,  3177,   999,  2681,  1601,  2681,  3195,
-   -4035, 13763,  1509, -4035,  2230, 13102,  2230,  1949, -4035,  3189,
-    3189,  3189, -4035,  3192, -4035, -4035,  3189,  3602,  3189,  3603,
-    3207,  3208,  1780,  2209, -4035,  1785,  2219,  1511,  3211,  3212,
-    1723, -4035, 13102, 13102,  1559,   331,  1692,   -75,  1129,  1178,
-     336, -4035,  1725,  3791, -4035, -4035,  1746,  1754,  1767,  1769,
-    1203,  1788,  1794, 13763,  1811,   402,   382, -4035,  1835,  1205,
-    1217,  1890, 13102,  1900, 13102,  1905, 13102,  1909,  1911,  1913,
-    3214,  3214,   179, -4035,  3197, -4035, -4035, -4035,  3215, -4035,
-   -4035, -4035, -4035,  2681,  2427,  1292, -4035,  3217,   110, -4035,
-   -4035,  3196,  2230,  3219, -4035, -4035, 13102, -4035,   229, -4035,
-   -4035, 18390,   413,  3221, -4035,  2230, -4035, -4035,  3223,  1723,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  3227, -4035,
-    3427, -4035, -4035,  3846, 33223, -4035, 58671,  1547,   -54, -4035,
-   -4035, 49767,  3478, -4035,  3216, 36408, 42135, 42135, 42135,  3228,
-   -4035, 59943,  3486, 26809, -4035,  3627, -4035, -4035, -4035, -4035,
-   58671, 66303, 66303, 66303, 66303,  3233,  3236, -4035, -4035, -4035,
-    3314,  3588,  3471, -4035, -4035,  2887, 58671, 46587,  3530, -4035,
-   -4035,  3439,  1956, 28093, -4035,  3237, -4035,  3237,  -115,  3240,
-    1801, -4035, -4035, -4035,  3229,  2471,  1813, -4035, 20373,  3699,
-    2818, -4035, 42135, 42135, 42135, -4035,  2429, -4035, 31300, 13102,
-   -4035, -4035, -4035, -4035, -4035, 44679, -4035, -4035,  -182,   110,
-   -4035,  1991, -4035, -4035, -4035,  3640,  3368,  3368,   831,  3641,
-     855, -4035,  3542, -4035,  1956,  2230, 13102, -4035,  3516, -4035,
-   55491, -4035, -4035, -4035, -4035,  1231, -4035, -4035,  3248,  3257,
-     273,  3477, -4035, -4035, -4035, -4035, 10458, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  2792, -4035,
-   -4035, -4035, -4035, -4035,    -3, -4035,  3273, -4035,  3254,  3261,
-   -4035,   868,  3293, -4035, -4035, 42135,  3460, -4035,   120,  3270,
-   58671, -4035,  3816, -4035, -4035, -4035, -4035, -4035, 26809, -4035,
-   -4035, 26809, 21017, -4035, -4035,  3536, -4035,  4030, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035,  1857, -4035, -4035, -4035,  1179, -4035, -4035, 28735,  1995,
-   -4035,   169, -4035,  1995,  1407,  1407,  3703, 56127, 28735,   117,
-    1317,  2945,  1729,  2945, 56763,   117,  1306,  1306,  2429,   868,
-    2945, -4035, -4035,  3681,  1697,  3682,  1729,  1729, -4035, 49767,
-   58671, -4035,   868,  1441,  2945, 57399,  1317,  1317,  1729,   117,
-   28093,  2527,  2603, -4035,  1306,   117, -4035, -4035, -4035, -4035,
-   26809,   117,   117,  3366,  3020,  3199,  3239, -4035, -4035, -4035,
-    2945,  2603, 56763, -4035, -4035,  5477, -4035, -4035, -4035, 21659,
-   58671,   329,   180, -4035,  3278, 40227,  3292,  1761,  1078,  3375,
-     293, -4035,   162, -4035, -4035, -4035,  3735,  3294,   355, -4035,
-    3291, -4035, 56763, -4035,  3300, -4035,  3296, -4035, 60579,  2230,
-    2945,  2945,  2945, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, 58671,  1506,  1798, -4035, 35136,  2681,  3516, -4035, -4035,
-    3070, -4035,  2230, 13102,  1259, -4035, -4035, -4035, -4035,  1484,
-   -4035, -4035, -4035,  3303, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035,  2800, -4035, -4035,  2716, -4035, -4035, -4035,  3312,  3070,
-    3070, -4035, -4035, 13102, -4035,  3921,  3484, 13102, 13102, -4035,
-   13102, -4035,   254,  3319,  3344, -4035, -4035, -4035, -4035, 13102,
-   -4035, -4035,  3070, -4035, 13102, -4035, -4035, 13102, -4035, 13102,
-   13102, -4035,  1921, -4035,  1938, -4035,  1963, -4035, -4035, -4035,
-    2887,  3320,  3708, -4035, -4035, -4035,  2887,  3513, -4035, -4035,
-    2887,  2945,  3317,  2655, -4035, -4035, -4035,  2874,   634, 58671,
-   -4035, -4035,  1841, -4035, -4035, 13102, -4035, 50403, -4035, -4035,
-    1317,  3802,  3700, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  3782,
-   -4035,  3431, -4035,   177, -4035, -4035, -4035,   -87,   -87,   -87,
-   17068,  2343,  3843, -4035, -4035, -4035,  3627,  3733, -4035,   786,
-    3346, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, 58671,
-    3348,  1773, -4035,  1846, -4035, -4035,  3351, -4035, -4035, -4035,
-    2427,  3352, -4035,   868, 17068,  3082,  3528, -4035, -4035,  -115,
-   28093, 35772, -4035, -4035, 58671, -4035, 42135,  2857,  2857,  2857,
-   45315, -4035, -4035,   400, -4035,  1854,  2324, -4035,   999, -4035,
-     831,  3752,  3754, -4035,   831, -4035, -4035, -4035,  2427,  1489,
-     400, 13102,  2792, -4035, -4035, 37044, -4035, -4035, -4035, -4035,
-   -4035, -4035, 31941, 52947, -4035,  2792, -4035,  1306,  1970, 28093,
-    2681, 17068, -4035, -4035, 58671, -4035, -4035, -4035, -4035,  3509,
-   -4035,  1756,  3647,  3391, -4035,  3370,  3371, -4035, 26809,  3372,
-    3373,  3374, -4035, -4035, -4035,   227, -4035,  5700, -4035, -4035,
-   -4035, -4035, -4035,   117,  3377,  3765,  3771,  1407, -4035,  1995,
-   28735, -4035,  1995,  1995,  1761, -4035, -4035, -4035,    95, 56763,
-   -4035, -4035, 28735, -4035, -4035, -4035,  3379, -4035, -4035,  2887,
-   -4035, -4035, 45315,  1306, -4035,  1729, 58671, -4035, 28735, 28735,
-   -4035,  3409,  1306, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, 28735, 56763,  3380, -4035,   400, -4035, -4035, -4035,
-   -4035, -4035,  2029, -4035, 56763, -4035, -4035, 56763, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035,  3385,  3005,  2133, -4035,  3383,
-   -4035, 58671, -4035, -4035, 26809, -4035, -4035, -4035,  6951, 58671,
-   -4035, -4035, -4035, -4035, 58671,  4024, -4035,  3631, 13102, 13102,
-    3674, 58671,  3675, -4035,  3964, -4035, -4035,  3809,  3852, 58671,
-    6951,  3857,  3858, -4035,  3399, -4035, 54855,  3491,  1848, -4035,
-   -4035,  1851, -4035, -4035,  1860, -4035, -4035, -4035, -4035, -4035,
-    2955, -4035,  3783,   793,  2230,  3405,  3406,  3407,  3410,   296,
-    1923,  3691, -4035, -4035, -4035,  3189, -4035,  3192, -4035, -4035,
-   -4035,  4003, -4035, -4035,  3189,  3818, -4035, -4035, -4035,  3413,
-   -4035,  3414,  3415,  1980, -4035,   232,  3418,  1982,  1219,  1932,
-    3734,  3808, -4035,  3650, -4035,  2003,  1534,  2030,  2035,  2044,
-    2046, -4035, -4035, -4035, -4035, -4035,  3424, -4035, -4035,   459,
-   -4035,  3426,  3539, -4035, -4035, -4035, -4035,  1951, -4035, -4035,
-    1973, -4035, -4035,  4060,  3704, -4035, -4035, -4035,  1306,   960,
-    3452,  3452,  3452,  2001,  2230,  1976, -4035, 65031, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035,  3845, 58671, -4035, -4035,  3437,
-    3492, 58671, -4035,  3471, -4035,  2655, 28093, 17068,  3444,  3445,
-   -4035,    25, -4035, -4035,  3441, -4035, -4035,  2857, -4035,  4032,
-   -4035, -4035, -4035,  2870,  3234,  3496,   831,   831,  3283,  3500,
-   13102,  3454, -4035,    73,  2655, -4035, -4035, 13102, -4035, -4035,
-    2230,  3693, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  3516,
-   -4035,  3456,  3458, -4035, -4035,  1306,  1295, -4035, -4035,   349,
-    3634, 49767,  3462, 58671, 58671,  3464, -4035, -4035, 21659, -4035,
-    4100, -4035, -4035, 13102,  1995, -4035, -4035, 28735,  3514,  1158,
-   28735, 28735,  3945,  3993,  3995, -4035, 28735,  2359, 58671, -4035,
-    3246, -4035, 28735,  3379, -4035,   216,  3569, -4035,   329, -4035,
-   28093, -4035, -4035, -4035, 58671, -4035, 26809, -4035, -4035,  3473,
-   -4035,  3189,  3189,  3189, -4035, -4035,  3189, -4035,  3192,  3718,
-    3475,  3192,  3192, -4035, -4035, -4035, -4035, -4035,   296,   365,
-   -4035, -4035,   296, -4035, -4035, -4035,   157,  1274,  3192, -4035,
-   -4035, -4035, -4035, -4035,  3476, -4035,  3189,  3189,  3189, -4035,
-   -4035,   296,  3189, -4035,  3189, -4035,  3192,   279,   187,  3189,
-    3189,  3189,  3303,  3472, -4035,  1992, -4035, -4035,  2230,  3070,
-    4049, -4035, -4035,  3636,  1306,  3990, 58671,   170, -4035, -4035,
-    3246,  4010,  2693, -4035, -4035, -4035, 65031, -4035,  2945, -4035,
-    2945, -4035,  2945, 45951, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035,   242, -4035, -4035, 49131,  4106, -4035,  3775,  3485, -4035,
-   -4035, -4035, -4035, -4035,   296, -4035, -4035, -4035, -4035, 13102,
-   -4035, -4035, -4035, 13102, -4035, -4035,  3811,  3968, -4035, -4035,
-   -4035, -4035, -4035, -4035,  3497, -4035,  2945,  3516, -4035, -4035,
-    1317,  4009, -4035, -4035, -4035,  3593,  3594, -4035, -4035,  3595,
-   -4035, -4035,   145,  2038, -4035, -4035, -4035, -4035, 17068, 64395,
-   -4035,  3897,  3604, -4035, -4035, -4035,  3507,  3553, -4035, -4035,
-    2874, -4035, -4035, -4035, -4035,   904,  3888,   634, -4035,  3563,
-   -4035, -4035, -4035,  3565,  2230, 58671, -4035,   428,  2874,   400,
-   58671,  3925,  3783, -4035, 58671,  6951, -4035, -4035, -4035, -4035,
-    3519,  3521, -4035, 58671, -4035, -4035, -4035,  3801,  1078,  3798,
-   58671,  2009,   400,  3525,  2039, -4035,    25,  6367, -4035, -4035,
-     833,   -39,  2051, 28735,  3514,  1365,  1007, -4035,  1007, -4035,
-   -4035, -4035, -4035,  3201,   329, -4035, -4035, -4035, -4035, -4035,
-   26809, -4035,   117, -4035, -4035,  3379,    61,  3532, 58671,  3868,
-   -4035, -4035, -4035, -4035,  1309, -4035,   232,  1309,  1309, -4035,
-    2590, -4035,  3567,   296, -4035, -4035,  3572, -4035, -4035, -4035,
-    1309,   232,   296, -4035, -4035, -4035, -4035,  1309,  2771,  3660,
-   -4035,   296, -4035, -4035,  4106, -4035,   296,  4106,  1309,  1309,
-   58671, -4035, 58671, -4035,  1076, -4035, -4035, -4035, -4035, -4035,
-    2041, -4035, -4035, -4035, -4035, 39591, -4035, 13102, -4035, -4035,
-   -4035, -4035, -4035,   701, 61215, -4035, -4035, -4035,  4016,  3719,
-    3730, -4035, -4035, -4035,  3540, -4035,  3543,   400,  2084, -4035,
-   -4035, -4035,  3549,  2792, -4035,  4139, -4035, -4035, -4035, -4035,
-     284,  3822,  2945,  2945,  2945,  1518,   -65,  2038, -4035, -4035,
-    3605, 26809, 18390,  3662, 58671,   843,  3335, -4035,  4160,  4161,
-    4051,  4163,   904, -4035,  -105, -4035, -4035, 13102,  3557, 13102,
-    3558,  2067, -4035, -4035,  1407,  1407, -4035,   428, -4035, -4035,
-   -4035,  1825, -4035, -4035,  3751, -4035, -4035, -4035,  1545, -4035,
-   -4035,  3674,  3561,  2086,   173, 58671, -4035,  3849,  2048, -4035,
-    3536,  3528, -4035,  2887,  3471, -4035, -4035, -4035, -4035,  1007,
-   -4035,  3566, -4035,  3568,  3570,  2915,  2918,  2919,  1518,  1518,
-   -4035, -4035, -4035, -4035, -4035,  3971, -4035, -4035,  2088, -4035,
-     908,  3847, -4035, -4035, -4035, -4035,  1309, -4035,  2122, -4035,
-   -4035, -4035, -4035, -4035, -4035,  2130, -4035, -4035, -4035, 49767,
-    1306,  2535,  4213, -4035,  3626, -4035,  4098,  3967, -4035,  4212,
-   -4035,  3204, -4035,  3981,  3865,   868,  3607, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035,   862,  3619,  3723,
-   -4035, 65031, -4035, 58671, 58035, -4035, -4035, 33864, -4035, -4035,
-   -4035,  4057, -4035,  2230, -4035, -4035,  4082,  2427, -4035, -4035,
-   13102, -4035, -4035, -4035,  3693, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035,  1726, -4035, -4035, 28093,  2900, -4035,  2887,
-   -4035,  2134, -4035, -4035, -4035,  3694,   868,   868,  4117,  4120,
-     868,   868,   868,   868,  3608,  3335, -4035,  4101,   232,   232,
-    4216,   232, -4035,  4219,  4222,  -105, -4035,  2230, 58671,  2230,
-   58671, -4035,  4078,  4078, -4035,  3622, -4035, -4035, -4035, -4035,
-   -4035,   293, -4035,  1857,   307,  1306,   868,  3882,   372,   173,
-   -4035, -4035,   868,   400,  3623,   372,  2048, -4035, -4035,   227,
-    3624,  2471, -4035,  2143,  3628,  3630, -4035, 58671,  3633, 58671,
-   58671, -4035, -4035, -4035,  3637, -4035, 58671, -4035, -4035, -4035,
-     302, -4035, -4035,   296,   232,   296, -4035, -4035,  3642, -4035,
-   -4035, -4035,  3917,  3677, -4035,  3643, -4035, -4035, -4035, 40863,
-    3913, -4035,  3638,  1276, -4035, 13102,  4134, -4035, -4035, -4035,
-    2156, -4035, -4035, 39591, -4035, -4035, -4035,  2655,   400,  1825,
-   -4035, -4035,  3645, -4035,   868, -4035,  3649, -4035, -4035, 58671,
-    3644, -4035,  1306,  1306,   868,   868,  3011,  3011,  2887, 49767,
-    3760, -4035, -4035,   868, -4035, -4035,   232, -4035,   232,   232,
-   -4035,  2193,  2202,  1461, -4035, -4035,  3651,  6951,  3891, 26809,
-    3964,  2213,  1007,  1007,   372,   307, -4035, -4035, -4035, -4035,
-    2945,  1092, -4035,  4025,  4299, -4035, 41499, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, 58671, 58671,  3659,  2238, 58671,
-    2252,  2269,  3471, -4035,   920,   920, -4035, -4035, -4035,  1878,
-   -4035,  3642, -4035, -4035, -4035, -4035, -4035, -4035, -4035,    25,
-    4249,  3933,  4253,  2230, 13102, -4035, -4035, 58035, -4035, -4035,
-   -4035, 28093, 17068,  2429, -4035,  3662, -4035,  3663, -4035, -4035,
-     -66, -4035, -4035,  1306,  1306, -4035, -4035, -4035, -4035, -4035,
-    2273, -4035, 49767, -4035, -4035, -4035, -4035, -4035,  4272, -4035,
-    4274,  3668,  3669, 13102,  3671,  3678, -4035, -4035, -4035, -4035,
-    4186, 65031,  4132,  4181, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035,    25,  2287,  2308,
-   58671,   307,  2313,   173,  2048,  2331, -4035,  4328, -4035,   194,
-    3958,  3966, -4035,  3686, -4035,  3687, -4035,  3962, -4035,  3963,
-    2230, -4035, -4035, -4035, -4035, -4035, -4035,  2348, -4035, 17729,
-   -4035, -4035, -4035, -4035, -4035, 49767, -4035,  3760, -4035, -4035,
-   -4035, 54855, 54855,  2230, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035,  3908,   307,  2365, -4035,   307, -4035, -4035, -4035,
-   -4035, -4035, -4035,  3746,  4217, -4035,   -73, -4035, -4035,  3877,
-   -4035,  3663, -4035,  3695, -4035,  3314,  3335, -4035, -4035,  3697,
-    2367, -4035, -4035,  3891, -4035, -4035, -4035, -4035,   307, -4035,
-     920,   920, -4035, -4035,   143,  4123,  4032, -4035, 17729,  3701,
-   -4035, -4035, -4035, 65031,  4200, -4035, -4035, -4035,  1306,  4096,
-   -4035,   143, -4035,  4311,  3888, -4035, -4035, -4035,  3885, -4035,
-   -4035, -4035,   232,  4127, -4035, -4035,  3994,  3709, 65031,    84,
-   22943,  3873, -4035, -4035, -4035, -4035, -4035, 49767,  2373, -4035,
-   -4035, 28093, -4035, -4035, -4035, 26165,  3711, -4035,   868, -4035,
-   28093, -4035, -4035, 17068, -4035, -4035
+    6410,  1955,  1828,  1709,   988,   184, 58749, -4295,   122,  1568,
+   -4295,  -184,   765, -4295, -4295, -4295, -4295, -4295,  3882, -4295,
+   58749,  1127,   949, -4295, 26861, -4295, -4295, -4295,   -32, -4295,
+     117,  1568, -4295,  1127,   419, -4295, 58749, -4295,   612,  1572,
+    1127, -4295, -4295, -4295, 51753, -4295,  -184, 58749, -4295,   571,
+   -4295, -4295, 51753,   303,   390,   561,   -13, -4295, -4295, 58749,
+   -4295,  1877, -4295,   473,  1260,  1136, -4295, -4295,  1008, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295,  3726, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, 27505,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295,   780, 58749,   816, 58749,  1303, 58749,
+   49845, 58749, -4295,  1300, -4295, -4295,  1413,   941, -4295, -4295,
+    1568,  1055, -4295, -4295,  1623,  -184, -4295, 49845, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295,  1005, -4295, -4295,  1091,  1191, -4295, -4295,
+   -4295,  1472, -4295,  1759,  1566,  1332, 58749,  1098, 13112,  1590,
+    1590,  1590,  1598,  1626,  1590,  1590,  1590, 58749, -4295,  1590,
+    1590,  1590,  1568, -4295, -4295, -4295,  1731, 38397, 58749,  1515,
+     209,   -69, 49845, -4295,  1080, 58749,  1191,    96, -4295,  1662,
+   -4295, -4295, -4295, 65109,  1568, -4295,  1946,  1802,   257, 58749,
+   -4295, -4295, -4295, 65109,   884,    28,  1400, -4295, -4295,  1529,
+   -4295, 39033,   193, -4295, -4295, -4295,   119,  1806, -4295, 29437,
+    5359,  1529,  1532,  1191,   668,  1536,  1191, -4295, -4295, 58749,
+    1191,  1568,  1760, -4295, 13112, -4295,   198,   198,   198, -4295,
+     198, -4295,   198,   473,  1389,  1606, -4295, -4295,  1437, 58749,
+    1871, -4295,  1871, -4295, -4295,  1871,  1023,  1627,  1874,  1882,
+    1944,  1602,  1212,   941,  1231, -4295, -4295, -4295,  1537,   854,
+   -4295,  1621, 42213, -4295, 58749, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295,   992, -4295,  1673,   125,  1708,  2044, -4295,
+   49845, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+    1579, 26861,  1586, 58749, -4295,  2095, 13112,  1091, -4295,  1679,
+   -4295, -4295, 26861, -4295, -4295, 26861,   237,    27, 58749, -4295,
+   -4295,  2255, -4295, -4295, -4295, 52389,  1098,  1607,  1611,  1616,
+   18416, -4295,  1647,  1674,  1680, 13112,  1696,  1698,  1702,  1704,
+    1711,  1722,  1724,  1729,  1732,  1735,  1738,  1762,  1765,  1775,
+    1775,  1775,  1780,  1782,  1784,  1801,  1206,  1814, -4295,  1824,
+    1830,  1842, -4295, -4295,  1848,  1851,  1866,  1881, -4295, -4295,
+    1883,  1887,  1889, 13775,  1893,  1899,  1907, -4295, 23629,  1915,
+    1924,  1930,  1938,  1953,  1960,  1962,  1968,  1971, -4295, -4295,
+   13112,  1780, -4295, -4295,  1973, -4295,  1975,  1990,  2000,  2002,
+    2005,  2010,  2013,  2022,  2029,  2034,  2038,  2045,  2055,  2062,
+    2066,  2068,  2070,  1780, -4295,  1245,  2072,  2079,  1307,  2082,
+   -4295,  2092, -4295,   225,  2101,  1775,  1780,  1780,  2105,  2128,
+    2143,  2145,  2157,  2166, 18416, 18416, 18416, 13112, -4295, 58749,
+   -4295, 58749,  2224,  2586, -4295,  2700, 18416,   214, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295,  1706,  1847, -4295, -4295, -4295,
+   -4295, -4295, -4295,  2171,  1795,  2109, 58749, 58749, 58749,  2238,
+   58749, 58749, 58749, -4295, 49845,  1937, 58749, -4295, -4295,  1590,
+    1908,  4108, 32652,  2103,  2167,  2025,  1775, -4295, -4295,   -62,
+     -12,   678,  2135, -4295, -4295,  2233,   695,  2430, -4295,   710,
+     454, -4295,   126,   712,   748, -4295, -4295, -4295, -4295, -4295,
+   -4295,  2275,  2432,  2179, -4295, -4295,   159, -4295, -4295, 58749,
+   -4295,  2682, 13112, -4295, -4295, -4295,  2631,  2365, -4295, -4295,
+   -4295,   160,  2833,   246, 26861,  1709, 58749,  1024, 66381, 66381,
+   58749, -4295, 61929,  2235, -4295, -4295,  7682, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  2240, -4295,
+   -4295,  2243, 13112,  1534, -4295,  1116, -4295, -4295,  2658, -4295,
+   -4295, 46665, 26861,  1737, 65745, -4295, -4295, -4295, 24275, -4295,
+   -4295,  2882, -4295,  2290, -4295, -4295,  1847,  4265, -4295,  2571,
+    2103,  2580, -4295,  2760, -4295,  2589,  2496,    27,  2381, -4295,
+    2930,  2713, -4295,  2799,  1753, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295,  2348,  1806, -4295, -4295, 53025,
+     873,  2515,  -121,  1156,  1297, 37756,    63, 49845,  1343,   147,
+   30080, 42849,  2344, -4295, -4295, -4295,  -127,  2508, -4295,  2853,
+   -4295,    44, -4295,  2369,  1504,    44, 47301,  2713,  1441, -4295,
+     407, -4295,  2837, -4295, -4295, -4295, -4295,  2506,  2489,  2550,
+   -4295,   411,  2739, -4295,  1191, -4295,   752, -4295,  2526,  2713,
+      44,  1441, -4295,  2780,  2906,   480,  2875, -4295,  -131, -4295,
+   -4295, -4295,   -77,  2982, -4295,  2419, -4295, -4295, -4295, 26861,
+   -4295, -4295, -4295,  2631, -4295,   258, -4295, -4295, -4295, -4295,
+    2423, -4295, -4295,  2710,  2540, -4295, -4295,    72,  2434,    17,
+   -4295,  2932, -4295,  1709, 58749, -4295, -4295, -4295,   993,  1688,
+    1413,  1871, -4295,  1871,  1871,  1871,  1871,  1055, 43485, -4295,
+   -4295, -4295,  2965,  2980,  1775,  2436, -4295, -4295, -4295, -4295,
+   -4295,  3094, -4295, -4295,  2720,  2988,  2988,  2988,  3102, -4295,
+   -4295, -4295, 26861, -4295, -4295, -4295,   125, -4295,  2622,  2490,
+   -4295, 58749,  1708, -4295, 26861, -4295,  2449,  2863,  2457, -4295,
+   -4295,  2718, 13112, -4295, -4295, 13112, 65109,  2958,  2224, -4295,
+   -4295,   489, -4295, -4295, 26861,   290, -4295,  3062,  2675, -4295,
+   -4295, -4295,  3094,  2988, 26861, -4295,  2462, -4295,  2459, -4295,
+   13112, 13112,   351,  3051,  3115,  3115,  3115,  2224,  2501, 13112,
+   13112, 13112, 13112, 13112, 13112, 13112, 13112, 13112, 13112, 13112,
+   13112,   361,  2470, -4295, -4295, -4295,  1312, -4295,  2471, 13112,
+   13112, -4295, 13112, 13112, 28149, -4295,  3984, 13112, 13112,  1021,
+    2986, 13112, 13112, 13112, 13112,  2669, 13112, 13112, 13112, 28149,
+    3130,  2483, -4295,  2478,   364, 13112, 13112,   384, 13112, 13112,
+   13112, 13112, 13112, -4295, -4295, 13112, 13112, 13112, 13112, 18416,
+   13112, 13112, 13112, 13112, 13112, 13112,  2486, 13112,  3115,  3115,
+   13112, 13112,  1605, -4295, -4295, 13112,  2009,  2009, -4295, 13112,
+    9797, 13112, -4295, -4295,  2494, -4295, -4295, -4295, 28149,  3115,
+    3115, 13112, 13112, 13112,  3051,  3051,  3051,   186,  2495,   666,
+   13112, 30723,  2498, -4295, -4295, -4295, -4295, 13112, 13112, 13112,
+   18416, -4295,  1147, -4295, -4295, -4295, -4295, -4295, 14438, 18416,
+   18416,  2502, 18416, 18416, 18416, 18416, 18416,  2880, 18416, 18416,
+   19079, 19742, 18416, 18416, 18416, 18416,  1270,  3051, 49845, 18416,
+   13112, -4295, -4295, 58749, -4295, -4295, -4295,  2507, -4295,  2785,
+    1937, -4295, 47937, -4295,   789,  3003, -4295, 46665, 26861, -4295,
+    2511, -4295,  2884, -4295,  2892,  2893,  2894, -4295, -4295, -4295,
+   -4295,  3133,  2897, -4295,  1191,  2899, -4295, -4295,  2530, -4295,
+   -4295, -4295, 20405, 49845, -4295,  2531, -4295,  2542, -4295, -4295,
+   -4295, -4295, -4295, -4295,  2638, -4295, -4295, -4295, -4295,  2536,
+   -4295, 46665,  2536, -4295, -4295,  2536, -4295, -4295,  2536, 42213,
+      65,  3390, -4295, -4295, 58749, -4295, 59385, -4295,  2964,  1384,
+   -4295, 24275,  1191, -4295,  2972, 15101, -4295, -4295, -4295,  2921,
+     327,  2545, -4295, -4295, -4295, -4295,  3010, 58749, -4295, -4295,
+   -4295, 13112,  2920,  2552, -4295, -4295, -4295,   215, 26861, -4295,
+    2224, -4295,   130,   130,  2817,  1519, 49845, -4295, -4295,   203,
+    2563, -4295,  2651,  2568, -4295,  2654, -4295, -4295, 26861,  2564,
+   -4295, 26861, -4295, -4295, -4295,  2835,  2661, -4295,  1191,    28,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295,  2578,  2595,  3048,  2587, 46665, 42213,    77,
+   -4295, 58749, -4295,  1614, -4295, -4295,   917, -4295, -4295,  1690,
+   44121, -4295,   444,  2618,  2657,  3011, -4295, -4295,  2596, -4295,
+   13112, -4295,  2602,  2609, -4295,  -127, -4295, 47937, 58749, -4295,
+   -4295, -4295, -4295, -4295,  3201, 13112, -4295, 46665, -4295,   -20,
+   -4295,   866,    85,  -127, -4295, -4295, -4295, -4295, -4295, 58749,
+   53661,  2616, 10460,  2741,  3025, -4295, -4295, -4295,  2626,  1871,
+   58749, 58749, 58749, 26861, 58749, 26861, -4295,   857,   857, -4295,
+   -4295, -4295, -4295,    44, 58749, 58749,    44, 42213, -4295,  1441,
+      13, 58749,    44, -4295,  3026,  2728, -4295, -4295, -4295,  3097,
+   -4295, -4295,  3088,  2630, -4295,  3114, -4295, -4295,  2759,  1441,
+   -4295, -4295, 26861, -4295, -4295,  1441, -4295,  1441,  1441, 13112,
+      44,    44,    44, -4295,   -45, -4295, -4295, -4295,  2788,   668,
+   -4295, -4295, -4295,   755, -4295, -4295,   198,  2898, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,   113,
+   -4295, -4295, -4295,  3119, -4295, 47937, 42213,  3096,  1871,  1871,
+   -4295, -4295,  3129, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+    1871, -4295, -4295, -4295, -4295, -4295, -4295,  1708, 49845, 58749,
+   58749, 58749, 26861, -4295, -4295, -4295, -4295, -4295,   136, -4295,
+   -4295, -4295,  2130,  3162, -4295, 49845,  2645,   -82,    39,  2645,
+    2648,  1191,   856, -4295,   856, -4295, -4295, -4295,  1125,  1871,
+   -4295, -4295,  2647, -4295,  2907, -4295, -4295, 49845, 54297, 26861,
+   -4295, -4295, -4295,   199,  2655,  2653,  2224,  2224, 62565,  3261,
+    2690,  4529, -4295, -4295, 26861, -4295,   266, -4295, -4295, -4295,
+    2715, -4295, -4295, -4295, -4295,  2628, -4295, -4295,  1104,  2716,
+    2660, -4295,  2835, -4295,  1601, 58749,  3126, 35212, -4295,   293,
+     182, -4295,  3115,  2668, -4295,  2672,  2683,  2684, 13112,   115,
+     271,   795,  1509,  1494,  1369,   326,  1373,   355, -4295,  1567,
+     409,   414,   441,   239, -4295,  2686,  2693, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295,  2688, -4295, -4295, -4295,   450,
+     486,  1412,  1422,  2698,  2699, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295,  3128, -4295,   498,  1617, -4295,
+   -4295, -4295, -4295,  2701, -4295, -4295,  1431,   575,   613,   281,
+    2708,  1625,   648,  1644,  1659,  2705, 28149, 58749,  3115,  2707,
+    1443,  1465,  3115,  2711,   803,  1481,  1664,  1742,  1754,  1498,
+    1559,   976,  1769,  2743,  1675,  1030,  1065,  1692,  1111,  1178,
+   -4295,  1725,  2719,  2721,  1203,   275,  3115,  2725,   319,  2704,
+    2709,  1746, 11123, 11786, 12449,  1301,  1205, -4295,  2727, -4295,
+    2478,  2742,  2745,   331,   200,  1758, -4295, 13112, -4295, -4295,
+    2714, -4295,  2771,   174,    85, -4295,  2881, 58749,  2435,   177,
+   -4295, -4295, -4295, -4295, -4295, -4295,  1097, -4295,  2729, -4295,
+    2748,  2265,  2744, 13112,   213,  2744,  3421,  2046,  2046, 18416,
+    3241,  2836, 13775,   725, 13775,   725,  2744,  2744,  2744, -4295,
+   18416,  2749, 18416, 18416, -4295,  3051,  2224,  2753,  -205, 58749,
+   26861,   789,  2754, -4295, -4295, -4295, -4295, -4295,  -127, -4295,
+    2756,   143, 26861, 49845,  2757, -4295,  3272, -4295, -4295, -4295,
+   -4295,  1191, -4295, -4295,  4468, -4295, 26861,  2854,  2859,  2860,
+   -4295, 33295, -4295, -4295, -4295, -4295, 33295,    24, -4295, 58749,
+   -4295,  2850, -4295, -4295, -4295,  3196, -4295,  3203,  -208, -4295,
+   24919, 24919, -4295, 24919, -4295, -4295, -4295, -4295, -4295,   454,
+   -4295, -4295, -4295, -4295,   348,   864,  2301,  2618, -4295, -4295,
+   -4295, -4295, -4295, -4295, 34576,  2224, -4295, 26861, -4295,  3192,
+     705, 26861, -4295, -4295,  3187,  2224, -4295, -4295, -4295, -4295,
+   -4295, -4295,  2779, -4295,  2791, -4295, -4295, -4295, -4295, -4295,
+    3009,  2896, -4295,  3441, -4295, 13112,  1191, -4295, 46665, 46665,
+   26861, 26861, 26861,   925, 13112, -4295,  1850,  2795, -4295, -4295,
+    3210, -4295,  3442, -4295,  4265, 20405, 47937,  3243,  3256, -4295,
+    2800, 24919, 24919, 24919, -4295, -4295, -4295, -4295,  2895,  2895,
+   -4295, 31366, -4295, 13112, -4295, -4295, -4295,  3288, -4295,  2992,
+     -53, -4295, -4295, -4295, -4295, -4295, 58749, -4295,  3372, -4295,
+   -4295,  2808, -4295, -4295, 26861, -4295, -4295,  3255, -4295,  2975,
+   -4295,  2224, -4295,  2811, 53025,  3277, 10460,  3281, -4295, 48573,
+   -4295,  2224,  -127,  2821,  2822, -4295, -4295,  3207,   -40, -4295,
+    2823,  2824, -4295,  2816,  2828,  2829, 53025, 13112, -4295,   866,
+   -4295, -4295, -4295, -4295, -4295, 18416,  1824, -4295,  2224, -4295,
+   -4295,  1191,  3296,  1191, 13112,  2838, 58749, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295,    44, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295,  3072,  2713,  2739,  3025, -4295,    44,  1441, 26861,    44,
+      44,  2224, -4295, -4295, -4295, -4295, -4295, -4295,  2839, -4295,
+    2902, -4295, -4295,  3013, 65109,  2845, -4295,  3310,  2713, -4295,
+   -4295, -4295,   234,  -195,  2849,  1871, -4295, 58749, 58749,  1871,
+    1871, 58749, -4295, -4295,   904,  3135,  3140, -4295, -4295,  -127,
+    -127,  3165, -4295,  1191,  2993,  2994,  2996,  3001,  3005,  3047,
+   -4295, -4295,  1191,  1191, -4295, -4295,  -127, -4295,  1064, -4295,
+   -4295, -4295, -4295,  1221, -4295,  -127,  -127, -4295,   244, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295,  1112, -4295,  5099, -4295,
+   -4295, 26861,  3156, 26861,  3338, -4295,  3406, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295,  2891, -4295, -4295,
+   13112,  2971, -4295, -4295,  2690, -4295,  2904,  2910,  2915,  2916,
+    2923,  2924,  2925,  2927,  2928,  2935,  2940,  2942,  2943,  2949,
+    2951,  2952,  2953,  2955,  2959,  2963,  2966,  2968,  2973,  2879,
+   -4295, -4295, -4295,  2939, -4295, -4295, -4295,  -127,  -127,  -127,
+    -127, -4295,  2591, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295,  3266,  2717, 58749,  2970, -4295, 35212, -4295, -4295,   755,
+   -4295,  2944, 15764, -4295,  2961, -4295, 13112, -4295, -4295, -4295,
+    1788, 13112, 13112,  3415,  3074, -4295, 49209, -4295, -4295, -4295,
+   13112, -4295, 13112, -4295, 13112, 13112, 13112, 13112, 49209,  3074,
+   13112, -4295,  2967, -4295,  3362,  3369, -4295, -4295, -4295, -4295,
+   13112, 13112, -4295, 13112, 13112, -4295, 13112, 13112, 13112, 13112,
+   -4295, 13112, -4295, -4295, 18416, -4295,  2974,  2987, -4295, -4295,
+   -4295,  2989, -4295, 13112, -4295, -4295, -4295, -4295, -4295, -4295,
+   13112, -4295, 13112, -4295, 13112, 13112, -4295, 13112, 13112, -4295,
+   -4295, -4295, 16427, 13112, 13112,  2990, -4295, -4295, 13112, 13112,
+   13112, -4295, 13112,   416, 13112,  1470, 13112,  2219, 13112, -4295,
+   13112, -4295, -4295, -4295, -4295, 13112,  1486,  3009,  3210,  2991,
+   -4295,  1816,  2799, -4295,  1279,  2714,  2998,  3139,  1614, -4295,
+   -4295, 49845, 13112, -4295, -4295, -4295, -4295, -4295, -4295, 18416,
+     336,  2999, 18416, -4295,  3421,  2669,  2669,  2285, 13112,   213,
+    3421, 13112,  3002,  2969, -4295, 13112, 58749, -4295, -4295, -4295,
+   47937, -4295, 49845, 46665, -4295, -4295, -4295,   143, -4295,  2511,
+    2981, -4295, -4295, -4295,  2779,   245,  2985,  3004, -4295, -4295,
+   -4295, -4295, -4295, -4295,  1826, -4295, 42213,   162,  3627, 42213,
+   -4295,  2997, -4295,  3007,  3077,  3078,  3090, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  2713, 65109,
+    1850, -4295, -4295,  3008, -4295, -4295,  2718,  2895,  3040,  3395,
+    3591, -4295, -4295, -4295, -4295, 65109, 65109, 13112, 58749, 18416,
+   -4295,  3631,  3027,  3028,  3041,  3031,  2224, -4295,  3117, -4295,
+   -4295, -4295,    62, -4295, -4295, -4295, -4295, -4295,   827,  1860,
+   -4295, -4295,  3032,  3032, 22339, -4295, -4295, -4295, 58749, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  3049, -4295,
+   -4295,  3313, 46665, 42213,  3500,  3501,  3503,   724, -4295, -4295,
+   -4295, 49845,  3044, -4295, -4295, -4295,  2224,  3045,   354, 44757,
+    3530, 44757, 44757, -4295,   798,  3452,  3453, -4295,  3327,  2207,
+    3327, -4295, -4295,   798,   755,  2835, -4295, 13112,  3670,  3502,
+    3384, -4295, 50481, -4295, 35848, -4295,  7155, -4295, 46665, -4295,
+   -4295, -4295, -4295, -4295,  3167,  3169,  1333, -4295, -4295,  3477,
+    3304, -4295, -4295, -4295,  -127,  2224, -4295,  2616,  3081, 32009,
+   -4295,  1034, -4295, -4295,  2224,   315, -4295, -4295, -4295,  3373,
+   -4295, -4295,  3296, -4295,  2618,  1441, -4295, -4295,   -45,  2520,
+   -4295, 28149, 63201,  3210,  3408, -4295, -4295, -4295,   247,  3738,
+   -4295, 58749,  3087,   515, -4295, -4295, 58749,  3551,   218,   218,
+    3374, 26861, 26861,  5132, 48573, 45393, -4295, -4295, -4295, -4295,
+    3632, -4295,  3634,  1479, -4295, -4295,  2917,    39, -4295,  1191,
+    1191,  1191,  1191,  3210,  1191,  1191,  1843, -4295,  2917,  2917,
+     856, -4295,   235, -4295, -4295, -4295, -4295,  2692,  -127,  3674,
+    3358,  -127,  -127,  3674,  -127,  3359,  3360,  -127,  -127,  3186,
+    3621,  -127,  3504,  3211,  2053,  3508,  -127,  3375, -4295,  3216,
+    3635,  -127,  -127,  -127,  -127,  -127,  3674,  3378,  3725,  -127,
+    -127, -4295,  -127,  3379,  3381,   202,  3380,  3386,  -127,  -127,
+    -127,  -127,   217, 58749,  -127,  -127,  3387,  -127, -4295, -4295,
+    6367, -4295, -4295, -4295, -4295, -4295, -4295,   684, 25569, -4295,
+   -4295, -4295, -4295,  -127, -4295,   187, -4295,  3332, -4295,  1194,
+   51117, 63837,  3131,  3134, 54933,  2224, 65109, 13112, -4295,  3136,
+    3138,  3143,  3210,  1191,  1191,  1034,  1191,  3210,  1191,  1191,
+    1191,  1191,  1191,  1191,  1191,  3210,  3210,  1191,   930,  1352,
+    1191,  3210,  4529, -4295,  1191,  3009,  2917,  2917,  1104, -4295,
+    3588,  -127, -4295,  2584, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295,  3144,   755,  2618,  1651,  2618,  3151,
+   -4295, 13775,  1767, -4295,  2224, 13112,  2224,  1868, -4295,  3147,
+    3147,  3147, -4295,  3148, -4295, -4295,  3147,  3560,  3147,  3561,
+    3154,  3155,  1884,  1003, -4295,  1894,  2264,  1771,  3159,  3160,
+    1706, -4295, 13112, 13112,  1819,   365,  1831,   630,  1220,  1222,
+     372, -4295,  1835,  3212, -4295, -4295,  1858,  1862,  1890,  1901,
+    1234,  1903,  1896, 13775,  1909,  1296,   382, -4295,  1911,  1249,
+    1261,  1913, 13112,  1925, 13112,  1964, 13112,  1980,  1982,  2003,
+    3164,  3164,   180, -4295,  3163, -4295, -4295, -4295,  3166, -4295,
+   -4295, -4295, -4295,  2618,  2348,  1279, -4295,  3171,  1175, -4295,
+   -4295,  3168,  2224,  3176, -4295, -4295, 13112, -4295,   214, -4295,
+   -4295, 18416,   398,  3177, -4295,  2224, -4295, -4295,  3179,  1706,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  3189, -4295,
+    3394, -4295, -4295,  3695, 33295, -4295, 58749,   642,   661, -4295,
+   -4295, 49845,  3459, -4295,  3193, 36484, 42213, 42213, 42213,  3190,
+   -4295, 60021,  3475, 26861, -4295,  3616, -4295, -4295, -4295, -4295,
+   58749, 66381, 66381, 66381, 66381,  3194,  3195, -4295, -4295, -4295,
+    3421,  3576,  3456, -4295, -4295,  3009, 58749, 46665,  3510, -4295,
+   -4295,  3407,  1806, 28149, -4295,  3209, -4295,  3209,  1131,  3214,
+    1920, -4295, -4295, -4295,  3204,  2381,  1935, -4295, 20405,  3671,
+    2756, -4295, 42213, 42213, 42213, -4295,  2404, -4295, 31366, 13112,
+   -4295, -4295, -4295, -4295, -4295, 44757, -4295, -4295,  -179,  1175,
+   -4295,  1991, -4295, -4295, -4295,  3614,  3327,  3327,   798,  3618,
+    2731, -4295,  3496, -4295,  1806,  2224, 13112, -4295,  3490, -4295,
+   55569, -4295, -4295, -4295, -4295,  1048, -4295, -4295,  3220,  3221,
+     219,  3450, -4295, -4295, -4295, -4295, 10460, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  2713, -4295,
+   -4295, -4295, -4295, -4295,    44, -4295,  3238, -4295,  3223,  3225,
+   -4295,  -127,  3257, -4295, -4295, 42213,  3422, -4295,   878,  3242,
+   58749, -4295,  3782, -4295, -4295, -4295, -4295, -4295, 26861, -4295,
+   -4295, 26861, 21051, -4295, -4295,  3505, -4295,  4217, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295,  1221, -4295, -4295, -4295,  1112, -4295, -4295, 28793,  1871,
+   -4295,   264, -4295,  1871,   199,   199,  3667, 56205, 28793,  1127,
+    1034,  3210,  1598,  3210, 56841,  1127,  1191,  1191,  2404,  -127,
+    3210, -4295, -4295,  3639,  1590,  3640,  1598,  1598, -4295, 49845,
+   58749, -4295,  -127,  1483,  3210, 57477,  1034,  1034,  1598,  1127,
+   28149,  2461,  2539, -4295,  1191,  1127, -4295, -4295, -4295, -4295,
+   26861,  1127,  1127,  2528,  3170,  3184,  3237, -4295, -4295, -4295,
+    3210,  2539, 56841, -4295, -4295,  8083, -4295, -4295, -4295, 21695,
+   58749,   362,   212, -4295,  3250, 40305,  3251,  1709,  1093,  3337,
+    1580, -4295,   151, -4295, -4295, -4295,  3703,  3262,  1803, -4295,
+    3263, -4295, 56841, -4295,  3267, -4295,  3265, -4295, 60657,  2224,
+    3210,  3210,  3210, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, 58749,  2917,  2717, -4295, 35212,  2618,  3490, -4295, -4295,
+    2669, -4295,  2224, 13112,  1259, -4295, -4295, -4295, -4295,  1407,
+   -4295, -4295, -4295,  3275, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295,  3607, -4295, -4295,  3074, -4295, -4295, -4295,  3278,  2669,
+    2669, -4295, -4295, 13112, -4295,  3887,  3451, 13112, 13112, -4295,
+   13112, -4295,   260,  3280,  3311, -4295, -4295, -4295, -4295, 13112,
+   -4295, -4295,  2669, -4295, 13112, -4295, -4295, 13112, -4295, 13112,
+   13112, -4295,  2030, -4295,  2036, -4295,  2051, -4295, -4295, -4295,
+    3009,  3283,  3676, -4295, -4295, -4295,  3009,  3478, -4295, -4295,
+    3009,  3210,  3255,  2596, -4295, -4295, -4295,  2799,   666, 58749,
+   -4295, -4295,  1942, -4295, -4295, 13112, -4295, 50481, -4295, -4295,
+    1034,  3763,  3662, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  3740,
+   -4295,  3389, -4295,   188, -4295, -4295, -4295,  -119,  -119,  -119,
+   17090,  2480,  3802, -4295, -4295, -4295,  3616,  3687, -4295,    92,
+    3298, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, 58749,
+    3300,  1548, -4295,  1984, -4295, -4295,  3302, -4295, -4295, -4295,
+    2348,  3307, -4295,  -127, 17090,  3032,  3479, -4295, -4295,  1131,
+   28149, 35848, -4295, -4295, 58749, -4295, 42213,  2800,  2800,  2800,
+   45393, -4295, -4295,   354, -4295,  1614,  2781, -4295,   755, -4295,
+     798,  3702,  3711, -4295,   798, -4295, -4295, -4295,  2348,  -204,
+     354, 13112,  2713, -4295, -4295, 37120, -4295, -4295, -4295, -4295,
+   -4295, -4295, 32009, 53025, -4295,  2713, -4295,  1191,  2409, 28149,
+    2618, 17090, -4295, -4295, 58749, -4295, -4295, -4295, -4295,  3463,
+   -4295,   436,  3597,  3342, -4295,  3319,  3324, -4295, 26861,  3328,
+    3331,  3323, -4295, -4295, -4295,   287, -4295,  4030, -4295, -4295,
+   -4295, -4295, -4295,  1127,  3333,  3723,  3732,   199, -4295,  1871,
+   28793, -4295,  1871,  1871,  1709, -4295, -4295, -4295,   161, 56841,
+   -4295, -4295, 28793, -4295, -4295, -4295,  3343, -4295, -4295,  3009,
+   -4295, -4295, 45393,  1191, -4295,  1598, 58749, -4295, 28793, 28793,
+   -4295,  3367,  1191, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, 28793, 56841,  3344, -4295,   354, -4295, -4295, -4295,
+   -4295, -4295,  1946, -4295, 56841, -4295, -4295, 56841, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295,  3347,  2241,  1945, -4295,  3349,
+   -4295, 58749, -4295, -4295, 26861, -4295, -4295, -4295,  6951, 58749,
+   -4295, -4295, -4295, -4295, 58749,  3991, -4295,  3598, 13112, 13112,
+    3637, 58749,  3638, -4295,  3929, -4295, -4295,  3781,  3826, 58749,
+    6951,  3831,  3832, -4295,  3376, -4295, 54933,  3464,  1996, -4295,
+   -4295,  2018, -4295, -4295,  2052, -4295, -4295, -4295, -4295, -4295,
+    2944, -4295,  3755,  1365,  2224,  3382,  3383,  3391,  3392,   197,
+    2073,  3664, -4295, -4295, -4295,  3147, -4295,  3148, -4295, -4295,
+   -4295,  3976, -4295, -4295,  3147,  3788, -4295, -4295, -4295,  3397,
+   -4295,  3399,  3401,  2083, -4295,   198,  3402,  2099,  1263,  2085,
+    3706,  3778, -4295,  3622, -4295,  2146,  1426,  2148,  2150,  2178,
+    2189, -4295, -4295, -4295, -4295, -4295,  3403, -4295, -4295,   223,
+   -4295,  3404,  3502, -4295, -4295, -4295, -4295,  2116, -4295, -4295,
+    2118, -4295, -4295,  4037,  3680, -4295, -4295, -4295,  1191,   960,
+    3435,  3435,  3435,  1824,  2224,  2120, -4295, 65109, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295,  3816, 58749, -4295, -4295,  3409,
+    3441, 58749, -4295,  3456, -4295,  2596, 28149, 17090,  3410,  3418,
+   -4295,    17, -4295, -4295,  3413, -4295, -4295,  2800, -4295,  3994,
+   -4295, -4295, -4295,  2808,  3439,  3472,   798,   798,  3556,  3473,
+   13112,  3424, -4295,    70,  2596, -4295, -4295, 13112, -4295, -4295,
+    2224,  3665, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  3490,
+   -4295,  3425,  3426, -4295, -4295,  1191,  1109, -4295, -4295,   110,
+    3609, 49845,  3429, 58749, 58749,  3432, -4295, -4295, 21695, -4295,
+    4074, -4295, -4295, 13112,  1871, -4295, -4295, 28793,  3487,  -178,
+   28793, 28793,  3918,  3967,  3968, -4295, 28793,  2628, 58749, -4295,
+    3201, -4295, 28793,  3343, -4295,   495,  3542, -4295,   362, -4295,
+   28149, -4295, -4295, -4295, 58749, -4295, 26861, -4295, -4295,  3443,
+   -4295,  3147,  3147,  3147, -4295, -4295,  3147, -4295,  3148,  3690,
+    3447,  3148,  3148, -4295, -4295, -4295, -4295, -4295,   197,   670,
+   -4295, -4295,   197, -4295, -4295, -4295,   175,  1524,  3148, -4295,
+   -4295, -4295, -4295, -4295,  3458, -4295,  3147,  3147,  3147, -4295,
+   -4295,   197,  3147, -4295,  3147, -4295,  3148,   330,   178,  3147,
+    3147,  3147,  3275,  3445, -4295,  2138, -4295, -4295,  2224,  2669,
+    4031, -4295, -4295,  3615,  1191,  3969, 58749,   170, -4295, -4295,
+    3201,  3990,  1713, -4295, -4295, -4295, 65109, -4295,  3210, -4295,
+    3210, -4295,  3210, 46029, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295,   191, -4295, -4295, 49209,  4087, -4295,  3757,  3465, -4295,
+   -4295, -4295, -4295, -4295,   197, -4295, -4295, -4295, -4295, 13112,
+   -4295, -4295, -4295, 13112, -4295, -4295,  3790,  3951, -4295, -4295,
+   -4295, -4295, -4295, -4295,  3476, -4295,  3210,  3490, -4295, -4295,
+    1034,  3989, -4295, -4295, -4295,  3570,  3572, -4295, -4295,  3574,
+   -4295, -4295,   163,  3012, -4295, -4295, -4295, -4295, 17090, 64473,
+   -4295,  3876,  3582, -4295, -4295, -4295,  3483,  3533, -4295, -4295,
+    2799, -4295, -4295, -4295, -4295,  1276,  3869,   666, -4295,  3541,
+   -4295, -4295, -4295,  3543,  2224, 58749, -4295,  1038,  2799,   354,
+   58749,  3900,  3755, -4295, 58749,  6951, -4295, -4295, -4295, -4295,
+    3493,  3494, -4295, 58749, -4295, -4295, -4295,  3786,  1093,  3775,
+   58749,  2162,   354,  3507,  2197, -4295,    17,  6367, -4295, -4295,
+     982,   -85,  2205, 28793,  3487,  1188,   218, -4295,   218, -4295,
+   -4295, -4295, -4295,  3599,   362, -4295, -4295, -4295, -4295, -4295,
+   26861, -4295,  1127, -4295, -4295,  3343,   827,  3509, 58749,  3855,
+   -4295, -4295, -4295, -4295,  -100, -4295,   198,  -100,  -100, -4295,
+    2515, -4295,  3554,   197, -4295, -4295,  3555, -4295, -4295, -4295,
+    -100,   198,   197, -4295, -4295, -4295, -4295,  -100,  3354,  3648,
+   -4295,   197, -4295, -4295,  4087, -4295,   197,  4087,  -100,  -100,
+   58749, -4295, 58749, -4295,  1041, -4295, -4295, -4295, -4295, -4295,
+    2200, -4295, -4295, -4295, -4295, 39669, -4295, 13112, -4295, -4295,
+   -4295, -4295, -4295,   724, 61293, -4295, -4295, -4295,  4001,  3705,
+    3716, -4295, -4295, -4295,  3525, -4295,  3528,   354,  2212, -4295,
+   -4295, -4295,  3526,  2713, -4295,  4127, -4295, -4295, -4295, -4295,
+     183,  3809,  3210,  3210,  3210,  1352,   -52,  3012, -4295, -4295,
+    3592, 26861, 18416,  3647, 58749,  1663,  3052, -4295,  4148,  4150,
+    4040,  4152,  1276, -4295,  -118, -4295, -4295, 13112,  3544, 13112,
+    3545,  2202, -4295, -4295,   199,   199, -4295,  1038, -4295, -4295,
+   -4295,  1690, -4295, -4295,  3739, -4295, -4295, -4295,  1747, -4295,
+   -4295,  3637,  3547,  2206,   259, 58749, -4295,  3836,  1594, -4295,
+    3505,  3479, -4295,  3009,  3456, -4295, -4295, -4295, -4295,   218,
+   -4295,  3550, -4295,  3558,  3562,  2854,  2859,  2860,  1352,  1352,
+   -4295, -4295, -4295, -4295, -4295,  3959, -4295, -4295,  2210, -4295,
+     185,  3838, -4295, -4295, -4295, -4295,  -100, -4295,  2232, -4295,
+   -4295, -4295, -4295, -4295, -4295,  2246, -4295, -4295, -4295, 49845,
+    1191,  3462,  4205, -4295,  3619, -4295,  4091,  3960, -4295,  4207,
+   -4295,  3188, -4295,  3961,  3858,  -127,  3583, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295,   473,  3600,  3698,
+   -4295, 65109, -4295, 58749, 58113, -4295, -4295, 33938, -4295, -4295,
+   -4295,  4032, -4295,  2224, -4295, -4295,  4056,  2348, -4295, -4295,
+   13112, -4295, -4295, -4295,  3665, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295,   995, -4295, -4295, 28149,  2835, -4295,  3009,
+   -4295,  2252, -4295, -4295, -4295,  3668,  -127,  -127,  4094,  4095,
+    -127,  -127,  -127,  -127,  3581,  3052, -4295,  4076,   198,   198,
+    4193,   198, -4295,  4194,  4196,  -118, -4295,  2224, 58749,  2224,
+   58749, -4295,  4052,  4052, -4295,  3595, -4295, -4295, -4295, -4295,
+   -4295,  1580, -4295,  1221,  1027,  1191,  -127,  3857,   297,   259,
+   -4295, -4295,  -127,   354,  3601,   297,  1594, -4295, -4295,   287,
+    3603,  2381, -4295,  2266,  3606,  3608, -4295, 58749,  3610, 58749,
+   58749, -4295, -4295, -4295,  3611, -4295, 58749, -4295, -4295, -4295,
+     288, -4295, -4295,   197,   198,   197, -4295, -4295,  3613, -4295,
+   -4295, -4295,  3891,  3644, -4295,  3617, -4295, -4295, -4295, 40941,
+    3888, -4295,  3623,   375, -4295, 13112,  4097, -4295, -4295, -4295,
+    2268, -4295, -4295, 39669, -4295, -4295, -4295,  2596,   354,  1690,
+   -4295, -4295,  3605, -4295,  -127, -4295,  3624, -4295, -4295, 58749,
+    3628, -4295,  1191,  1191,  -127,  -127,  3246,  3246,  3009, 49845,
+    3720, -4295, -4295,  -127, -4295, -4295,   198, -4295,   198,   198,
+   -4295,  2270,  2302,  1518, -4295, -4295,  3629,  6951,  4047, 26861,
+    3929,  2308,   218,   218,   297,  1027, -4295, -4295, -4295, -4295,
+    3210,  1723, -4295,  3986,  4263, -4295, 41577, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, 58749, 58749,  3643,  2311, 58749,
+    2313,  2322,  3456, -4295,   934,   934, -4295, -4295, -4295,  2087,
+   -4295,  3613, -4295, -4295, -4295, -4295, -4295, -4295, -4295,    17,
+    4215,  3907,  4228,  2224, 13112, -4295, -4295, 58113, -4295, -4295,
+   -4295, 28149, 17090,  2404, -4295,  3647, -4295,  3645, -4295, -4295,
+     -41, -4295, -4295,  1191,  1191, -4295, -4295, -4295, -4295, -4295,
+    2325, -4295, 49845, -4295, -4295, -4295, -4295, -4295,  4247, -4295,
+    4249,  3646,  3650, 13112,  3651,  3642, -4295, -4295, -4295, -4295,
+    4166, 65109,  4112,  4161, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295,    17,  2329,  2333,
+   58749,  1027,  2338,   259,  1594,  2356, -4295,  4310, -4295,   874,
+    3939,  3940, -4295,  3659, -4295,  3666, -4295,  3941, -4295,  3943,
+    2224, -4295, -4295, -4295, -4295, -4295, -4295,  2363, -4295, 17753,
+   -4295, -4295, -4295, -4295, -4295, 49845, -4295,  3720, -4295, -4295,
+   -4295, 54933, 54933,  2224, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295,  3890,  1027,  2370, -4295,  1027, -4295, -4295, -4295,
+   -4295, -4295, -4295,  3728,  4192, -4295,   -73, -4295, -4295,  3861,
+   -4295,  3645, -4295,  3682, -4295,  3421,  3052, -4295, -4295,  3677,
+    2380, -4295, -4295,  4047, -4295, -4295, -4295, -4295,  1027, -4295,
+     934,   934, -4295, -4295,   169,  4111,  3994, -4295, 17753,  3685,
+   -4295, -4295, -4295, 65109,  4189, -4295, -4295, -4295,  1191,  4084,
+   -4295,   169, -4295,  4304,  3869, -4295, -4295, -4295,  3878, -4295,
+   -4295, -4295,   198,  4119, -4295, -4295,  3987,  3707, 65109,    79,
+   22983,  3863, -4295, -4295, -4295, -4295, -4295, 49845,  2387, -4295,
+   -4295, 28149, -4295, -4295, -4295, 26215,  3701, -4295,  -127, -4295,
+   28149, -4295, -4295, 17090, -4295, -4295
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -4558,110 +4563,110 @@ static const yytype_uint16 yydefact[] =
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-   -4035, -4035, -4035, -4035,  1718,  3435, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035,  1864, -4035, -4035, -4035, -4035, -4035,
-    1515, -4035,   334, -4035,   340, -4035,   339, -2541,  -477,  3325,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-    -133,  1174,  3275, -4035,   228, -4035,  -124, -4035, -4035, -4035,
-   -3505,  -242,  -409, -4035,     0,    20,  3259,  -402, -3589, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -2867, -4035,
-   -4035, -4035,    57, -4035, -4035,  -578, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035,  -187,   367,  2072, -4035, -4035, -4035,
-    4348, -4035,  3787, -4035, -1924,  2337, -4035, -4035, -4035, -4035,
-   -4035,  2426, -1834, -4035, -4035, -4035,  1389, -4035, -4035, -4035,
-    -922,    29, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035,   570, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  2116, -4035,
-   -4035,  3714, -4035, -4035, -4035,  1371, -4035, -4035, -4035, -4035,
-   -4035, -4035, -1306, -4035,  1849,  1853, -4035,  1847, -4035,  -144,
-     528, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  3241, -4035,
-   -4035, -4035, -2326, -4035, -4035, -2600,  2724, -4035, -1947, -4035,
-   -4035, -2083, -4035, -4035, -1927,  -704, -4035, -4035,  1457,  -343,
-   -4035, -1562, -2138, -2136, -4035, -4035, -4035, -2194, -2176,  -769,
-    2474, -1266, -2521, -4035, -4035, -4035, -4035,  -113, -4035, -4035,
-      69,  1605,  2157, -4035, -2718, -4035, -4035,   757, -4035, -4035,
-    1380,   582,  1377, -4035,   926,  2984, -1330, -4035, -4035, -4035,
-   -4035, -4035, -4035,  -163,   146,  -257, -4035, -4034,   594, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -2858, -4035, -4035,
-   -4035,  -399, -4035, -4035,  -337, -4035, -4035,  -375, -4035,   -33,
-   -2542, -4035, -4035, -4035, -4035,  2243, -1536, -4035,  -586, -4035,
-     286,  1646, -2607, -2130, -4035, -1039, -1024, -3159, -4035, -4035,
-   -4035, -4035,  1169, -4035,   541,  1644, -2608, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035,  1172, -4035, -4035, -3371, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035,  -400, -4035,  -210,   758,
-   -4035, -3174,  1084,   489, -4035, -4035, -4035, -4035, -1827, -3177,
-   -1391, -4035,    83, -2760, -2736,   461, -4035, -4035,    60, -3837,
-   -4035,  -602, -2297, -2575,  -218, -4035, -4035,    77, -2833,  1753,
-   -4035,   429, -1053, -2841,  1521, -4035, -4035,  1042, -4035, -2211,
-    1044, -4035, -4035, -4035,  1055, -4035,  -313, -4035, -4035, -4035,
-   -4035, -3014, -4035, -1659, -2948, -4035, -4035,  4406,  4407, -2164,
-    -260,  -259, -4035, -4035, -4035,   322, -4035, -4035, -2141,  -138,
-     -28,   -20, -2639, -3698,   155, -3352, -4035,   280, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035,  1687, -1286, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -3322, -3068, -4035, -4035,  1220,
-   -2993, -2221, -2217, -2569,  3428, -4035, -4035, -4035, -4035,  3361,
-   -2410, -2813, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  2889,
-    1206, -4035, -4035,  1812, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035,   313,  1925, -4035, -4035, -4035, -4035, -4035,
-    2245, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  -173,
-   -4035, -4035, -4035, -4035, -4035,   579,  2789, -4035, -4035, -4035,
-   -4035,    -9, -4035, -4035, -4035, -4035,  2469, -4035, -4035, -4035,
-   -4035,  2811, -4035, -4035, -4035, -4035, -4035, -4035,  1490, -4035,
-    1966, -4035, -1634, -4035, -4035,  1029,  -147,  1910,  -628, -4035,
-    2063, -4035,   111, -4035,  3442, -4035, -4035, -3273,  3537, -4035,
-   -4035, -2633, -4035,  3533, -1498, -2875,  2431,   294,  -141, -2063,
-    1079,  -128,  -347,  1344,  5109, -4035, -1225, -1219, -4035, -4035,
-      -2, -4035, -4035, -4035, -4035, -4035, -4035,  2170,  2179,  -638,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035,  1550, -4035, -4035, -4035, -4035, -1318, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035,  -993, -4035, -2235, -4035, -4035, -4035,
-    -512, -4035,  3309, -4035, -4035, -4035, -2463, -1515,  1912,  1006,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035,  1914, -4035, -1719,
-   -4035, -2935, -4035, -4035, -4035, -4035,  1572, -4035, -4035, -4035,
-   -4035, -4035, -4035, -1844, -4035, -2072,    52, -4035,   230, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035,  -233,   825,  -230, -3119,
-   -1214,  1764, -4035, -4035, -1375,  3356, -1949, -4035,   747, -4035,
-    2080,  1128, -4035, -4035, -4035, -4035,   623, -2971,  2935, -4035,
-   -4035, -3381, -1015, -4035,  2936, -4035, -1467,  1481,   444, -4035,
-   -1527, -1197, -2258, -3208, -2657, -4035,  1307,   135, -4035, -4035,
-   -4035,  -204, -4035, -4035, -4035,  1504, -4035,   454,   455, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,  -580,
-    -955, -4035, -4035,  2254, -1899,  -489,  4514,     1, -4035, -4035,
-       2, -4035, -4035, -4035, -4035,  3180,  3129,  2052, -4035, -4035,
-   -2536, -4035, -4035,  2011, -4035,   750,  -999,  1218,  1082, -4035,
-   -4035,  1086, -3479, -4035, -4035,     4, -4035, -4035, -4035,  1034,
-   -4035,   -83,  3989,     5, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035,  2872, -1151,  3900, -4035, -4035, -4035, -4035, -4035,
-   -4035,  2435, -4035, -4035, -4035, -4035, -4035, -4035,  3054,  4011,
-    -607, -1439, -4035,  -849,  2436,  1927,  -846, -4035, -4035, -4035,
-    3508,  4014, -4035, -4035,  4517, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035,  2664,   674, -4035, -4035,   547, -4035,
-   -4035, -4035, -4035,  3152, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035,  1139,  -205, -4035,
-     327,  -222, -4035,   152, -4035, -4035, -4035, -4035, -4035,  -252,
-   -4035, -4035,  -254, -4035, -1105,  3835, -1471,   255, -1362, -2770,
-   -4035,  1121,  3132, -2970,  -705, -1228, -1256, -2899,   -15, -4035,
-   -4035,  3758,    30,  -473, -1814,    -6,  -853,  -107,  -627,  -634,
-    -844, -4035,  -515, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035,  1978, -4035, -4035, -4035,  1085, -4035,
-    4052, -4035,  2766, -1493,  4053,  -584,  2524,  1996,  1999, -4035,
-   -4035, -4035, -4035, -1962, -4035, -4035,   190, -4035,  2644, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035, -4035, -4035, -4035, -4035,  3026,  -483,  -481,  3170,
-    4071,  3712, -4035,  3262, -4035, -4035, -4035, -4035, -4035,   384,
-   -4035,   927,  2065, -1551, -2411, -4035, -4035,  2150,   823, -4035,
-    1664,  -487,  -789, -4035, -4035,   378, -4035, -4035, -4035,  1385,
-    1540,  4081,  3707, -4035, -4035, -4035, -4035, -4035, -3001,  -982,
-   -4035, -3700, -2595, -4035, -4035, -4035, -2336, -3281, -4035, -4035,
-   -1104, -4035, -4035, -4035, -4035, -2183, -4035, -4035, -4035,    -1,
-    4038,  4042,  4045, -4035,  -866, -4035, -4035, -4035, -4035, -4035,
-   -4035, -4035,  3584, -4035, -4035, -4035, -4035, -4035,  3048,  3587,
-   -4035, -4035, -4035, -4035, -4035,  3590, -4035, -4035, -4035, -4035,
-   -4035,  1660, -4035, -4035, -4035, -4035, -4035, -4035, -4035, -4035,
-   -4035
+   -4295, -4295, -4295, -4295,  1714,  3428, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295,  1856, -4295, -4295, -4295, -4295, -4295,
+    1505, -4295,   329, -4295,   334, -4295,   333, -2539,  -477,  3320,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+    -138,  1166,  3270, -4295,   222, -4295,  -130, -4295, -4295, -4295,
+   -3497,  -246,  -415, -4295,     0,    20,  3253,  -409, -4294, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -2137, -4295,
+   -4295, -4295,    50, -4295, -4295,  -578, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295,  -193,   359,  1320, -4295, -4295, -4295,
+    4340, -4295,  3783, -4295, -1937,  2331, -4295, -4295, -4295, -4295,
+   -4295,  2420, -1834, -4295, -4295, -4295,  1385, -4295, -4295, -4295,
+    -922,    29, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295,   560, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  2106, -4295,
+   -4295,  3704, -4295, -4295, -4295,  1361, -4295, -4295, -4295, -4295,
+   -4295, -4295, -1308, -4295,  1838,  1837, -4295,  1839, -4295,     9,
+    -577, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  3224, -4295,
+   -4295, -4295, -2255, -4295, -4295, -2647,  2722, -4295, -2015, -4295,
+   -4295, -2087, -4295, -4295, -2009,  1043, -4295, -4295,  1423,   337,
+   -4295, -1562, -2136, -2118, -4295, -4295, -4295, -2202, -2179,  -769,
+    2466, -1266, -2521, -4295, -4295, -4295, -4295,  -116, -4295, -4295,
+      58,  1600,  2147, -4295, -2718, -4295, -4295,   746, -4295, -4295,
+    1368,   570,  1366, -4295,   914,  2976, -1330, -4295, -4295, -4295,
+   -4295, -4295, -4295,  -174,   131,  -264, -4295, -4053,   579, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -3024, -4295, -4295,
+   -4295,  -413, -4295, -4295,  -351, -4295, -4295,  -389, -4295,   -47,
+   -2542, -4295, -4295, -4295, -4295,  2228, -1536, -4295,  -586, -4295,
+     274,  1632, -2635, -2130, -4295, -1039, -1024,  -269, -4295, -4295,
+   -4295, -4295,  1157, -4295,   527,  1630, -2608, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295,  1155, -4295, -4295, -2612, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295,  -411, -4295,  -221,   747,
+   -4295, -3126,  1072,   477, -4295, -4295, -4295, -4295, -1630, -3177,
+   -1060, -4295,    73, -2760, -2734,   449, -4295, -4295,    51, -3929,
+   -4295,  -602, -2297, -2575,  -229, -4295, -4295,    67, -2370,  1745,
+   -4295,   420, -1132, -2941,  1511, -4295, -4295,  1036, -4295, -2984,
+    1035, -4295, -4295, -4295,  1042, -4295,  -326, -4295, -4295, -4295,
+   -4295, -3482, -4295, -1659, -2955, -4295, -4295,  4395,  4397, -2654,
+    -271,  -270, -4295, -4295, -4295,   312, -4295, -4295, -1940,  -148,
+     -37,   -29, -2639, -3721,   146, -3413, -4295,   272, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295,  1678,  -937, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -3322, -3068, -4295, -4295,  1211,
+   -3055, -2221, -2217, -2601,  3414, -4295, -4295, -4295, -4295,  3352,
+   -2417, -3620, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  2888,
+     861, -4295, -4295,  1805, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295,   304,  1921, -4295, -4295, -4295, -4295, -4295,
+    2226, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  -186,
+   -4295, -4295, -4295, -4295, -4295,   573,  2773, -4295, -4295, -4295,
+   -4295,    -9, -4295, -4295, -4295, -4295,  2463, -4295, -4295, -4295,
+   -4295,  2802, -4295, -4295, -4295, -4295, -4295, -4295,  1482, -4295,
+    1956, -4295, -1634, -4295, -4295,  1018,  -147,  1900,  -628, -4295,
+    2054, -4295,    90, -4295,  3420, -4295, -4295, -3279,  3529, -4295,
+   -4295, -2643, -4295,  3512, -1498, -2875,  2413,   342,  -141, -2063,
+    1067,  -146,  1629,   745,  5109, -4295, -1225, -1219, -4295, -4295,
+      -2, -4295, -4295, -4295, -4295, -4295, -4295,  2153,  2158,  -638,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295,  1533, -4295, -4295, -4295, -4295, -1318, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295,  -964, -4295, -2235, -4295, -4295, -4295,
+    -512, -4295,  3290, -4295, -4295, -4295, -2459, -1515,  1892,   991,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295,  1902, -4295, -1719,
+   -4295, -2931, -4295, -4295, -4295, -4295,  1563, -4295, -4295, -4295,
+   -4295, -4295, -4295, -1880, -4295, -2013,    40, -4295,   220, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295,  -247,   810,  -244, -3863,
+   -1214,  1648, -4295, -4295, -1375,  3340, -1949, -4295,   737, -4295,
+    2063,  1113, -4295, -4295, -4295, -4295,   603, -2971,  2918, -4295,
+   -4295, -3389, -1015, -4295,  2919, -4295, -1467,  1459,   417, -4295,
+   -1527, -1197, -2350, -3208, -2657, -4295,  1280,   106, -4295, -4295,
+   -4295,  -233, -4295, -4295, -4295,  1484, -4295,   426,   428, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,  -583,
+    -952, -4295, -4295,  2227, -1916,  -489,  4490,     1, -4295, -4295,
+       2, -4295, -4295, -4295, -4295,  3157,  3104,  2026, -4295, -4295,
+   -2810, -4295, -4295,  1986, -4295,   730,  -999,  1218,  1063, -4295,
+   -4295,  1056, -3479, -4295, -4295,     4, -4295, -4295, -4295,  1010,
+   -4295,   -99,  3973,     5, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295,  2846, -1151,  3880, -4295, -4295, -4295, -4295, -4295,
+   -4295,  2414, -4295, -4295, -4295, -4295, -4295, -4295,  3033,  3992,
+    -607, -1438, -4295,  -828,  2416,  1912,  -846, -4295, -4295, -4295,
+    3489,  3997, -4295, -4295,  4508, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295,  2656,   662, -4295, -4295,   529, -4295,
+   -4295, -4295, -4295,  3145, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295,  1123,  -218, -4295,
+     318,  -228, -4295,   140, -4295, -4295, -4295, -4295, -4295,  -257,
+   -4295, -4295,  -261, -4295, -1105,  3818, -1471,   240, -1362, -2770,
+   -4295,  1114,  3122, -2992,  -705, -1228, -1256, -3038,   -15, -4295,
+   -4295,  3758,    30,  -486, -1641,    -6,  -853,  -107,  -627,  -634,
+    -844, -4295,  -515, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295,  1966, -4295, -4295, -4295,  1074, -4295,
+    4038, -4295,  2758, -1493,  4039,  -584,  2512,  1985,  1987, -4295,
+   -4295, -4295, -4295, -1970, -4295, -4295,   190, -4295,  2636, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295, -4295, -4295, -4295, -4295,  3014,  -483,  -481,  3161,
+    4060,  3683, -4295,  3254, -4295, -4295, -4295, -4295, -4295,   376,
+   -4295,   129,  2050, -1551, -2546, -4295, -4295,  2139,   743, -4295,
+    1653,  -428,  -765, -4295, -4295,   374, -4295, -4295, -4295,  1375,
+    1557,  4071,  3688, -4295, -4295, -4295, -4295, -4295, -3001,  -982,
+   -4295, -3696, -1443, -4295, -4295, -4295, -2336, -3270, -4295, -4295,
+   -1104, -4295, -4295, -4295, -4295, -2199, -4295, -4295, -4295,    -1,
+    4034,  4036,  4042, -4295,  -868, -4295, -4295, -4295, -4295, -4295,
+   -4295, -4295,  3568, -4295, -4295, -4295, -4295, -4295,  3036,  3575,
+   -4295, -4295, -4295, -4295, -4295,  3580, -4295, -4295, -4295, -4295,
+   -4295,  1750, -4295, -4295, -4295, -4295, -4295, -4295, -4295, -4295,
+   -4295
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
@@ -4787,502 +4792,502 @@ static const yytype_int16 yytable[] =
     1878,   857,   858,  1242,  1972,   862,   863,   864,   949,  2911,
      866,   867,   868,  3263,  3532,  1438,  1439,  2284,   949,  3200,
     3177,  2918,  1193,  1680,   900,  1901,   901,  3711,  1947,  3342,
-    3650,  3200,  3200,  1909,   657,  2214,  1354,  3006,  1681,  3443,
+    3006,  3200,  3200,  1909,   657,  2214,  1354,  3543,  1681,  3443,
     1911,  1912,  3900,   658,  1915,  1916,  1917,  1918,  2203,  1920,
-    1921,  1923,  1925,  1926,  1927,  1928,  1929,  1462,   900,  3543,
-     984,  1794,  1171,  2039,  1622,  1175,  2250,  2022,  2755,   661,
-    2756,   533,  2980,   533,   668,   674,  1071,  2516,  2810,  1078,
-    2173,  2609,  2228,  3372,  2919,   679,  3560,  3562,  2879,  3220,
-    3189,   668,   683,   684,  2657,   685,   686,   663,  3157,   665,
-    2186,  4124,  3870,  4289,  3367,  3368,  2880,  3814,  2189,  2190,
-    3374,  3101,  3376,  3553,  3813,  3725,  2334,  1303,  1304,  3889,
-    3110,  1412,  3651,  4252,  1303,  1304,  1294,  1295,  1296,  1566,
-    3228,  1303,  1304,  2504,  3232,  3267,  3762,  3826,  1337,  1704,
-    3433,  1755,  1756,  1757,  2876,  3247,  2877,  3776,  2255,  3200,
-    3200,  2034,  1602,  1677,  1601,  4021,  4164,  3258,  1775,   612,
-    4216,   582,  1406,  1677,  4233,   706,  4858,  3212,  3213,   591,
-    1303,  1304,  1412,  2456,  2045,  3614,  1303,  1304,  1303,  1304,
-    3058,  2255,  1654,  1663,  2583,  -937,  3614,  3933,  1677,  2869,
-    3585,  1839,  1303,  1304,  1843,  -580,  4515,  1403,  1303,  1304,
-    4780,  2646,  1303,  1304,  4050,  2620,   578,  3339,  3928, -1577,
-    2504,  1086,   615,  3354,  1555,  1862,  1863,  3623,  1338,  1867,
-    -581,  2976,  1930,  1303,  1304,  3951,  1701,  2028,  1303,  1304,
-    1086,  3948,  1303,  1304,  1990,   956,  1881,  1882,  1303,  1304,
-    3790,  4050,  1338, -2752,  1030,  1011,  4462,   544,  4336, -2679,
-   -1577,  2751,  3395,  2133, -2111,  1176,  4051,  3434,  4050,  3612,
-    4533,  2738,  1303,  1304,  3943, -1617,  4811,  2631,  1527,  3628,
-    4052, -1712,  4842,  4051, -2514,  1631,  1303,  1304,  3701,  1427,
-     681,  1030,  1011,  1303,  1304,  3348,  3349,  4052,  1303,  1304,
-    3481,  4095,  1435,  1303,  1304,   919,  1727,  3568,  1030,  1011,
-    1303,  1304,  1143,  4353,  4883,  1182,  3615,  3018,  2433,  2123,
-    3829,  2590,  3586,  1341,   134,  2448,  1751,  2482,  4122,  1944,
-    1359,   989,  1508,  3446,  2758,  2134,  3752,  4050, -2752,   579,
-    4515,  -484,   575,  2242,  2269,  1221,   619,  2124,  1274,  1303,
-    1304,   148,  4051,  1303,  1304,   292,  2361,   294,   545,  3301,
-    1571,  2196, -2752,   949,   949,  3545,  4052,   949,  3130,  1303,
-    1304,  3090,  2252,  3147,  2246,  4493,  3216,  1030,  4210,  3520,
-    1303,  1304,  1693,  1694,  1254,  2960,  4516,  3722,  4664,  3131,
-     538,  1030,  1011,   539,   952,  3731,   537,  1575,   538,   949,
-    2495,   539,  2229,  3723,  1087,  1088,  1273,  2246,  2496,  4494,
-     898,  2961,  4343,  1572,  3843,   910,  4349,  3732,  1722,  1286,
-    1287,  3302,  2340,  1087,  1088,  3132,  3546,  1625,  1728,  1739,
-    3433,  3558,  1729,   542,  1581,  4154,   149,  1222,  2457,  2584,
-    1275,   990,  2197,  1730,   898,   136,   576, -2752,  2592,  2593,
-     620,  1931,  2256,  1480,  3547,  1144,   703, -1617, -2514,  1991,
-    1752,  3482,  1436,  1949,  2270,  1303,  1304,   990,  1350,  1793,
-    3702,  2205,  1528,  3340,  1932,  1668,  2116,  1669,  1670,  1671,
-    1672,  2323,  3527,  2605,  1242,  2256,  3149,  1632,  3091,   292,
-     674,   294,  3526,  4096,  2137,  1428,  1305,  2029,  2243,  1306,
-    4843,   674, -2597,  1305,  3587,  3009,  1306,  1981,  2125,  4884,
-    1305,   668,   905,  1306,  4812,  4184,   668,   701,  3109,   917,
-    4516,   957,  2529,  1153,  2093,  4174,   546,  1595,  4179,  4180,
-    3608,  1941,  1944,   960,  1340,  4463,  3616,  3326,  1718,  3934,
-     961,  4776,  2135,  1339,  1726,   668,  4155,  3434,   909,  1305,
-    3414,  2505,  1306,  1022, -2598,  1305,   918,  1305,  1306,  3791,
-    1306,  2632,  3297,  1080,  2755,  3875,  2756,  1339,  4354,  3879,
-    3704,  2655,  1503,  1177,  4322,  1731,  1556,  1305,  4755,  4299,
-    1306,  1305,  4195,  1102,  1306,  1945,  1303,  1304,  3200,  1680,
-    3599,  1303,  1304,   701, -1617,  3855,   701,  3435,   920,  1992,
-    1081,   949,  1305,  2068,  1681,  1306,   668,  1305,  1132,  2783,
-    1306,  1305,  3341,  3588,  1306,  4323, -2597,  1305,  2585,  3926,
-    1306,  3537,  3538,  3539,   668,  1947,  1161,  1974,  2505,  2879,
-    2810, -1577,  3844,  3884,  1914,   658,  2250,  1164,  1933,  1762,
-    1763,  1305,  1404,  2122,  1306,  3200,   658,  2880,  1724,   658,
-    2484,  1935,  1132,  1973,  2754,  1305,  2583,  2030,  1306,  1188,
-     613,  2487,  1305,  1723,  2490,  1306,  1818,  1305, -2598,   907,
-    1306,  3612,  1305,  1732,  1831,  1306,  1833,  2168,  1407,  1305,
-    2171,   705,  1306,  3936,  2174,  2876,  2177,  2877,  1846,  1847,
-    1848,  4859,  1647,  3036,  -937,  3153,  1852,  1972,  2694,  3944,
-    3945,  3268,   869,  3749,  -580,  1057,  2188,  1353,  4329,  2354,
-    1303,  1304,  1243,   616,  2192,  2193,  2194,  3617,  1305,  2322,
-    2334,  1306,  1305,  4217,   950,  1306, -2679,  2046,  1951,  -581,
-    2875,  4346,  1985,   986,   614,  3350,  3827,   580,  1305,  3100,
-    4727,  1306,  3444,  2035,  1303,  1304,  1443,  1089,  1724,  1305,
-    1307,  2222,  1306,  3214,  4517,  4212,  1413,  1307, -2679,  2481,
-    3202,  1082,  1303,  1304,  1307,  3865,  1282,  1303,  1304,  3726,
-    3269,  4357,  2470,  1300, -1617,  1302,  2434,  4253,  2378,  3436,
-    4099,  3748,  2449,  1336,  2888,  3762,  4512,  4053,  1945,  4658,
-    3215,  4660,  4661,  2570,  3364,  2407,  4316,  4307, -1617,  2411,
-    1345,   533,  1347,  1307,  1349,  1132,   533,  1413,   668,  1307,
-     533,  1307,  3569,  1352,  2069,  4328,  1388,  1357,  2032,   900,
-    4186,  1126,  2458,  2435,  4053,  1307,  2362,  1346,  2379,  1886,
-    1887,  1307,  1351,  2031,  1305,  1307,  1356,  1306,  2053,  3610,
-    -484,  4053,  1605,  4632,  1303,  1304,  4451,  1962,  4230,  1886,
-    2398,  1303,  1304,  1417,  2352,  4665,  1307,  2094,  1536,  1430,
-    1540,  1307,  1576,  1543,  1548,  1307,  4633,  4139,   658,  2251,
-    1434,  1307,  3035,   154,  1440,  2370,  3112,  3435,  4142,  1569,
-    2372,  2968,  3457,  2437,  2438,  1648,  3364,  3357,  3019,  3359,
-    2375,  4130,  4131,  2172,  1724,  1307,    14,  1465,  3020,  1582,
-    1126,  2584,  4156,  1475,  1724,   668,   658,  4748,  4749,  1307,
-    4053,  4752,   658,  2454,  2455,  3868,  1307,  1652,  1652,  2339,
-     682,  1307,  3630,  2156,  4756,  3017,  1307,  2985,  2986,  4766,
-    4211,  4003,  2252,  1307,  3069,  1458,  3510,  1537,  3010,  3392,
-    3393,  3150,  1724,  3862,  3399,  3400,  1303,  1304,  3660,  3661,
-    3921,  2062,  2376,  1022,  2558,  1305,  3298,  3372,  1306,   668,
-    1305,   668,  1555,  1306,   668,   668,  4321, -2597,  2078,  1985,
-    1303,  1304,  1307,  3843,  3442,  2071,  1307,  4095,  3612,  4059,
-     668,  3612,  3612,  1616,  3551,  3552,  4324,  3897,  4062,  4728,
-    3416,  3417,  1307,  4188,   900,  2377,  2117,  4801, -2673,  1303,
-    1304, -2597,  4804,  1307,  1303,  1304,  3173,    27,  1303,  1304,
-    3415,  1381,  2217,  2218,  2820,  4308,  2340,  3940,  2821, -2598,
-    1072,  3454,  3455,   658,  2221,  4309,  2882,  2755,  2095,  2756,
-    2230,   908,  2096,  1660,   701, -2656,   701,  3874,  3220,  1303,
-    1304,  3878,  1423,  2127,  1303,  1304, -2660,  4474,  1644,  4277,
-    2255,  1643,  3718, -2598,  1119,  1645,  1646,  4187,  2791,  1667,
-    4547,  1320,  1676,  2271,  1596,  3246,  4283,  4475,   683,   684,
-    1889,   685,   686,  2663,   966,  3867,  3168,  1696,  3247,  1305,
-    2585,  2405,  1306,  1303,  1304,  4191,   658, -2659,  1307,   147,
-    1819,  2559,  4647,  1820,  2667,   533,  1303,  1304,   658,  3779,
-    1649,  1303,  1304,  1468,  3535,  2810,  2794,  2384,  2091,  2879,
-    2091,  2091,   900,  1305,  3096,  3097,  1306,  2690,   658,  1742,
-    2551,  1700,  2228,  1680,  3571,  2250,  3163,  2880,  1744,  3192,
-    2516,  1305,  1724,   159,  1306,  2933,  1305,    48,  1681,  1306,
-    2754,  2474, -2657,  2706,  1896,  1303,  1304,  4256,  2520, -2658,
-    2890,  4200,  4201,   949,  2578,  2579,  2255,  4689,  3372,  3871,
-    2639,  3372,  3372,  4773,  4273,  2876,  3207,  2877,  1243,  4096,
-    1303,  1304,  1303,  1304,   148,  3807,  3174,  4202,  3372,  3809,
-    4203,  1934,  3555,  1243,  1303,  1304,  1303,  1304,  1606, -1913,
-    2072,  3844,  4226,  3054,  4728,   898,  3372,  4231,  4234,  4236,
-    4237,  1303,  1304,  3719,  2984,  2079,  3154,  1148,  3041,  1307,
-    4222,  4223,  4224,  1305,  1307,    42,  1306,  2128,  4227,  1073,
-    1305,  2989,  2990,  1306,  3612,  4238,  1975,  4335,  2385, -2141,
-    1303,  1304,  1880,  2391,  1531,   967,  4339,  4757, -2663,  4310,
-    1617,  1890,  1778,  3277,  2489,   668,    48,  2163,  1649,  3193,
-     156,  1303,  1304,  1751,  2521,   995,  2334,  1323,  4548,   149,
-    1906,  2875,  1650,  1303,  1304,  3323,  2246,  2094,  1704,  2590,
-    3328,  1303,  1304,  4097,   292,   693,   294,  2688,  3336,  3337,
-   -2673,  4680,   668,  3632,  3344,  1120,   565,  1938,  1879, -1913,
-    2693,   585,  4681,  2696,  2697,  2560,   668,  3648,  3649,  2044,
-    3050,   668,   658, -2800,  1303,  1304,  1779,  2164,    63,  3662,
-    1974,  4675,  1121,  1531,  1556,  1305,  3285, -2656,  1306,  2246,
-    3356,  4372,  2507,  1607,  2983,  2475,  1243,   668, -2660,  4621,
-    1992,  4622,  4758,  1307,  2993,  1780,  1303,  1304,  3755,  1305,
-    1303,  1304,  1306,  4419,  2256,   668,  4421,  1608,  4705,  4706,
-    3496,  2668,  2396,   668,   701,  1148,  1475,  3751,  2003,   589,
-    2006,  4549,  2042,    58,  4759,   658,  2246,  1307,  1305, -2659,
-     898,  1306,  2246,  1305,  4904,  1597,  1306,  1305,  1424, -2141,
-    1306,  2024,  1303,  1304,  1532,  1307,  2397,  1774,  4744,   996,
-    1307,  1944,   658,  1902,  2399,  1879,  3142,  1303,  1304, -2141,
-     668,  4045,  2012,   156,  2401,  1781,  1475,  2043,  1305,  2413,
-    1650,  1306,   658,  1305,  3556,   658,  1306,    63,  4311,  1303,
-    1304,  2252,  2582,  3161, -2657,  3487,  3488,  3489,  3278,  2251,
-    4588, -2658,  1303,  1304,  2512,  2094,  3175,   608,  2095,  4098,
-    4351,   668,   668,  1470,  1944,  2074, -1145,  1303,  1304, -1145,
-    2256, -2800,  1305,   617,  2092,  1306,  4099,  1193,   701,  2219,
-    3143,  1303,  1304,  1532,  2113,  1305,   997,  1307,  1306,   633,
-    1305,   668,  2118,  1306,  1307,  4461,  1303,  1304,  1303,  1304,
-    4653,   668,  4649,  3030,  1782,  4189,  2420,  4360,   898,  4362,
-    4147,  1944,  2353,  2138,  1022,  2165,   913,   156,  2160,  4148,
-    2162,  3756,  2674,  4788,   533,   533,   533,   658,   533,   658,
-    4682,  2223,  4426,  2339,  1305,  3621,  3621,  1306,  2169,   533,
-   -2663,   668,  4587,  2881,  1178,   533,  1303,  1304,  2232,   712,
-    2157,  2158,  2159,   900,  2161,  2610,   602,  2187,  2476,  1305,
+    1921,  1923,  1925,  1926,  1927,  1928,  1929,  1462,   900,  1171,
+     984,  1794,  1175,  2039,  3560,  2022,  2250,  1622,  2609,   661,
+    2755,   533,  2980,   533,   668,   674,  1071,  2516,  2810,  1078,
+    2879,  2173,  2228,  3372,  2919,   679,  2657,  3562,  2756,  3220,
+    3189,   668,   683,   684,  3870,   685,   686,   663,  3228,   665,
+    3157,  2186,  3232,  2880,  3725,  4124,  3367,  3368,  3813,  2189,
+    2190,  3889,  3374,  3247,  3376,  3101,  2334,  3553,  3814,  1412,
+    3612,  4289,  3651,  4252,  3110,  3258,  1294,  1295,  1296,  1566,
+    3628,  1303,  1304,  4164,  1303,  1304,  3762,  2504,  1337,  1303,
+    1304,  3433,  1704,  1303,  1304,  2034,  2876,  3928,  3826,  3200,
+    3200,   706,  3018,  4050,  1601,  4233,  4336,  1303,  1304,  4050,
+    2456,   582,  3267,  4021,  2877,  2646,  3354,  3212,  3213,   591,
+    1755,  1756,  1757,  1602,  4051,   578,  2045,  1086,  4216,  2738,
+    1654,  1663,  1406,  2751,  3433,  2869,  4154,  1775,  4052,  2028,
+    4095,  1423,  4858,  1030,  1011,  3776,  1303,  1304,  3527,  1030,
+    1011,  1537,  2255,  3058,  1086,  2976, -1577,  3173,  1677,  1990,
+    3623,  2255,  4321,  2361,  3297,  1303,  1304,  3951,  3614,   907,
+    1839,  2071,  2246,  1843,  1701,  4780,  1338,  1338,  1303,  1304,
+    1555,  2364,  1303,  1304,   956, -2752,  1176,  2133,  1303,  1304,
+    -937,  4533,  1616,  3568,  1862,  1863,  3790, -1577,  1867,  2758,
+    1303,  1304, -2111,  3933,   919, -2673,   612,  4353,  3434,  4462,
+   -1712,  1555,  2631, -1617,  3943,  1881,  1882, -2679,  4191,  3843,
+    3614,  3147,  4842,  1631,  4728,  1427,  1303,  1304,  3829,  2667,
+     681,   970,  4515,  1303,  1304,  3348,  3349,  1412,  1303,  1304,
+    1527,  1727,  4050,  1303,  1304,  2242,  2123,  4155,   579,  4883,
+    1341,  3434,  1143,  3277,  1751, -2656,  1677,  4051,  1531,  2134,
+     989,  3701,  1303,  1304,  1751,  3090,   575,  1751,  4122,  1677,
+    1359,  4052,  1303,  1304,  2124,  2482,  3752,  4547,  1470,  1303,
+    1304,  1508,  1030,  1011,  1178,   619,  2520,  1751,  -580,  1303,
+    1304,  2196,  4382,   615, -2752, -2514,  1611,  1944,  4178,  1625,
+   -1913,  -581,  4493,   949,   949,  1303,  1304,   949,  3545,  3520,
+    1087,  1088,  2252,  2528,  4664,   159,  1303,  1304,  3885,  3886,
+    4680,  1303,  1304,  1303,  1304,   537,  2709,  3174,  2620,  4343,
+    2285,  4681,  4096,  3009,   952,  3907,  4494,  1087,  1088,   949,
+     542,  -484,  3807,  2529,  2495,   971,  3809,  3887,  1303,  1304,
+     898,  3615,  2496,  2286,  2323,   910,  2500,  1303,  1304,  3908,
+    4349,  3558,  2340,  1728,  1179,  2457,  2433,  1729,  2246,  1575,
+     576,  3546,  2197,  1581,  1991,  3149,  1612,  2246,  1730,  3709,
+    1480,   292,  3091,   294,   898,  3326,  2072,  3216,  1752,   620,
+     990,  4383,  2521,  1303,  1304,  1144,   990,  1624,  1774,  2029,
+    2243,  1838, -2597,  1949,  4174,  1303,  1304,  4179,  4180,  1793,
+    1532,  2205,  4516,  1403,  3843,  1668,  2116,  1669,  1670,  1671,
+    1672,  1842,   972,  2605,  1242,  1632,  3537,  3538,  3539,  4728,
+     674,  1428,  2529,  4384,  2137,  2125,  1528,  3844,  3278,  2504,
+    4843,   674,  3608,  3702,  4884,  1605,  2256,  1981,  1531,  1617,
+    1305,   668,   905,  1306,  4372,  2256,   668,   701,  1305,   917,
+     957,  1306,  1305,  1153,  4354,  1306,  2135,  1595,   156, -2514,
+    1057,  1941,  3612,   960,  2783,  4548,  1305,  1424,  1718,  1306,
+     961,  1726,  1303,  1304,  3936,   668,  2668,  2093,   909, -2673,
+    4463,  1339,  1339,  1022,  1177,  2505,   918,   920,  2632,  4755,
+    3944,  3945,  1944,  1080,  1503,  3791,  2755,  2952,  4776,  3875,
+    1731,  2655, -1617,  3879,  1992,  1305, -2597,  3109,  1306,  4299,
+    1303,  1304,  4195,  1102,  2756,  4621,  1992,  4622,  3200,  1680,
+    3599,   908,  1556,   701,  1305,  3855,   701,  1306,  3435, -2656,
+    1081,   949,  3704,  2068,  1681,  3934,   668,  1305,  1132,  4682,
+    1306,  1305,  3926,  1945,  1306,  1303,  1304,  1305,  3298,  2030,
+    1306,  2879,  1722,  1556,   668,  1947,  1161,  1974, -1577,  1305,
+    2810,  3616,  1306,  3884,  1914,   658,  2250,  1164,  4549,  1762,
+    1763,  3435,  4050,  2122,  2880,  3200,   658,  3175,  4727,   658,
+    2484,  1935,  1132,  1973,  2754,  1305,  3749,  4051,  1306,  1188,
+    1532,  2487,  1305,  4156,  2490,  1306,  1818,  1305,  1732,  3862,
+    1306,  4052,  1305,  1724,  1831,  1306,  1833,  2168,  3202,  4099,
+    2171,   705,  1030,  4210,  2174,  3214,  2177,  2876,  1846,  1847,
+    1848,  1305,  3844,  2362,  1306,  3153,  1852,  1972,  1407,  2694,
+    4329,  1305,   869,  3100,  1306,  2877,   580,  1353,  1305, -1617,
+    4357,  1306,  1243,  1089,  2192,  2193,  2194,  4859,  1305,   986,
+    2334,  1306,  2322,  4346,   950,  1951,  3444,  2188,  3268,  2046,
+    2875,  3350,  1985,  3019,  1305,  1057,  4053,  1306,  2354,  2035,
+    1282,  4217,  4053,  3020, -2679,  1305,  1443,  3827,  1306,  2222,
+    1305,  -937,  1305,  1306,  1724,  1306,  1413,   613,  3569,  2481,
+    3726,  1082,  1303,  1304,  1307,  3865,  4658,  1307,  4660,  4661,
+    1303,  1304,  1307,  1300, -1617,  1302,  1307,  1305, -2679,  4253,
+    1306,  3748,  3436,  1336,  2888,  3762,  1305,  3364,  2470,  1306,
+    1307,  4307,  2353,  2570,  4512,  2031,  1886,  1887,  2378,  3269,
+    1345,   533,  1347,  4212,  1349,  1132,   533,  4316,   668,  4328,
+     533,  2458,  3617,  1352,  2069,  2032,  1388,  1357,  1945,   900,
+    4186,  1126,  1305,  1320,  2407,  1306,  3010,  1346,  2411,  1307,
+    3630,   614,  1351,  2255,  1305,  2053,  1356,  1306,  4451,  3612,
+    4517,  4665,  3612,  3612,   616,  4139,  3215,  1962,  1307,  -580,
+    2379,  1606,  2435,  1417,  4188,  2750,  3660,  3661,  1536,  1430,
+    1540,  1307,  -581,  1543,  1548,  1307,  3036,  1723,   658,  2251,
+    1434,  1307,  3035,   154,  1440,  4053,  3112,  1724,  4142,  1569,
+    2094,  2968,  3457,  1307,  4748,  4749,  2434,  3357,  4752,  3359,
+    3150,  1886,  2398,  2172,  1576,  4130,  4131,  1465,  1582,  4230,
+    1126,  1724,  -484,  1475,  2352,   668,   658,  2505,  1404,  1307,
+    3610,  1305,   658, -1617,  1306,  3868,  1307,  1652,  1652,  2339,
+     682,  1307,  3921,  2156,  1413,  3017,  1307, -2597,  1596,  2437,
+    2438,  3168,  2252,  4766,  3069,  1458,  3510,  2370,  4756,  3364,
+    3867,  2454,  2455,  1303,  1304,  1307,  2985,  2986,  1135,  1305,
+    2558,  2062,  1306,  1022,  1647,  1307,  4811,  3372,  3585,   668,
+    2583,   668,  1307, -2597,   668,   668,  2372,  3395,   966,  1985,
+    1303,  1304,  1307,  3381,  3442,  3392,  3393,  4095, -2598,  4804,
+     668,  4059,  3399,  3400,  1305,   134,  1607,  1306,  1307,  3897,
+    4062,  3339,  3416,  3417,   900,  1182,  2117,  1303,  1304,  1307,
+    3948,  4801,  1136,   544,  1307, -2660,  1307,   565,  3454,  3455,
+    1608,  1381,  2217,  2218,  2820,  3481,  2340,  3940,  2821,  1323,
+    2375,  2078, -2659,   658,  2221,  2376,  2882,  4277,   585,  2755,
+    2230,  1307,  1303,  1304,   701,  2791,   701, -2657,  3220, -2658,
+    1307,  3874,   589,  3551,  3552,  3878,  3247,  2756,  1644,  2246,
+    1072,  1643,  2377,  2095,   608,  1645,  1646,  2096,  2583,  1667,
+    4515,  2384,  1676,  2271,  4273,  3246,  4283,  3718,   683,   684,
+     617,   685,   686,  2663,  2127, -2663,  1307,  1696,  1303,  1304,
+    3586,  2405,   633,  2794,  4647,  3612,   658,  2559,  1307,  2255,
+    1819,  3535, -2598,  1820,  1137,   533,  2163,  2385,   658,  3779,
+    1724,  2879,  1889,  1468,   545,  2810,   136,  1944,  2091,  2391,
+    2091,  2091,   900,  3142,  3096,  3097,  3571,  2690,   658,  1742,
+    2551,  1700,  2228,  1680,  2880,  2250,  3163,  2256,  1744,   967,
+    2516,  1305,   693,  4761,  1306,  2933,  1119,  2327,  1681,  1305,
+    2754,    14,  1306,  2706,  1896,  1303,  1304,  1648,  1350,  4689,
+    2890,  4200,  4201,   949,  2578,  2579,  2164,  3301,  3372,  3871,
+      48,  3372,  3372,  4773,   913,  1307,  3207,  2876,  1243,  4096,
+    1303,  1304,  1303,  1304,  1944,  1435,  3482,  3143,  3372,  4202,
+   -1913,  1934,  4203,  1243,  4322,  2877,  2396,  1303,  1304,  1303,
+    1304,  2094,  4226,  3054,  4812,   898,  3372,  4231,  4234,  4236,
+    4237,  1303,  1304,  1307,  2984,  2584,  3041,  3154,  2269,   292,
+     636,   294,  4222,  4223,  4224,  4053,  1303,  1304,  3719,  3302,
+    4227,  2989,  2990,  3479,  2397,  4323,  1975,  4238,  1303,  1304,
+    1303,  1304,  1880,  2474,  2094,  4211,  4003,  4590,  1307,  1597,
+    4516,  1340,   995,  4419,  2489,   668,  4421,  3340,  2128,  1073,
+     637,  4757,    27,  2529,   914,  1930,  2334,  2246,  2079,  2401,
+    1906,  2875,  3587,  1303,  1304,  3323,  3632,   156,  1303,  1304,
+    3328,  1704,   546,  4097,  4184,  1890,  3144,  2688,  3336,  3337,
+    3648,  3649,   668,  1902,  3344,   712,  2739,  1938,  1879, -2660,
+    2693,  2560,  3662,  2696,  2697,  3285,   668,  2246, -1940,  2044,
+    3050,   668,   658,  2584,  4147,  2246, -2659,  1138,  4856,  4857,
+    1974,  4675,  1305,  4148,   597,  1306,  4591, -1941, -2141,  2507,
+    3356, -2657,   597, -2658,  2983,   915,  1243,   668,  2270,  1332,
+    1333,  1334,  1335,    63,  2993,  1436,  1303,  1304,  3755,  1305,
+    1303,  1304,  1306,   713,  2165,   668,  4758,  1057,  4705,  4706,
+    3496,  1303,  1304,   668,   701,  3145,  1475,  3751,  2003, -2663,
+    2006,   148,  1649,  1945,  2095,   658,  1305,  1120,  2096,  1306,
+     898,  3588,   639,  1139,  4904,  1140,   996,   659,  4759,  1303,
+    1304,  2024,  1944,  2256,  2585,  1307,  3341,  4308,  4744,  1303,
+    1304,  1778,   658,  1307,  1121,  1879,  2740,  4309,  1303,  1304,
+     668,  1305,  2012, -2752,  1306,  2365,  1475,  2095,  4588, -1940,
+    1303,  1304,   658,   662,  2413,   658,  2328,  2475,  2590,  2582,
+    4649,  2252,  1944,  3161, -1220,  3487,  3488,  3489, -1941,  2251,
+    1945,   748,  1303,  1304,  2512,  1214,  1215,  1303,  1304,  4098,
+    2718,   668,   668, -2598,  3414,  2074,   149,  1305,  1303,  1304,
+    1306,  4149,  2448,   997,  2092,  1779,  4099,  1193,   701,  2219,
+      42,   152,   153,  2719,  2113,  1303,  1304,  1903,   664,  1148,
+   -2141,   668,  2118,  2960,  1931,  4461,   714,  4426,  4189, -2598,
+    4653,   668,  2585,  3030,  1780,  3446,  3755,  4360,   898,  4362,
+   -2141,    48,  2329,  2138,  1022,   753,   136,  1932,  2160,  2961,
+    2162,  3756,  2674,   156,   533,   533,   533,   658,   533,   658,
+    1285,  2223, -2752,  2339,  1305,  3621,  3621,  1306,  2169,   533,
+    4187,   668,  4587,  2881,  1650,   533,  1303,  1304,  2232,  4737,
+    2157,  2158,  2159,   900,  2161,  2610,  1724,  2187,   680,  1305,
     1821,  1305,  1306,  1822,  1306,  2170,   658,  4100,  4541,  4542,
-    2277,  2176,  2340,  1305,  2477,  1305,  1306,  2882,  1306,  3144,
-    2175,   970,  1624,  3755,  1057,  1332,  1333,  1334,  1335,  1307,
-    1305,   152,   153,  1306,  2091,  1611,  2702,  1903,  4352,  2711,
-    3757,  3899,  3653,  2715,  2716,  1778,   914,   713,  2424,   668,
-     668,  4737,   636,  1307,  1751,  2010,   157,   748,  2285,  1305,
-   -2293,  4761,  1306,  2754,  1179,  4543,  2095,  2227,   639,  3005,
-    2096,  2365,   668,  2224,  2225,  2226,   658,  1057,  3347,  1680,
-    1305,  2286,  1307,  1306,  1965,  3136,  4718,  1307,   637,   668,
-     659,  1307,  1305,  1451,  1681,  1306,  1452,  4149,  3145,   949,
-    1305,  2425,  1583,  1306,  2282,   689,  2427,  1945,   662,  1779,
-    2428,   668,  2280,   658,  3631,  1612,  3633,   915,  3654,  1303,
-    1304,   753,  1307,  3644,  1057,   664,  1973,  1307,   658,   136,
-    4536,  2254,  4719,  1305,  1584,   971,  1306,  3657,  3194,  2718,
-    1278,  2432,  2750,  4427,  3668,  3670,  3358,  3557,   292,  1188,
-     294,  2351,  1303,  1304,  4178,  2528,  3942,  3687,  3689,  3691,
-    1945,  1783,  2719,  3692,  3670,  1305,  1307,  4272,  1306,  1305,
-    1972,   156,  1306,  1303,  1304,  3907,  3453, -1220,  1949,  1307,
-     714,  1303,  1304,  2529,  1307,  2450,  3756,  1585,  1838,  1751,
-    1443,  1751,  1586,   680,  1303,  1304,  1303,  1304,  3397,  3908,
-    4147,  2875,  2369,  3740,  3743,  3746,  2491,  1945,  3195,  4148,
-   -2293,  1305,   972,   688,  1306,  1303,  1304,  1879,  3655,  4530,
-     767,  4382,   998,   999,  3127,  1001,  1305,  1003,  1307,  1306,
-   -2293,  1784,  1279,  3709,  3295,  2255,  4856,  4857,  1303,  1304,
-    1243,  2406,  2737,  1453,  1004,  3523,   693,  3398,  1305,  4778,
-    1904,  1306,  4782,  1307,  2988,  1307,  2508,  3758,  4720,  2153,
-    2154,  1305,  1303,  1304,  1306,  3760,  1905,  1307,  3515,  1307,
-    1456,  3035,  3409,  2915,  3419,   694,  1305,  2075,  2920,  1306,
-    2366,   156,  1303,  1304,  1307,  2364,  3420,  3196,  4073, -2318,
-    1305,  2327,  2927,  1306,   706,  1303,  1304,  1135,  2495,   783,
-    4218,  2473,  2371,  4219,  2569,  1305,  3565,  1305,  1306,  1985,
-    1306,  1514,  1985,  1307, -1713,  3146,   708,  1303,  1304,  3310,
-    4383,   709,  3200,  1842,  3811,  1866,  2942,  1303,  1304,  2367,
-    1340,  2386,  1303,  1304,  1307,  2498,  1303,  1304,  1303,  1304,
-    1303,  1304,   855,  2497,   658,  1587,  1307,  4149,  1303,  1304,
-    4060,  1136,  2387, -1940,  1307,  1305,   658,   668,  1306,  3200,
-    3200,  4359,  4384,  -208,  2395,  1303,  1304, -2438,  3621,   898,
-     658,   872,  2409,  4847,   859,  1388,  1303,  1304,  2251,   995,
-    1388,  3031,  2739,  2523,  2625,  2532,  2532,  1307,  2532,  3081,
-    1303,  1304,  2871,  2999,  2533,  2533,  1126,  2533,   964,  3200,
-    1515,   701,  3849,  4735,  4736,  2410,  3694,  1303,  1304,  1303,
-    1304,  2076,  2556,   711,  1879,   861,  1430,  1778,   668,  1307,
-    1588,   658,  2662,  1307,   865,   658,   906,   900,  4590,  3002,
-    1303,  1304,   922,  1514,  2327,   538,  3734,  2414,   539, -2318,
-    3709,  2418,  3666,  1137,   949,  1465,  2581,  3850,  3246,  1303,
-    1304,  2246,   668,   668,   658,   658,   658,  1303,  1304, -2318,
-     949,   949,  1303,  1304, -1940,  1307,  2532,  2532,  2532,  1243,
-     668,  1303,  1304,  1303,  1304,  2533,  2533,  2533,  1303,  1304,
-    1307,  1779,  3758,  2419,  1589,   668,  2577,  1021,  1305,   953,
-    3894,  1306,  2740,   955,  1214,  1215, -1827,  2882,  2423,  2645,
-    2634,  1466,  1307,  1505,  3197,  1026,  2635,  4591,   658,  2339,
-    1780,  1303,  1304,   996,  2881,  1307,   812, -2438,  1022,  1443,
-    2426,  1305,  1515,   668,  1306,   975,   597,  1303,  1304,  2256,
-    1307,  3885,  3886,  2429,   597,   152,   153, -2438,  2368,  1340,
-    1022,  4515,  1305,  3574,  1307,  1306, -1827,   977,  2441,  1070,
-    1305,  4204,  2346,  1306,  4207,  4208,  3753,   967,  3887,  1307,
-    2686,  1307,  2460,  1305,   538,  1305,  1306,   539,  1306,  1285,
-    2328,  4220,  3581,  1303,  1304,  1099,  1944,  3361,  2709,  3385,
-    1781,  3872,  2687,  2695,  1305,  3781,  3782,  1306,  3479,  4229,
-     997,  2680,   658,  2683,  2246,  2399,  1077,   949,  3503,  3503,
-    3503,  3503,  4079,  1590,  2373,  2374,  2500,  1305,  3796,  1307,
-    1306,  1100, -1941,  4520,   590,  2636,  2529,  4527,  1303,  1304,
-   -1827,  2713,   533,  3517,  3217,   533,  1101,  3391,  2392,  1340,
-    1397,  1305,  2637,  2952,  1306,  1982,  1303,  1304,  1983,  3381,
-    1103,  1984,  1591,  3804,  3106,  2636,  1303,  1304,  2714,  3384,
-    1111,  1305,  2400,  1340,  1306,  1113,  1138,  1303,  1304,  1782,
-    2741,  4291,  2637,  1114,  1305,  1115,  2824,  1306,  3318,  1536,
-   -1827,  2742, -1940,  2727,  2638,   658,  2889,   658,  2743,  2301,
-    2302,  1536,  2734,  2735,  1879,   625,  1305,  1615,  1116,  1306,
-     292,   909,   294,  1620,  1621,  2315,  1305,  1094,  1095,  1306,
-    1096,  1305,  1097, -1940,  1306,  1305,  1142,  1305,  1306,  1305,
-    1306,  2954,  1306,  2328,  2479,  2402,  1340,  1305,  3576,  1944,
-    1306,  4516,  1139, -1941,  1140,  1123,   949,  2403,  1836,  2415,
-    1340,   949,  1148,  1879,  1305,  1151,   626,  1306,  2991,  1156,
-    3243,  1162,  1307,  2416,  1340,  1305,  1166,  2884,  1306,  1057,
-    2887,  2417,  1340,  3935,  1412,  1183,  2639,  2956,  1170,  1305,
-    3394,  3161,  1306,  3061,  2421,  1340,  4292,  4293,  1303,  1304,
-     668,  4294,  4295,  4296,  2981,  1307,  1305,  2744,  1305,  1306,
-    1190,  1306,   668,  1974,  2285,  2970,  1340,  3949,  4520,  2329,
-    3015,  3016,  1340,  3401,  1191,  4527,  1307,  1192,  3953,  1305,
-    1194,  3955,  1306,   898,  1307,  3004,  1443,  2286,  2255,  1985,
-    1985,  1985,  1195,   627,  3405,  4596,  1196,  1307,  1305,  1307,
-   -1940,  1306,  3406,  1344,  2317,  2318,  1305,  3210,  3211,  1306,
-    1727,  1305,  1945,  4742,  1306,  3407,  4741,  3408,  1307, -1617,
-    1305,  3107,  1305,  1306,  1320,  1306,  2895,  1305,  3380,  2374,
-    1306,  1199,  3939,  3383,  1340,  1089,  3410,  1343,  2069,  2069,
-    2069,  1307,  3411,  1340,  2327,  1126,  1126,  1126,  1320,  3529,
-    3530,  2640,  1200,  2745, -1940,   668,  1783,  1201,  1684,  3413,
-    1305,  3533,  3534,  1306,  3452,  1307,   998,   999,  1000,  1001,
-    1002,  1003,  1057,  1202,  3540,  1203,  1305,  1204, -1617,  1306,
-    3000,  1030,  1011,  3418,   668,  1307,   668,   668,  1004,  3816,
-    1340,  3837,  3838,  2641,  3852,  3853,  4037,  4038,  1307,  4039,
-    4040,  3740,  1348,  3743,  3087,  3746,   949,  3363,  4041,  4042,
-     668, -1941, -1617,   668,  3857,  1400,   949,   949,   949,   949,
-    1307,  3583,  1305,  2641,  2330,  1306,  4762, -1913,  1126, -1617,
-    1307,  1205,  1728,  1206, -1617,  1307,  1729,  3891,  3421,  1307,
-    3245,  1307, -1941,  1307,  1207,  2871,  1320,  1730,  3423,  4282,
-    3895,  1307,  3048,  3425,  1208,  1945,  1057,  3427, -1617,  3428,
-    1389,  3429,  2091,  1209,   721, -1617,  4269,  1305,  1307,  3801,
-    1306,  4048,  4057,  1210,  2881, -1617,  1211,  4805,  3074,  1307,
-    4074,  1340,  3077,  1799,  1212,  1305,  3802, -1617,  1306,  3358,
-    1879,  1216, -1617,  1307,  1218,  1305,   668,   668,  1306,  4088,
-    1340, -1617,  4520,  4527,  2246,   668,  1305,  2662,  1536,  1306,
-    1307,  3803,  1307,  2092,  1219,  2092,  2092,  1320,  3523,  1392,
-    1323,  4089,  4090,  3613,  4107,  4108,  3642,  3620,  4068,  4837,
-    4072,  1220,  4839,  1307,  1223,  -679,  3123,   134,  3125,  1360,
-    4241,  4242,   668,  3549,  1323,   628,  2599,  4365,  1224,  3667,
-    3217,  4078,  1307,  1225,   748,  4502,  4503,  4344,  4345, -1941,
-    1307,  1391,  3218,  1022,  4855,  1307,  1226,   629,  1227, -1617,
-    4070,  1228,  3122,  1229,  1307,    78,  1307,  1398,  4080,  1731,
-    1230,  1307,  2256,  4081,  1879,  1880,  1803,  4348,  4345,  4432,
-    4433, -1617,  4082,  1401,  4083,  3166,  3179,  3180,  1409,  4356,
-     533, -1617,  1393,   630,  1231,   658,   658,  1394,   668,   668,
-    2600,   752,  3666, -1941,  1307,  4501,  3534,  1232,   753,  1410,
-    4831,  1233,  2599,  2328,  1236,  3669,  3171,  1319,  1237,  1944,
-    1307,  1411,  4452, -1617,  4514,  4345,  4545,  4546,  4595,  2601,
-     135,  1238,  1323,  2899,  1244,  3646,  1245,   758,   759,  1246,
-    3156,  1395,  2301,  2302,  1247,  4458,  4459,  4460,   136,  3203,
-    3204,  3205,  3206,   631,  3208,  3209,  -679,  1396,  2315,  2900,
-    4553,  4554,   641,  1325,  1326,  1248,  1307,  1732,  4555,  4554,
-    1418,  -687,  4598,  4599, -1617,  1249,  2600,  3279,  1250,  4398,
-    1804,  4654,  3853,   949,  1807,  4245,  1251,  1325,  1326, -2795,
-    1252,  1808,  3294,  1420,  4686,  4687,  4390,  4391, -1617,  2602,
-    2285,  4371,  2599,  1323,  3308,  2601,  1255,   767,  3317,  4394,
-    1256,  1307,  1257,  4506,  1258,  2901,  4397,  1259,  2902,   137,
-    1260,  4905,  1261,  2286,  4399,  1262,  2903,  4422,  4423,  1307,
-    1320,  4716,  3534,  1263,  4400,  1264,  2491,  1320,  1559,  1307,
-    4717,  3534,  1265,  3764,  1266,  2904, -1617,  1267,  2327,  1268,
-    1307,  4734,  3211,  3324,  3325,  1269,  3327,  1270,  3329,  3330,
-    3331,  3332,  3333,  3334,  3335,  2590,  2600,  3338,  3789,  1271,
-    3343,   778,  1809,  2591,  3346,  2602,  4751,  4345,  2603,  3506,
-    3507,  4558,  2069,  4401,  1272,   782,   783,  2317,  2318,  1126,
-    4753,  4345,  1057,  1276,  3483,  2601,  1277,  1560,  2535,  3765,
-    2536, -1617,  3766,   138,  1280,  4209,  4214,  4754,  4345,  4215,
-    3767,  4786,  4787, -1617,  1328,  1329,  1330,  1331,  1332,  1333,
-    1334,  1335,  1281,  3817,  1422,  4802,  4345,  1561,  4225,  3768,
-    1811, -1913,  1284, -1617,  4232, -1617,  1321,  1288,  1328,  1329,
-    1330,  1331,  1332,  1333,  1334,  1335,  4803,  4345,  2905,  1413,
-    1021,  4806,  4345,  1289,  2603,  1290,  1325,  1326,  4402,  1322,
-    3219,  2625, -1617, -1617,  1291,  2602, -1617, -1617,  1026,  4809,
-    3853,  1292,  1310,  1293,  3769,  1945,  -679,  1342,  2614,  2615,
-    2616,  3831,  3832,   292,  1426,   294,  4820,  4821,  1388,  1444,
-    2523,  4275,  2592,  2593,  1449,   668,  1778,  1447,  3495,  1417,
-     668,   668,   668,  4838,  4345,  4852,  3736,   658,  2246,  1311,
-    3353,  4894,  4895,  3927,  3501,  -856,  3930,  3931,  1459,  4371,
-    1869,  1870,  4105,  4106,  1477,  1479,  1323,  1495,  1497,  1498,
-    3048,   668,  3770,  1323,   139,  1499,  2594,  1880,  1330,  1331,
-    1332,  1333,  1334,  1335,  2603,  1500,   152,   153,  1503,  1507,
-    1508,  -679,  1243,  2906,  2599,  1512,   668,   668,   668,  1517,
-    1779,  1312,   668,  3050,  1526,  1549,  3217,  1303,  1304,  2092,
-    1554,  4690,  1812,  1313,   643,  1558,  1553,  1577,  3218,  1578,
-     804,  4389,  1579,  1599,  4366,  1580,  1603,  4367,  1814,  1780,
-    1609,  1604,  1619,  4739,  3564,  2604,  4389,  1618,   810,  1626,
-    1627,  1629,  1634,   812,  1641,  1677,   813,   140,  1329,  1330,
-    1331,  1332,  1333,  1334,  1335,   152,   153,  1685,  2600,  1683,
-    1778,  4403,  3004,  1324,  1687,  1690,  1691,  2328,  4404,  2599,
-    3563,  1695,  3686,  1944,  3771,  1698,  4532,  3772,  1699,   668,
-    4392, -2795,  1562,  3594,   533,  1707,  3597,  2601,  1708,  4396,
-    1709,  1710,   658,  1736,  1719,   658,  3294,  -679,  4418,  1781,
-    1737,  1745,  1314,  4420,  1747,  4368,  4369,  1443,  4405,  1338,
-    3591,  2604,   141,  1795,  1796,  1797,  1798,  1799,  1751,  1325,
-    1326,  1758,  -679,  1777,  1779,  1788,  1325,  1326,   641,  1824,
-    1879,   596,  3294,  2600,  1836,  1327,  1835,  1837,  2907,  1860,
-    3629,  3627,  3294,  2329,  1897,  1877,  3639,  1913,  3638,  1888,
-    1919,  1940,  4398,  3194,  3773,  1948,  1953,  2602,  4594,  1939,
-     721,   640,  2601,   668,  3638,  1956,  2285,  1957,  1958,  3659,
-    3663,  1959,  1960,  1961,  1880,  3675,  3674, -2795,  1782,  4109,
-    1963,  4406,  3676,  3677,   658,  1964,  3640,  3641,  4454,  2286,
-    1976,  1977,  4597,  1978,  1979,  2009,  3638,  4399,  2013,  2018,
-    2021,  2604,  2023,  3294,  3700,  2026,  2027,  4400,  2908,  3713,
-    2040,  2048,  2050, -2489,  3673,  2049,  2051,  1800,  1801,  1802,
-    1803,  2057,  1563,  3195,  2060,  2064,  3638,  2065,  2066,  2067,
-    2106,  2108,  2602,  2109,  2110,  2114,  2603,  2909,  1528,  2119,
-    2142,  2150,   949,  4365,  1564,  3712,  1057,  2537,  2599,   641,
-     748,  3688,  2151,  2179,  2155,  2178,  4401,  2180,  4173,  2635,
-    2181,  2538,  1443,  2183,  2184,  3747,  2185,  2201,  2206,  3750,
-    1328,  1329,  1330,  1331,  1332,  1333,  1334,  1335,  2211,  1330,
-    1331,  1332,  1333,  1334,  1335,  1565,   549,  -886,  2599,  4407,
-    2215,  3690,  3774,  2231,  2273,  2253,  2220,  2274,  2330,  2289,
-    2292,  2290,  3196,  4614,  4615,  2293,  4617,   752,  2635,  2341,
-    2325,  2603,  2600,  2343,   753,  2349,  2355,  2357,  2358,  2359,
-    2382,  3775,  2381,  2539,  1804,  2540,  1805,  1806,  1807,  1945,
-    2383,  4707,  2388,  2389,  2390,  1808,  4569,  2393,  4476,  2399,
-    2404,  2601,  -679,   758,   759,   550,  4477,  2408,  2468,  2472,
-    2412,  2430,  2600,  1536,  2431,  1879,   292,  2439,   294,  2440,
-    2436,  2451,  2510,  3815,  2868,  2452,  2453,  2724,  2725,  4667,
-    2465,  3123,  3678,  4478,  3679,   551,  1305,  1335,  4264,  1306,
-   -1296,  2601,  1320,  4594,  2736,  2478,  2500,  2233,  -856,  1315,
-    1316,  1317,  4763,  2748,  2749,  1783,  2488,  2503,  2636, -1442,
-    1221,  2234,  2509,  1274,  1278,  2526, -2134,  3122,  2527,  2557,
-    2568,  2602,   552,   767,  2563,  2637,  1809,  2541,  3680,  1724,
-    4666, -1913,  4668,  3048,  2574,  2571,  2598,  2638,  2606,  4577,
-    2611,  4713,  2612,  4714,  4715,  4584,  2613,  3217,  2629,  2618,
-     643,   949,  3681,  4646,  3074,  3864,  2630,  2636,  3866,  2644,
-     668,  2602,  2648,  2604,   668,  1536,  2654,  2650,  2656,   553,
-    2658,  2664,  2665,  2666,  2637,  2864,  2865,  2866,  2867,  1505,
-    2669,  2670,  2542,  1810,  1811,  2671,  2638,   778,  3682,  3000,
-    4825,  2672,  1412,  2673,  2681,  2685,  1022,  1022,   152,   153,
-    2603,   782,   783,  1880,  4403,  2689,  4479,  2699,  3904,  2698,
-    2701,  4404,  2703,  3915,  2704,  2529,  2721,  2722,  2726,  2639,
-    2728,  2729,   658,  2730,   949,  4692,  2733,   642,  2731,  3197,
-    2732,  2825,  2829,  -679,  3922,  2830,  2834,  3896,  2604,  2862,
-    2603,  4128,  2836,  2839,  3929,  2840,  2870,  2863,  -143,  2841,
-    2889,  4405,  3932,  3638,  1879,  2842,  3294,  2843,  2844,  4825,
-    2845,  2846,  2635,  3243,  2847,  1879,   668,  2885,  2639,  1879,
-    3638,   643,  3294,  3294,  1879,  2848,  2849, -1617,  2850,  2851,
-    2235,  2852,  4890,  2853,  2854,  4480,  3294,  3638,  1323,  2855,
-    4132,  2856,  2857,  4898,  2898,   -69,  2922,  4890,  3638,  2858,
-     554,  3638,  4898,  3941,  4481,  2859,  2860,  2285,  2861,  2923,
-    2893,  2921,  3947,  2496,   874, -1751,  2997,  3008,   558,  3959,
-    2934,  2979,  2935,  2947,  4406,  3958,  1812,  4482,   658,  4487,
-    2286,  2969,  3013,  4013,  2640,  3014, -1617,  2978,  4014,  3022,
-    1307,  1813,  1814,  2987,  2996,   533,  3026,  3024,  3025,  3027,
-    3028,  3037,   555,  4029,   644,  3033,  2236,  3038,  3039,  3051,
-    3317,  3057,   645,  3052,  2035,  3055,  3056,  1320, -1617,  3064,
-   -1617,  4022,  3078,   556,  3079,  3082,  3083,  3084,  3088,   949,
-    3089,  2237,  3095,  2640,  3102,  3103,  3116, -1617,  3104,  3117,
-    3119,  3683, -1617,  3128,  2127,  2128,   804,  4875,  3129,  3151,
-    4366,  2636,  3138,  4367,   875,  3164,  2641,  3165,  3167, -1617,
-    3172,  2543,  2544,  2545,   810,  3178, -1617,  2604,  2637,   812,
-    3190,  3191,   813, -1617,  3217,  3229,  3234,  3235,  3238,  4572,
-    2638,  3239,  4407, -1617,  4159,  3684,   877,  3242,   557,  4798,
-    3241,  1325,  1326,   558,  2238, -1617,  3248,  3251,  3250,  3252,
-   -1617,  3259,   878,  3260,  3265,  2641,  3299,  2604,  3266, -1617,
-    3311,  3271,   559,  3272,  3282,  3312,  3351,  3244,  3320,  3321,
-    4113,  3322,  3355,  2422,  1994,  4118,  3364,  2350,  1995,  3369,
-    1880,  4368,  4369,  3245,  3375,  3377,  3440,   560,  4094,  3462,
-    1996,  3449,  3484,  3492,  3497,  3378,  3379,  1451,  3485,  3386,
-    3387,  3430,  3512,   561,  3441,  3445,  1057,  3451,  4487,  3456,
-    3518,  3459,  2639,   882,  3460,  3490,  1795,  1796,  1797,  1798,
-    1799,  3508,  4483,  3519,  3531,  3509,  3525, -1617,  3528,  4901,
-    3536,  3550,  3554,   990,  3463,   668,  3566,  4163,  4163,  3570,
-    2239,   883,  3294,  3578,  3464,  3567,   949,   884,  3577, -1617,
-    3579,  4175,   949,  3582,  3294,  3294,  3168,  3590,  3465, -1617,
-    3294,  4867,  3638,  1323,  3593,  4146,  3294,  2791,  3624,  1320,
-    3466,  3467,  3468,  3709,  1880,  3645,  3647,  1536,  3638,  3714,
-     658,  3721,  3728,  3729,  3733,  3736,  4882,   885,  3735,  3469,
-    3761, -1617,  1328,  1329,  1330,  1331,  1332,  1333,  1334,  1335,
-    3780,  3784,  3785,  4302,  2233,  3793,  3227,  3792,  3805,  3230,
-    3231,  3435,  3233,  2457,  3822,  3236,  3237,  3823,  2234,  3240,
-    1800,  1801,  1802,  1803,  3249,  3824,  3825,  2640,  3840,  3253,
-    3254,  3255,  3256,  3257,  3842,  3846,  3848,  3261,  3262,  3854,
-    3264,  3856, -1617,  3876,  2590,  3877,  3273,  3274,  3275,  3276,
-    4251,  3905,  3280,  3281,  3910,  3283,  3911,  3913,  3914,  3924,
-    3916,  3917, -2727,  3918,  3923,  3925, -1617,  2092,  3938,  3950,
-    3946,  3957,  3956,  1481,  4016,  3402,  4017,  4024,   668,  4027,
-    4028,  4020,  4023,  1482,  4247,  4032,  4033,  4034,  2761,  4036,
-    2762,  4043,  4058,  4046,  4047,  4048,  4061,  1483,  4049,  2641,
-    4063,  4065,  4066,  4067,  4076,  4075,  4071,  4077,  4091,  1484,
-    1485,  1486,  4085,  4103, -1617,  4086,  1325,  1326,  4093,  3352,
-    1997,  3540,  -826,  -826,  4114,  2764,  4112,  1804,  1487,  1805,
-    1806,  1807,  4123,  -826,  4108, -1529,  3565,  4125,  1808, -1534,
-     888,  4135,  4140,  2767,  4143,  4158,  4444,  4144,  1998,  4160,
-    4169,  2768,  4165,  4176,  4181,  4182,  1999,  4183,  4190,  3077,
-    4198,  4205,  4206,  4221,  4330,  1323,  3297,  4240,  3904, -1617,
-    4246,  4248,  4257,  4233,  4057,  1362,  4274,  3904,  2770,  4280,
-   -1617, -1617,  4279,  4285,  4163,  4281,   891,  2235,  4286,  4287,
-    4288,  4300,  1677,  4301,  4304,  2771,  4305,  3294,  4314,   892,
-    2000, -1617,  4318, -1617,  4320,  4373,   989,  4337,  4340,  3470,
-    4338,  4342,  4347,  4374,   658,  4380,  4230,  1413,  4416,  1809,
-    4377,  4393,  4379,  4445,  4446,  4447,  2776,  3471,  4449,  4510,
-   -1617, -1617,  4450,  4455, -1617, -1617,  4457,  4453,  4466,  4469,
-    4488,  4489,  4490,  4491,  4498,  4500,   949,  4507,  4513,  4487,
-    4524,  2001,  4544,  4537,  4550,  4539,  4414,  4540,  4561,  4562,
-    4563,  4564,  4565,  2236,  4424,  4568,  4425,  1328,  1329,  1330,
-    1331,  1332,  1333,  1334,  1335,  4567,  1810,  1811,  1363,  4442,
-    4573,   895,  4570,  4441,  4575,   152,   153,  4585,  2237,  4586,
-    4604,  4601,   292,  4605,   294,  4610,  4616,  4613,  2761,  4618,
-    2762,  2780,  4619,   896,  1364,   897,  4623,  1365,  2781,  4626,
-    4641,  4648,  4652,  4671,  4678,  4655,  4467,  4656,  1325,  1326,
-    4659,  4672,  2662,  2782,  4662,   658,  4679,  4684,  4473,  4669,
-    4673,  4697,  -826,  -826,  4691,  2764,   853,  4694,  4709, -1700,
-    3472,  2758,  2783,  -826,  1366,  4767,  4750,  4768,  1488,  4769,
-    4776,  2238,  4789,  2767,  4790,  4791,  4792,  4797,  3473,  4794,
-    4799,  2768,  4800,  4810,  1367,  4813,  1489,  4795,   949,  4163,
-     292,   947,   294,  4814,  4815,  4816,  4817,  4818,  3704,  4840,
-    2784,   947,  4845,  4841,  4848,  4851,  4863,  4868,  2770,  4866,
-    4870,  4872,  4874,   949,  4876,  4879,  4880,  4891,  1067,  2785,
-    4900,  1445,  1677,  3007,  3126,  2771,  4267,  3345,  4265,  4266,
-    4631,  1598,   853,  1362,  1661,  3609,  4341,  4630,  4733,  1812,
-    3474,  4835,  1689,   668,  4833,  4509,  4688,  1368,  1069,  4259,
-     611,  2608,  2519,  3477,  1813,  1814,  2776,  3475,  4110,  4414,
-    2838,  1169,  3502,  3043,  3042,  2499,  4651,  2239,  2267,  4529,
-    3044,  1369,  3286,  1738,  2789,  2808,  2790,  4578,  4582,  3952,
-    4557,  3511,  4116,  3516,  2792,  3847,  4696,  2038,  4775,  1328,
-    1329,  1330,  1331,  1332,  1333,  1334,  1335,  4119,  4468,  4865,
-    4828,  4850,  4612,  4350,   853,  2708,  3284,  3643,  3699,  4168,
-    1880,  4871,  3291,  4765,  3706,  3777,  4005,  1490,  4213,  4552,
-    3652,  4566,   292,  4239,   294,  4774,  4556,  3188,   853,  3808,
-    4271,  2780,  3432,   853,  3810,  4723,  1363,  3806,  2781,  4836,
-     649,   650,  3077,  4807,  3077,  4808,  4358,  4738,  4650,  4645,
-    4523,  4395,  4708,  2782,  3288,  3698,  2798,  1697,  2202,  4376,
-    3155,  1623,  1364,  3060,  4771,  1365,  4185,  3181,  2828,  2580,
-    2281,   853,  3034,  3494,  2326,  3841,  1370,  3085,  2977,  1491,
-    1513,  4163,   952,  4163,  4163,  1371,  3818,  4571,   853,  1521,
-    4663,  2651,  1640,  4764,  2914,  4639,  1492,  3458,  1834,  2912,
-    1372,  3447,  1366,  3108,  3873,  4625,  3111,  4504,  4829,  4087,
-    2784,  4035,  4830,  4677,  2799,  2800,  2801,  1776,  1373,  2994,
-    3812,  2802,  1367,  4193,  2208,  2209,  3544,  4442,   292,  2785,
-     294,  4441,   853,   853,   853,   853,  4333,  2803,  3693,  4589,
-    2804,  4832,  3542,  4473,   853,  4331,  4332,  2883,   651,  4676,
-    2055,  2011,  3032,   668,  3067,  3004,  4121,  3860,  4772,  2805,
-    3859,  1083,  1374,  3898,  4732,  1375,  1189,  2348,  2691,  3152,
-    2692,  1063,  2167,   658,  1066,  1673,   656,  2807,  2513,  1380,
-    4197,  2063,  4701,  4702,  2789,  1368,  2790,  4284,  3845,  4492,
-    4746,  4864,  4873,  4899,  2792,  1376,  4902,  4620,  1283,  4163,
-    4163,  3863,  2112,  4163,  4723,  3137,  4560,  3893,  4834,  1369,
-    2471,  1024,  1025,  2676,   538,  2562,  3135,   539,  3134,  2073,
-     853,  2213,   985,  2002,  4456,  4465,  4745,  3080,  4827,  3023,
-    3478,  4582,  3717,   987,  1108,  1880,   947,   947,  1109,  3607,
-     947,  1110,  1496,  1664,  1502,  2216,  1665,     0,     0,  1666,
-       0,     0,     0,     0,     0,     0,   668,     0,     0,     0,
-     853,     0,     0,     0,     0,     0,  2798,     0,     0,     0,
+    2277,  2176,  2340,   602,  1781,  1057,  1305,  2882,  1305,  1306,
+    2175,  1306,  3192,  4632,  2741, -2800,  1307,  2590,  1751,  1559,
+    1305,  1397,  3146,  1306,  2091,  2742,  2702,  2075,  4352,  2711,
+    3757,  3899,  2743,  2715,  2716,  1305,  4633,  2420,  1306,   668,
+     668,  4351,  1571,  1307,   767,  1057,  4324,  1305,   688,  1305,
+    1306, -2293,  1306,  2754,   157,  4543,  3547,  2227,    58,  3005,
+    4256,  4310,   668,  2224,  2225,  2226,   658, -1940,  3347,  1680,
+    1307,  2954,   693,  4778,  3653,  3136,  4782,  4515,  1560,   668,
+    2476,   156,  1305,  1782,  1681,  1306, -1941,  1305,  1945,   949,
+    1306,  2424,  1303,  1304,  2282,  1572,  2477,  2330, -1940,  3756,
+    4427,   668,  2280,   658,  3631,  1307,  3633,  2495,  1561,  1303,
+    1304,  1933,   689,  3644,    63,  3565,  1973, -1941,   658,   694,
+    4536,  2254,  1965,   783,  3722,  2737,  2425,  3657,  1945,  3942,
+    1904,  2744,  3193,  4718,  3668,  3670,  3358,  3557,  2042,  1188,
+    3723,  2351,  1303,  1304,  2592,  2593,  1905,  3687,  3689,  3691,
+    3654,  1307,  1866,  3692,  3670,  1305,   156,  4272,  1306,  1305,
+    1972,  2076,  1306,  1303,  1304,  3130,  3453,  3849,  1949,  -208,
+    1305,  1221,  2427,  1306,  4359,  1303,  1304,   706,  3760,  4719,
+    1443,   708,  1456,  2043,  1303,  1304,  3131,   709,  1303,  1304,
+    3526,  2875, -2318,  3740,  3743,  3746,  2491,  4847,  1305,   998,
+     999,  1306,  1001, -2293,  1003,  1303,  1304,  1879,  1305,  4530,
+    1274,  1306,  3850,  1451,  3127, -1940,  1452,  1305,  1307,   995,
+    1306,  1004,  3132, -2293,  3295,   855,   292,  2745,   294,  1305,
+    1243,  2406,  1306,   859, -1941,  3523,  1303,  1304, -2438,  2428,
+    4311,   861,  2599,  1307,  2988,  1307,  2508,  3758,  1303,  1304,
+    3655,  1305,  1303,  1304,  1306,  3709,  1305,  4516,  3515,  1306,
+    1307,  3035,  1307,  2915,  2432,  1222,  2450,  1305,  2920,  1684,
+    1306, -1940,  1278,   872,  1307,  1303,  1304,  1303,  1304,  1303,
+    1304,  3397,  2927,  3398,  1305,  1303,  1304,  1306,  1514,  1307,
+   -1941,  2473,  1660,  3731,  2569,  3409,   906,  2153,  2154,  1985,
+    1783,  1307,  1985,  1307,  1275,  4720,  2600,  1303,  1304,  3310,
+    3419,   625,  3200,   922,  3811,  3732,  2942,  4474,  1303,  1304,
+    1303,  1304,  3420,  1562,  4073,  2498,  1303,  1304,  1303,  1304,
+    1303,  1304,  1615,  2497,   658,  2601,  1307,  4475,  1620,  1621,
+     812,  1307,  1303,  1304, -2318,  1305,   658,   668,  1306,  3200,
+    3200,  1514,  2010,   996, -1713,   292,  3415,   294,  3621,   898,
+     658,  2449,   626,  1453, -2318,  1388,  1279,   134,  2251,   711,
+    1388,  3031,  1784,  2523,  2625,  2532,  2532,  1515,  2532,  3081,
+     865,  1303,  1304,  2999,  2533,  2533,  1126,  2533,   964,  3200,
+   -2438,   701,  4147,  4735,  4736,  3758,   953,  1303,  1304,  1303,
+    1304,  4148,  2556,   955,  1879,  2602,  1430,  4335,   668,  1307,
+   -2438,   658,  2662,  1307,   975,   658,  4339,   900,  2399,  3002,
+    1303,  1304,  3061,   977,  1307,  4045,  3217,   147,   538,  2369,
+     997,   539,  3666,  2371,   949,  1465,  2581,  1070,  3246,   627,
+    1515,  1077,   668,   668,   658,   658,   658,  1303,  1304,  1099,
+     949,   949,  1307,  1303,  1304,   967,  2532,  2532,  2532,  1243,
+     668,  1305,  1307,  1563,  1306,  2533,  2533,  2533,  1303,  1304,
+     135,  1307,  2386,   152,   153,   668,  2577,  1021,  1305,  2399,
+    3894,  1306,  2387,  1307,  2603,  1564,  4079,  2882,   136,  2645,
+    2634,  2395,  1100,  1505,   703,  1026,  2635,  4805,   658,  2339,
+    1303,  1304,  1101,  2409,  2881,  1307,  1103,  1649,  1022,  1443,
+    1307,  1305,   148,   668,  1306,  1113,  1303,  1304,  2366,  1111,
+    2535,  1307,  2536,  1114,   538,  2410,  1565,   539,   538, -2795,
+    1022,   539,  1305,  3574,  3217,  1306,  1799,  4060,  1307,  4149,
+    4218,  2414,  3243,  4219,  1305,  1982,  3753,  1306,  1983,  4837,
+    2686,  1984,  4839,  1305,  2368,  1340,  1306,  1305,  2418,   137,
+    1306,  1116,  3581,  1303,  1304,  1303,  1304,  1303,  1304,  2367,
+    1340,  3872,  2687,  2695,  1305,  3781,  3782,  1306,   590,  1693,
+    1694,  2680,   658,  2683,  4855,  1115,  2285,   949,  3503,  3503,
+    3503,  3503,  1030,  1011,  1320,  1303,  1304,   149,  3796,  1307,
+    2614,  2615,  2616,  2229,   909,  1305,  1303,  1304,  1306,  2286,
+   -1827,  2713,   533,  3517,  1148,   533,  1778,  1305,  1151,  2419,
+    1306,  1305,  1303,  1304,  1306,  1123,  1739,  2373,  2374,  1303,
+    1304,   596,  1142,  3804,  1148,  2636,  1303,  1304,  2714,  1803,
+    1156,  1303,  1304,   138,  1305,  1162,  1305,  1306,  1305,  1306,
+    3243,  1306,  2637,  1166,  1305,  1170,  2824,  1306,  3318,  1536,
+   -1827,  1183, -1827,  2727,  2638,   658,  1190,   658,  2346,  1650,
+    1191,  1536,  2734,  2735,  1879,  1192,  1305,  2392,  1340,  1306,
+    1779,  1303,  1304,  2479,  3384,  2400,  1340,  1305,  1344,  1305,
+    1306,   628,  1306,   538,  2285,  1305,   539,  1305,  1306,  1305,
+    1306,  2604,  1306,  2991,  2402,  1340,  1194,  -679,  3576,  1780,
+   -2800,  1305, -1827,   629,  1306,  1307,   949,  2286,  2889,  2403,
+    1836,   949,  3217,  1879,  2415,  1340,   998,   999,  1000,  1001,
+    1002,  1003,  1307,  1195,  3218,  2423,  2590,  2884,  4204,  1196,
+    2887,  4207,  4208,  1804,  2591,  3694,  2639,  1807,  1004,   630,
+    1305,  3161,  2426,  1306,  1808,  1199,  2895,  1200,  4220,  1466,
+     668,  1201,  3245,  1202,  2981,  1307,  1305,  1340,  1305,  1306,
+    1203,  1306,   668,  1974,   139,  3734,  4229,  1094,  1095,  1781,
+    1096,  1204,  1097,  1205, -1145,  2429,  1307, -1145,  1206,  1305,
+    1323,  1207,  1306,   898,  1208,  3004,  1443,  1209,  1307,  1985,
+    1985,  1985,  2416,  1340,  4520,  4596,  2441,  1307,  4527,   631,
+    1254,  1307,  1089,  1320,  2417,  1340,  1305,  1348,  2460,  1306,
+    2956,  1210,  1305,  4742,  1211,  1306,  4741,  3361,  1307,  2421,
+    1340,  3385,  1273,  1320,  1212,  1809,  3363,  1305,  -679,  1216,
+    1306,  1218,  3939,  1219,   641,  1286,  1287,   140,  2069,  2069,
+    2069,  2636,  1303,  1304,  3244,  1126,  1126,  1126,  1782,  1307,
+    1220,  2640,  1343,  2592,  2593,   668,  1030,  1011,  2637,  1305,
+    3245,  1307,  1306,  1223,  3452,  1307,  2970,  1340,  1057,  3391,
+    3106, -2795,  2285,  1224,  3540,  1305,  3015,  3016,  1306,  1225,
+    3000,  3394,  2537,  1811,   668,  3401,   668,   668,  1307,  1392,
+    1307,  1226,  1307,  3210,  3211,  2286,  2538,  1227,  1307,  2594,
+    1228,  3740,   141,  3743,  3087,  3746,   949,  1360,  3405,  1398,
+     668,  1389,  3406,   668,  3857,  1229,   949,   949,   949,   949,
+    1307,  3583,  1305,  2641,  1305,  1306,  1305,  1306,  1126,  1306,
+    1230,  1307,  1231,  1307,  3380,  2374,  1232,  3891,  1233,  1307,
+    3407,  1307,  1236,  1307,  3383,  1340,  3411,  1340,  1237,  4282,
+    3895,  3408,  3048,  3410,  1305,  1307,  1238,  1306,  2539,  3413,
+    2540,  3418,  2091,  3421,  1244,  1305,  4269, -2795,  1306,  4520,
+    3529,  3530,  1393,  1245,  2881,  3423,  4527,  1394,  3074,  1246,
+    2599,  1305,  3077,  3667,  1306,  3533,  3534,  1247,  1305,  3358,
+    1879,  1306,  3816,  1340,  1307,  1305,   668,   668,  1306,  1323,
+    1305,  2255,  1248,  1306,  3678,   668,  3679,  2662,  1536,  1249,
+    1307,  1250,  1307,  2092,  3425,  2092,  2092,  1251,  3523,  1323,
+    1252,  1395,  1255,  3613,  1256,  1812,  3642,  3620,  3837,  3838,
+    3427,  1391,  3428,  1307,  3852,  3853,  3123,  1396,  3125,  1257,
+    1305,  1814,   668,  1306,  2600,  3549,  4037,  4038,  -679,  1258,
+    3680,  1259,  2541,  3429,  1260,  4502,  4503,  2327,  2599,  1261,
+    1307,  3669,  1262,  1022,  2327,  1783,  1307,  3107,  4039,  4040,
+    4070,  1263,  3122,  2601,  3681,    78,  1303,  1304,  1264,  1727,
+    3801,  1307,  3935,  1265,  1879,  1880,  3802,  1266,  1330,  1331,
+    1332,  1333,  1334,  1335,  1267,  3166,  3179,  3180,  2301,  2302,
+     533,  3803,  4041,  4042,  1268,   658,   658,  2542,   668,   668,
+    3682,  1269,  3666,  1307,  2315,  1270,  3949,  1271,  2233,  1272,
+    4831,  1276,  2600,  4048,  4057,  1319,  3171,  3953,  1277,  1307,
+    3955,  1280,  2234,  4068,  2255,  4074,  1340,  4762,  4595,  2641,
+   -1913,  1281,  1583,  2602,  1310,  3646,   643, -1913,  -679,  4072,
+    1284,  2601,  1325,  1326,  1288,  4458,  4459,  4460,  2871,  3203,
+    3204,  3205,  3206,  3217,  3208,  3209,  4088,  1340,  4089,  4090,
+    4107,  4108,  1325,  1326,  1584,  3218,  1307,  1289,  1307,  1400,
+    1307,  1311,  1795,  1796,  1797,  1798,  1799,  3279,  4241,  4242,
+    2327,  1412,  1290,   949,  1291,  4245,  4078,  1401,  4080,  1410,
+    4081,  1728,  3294,  4520,  4527,  1729,  1292,  3156,  1307,  2301,
+    2302,  4371,  4344,  4345,  3308,  1293,  1730,  2246,  3317,  1307,
+    1342,  2602,  2603,  4506,  2246,  2315,  2635,  1585,  4082,  -679,
+    1411,  4905,  1586,  1312,  1418,  1307,  4209,  4214,  1320,  4083,
+    4215,  1409,  1307,  2317,  2318,  1313,  2491,  4348,  4345,  1307,
+    4432,  4433,  4501,  3534,  1307,  4356,  4514,  4345,  1420,  4225,
+    4545,  4546,  4452,  3324,  3325,  4232,  3327,  1422,  3329,  3330,
+    3331,  3332,  3333,  3334,  3335,  1426, -1617,  3338,  3789,  -679,
+    3343,  1320,  4553,  4554,  3346,   641,  1800,  1801,  1802,  1803,
+    1444,  2871,  2069,  1449,  1307,  2256,  4555,  4554,  1447,  1126,
+    2603,  2235,  4598,  4599,  3483,  1328,  1329,  1330,  1331,  1332,
+    1333,  1334,  1335,  3683,  1869,  1870,  4654,  3853,  4686,  4687,
+    4716,  3534,  4275,  2285,  1477,  1328,  1329,  1330,  1331,  1332,
+    1333,  1334,  1335,  3817,  1314, -1617,  2328,  1459,  2543,  2544,
+    2545,  1479,  1944,  2328,  1321,  1495,  2286,  1497,  1731,  1944,
+    2246,  1498,  4717,  3534,  2317,  2318,  1499,  3684,  4734,  3211,
+    1021,  4751,  4345,  4753,  4345,  2636,  1500,  1322,  1503, -1617,
+    1507,  2625,  4754,  4345,  1320,  4786,  4787,  2236,  1026,  4802,
+    4345,  1508,  2637,  4803,  4345,  1587, -1617,  2422,  4806,  4345,
+    1512, -1617,  1517,  1804,  2638,  1805,  1806,  1807,  1388,  1526,
+    2523,  1549,  2237,  1553,  1808,   668,  4809,  3853,  3495,  1417,
+     668,   668,   668,  4820,  4821, -1617,  1554,   658,  1558,  2329,
+    4838,  4345, -1617,  3927,  3501,  1577,  3930,  3931,  2256,  4371,
+    4852,  3736, -1617,  1578,  1323,  1579,  1778,  4894,  4895,  2604,
+    3048,   668,  3506,  3507, -1617,  1305,  1732,  1880,  1306, -1617,
+    3831,  3832,  1580,  1599,   152,   153,  4105,  4106, -1617,  1603,
+    1588,  1604,  1243,  1609,  1618,  2238,   668,   668,   668,  2328,
+    1619,  4392,   668,  3050,  1626,  1944,  2639,  1323,  1627,  2092,
+    4396,  4690,  1629,  3219,  1634,  1809,  1641,  1677,  1683,  4418,
+    1687,  4389,  1685,  1690,  4420,  1691,  1695,  1698,  3555,  -679,
+    1779,  2899,  1699,  4739,  3564,  1707,  4389,  1708,  1709,  1710,
+    1719,  1736,  1737,  1745,  1338,  1057,  1747,  2604,  1751,  1758,
+    1777,  1788,  1057,  1824,  1589,  4476, -1617,  2900,  1778,  3194,
+    1835,  1324,  3650,  4477,  1836,  1837,  1860,  4390,  4391,   292,
+    3563,   294,  1810,  1811,  1877,  1888,  4532,  1919, -1617,   668,
+    4394,  1913,  1940,  3594,   533,  1897,  3597,  4397, -1617,  1948,
+    4478,  2239,   658,  1956,  1939,   658,  3294,  1953,  4422,  4423,
+    1323,  1957,  1958,  1959,  2330,  1960,  1961,  1443,  1963,  1977,
+    3591,  1964,  1976,  2901,  1978,  1979,  2902,  1325,  1326,  2009,
+   -1617,  2640,  1779,  2013,  2903,  2018,  2021,   643,  1945,  3195,
+    1879,  2023,  3294,  1327,  2026,  1945,  4398,  2027, -1913,  2040,
+    3629,  3627,  3294,  2904,  2048,  4291,  3639,  2049,  3638,  2050,
+    2051,  1780, -2489,  1315,  1316,  1317,  2057,  2060,  4594,  2064,
+    1325,  1326,  2065,   668,  3638,  3353,  2066,  2106,  2067,  3659,
+    3663, -1617,  2868,  1590,  1880,  3675,  3674,  2110,  1057,  4109,
+    2108,  4399,  3676,  3677,   658,  2109,  3640,  3641,  4454,  1528,
+    2114,  4400,  4597,  2641,  2119, -1617,  3638,  2142,  2150,  2151,
+    2155,  2178,  2179,  3294,  3700,  2180,  2181,  2184,  3196,  3713,
+    -679,  2183,  1591,  4479,  3673,  1812,  2185,  2201,  2211,  2599,
+    2215,  1781,  3686,  2220,  2206,  2231,  3638,  2253,  2273,  1307,
+    1813,  1814,  2274,  2599,  2290,  2289,  3688,  2292,  2293,  2325,
+    4401,  2343,   949, -1617,  2341,  3712,  2905,  2349,  2355,  2390,
+    4292,  4293,  2357,  1325,  1326,  4294,  4295,  4296,  4173,  2599,
+    3556,  1945,  1443,  2358,  2359,  3747,  2381,  2382,  2383,  3750,
+    1328,  1329,  1330,  1331,  1332,  1333,  1334,  1335,  2388,  2389,
+    1320,  2399,  2393,  2600,  2404,  2439,  2599,  2408,  2468,  3690,
+    2440,  2412,  4480,  2465,  -687,  1778,  2472,  2600, -1617,  2430,
+    1782,  2431,  4398,  4614,  4615,  2436,  4617,  2451, -1296,  1320,
+   -1617,  4481,  2601,  1328,  1329,  1330,  1331,  1332,  1333,  1334,
+    1335,  1335,  2452,  2600,   874,  2453,  2601,  2478,  2488,  2510,
+   -1617,  4707, -1617, -1442,  4482,  2500,  4569,  2503,  2509,  1221,
+     292,  4666,   294,  4668,  1274,  1278,  2526,  4399,  1413, -2134,
+    2600,  2906,  2601,  1536,  2557,  1879,  2527,  4400,  2563,  1779,
+    1724, -1617, -1617,  3815,  2571, -1617, -1617,  2724,  2725,  4667,
+    2568,  3123,  -856,  2574,  2598,  2606,  2611,  2612,  4264,  2601,
+    2618,  2613,  2602,  4594,  2736,  2629,  3402,  2630,  3194,  2644,
+    2648,  2650,  4763,  2748,  2749,  2656,  2602,  2635,  2654,  2658,
+    2664,  2665,  2666,  2671,  2669,  2670,  4401,  3122,  1330,  1331,
+    1332,  1333,  1334,  1335,   875,  2672,  2673,  2681,  2685,  2689,
+    2698,   721,  2602,  3048,  2699,  3197,  2703,  2701,  2704,  4577,
+    2529,  4713,  2721,  4714,  4715,  4584,  1412,  2722,  2726,  2728,
+    2729,   949,  2730,  4646,  3074,  3864,   877,  2731,  3866,  2602,
+     668,  2732,  2733,  2825,   668,  1536,  2829,  2830,  3195,  2836,
+    2862,  2603,   878,  2863,  2635,  2864,  2865,  2866,  2867,  1505,
+    2834,  2839,   152,   153,  2870,  2603,  1323,  2840,  4403,  3000,
+    4825,  4402,  2841,  2842,  1994,  4404,  1022,  1022,  1995,  1320,
+    2843,  2844,  2845,  1880,  2846,  2847,  2907,  2898,  3904,  2885,
+    1996,  2603,  2848,  3915,  4365,  1323,   292,  2849,   294,  2850,
+    2851,   748,   658,  1057,   949,  4692,  2852,  1783,  2853,  2854,
+    2855, -1617,  2856,   882,  3922,  4405,  2857,  3896,  2603,  4483,
+    2858,  2889,  2922,  2859,  3929,  2860,  2636,  3196,  -856,  2923,
+    2861,  2893,  3932,  3638,  1879,  2979,  3294,  2921,  3008,  4825,
+    2997,   883,  3013,  2637,  3022,  1879,   668,   884,   721,  1879,
+    3638,  2496,  3294,  3294,  1879,  2638,  2908,  2934,   752,  2935,
+    2947,  2969,  4890,  3026,  3027,   753,  3294,  3638,  2978,  2987,
+   -1617,  2635,  2996,  4898,  3024,  3014,  3028,  4890,  3638,  3033,
+    3764,  3638,  4898,  3941,  3025,  2909,  3037,   885,  4406,  3038,
+    3039,  3051,  3947,  2636,   758,   759,  3052,  2035,  3055,  3959,
+    3056,  3064, -1617,  3057, -1617,  3958,  3078,  3079,   658,  4487,
+    2637,  3082,  3083,  4013,  3084,  3088,  3089,  3095,  4014,  1325,
+    1326, -1617,  2638,  3102,  3103,   533, -1617,  3104,   152,   153,
+    3116,  4365,  3117,  4029,  4403,  3119,  3765,  2639,   748,  3766,
+    3317,  4404,  3128, -1617,  3129,  2127,  2128,  3767,  1325,  1326,
+   -1617,  4022,  3138,  3164,  3151,  3165,  3167, -1617,  3172,   949,
+    3190,  3178,  3191,  3463,   767,  3217,  3768, -1617,  2604,  3229,
+    3234,  3235,  3238,  3464,  3239,  1323,  3241,  4875,  3242, -1617,
+    3248,  4405,  2604,  3251, -1617,  3260,  3250,  3465,  3252,  3259,
+    3265,  3271,  3299, -1617,  3266,   752,  4407,  3272,  3282,  3466,
+    3467,  3468,   753,  3312,  2639,  3320,  3311,  3321,  2604,  4572,
+    2636,  3769,  3322,  3351,  4159,  2350,  3364,  3369,  3469,  4798,
+    1997,  3355,  3375,  3377,  3378,  3379,  4128,  2637,   778,  3386,
+    3387,   758,   759,  3430,  3440,  2604,  3462,  3441,  4558,  2638,
+     888,  3445,   782,   783,  3197,  3449,  3451,  3456,  1998,  3459,
+    4113,   640,  2640,  3484,  4406,  4118,  1999,  3485,  3460,  3490,
+    1880, -1617,  3492,  3497,  3508,  1451,  3509,  3512,  4094,  3770,
+    3518,  3519,  1328,  1329,  1330,  1331,  1332,  1333,  1334,  1335,
+    3525,  3531,  3536, -1617,  3528,  3550,   891,   990,  4487,  3554,
+    3566,  3567,  3570, -1617,  3578,  3577,  3579,  3582,  3168,   892,
+    2000,   767,  1329,  1330,  1331,  1332,  1333,  1334,  1335,  4901,
+    3593,  3590,  3624,  3645,  3647,   668,  2791,  4163,  4163,  2640,
+    3714,  2639,  3294,  3721,  2641, -1617,   949,  3709,  1325,  1326,
+    3728,  4175,   949,  3729,  3294,  3294,  3736,  3735,  3733,   641,
+    3294,  4867,  3638,  4132,  3761,  4146,  3294,  3784,  3780,  3785,
+    3792,  2001,  3793,  3805,  1880,  3822,  3435,  1536,  3638,  3823,
+     658,  2457,  4407,  3824,  3825,   778,  4882,  3840,  3842,  3846,
+    3848,  3771,  3854,  3876,  3772,  2590, -1617,  -886,  3856,   782,
+     783,   895,  3877,  4302,  3910,  3905,  3227,  3911,  3913,  3230,
+    3231,  2641,  3233,  3914,  3918,  3236,  3237,  3924,  3916,  3240,
+   -1617,  3917,  3923,   896,  3249,   897,  3925,   549,  3946,  3253,
+    3254,  3255,  3256,  3257,  3938,  3950,  3956,  3261,  3262,  3957,
+    3264,  4016,  4024,  4017,  4020,  4023,  3273,  3274,  3275,  3276,
+    4251,  4027,  3280,  3281,  4028,  3283,  2640,   804,  3470,  4032,
+    4033,  4366,  4036,  4043,  4367,  4058,  4034,  2092, -1617,  4061,
+    4063,  3773,  4046,  4047,  4076,   810,  3471,  4075,   668,  4077,
+     812,  4048,  4049,   813,  4247,  4091,   550,  4065,  2761,  4066,
+    2762,  4067,  4071,  4085,  4093,  4086,  4103,  4112,  4114,  4125,
+    4123,  1328,  1329,  1330,  1331,  1332,  1333,  1334,  1335,  4108,
+    3565, -1529, -1534,  4135,  4140,  4143,   551,  4144,  4160,  3352,
+    4158,  3540,  4165, -1617,  4169,  2764,  4176,  4181,  2641,  4182,
+    4183,  4190,  4198,  4205, -1617, -1617,  4206,  1795,  1796,  1797,
+    1798,  1799,  4240,  2767,  4368,  4369,  4444,  4221,  3297,  4246,
+    4248,  2768,  4257,   552,  4233, -1617,  4057, -1617,  4274,  3077,
+    2233,  4279,  4280,  4285,  4330,  4286,  4281,  4287,  3904,  4288,
+    4300,  4301,  4304,  1413,  2234,  1362,  4305,  3904,  2770,  4314,
+    4318,   989,  4320,  4337,  4163,  4338, -1617, -1617,  4342,  3472,
+   -1617, -1617,  1677,  4340,   804,  2771,  4347,  3294,  4366,  4377,
+     553,  4367,  4380,  4230,  4393,  4373,  4416,  3473,  4445,  3774,
+    4446,  4447,   810,  4374,   658,  4449,  4453,   812, -2727,  4450,
+     813,  4455,  4379,  4457,  4469,  4466,  2776,   642,  4488,  4510,
+    4489,  4490,  4491,  4498,  4500,  4507,  4513,  4524,  3775,  4537,
+    4544,  1800,  1801,  1802,  1803,  4550,   949,  4539,  -143,  4487,
+    4561,  4540,  4562,  4563,  4564,  4567,  4414,  4565,  4568,  4575,
+    4570,  4573,  4585,  4586,  4424,  4601,  4425,  4604,  4605,  3474,
+    4610,   643,  4613,  4616,  4618,  2761,  4619,  2762,  1363,  4442,
+    4623,  4368,  4369,  4441,  4626,  4641,  3475,  4671,  4672,  4678,
+    4684,  4648,   292,  4652,   294,  4655,  4691,  4656,  4709,  4659,
+    4662,  2780,  4669,  2783,  1364,  2758,  4673,  1365,  2781,  -826,
+    -826,  4767,  2764,  4679,  4694, -1751,  4467,  4697,   558, -1700,
+    -826,  4768,  2662,  2782,  4769,   658,   -69,  4789,  4473,  4790,
+    2767,   554,  4750,  4795,  4776,  4791,   853,  4797,  2768,  4792,
+    4799,  4794,  4800,  2235,  1366,  4810,  4813,  4814,  1804,  4815,
+    1805,  1806,  1807,  1481,   644,  4817,  4816,  4818,  4841,  1808,
+    3704,  4840,   645,  1482,  1367,  2770,  4845,  4851,   949,  4163,
+     292,   947,   294,  4848,  4863,  4866,  4868,  1483,  4870,  1677,
+    2784,   947,  2771,   555,  4872,  4874,  4876,  4891,  4879,  1484,
+    1485,  1486,  4900,   949,  1445,  3007,  4880,  3345,  1067,  2785,
+    3126,  4267,  4265,  4266,   556,  4631,  1598,  3609,  1487,  1661,
+    4341,  4630,   853,  2776,  4733,  4835,  1689,  4833,  4509,  2236,
+    4688,  4259,   611,   668,  1069,  2608,  2519,  1368,  4110,  3477,
+    2838,  1169,  3502,  3042,  3044,  3043,  1738,  2499,  4529,  4414,
+    1809,   152,   153,  4651,  2237,  2808,  2267,  3286,  3952,  3511,
+    4116,  1369,  3516,  3847,  2789,  4696,  2790,  4578,  4582,  2038,
+    4557,  4775,  4119,  4468,  2792,  4865,  4828,  4850,  4612,   557,
+    2708,  4350,  3284,  4788,   558,  4168,  3699,  3706,  3291,   292,
+    4871,   294,  4765,  3777,   853,  4005,  4213,  3643,  2780,  4552,
+    1880,  4239,  4566,   559,  4774,  2781,  4556,  1810,  1811,  3188,
+    3652,  4271,  3432,  3808,  3806,  3810,  4836,  2238,   853,   649,
+    2782,   650,  4807,   853,  4808,  4723,  4358,  4738,   560,  4650,
+    4645,  4523,  3077,  4395,  3077,  3288,  3698,  1623,  1697,  2828,
+    4376,  4771,  4708,  3155,   561,  1362,  2798,  2202,  2326,  3060,
+    4185,  2281,  3034,  2580,  3841,  3494,  4571,  3085,  1521,  2977,
+    1640,   853,  1513,  2651,  3818,  4764,  1370,  2914,  2912,  1834,
+    3458,  4163,   952,  4163,  4163,  1371,  3111,  2784,   853,  3873,
+    4663,  3108,  3447,  4625,  4829,  4639,  4035,  4504,  4830,  4087,
+    1372,  1776,  2994,  4193,  3544,  3812,  2785,  2208,  2209,  4333,
+    4589,  3693,  4832,  4677,  2799,  2800,  2801,  4331,  1373,  4332,
+    2883,  2802,  3542,  2239,   651,  2055,  3032,  4442,  2011,  3067,
+    3859,  4441,   853,   853,   853,   853,  4121,  2803,  3860,  3898,
+    2804,  2348,  4772,  4473,   853,  1083,  1189,  2691,  1488,  4676,
+    2692,  2167,  1063,   668,  3152,  3004,  1673,  1066,  1363,  2805,
+    1812,  2789,  1374,  2790,  4732,  1375,  1489,   656,  4197,  4284,
+    2513,  2792,  3845,   658,  2063,  1813,  1814,  2807,  4864,  1380,
+    4492,  1283,  4701,  4702,  1364,  4620,  4873,  1365,  4899,  4902,
+    4746,  4560,  2112,  3137,  3863,  1376,  3893,  1024,  1025,  4163,
+    4163,  2676,  2471,  4163,  4723,  3135,  3134,  2562,  4834,  2213,
+    2073,   985,  3080,  1496,   538,  2002,  4456,   539,  3023,  3478,
+     853,  4465,  3717,   987,  1366,  1502,  4745,  1664,  4827,  2296,
+    1108,  4582,  1109,  2216,  1665,  1880,   947,   947,  1110,  1666,
+     947,     0,     0,  2798,  1367,     0,     0,     0,     0,     0,
+     292,     0,   294,     0,     0,     0,   668,     0,     0,     0,
+     853,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   947,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,  4783,  4784,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  4163,     0,     0,     0,     0,     0,
-    2296,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    4903,     0,     0,     0,  1370,     0,     0,     0,     0,     0,
-       0,     0,     0,  1371,  2799,  2800,  2801,     0,     0,   668,
-    4893,  2802,     0,     0,     0,  3317,  3317,     0,  1372,     0,
-       0,     0,     0,     0,     0,     0,     0,  2803,     0,     0,
-    2804,     0,     0,     0,     0,     0,  1373,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  2805,
+       0,     0,     0,     0,  4163,     0,     0,  1490,     0,     0,
+       0,  2799,  2800,  2801,     0,     0,     0,  1368,  2802,     0,
+    4903,     0,     0,     0,     0,  2297,     0,  2298,     0,     0,
+       0,     0,     0,     0,  2803,     0,     0,  2804,     0,   668,
+    4893,  1369,     0,     0,     0,  3317,  3317,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  2805,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1491,
+       0,     0,     0,     0,  2807,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  2299,  1492,  2300,  2301,  2302,
+    2303,  2304,     0,  2305,  2306,  2307,  2308,  2309,  2310,  2311,
+    2312,  2313,     0,  2314,  2315,  2316,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  2297,  2807,  2298,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1374,     0,     0,  1375,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1880,     0,     0,     0,  3607,     0,
+       0,   668,     0,     0,     0,  1880,  1370,     0,  4869,  1880,
+       0,     0,     0,     0,  1880,  1371,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1880,     0,     0,     0,     0,     0,
-       0,   668,     0,  1376,     0,  1880,     0,     0,  4869,  1880,
-       0,     0,     0,     0,  1880,     0,  2299,  3182,  2300,  2301,
-    2302,  2303,  2304,     0,  2305,  2306,  2307,  2308,  2309,  2310,
-    2311,  2312,  2313,     0,  2314,  2315,  2316,     0,     0,     0,
-     853,     0,     0,   853,   947,     0,     0,     0,     0,     0,
+    1372,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     853,     0,     0,   853,   947,     0,     0,     0,  1373,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   853,   853,
        0,     0,     0,     0,     0,     0,     0,   853,   853,   853,
      853,   853,   853,   853,   853,   853,   853,   853,   853,     0,
-       0,     0,     0,     0,     0,     0,     0,   853,   853,     0,
+       0,     0,  1374,  2317,  2318,  1375,     0,   853,   853,     0,
      853,   853,     0,     0,     0,   853,   853,     0,     0,   853,
      853,   853,   853,     0,   853,   853,   853,     0,     0,     0,
-       0,     0,     0,   853,   853,     0,   853,   853,   853,   853,
+       0,     0,     0,   853,   853,  1376,   853,   853,   853,   853,
      853,     0,     0,   853,   853,   853,   853,   853,   853,   853,
      853,   853,   853,   853,     0,   853,     0,     0,   853,   853,
        0,     0,     0,   853,     0,     0,     0,   853,   853,   853,
-       0,     0,     0,     0,  2317,  2318,     0,     0,     0,   853,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   853,
      853,   853,     0,     0,     0,     0,     0,     0,   853,     0,
        0,     0,     0,     0,     0,   853,   853,   853,   853,     0,
        0,     0,     0,     0,     0,     0,   853,   853,   853,     0,
@@ -5294,120 +5299,120 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,  2763,
-       0,     0,     0,     0,  2764,  2765,     0,     0,     0,     0,
+    2761,     0,  2762,     0,  2764,  2765,     0,     0,     0,     0,
     2766,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,  2767,   853,     0,     0,     0,     0,     0,     0,
-    2768,     0,     0,     0,     0,     0,  1027,     0,     0,   853,
-    2769,     0,     0,     0,     0,     0,     0,     0,     0,  1028,
-       0,     0,     0,     0,     0,     0,     0,  2770,     0,     0,
-     956,  1029,     0,     0,     0,     0,     0,     0,     0,     0,
+    2768,     0,     0,     0,  -826,  -826,     0,  2764,     0,   853,
+    2769,     0,     0,     0,     0,  -826,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,  2767,     0,  2770,     0,     0,
+       0,     0,     0,  2768,     0,     0,     0,     0,     0,     0,
        0,  1677,     0,     0,  2771,     0,     0,     0,     0,     0,
-       0,     0,     0,  2772,  2773,  1030,  1011,     0,     0,     0,
-       0,  2774,     0,     0,     0,     0,     0,  1031,     0,  2775,
-       0,     0,     0,  -965,     0,  2776,     0,     0,     0,     0,
+       0,     0,     0,  2772,  2773,     0,     0,     0,     0,     0,
+    2770,  2774,     0,     0,     0,     0,     0,     0,     0,  2775,
+       0,     0,     0,  -965,  1677,  2776,     0,  2771,     0,     0,
        0,     0,     0,     0,     0,  2777,     0,     0,   853,     0,
-       0,     0,     0,  1032,     0,  1033,     0,  1034,     0,     0,
-       0,     0,     0,   853,     0,  2778,     0,     0,     0,  1035,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     853,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    15,    16,     0,     0,     0,     0,     0,     0,     0,
-       0,   292,     0,   294,     0,     0,     0,     0,  2779,     0,
-    2780,     0,     0,     0,     0,     0,     0,  2781, -1913,  1036,
-       0,     0,     0,  1037,     0,     0,  1038,     0,     0,     0,
-       0,     0,  2782,     0,     0,     0,     0,   853,     0,     0,
+       0,     0,     0,   853,     0,  2778,     0,     0,  2776,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1039,  2783,  1040,     0,     0,
-       0,     0,     0,     0,     0,  1041,     0,  1042,     0,     0,
+     853,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   292,     0,   294,     0,  2784,
-       0,     0,     0,  1043,  1044,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  2785,     0,
-       0,     0,  2786,     0,     0,  1045,     0,     0,     0,     0,
+       0,   292,     0,   294,     0,     0,     0,     0,  2779,     0,
+    2780,     0,     0,     0,     0,     0,     0,  2781,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1046,     0,     0,
-       0,     0,     0,     0,     0,     0,   947,     0,     0,     0,
-       0,  2787,     0,  3696,     0,     0,  2788,     0,     0,  2758,
-       0,  2759,     0,  2789,     0,  2790,  1047,     0,     0,     0,
-    2791,     0,     0,  2792,     0,  2761,     0,  2762,     0,     0,
+       0,     0,  2782,     0,   292,     0,   294,   853,     0,     0,
+       0,     0,  1027,  2780,     0,     0,     0,     0,     0,     0,
+    2781,     0,     0,     0,     0,  1028,  2783,     0,     0,     0,
+       0,     0,     0,     0,     0,  2782,   956,  1029,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  3181,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  2784,
+       0,  1030,  1011,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1031,     0,     0,     0,     0,  2785,     0,
+       0,     0,  2786,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  2784,     0,     0,     0,     0,     0,     0,  1032,
+       0,  1033,     0,  1034,     0,     0,     0,     0,     0,     0,
+       0,  2785,     0,     0,     0,  1035,   947,     0,     0,     0,
+       0,  2787,     0,     0,     0,     0,  2788,     0,     0,     0,
+       0,     0,     0,  2789,     0,  2790,     0,    15,    16,     0,
+    2791,     0,     0,  2792,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   853,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  2793,     0,     0,  2763,     0,     0,
-       0,     0,  2764,     0,     0,     0,     0,     0,  2794,  2795,
+       0,     0,     0,     0, -1913,  1036,  2789,     0,  2790,  1037,
+       0,     0,  1038,     0,  2793,     0,  2792,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  2794,  2795,
     2796,  2797,     0,     0,     0,     0,     0,     0,     0,     0,
-    2767,     0,     0,     0,  1048,     0,     0,     0,  2768,     0,
-       0,     0,     0,     0,     0,  2798,     0,     0,  2769,     0,
+       0,  1039,     0,  1040,     0,     0,     0,     0,     0,     0,
+       0,  1041,     0,  1042,     0,  2798,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1049,     0,     0,     0,     0,  2770,     0,     0,     0,     0,
-       0,  1050,  1051,     0,     0,  1052,  1053,     0,     0,  1677,
-       0,     0,  2771,     0,     0,     0,     0,     0,     0,     0,
-       0,  2772,     0,     0,     0,     0,  1054,     0,     0,  3697,
-     853,   853,   853,  2799,  2800,  2801,     0,  2775,     0,     0,
-    2802,     0,     0,  2776,     0,   853,     0,     0,     0,     0,
+       0,   292,     0,   294,     0,     0,     0,     0,     0,  1043,
+    1044,     0,     0,     0,     0,     0,     0,     0,  2798,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1045,     0,     0,     0,     0,     0,     0,     0,     0,
+     853,   853,   853,  2799,  2800,  2801,     0,     0,     0,     0,
+    2802,     0,     0,  1046,     0,   853,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,  2803,     0,     0,  2804,
+       0,     0,     0,     0,     0,     0,  2799,  2800,  2801,     0,
+       0,   853,  1047,  2802,     0,     0,     0,   853,  2805,     0,
+     853,     0,   853,  2806,     0,     0,     0,     0,   853,  2803,
+     853,   853,  2804,     0,  4602,  4603,  2807,     0,  4606,  4607,
+    4608,  4609,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  2805,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1380,     0,     0,     0,     0,     0,     0,  2807,
+       0,     0,     0,  1085,  4640,     0,     0,     0,     0,     0,
+    1048,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   853,     0,  2778,  1055,     0,     0,   853,  2805,     0,
-     853,     0,   853,  2806,     0,     0,     0,  1056,   853,     0,
-     853,   853,     0,     0,  4602,  4603,  2807,     0,  4606,  4607,
-    4608,  4609,     0,     0,     0,     0,     0,     0,     0,   292,
-       0,   294,     0,     0,     0,     0,     0,     0,  2780,     0,
-   -2533,     0,  1380,     0,  1057,  2781,     0,     0,  2761,     0,
-    2762,     0,     0,  1085,  4640,     0,     0,     0,     0,     0,
-    2782,     0,  1058,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  -965,     0,  1049,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1050,  1051,     0,
+       0,  1052,  1053,     0,     0,     0,     0,     0,     0,     0,
+       0,  3182,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1054,   853,     0,  1168,     0,     0,     0,     0,
+       0,     0,   853,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  4703,  4704,     0,     0,     0,     0,     0,     0,
+       0,  4712,     0,     0,  1197,     0,     0,     0,     0,     0,
+       0,   853,     0,     0,     0,     0,     0,     0,     0,     0,
+    1055,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1056,     0,     0,     0,     0,     0,     0,
+       0,     0,  1235,     0,   853,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1253,
+       0,     0,     0,     0,     0,   853, -2533,     0,     0,     0,
+    1057,     0,     0,   853,     0,     0,     0,     0,     0,     0,
+       0,     0,   853,     0,     0,     0,     0,     0,  1058,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  -965,     0,  2783,  2764,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1297,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  2767,     0,     0,     0,     0,     0,     0,
-       0,  2768,     0,     0,     0,     0,     0,  2784,     0,     0,
-   -2533,     0,     0,   853,     0,  1168,     0,     0,  1059,     0,
-       0,     0,   853,     0,     0,     0,  2785,     0,  2770,     0,
-    2786,     0,  4703,  4704,     0,     0,     0,     0,     0,     0,
-       0,  4712,  1677,     0,  1197,  2771,     0,     0,     0,     0,
-       0,   853,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  2788,     0,  2776,     0,     0,     0,
-       0,  2789,  1235,  2790,   853,     0,     0,     0,     0,     0,
-       0,  2792,     0,     0,     0,     0,     0,     0,     0,  1253,
-       0,     0,     0,     0,     0,   853,     0,     0,     0,     0,
-       0,     0,     0,   853,     0,     0,     0,     0,     0,     0,
-       0,     0,   853,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  2795,     0,     0,
-       0,     0,   292,     0,   294,     0,  1297,     0,     0,     0,
-       0,  2780,     0,     0,     0,     0,     0,     0,  2781,     0,
-       0,     0,     0,  2798,     0,     0,     0,     0,     0,     0,
-       0,     0,   947,  2782,     0,     0,     0,     0,     0,     0,
+       0,     0,   947,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0, -2533,     0,     0,     0,
+       0,     0,     0,     0,  1059,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1419,     0,     0,     0,     0,  2823,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  2799,  2800,  2801,     0,     0,     0,     0,  2802,     0,
-    2784,  1419,     0,     0,     0,     0,  2823,     0,     0,     0,
-       0,     0,     0,     0,  2803,     0,     0,  2804,     0,  2785,
        0,     0,     0,     0,     0,     0,     0,     0,   853,     0,
-       0,     0,     0,     0,     0,     0,  2805,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,  1450,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  2807,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  2789,     0,  2790,     0,     0,     0,
-       0,     0,     0,     0,  2792,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      853,     0,     0,     0,   853,     0,     0,     0,     0,   853,
      853,     0,     0,     0,     0,     0,     0,     0,   853,     0,
      853,     0,   853,   853,   853,   853,     0,     0,   853,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   853,   853,
        0,   853,   853,     0,   853,   853,   853,   853,     0,   853,
        0,     0,   853,     0,     0,     0,     0,     0,     0,     0,
-       0,   853,     0,     0,     0,     0,  2798,     0,   853,     0,
+       0,   853,     0,     0,     0,     0,     0,     0,   853,     0,
      853,     0,   853,   853,     0,   853,   853,     0,     0,     0,
      853,   853,   853,     0,     0,     0,   853,   853,   853,     0,
      853,     0,   853,     0,   853,     0,   853,     0,   853,     0,
        0,     0,     0,   853,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     853,     0,     0,     0,  2799,  2800,  2801,   853,     0,     0,
-     853,  2802,     0,     0,     0,     0,   853,     0,     0,   853,
-       0,     0,     0,   853,     0,     0,     0,  2803,     0,     0,
-    2804,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1716,     0,     0,  1717,     0,     0,     0,     0,  2805,
+     853,     0,     0,     0,     0,     0,     0,   853,     0,     0,
+     853,     0,     0,     0,     0,     0,   853,     0,     0,   853,
+       0,     0,     0,   853,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1716,     0,     0,  1717,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  2807,     0,  1749,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1749,
     1750,     0,     0,     0,     0,     0,     0,   947,  1760,  1761,
        0,     0,  1764,  1765,  1766,  1767,  1770,  1771,  1772,  1773,
        0,     0,     0,   947,   947,   853,     0,   853,  1789,  1790,
@@ -5484,7 +5489,7 @@ static const yytype_int16 yytable[] =
        0,  2485,     0,  2486,     0,     0,     0,     0,     0,     0,
       60,     0,     0,  2823,     0,     0,     0,     0,    61,     0,
        0,     0,     0,     0,    62,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    63,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    63,
     3966,     0,     0,  3967,     0,     0,   947,     0,     0,     0,
        0,  3968,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -5559,7 +5564,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,    60,    12,     0,     0,     0,
        0,     0,     0,    61,   947,     0,     0,     0,     0,    62,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      13,     0,    63,     0,     0,     0,     0,     0,    14,     0,
+      13,     0,     0,     0,    63,     0,     0,     0,    14,     0,
       15,    16,     0,     0,     0,     0,     0,   853,     0,     0,
        0,   853,     0,    17,    18,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -5586,67 +5591,67 @@ static const yytype_int16 yytable[] =
        0,     0,  3412,     0,     0,     0,     0,     0,     0,     0,
      853,  3422,     0,  3424,    33,  3426,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   853,     0,   853,     0,     0,
-       0,    34,     0,    35,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    36,     0,     0,     0,
+       0,    34,     0,    35,     0,     0,     0,     0,     0,  3696,
+       0,     0,     0,     0,     0,  2758,    36,  2759,     0,     0,
        0,     0,  4522,     0,     0,     0,  4522,    37,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  2761,     0,  2762,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
        0,     0,    39,     0,    40,     0,     0,    42,     0,     0,
-      43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
+      43,    44,     0,  2763,     0,     0,     0,     0,  2764,     0,
        0,    45,     0,     0,    46,     0,     0,     0,     0,     0,
-       0,     0,    47,     0,     0,     0,     0,     0,    48,  4415,
-       0,     0,     0,     0,     0,     0,    49,     0,     0,     0,
-       0,    50,    51,    52,     0,     0,     0,     0,     0,   947,
+       0,     0,    47,     0,     0,     0,  2767,     0,    48,  4415,
+       0,     0,     0,     0,  2768,     0,    49,     0,     0,     0,
+       0,    50,    51,    52,  2769,     0,     0,     0,     0,   947,
        0,     0,     0,     0,     0,   947,     0,     0,  2626,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   853,     0,
-       0,     0,     0,     0,    53,     0,     0,     0,     0,     0,
-       0,     0,    54,     0,     0,  2626,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  2148,     0,     0,     0,     0,
+       0,  2770,     0,     0,     0,     0,     0,     0,   853,     0,
+       0,     0,     0,     0,    53,  1677,     0,     0,  2771,     0,
+       0,     0,    54,     0,     0,  2626,     0,  2772,     0,     0,
+       0,     0,     0,     0,     0,  3697,     0,     0,     0,     0,
+       0,     0,     0,  2775,     0,  2148,     0,     0,     0,  2776,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,    55,     0,     0,     0,
-       0,     0,  4522,     0,     0,     0,     0,  4522,    56,     0,
+       0,     0,  4522,     0,     0,     0,     0,  4522,    56,  2778,
        0,     0,    57,     0,  4522,    58,     0,     0,     0,     0,
       59,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      61,     0,     0,     0,     0,     0,    62,     0,     0,     0,
-       0,     0,     0,   853,     0,     0,     0,     0,     0,    63,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   292,     0,   294,     0,     0,
+      61,     0,     0,     0,  2780,     0,    62,     0,     0,     0,
+       0,  2781,     0,   853,     0,     0,     0,     0,     0,     0,
+       0,    63,     0,     0,     0,     0,  2782,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    2783,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,  4522,     0,     0,     0,     0,     0,  4740,
+       0,     0,     0,  2784,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  2785,     0,     0,     0,  2786,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   853,     0,     0,     0,     0,     0,     0,     0,
      853,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  3754,     0,     0,     0,     0,     0,     0,     0,
-       0,   853,     0,     0,     0,     0,     0,     0,     0,   947,
+    2788,     0,  3754,     0,     0,     0,     0,  2789,     0,  2790,
+       0,   853,     0,     0,     0,     0,     0,  2792,     0,   947,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,  3783,     0,     0,     0,  3787,  3788,     0,  4522,
        0,  4522,  4522,     0,     0,     0,     0,     0,  3795,     0,
        0,     0,     0,  3797,     0,     0,  3798,     0,  3799,  3800,
-       0,     0,     0,     0,     0,     0,     0,   853,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  2795,     0,     0,     0,   853,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  2798,
        0,  4522,     0,     0,  4522,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,  4522,     0,     0,  3834,
        0,     0,     0,     0,     0,     0,   853,     0,     0,     0,
-       0,   947,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   947,     0,     0,     0,     0,     0,  2799,  2800,  2801,
+       0,     0,     0,     0,  2802,     0,     0,     0,     0,     0,
        0,     0,     0,  3834,     0,     0,   947,     0,     0,     0,
+    2803,     0,     0,  2804,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   853,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   853,  2805,     0,     0,     0,     0,     0,     0,     0,
     3890,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    2807,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     3834,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -5822,73 +5827,206 @@ static const yytype_int16 yytable[] =
      818,   516,     0,     0,   517,   819,     0,   820,   518,   519,
      520,   521,   522,   821,   822,     0,     0,     0,     0,     0,
        0,   525,   526,     0,   527,   528,   529,     0,     0,   823,
-       0,     0,     0,     0,     0,     0,     0,   824,   825,     0,
-       0,     0,     0,   826,   827,     0,     0,   828,   829,     0,
-       0,   830,   831,   160,     0,   161,   717,   163,   164,   165,
-     166,  2144,     0,   167,     0,     0,     0,   168,     0,     0,
-     718,     0,   170,   171,   172,   173,   174,   175,   176,   719,
-     178,     0,   179,     0,     0,  2145,   180,   721,   722,   723,
-     181,   724,     0,   182,   183,   184,     0,   185,     0,   186,
-     187,     0,     0,   188,   725,   726,   189,   190,     0,   191,
-     727,   728,   193,   194,     0,   195,   196,   197,   198,   729,
-     200,     0,   730,   202,   731,   732,   733,   734,   735,     0,
-     208,   209,   210,   211,   212,   213,   214,   215,     0,   216,
-     217,     0,   218,   219,   220,   736,   222,     0,   223,   737,
-     738,   224,     0,     0,   225,   739,   226,   740,   741,   227,
-       0,   228,   742,   743,     0,   229,   230,   231,   744,   745,
-     746,     0,     0,     0,     0,   747,   234,   748,     0,     0,
-    2146,   235,     0,   236,     0,     0,     0,     0,   237,     0,
-     238,   239,   240,   241,   242,     0,     0,     0,     0,   243,
-       0,     0,   244,   245,   246,     0,     0,     0,   247,     0,
-     248,   249,     0,   250,   251,   252,     0,   253,   254,     0,
-     255,   256,   257,   258,   259,   260,   261,   750,     0,   262,
-     263,   264,   265,   751,   752,   266,   267,     0,   268,   269,
-     270,   753,     0,   271,     0,     0,     0,   754,   273,     0,
-     274,     0,   275,     0,   276,   277,   755,   279,   756,   281,
-     282,     0,   283,     0,   757,   284,   285,   286,     0,   287,
-     758,   759,     0,   288,   289,     0,     0,     0,   760,   291,
-     292,   293,   294,   761,     0,     0,   295,   296,   297,     0,
-       0,   298,     0,     0,     0,   762,   299,   300,   763,     0,
-       0,   301,     0,   302,   303,     0,   304,   305,     0,     0,
-       0,   306,     0,     0,   307,   308,   764,     0,     0,   310,
-       0,   765,   311,   312,     0,     0,     0,     0,     0,   766,
-     314,     0,   315,     0,   316,     0,   317,   318,     0,     0,
-     767,     0,     0,     0,   319,   320,   321,   322,   323,   324,
-     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
-       0,   335,   336,   337,   338,   768,   339,   340,   341,   342,
-     769,   343,   344,   345,     0,     0,     0,     0,   346,   347,
-     348,   349,   770,   351,     0,     0,   771,   353,   772,   354,
-       0,   355,   773,   774,   775,   776,   777,   360,   361,   362,
-     363,   364,   365,     0,   778,   366,     0,     0,   367,   368,
-     369,   370,   779,   780,   781,   371,   372,     0,   782,   783,
-     373,     0,   374,   375,   784,  2147,   377,   378,   379,   380,
-       0,   381,   382,     0,     0,     0,     0,     0,     0,     0,
-       0,   383,   384,   385,     0,   785,   386,     0,   387,     0,
-     388,   389,   786,   391,   392,   393,   394,   787,   788,   397,
-     789,     0,   398,   399,   400,     0,   401,     0,   402,   403,
-     404,   405,   406,     0,   790,   408,   409,     0,     0,   410,
-       0,     0,     0,   411,   412,   413,   414,   415,     0,     0,
-     416,   417,   418,   419,   420,     0,   421,   422,     0,   423,
-     424,   425,   791,   792,   426,     0,   427,     0,   428,   429,
-       0,   430,   431,     0,   432,     0,   793,     0,   794,   434,
-     435,   436,   437,   438,   439,   795,   796,   442,   443,   444,
-     445,     0,   797,   447,     0,     0,     0,   448,   449,   450,
-     451,     0,     0,     0,   452,     0,     0,     0,   453,     0,
-     454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
-     463,   464,   465,     0,     0,     0,     0,     0,     0,   466,
-     467,     0,   468,     0,     0,   469,     0,     0,     0,   470,
-     471,   472,     0,     0,     0,   473,   798,   799,   474,   475,
-       0,   476,   477,   800,   479,   480,   481,   801,   802,   482,
-     483,   484,   485,   803,   486,   487,     0,     0,   488,   489,
-     490,   491,     0,   804,   492,   493,     0,   805,   806,   807,
-     808,     0,     0,     0,     0,     0,   498,   499,   500,     0,
-     809,   810,   811,   502,   503,   504,   812,   505,   506,   813,
-     507,   508,     0,   509,   510,     0,     0,   511,     0,     0,
-     512,     0,   513,     0,   814,   515,     0,     0,   815,   816,
-     817,   818,   516,     0,     0,   517,   819,     0,   820,   518,
-     519,   520,   521,   522,   821,   822,     0,     0,     0,     0,
-       0,     0,   525,   526,     0,   527,   528,   529,     0,     0,
-     823,     0,     0,     0,     0,     0,     0,     0,   824,   825,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   824,
+     825,     0,     0,     0,     0,   826,   827,     0,     0,   828,
+     829,     0,     0,   830,   831,   160,     0,   161,   717,   163,
+     164,   165,   166,  2144,     0,   167,     0,     0,     0,   168,
+       0,     0,   718,     0,   170,   171,   172,   173,   174,   175,
+     176,   719,   178,     0,   179,     0,     0,  2145,   180,   721,
+     722,   723,   181,   724,     0,   182,   183,   184,     0,   185,
+       0,   186,   187,     0,     0,   188,   725,   726,   189,   190,
+       0,   191,   727,   728,   193,   194,     0,   195,   196,   197,
+     198,   729,   200,     0,   730,   202,   731,   732,   733,   734,
+     735,     0,   208,   209,   210,   211,   212,   213,   214,   215,
+       0,   216,   217,     0,   218,   219,   220,   736,   222,     0,
+     223,   737,   738,   224,     0,     0,   225,   739,   226,   740,
+     741,   227,     0,   228,   742,   743,     0,   229,   230,   231,
+     744,   745,   746,     0,     0,     0,     0,   747,   234,   748,
+       0,     0,  2146,   235,     0,   236,     0,     0,     0,     0,
+     237,     0,   238,   239,   240,   241,   242,     0,     0,     0,
+       0,   243,     0,     0,   244,   245,   246,     0,     0,     0,
+     247,     0,   248,   249,     0,   250,   251,   252,     0,   253,
+     254,     0,   255,   256,   257,   258,   259,   260,   261,   750,
+       0,   262,   263,   264,   265,   751,   752,   266,   267,     0,
+     268,   269,   270,   753,     0,   271,     0,     0,     0,   754,
+     273,     0,   274,     0,   275,     0,   276,   277,   755,   279,
+     756,   281,   282,     0,   283,     0,   757,   284,   285,   286,
+       0,   287,   758,   759,     0,   288,   289,     0,     0,     0,
+     760,   291,   292,   293,   294,   761,     0,     0,   295,   296,
+     297,     0,     0,   298,     0,     0,     0,   762,   299,   300,
+     763,     0,     0,   301,     0,   302,   303,     0,   304,   305,
+       0,     0,     0,   306,     0,     0,   307,   308,   764,     0,
+       0,   310,     0,   765,   311,   312,     0,     0,     0,     0,
+       0,   766,   314,     0,   315,     0,   316,     0,   317,   318,
+       0,     0,   767,     0,     0,     0,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,     0,   335,   336,   337,   338,   768,   339,   340,
+     341,   342,   769,   343,   344,   345,     0,     0,     0,     0,
+     346,   347,   348,   349,   770,   351,     0,     0,   771,   353,
+     772,   354,     0,   355,   773,   774,   775,   776,   777,   360,
+     361,   362,   363,   364,   365,     0,   778,   366,     0,     0,
+     367,   368,   369,   370,   779,   780,   781,   371,   372,     0,
+     782,   783,   373,     0,   374,   375,   784,  2147,   377,   378,
+     379,   380,     0,   381,   382,     0,     0,     0,     0,     0,
+       0,     0,     0,   383,   384,   385,     0,   785,   386,     0,
+     387,     0,   388,   389,   786,   391,   392,   393,   394,   787,
+     788,   397,   789,     0,   398,   399,   400,     0,   401,     0,
+     402,   403,   404,   405,   406,     0,   790,   408,   409,     0,
+       0,   410,     0,     0,     0,   411,   412,   413,   414,   415,
+       0,     0,   416,   417,   418,   419,   420,     0,   421,   422,
+       0,   423,   424,   425,   791,   792,   426,     0,   427,     0,
+     428,   429,     0,   430,   431,     0,   432,     0,   793,     0,
+     794,   434,   435,   436,   437,   438,   439,   795,   796,   442,
+     443,   444,   445,     0,   797,   447,     0,     0,     0,   448,
+     449,   450,   451,     0,     0,     0,   452,     0,     0,     0,
+     453,     0,   454,   455,   456,   457,   458,   459,     0,   460,
+     461,   462,   463,   464,   465,     0,     0,     0,     0,     0,
+       0,   466,   467,     0,   468,     0,     0,   469,     0,     0,
+       0,   470,   471,   472,     0,     0,     0,   473,   798,   799,
+     474,   475,     0,   476,   477,   800,   479,   480,   481,   801,
+     802,   482,   483,   484,   485,   803,   486,   487,     0,     0,
+     488,   489,   490,   491,     0,   804,   492,   493,     0,   805,
+     806,   807,   808,     0,     0,     0,     0,     0,   498,   499,
+     500,     0,   809,   810,   811,   502,   503,   504,   812,   505,
+     506,   813,   507,   508,     0,   509,   510,     0,     0,   511,
+       0,     0,   512,     0,   513,     0,   814,   515,     0,     0,
+     815,   816,   817,   818,   516,     0,     0,   517,   819,     0,
+     820,   518,   519,   520,   521,   522,   821,   822,     0,     0,
+       0,     0,     0,     0,   525,   526,     0,   527,   528,   529,
+       0,     0,   823,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   824,   825,     0,     0,     0,     0,   826,   827,
+       0,     0,   828,   829,     0,     0,   830,   831,   160,     0,
+     161,   717,   163,   164,   165,   166,     0,     0,   167,     0,
+       0,     0,   168,     0,     0,   718,     0,   170,   171,   172,
+     173,   174,   175,   176,   719,   178,     0,   179,     0,     0,
+     720,   180,   721,   722,   723,   181,   724,     0,   182,   183,
+     184,     0,   185,     0,   186,   187,     0,     0,   188,   725,
+     726,   189,   190,     0,   191,   727,   728,   193,   194,     0,
+     195,   196,   197,   198,   729,   200,     0,   730,   202,   731,
+     732,   733,   734,   735,     0,   208,   209,   210,   211,   212,
+     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
+     736,   222,     0,   223,   737,   738,   224,     0,     0,   225,
+     739,   226,   740,   741,   227,     0,   228,   742,   743,     0,
+     229,   230,   231,   744,   745,   746,     0,     0,     0,     0,
+     747,   234,   748,     0,     0,   749,   235,     0,   236,     0,
+       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
+       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
+       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
+     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
+     260,   261,   750,     0,   262,   263,   264,   265,   751,   752,
+     266,   267,     0,   268,   269,   270,   753,     0,   271,     0,
+       0,     0,   754,   273,  2442,   274,     0,   275,     0,   276,
+     277,   755,   279,   756,   281,   282,     0,   283,     0,   757,
+     284,   285,   286,     0,   287,   758,   759,     0,   288,   289,
+       0,     0,     0,   760,   291,   292,   293,   294,   761,     0,
+       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
+     762,   299,   300,   763,     0,     0,   301,     0,   302,   303,
+       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
+     308,   764,     0,     0,   310,     0,   765,   311,   312,     0,
+       0,     0,     0,     0,   766,   314,     0,   315,     0,   316,
+       0,   317,   318,     0,     0,   767,     0,     0,     0,   319,
+     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
+     768,   339,   340,   341,   342,   769,   343,   344,   345,     0,
+       0,     0,     0,   346,   347,   348,   349,   770,   351,     0,
+       0,   771,   353,   772,   354,     0,   355,   773,   774,   775,
+     776,   777,   360,   361,   362,   363,   364,   365,     0,   778,
+     366,     0,     0,   367,   368,   369,   370,   779,   780,   781,
+     371,   372,     0,   782,   783,   373,     0,   374,   375,   784,
+       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
+       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
+     785,   386,     0,   387,     0,   388,   389,   786,   391,   392,
+     393,   394,   787,   788,   397,   789,     0,   398,   399,   400,
+       0,   401,     0,   402,   403,   404,   405,   406,     0,   790,
+     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
+     413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
+       0,   421,   422,     0,   423,   424,   425,   791,   792,   426,
+       0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
+       0,   793,     0,   794,   434,   435,   436,   437,   438,   439,
+     795,   796,   442,   443,   444,   445,     0,   797,   447,     0,
+       0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
+       0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
+     459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
+       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
+     469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
+     473,   798,   799,   474,   475,     0,   476,   477,   800,   479,
+     480,   481,   801,   802,   482,   483,   484,   485,   803,   486,
+     487,     0,     0,   488,   489,   490,   491,     0,   804,   492,
+     493,     0,   805,   806,   807,   808,     0,     0,     0,     0,
+       0,   498,   499,   500,     0,   809,   810,   811,   502,   503,
+     504,   812,   505,   506,   813,   507,   508,     0,   509,   510,
+       0,     0,   511,     0,     0,   512,     0,   513,     0,   814,
+     515,     0,     0,   815,   816,   817,   818,   516,     0,     0,
+     517,   819,     0,   820,   518,   519,   520,   521,   522,   821,
+     822,     0,     0,     0,     0,     0,     0,   525,   526,     0,
+     527,   528,   529,     0,     0,   823,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   824,   825,     0,     0,     0,
+       0,   826,   827,     0,     0,   828,   829,     0,     0,   830,
+     831,   160,     0,   161,   717,   163,   164,   165,   166,     0,
+       0,   167,     0,     0,     0,   168,     0,     0,   718,     0,
+     170,   171,   172,   173,   174,   175,   176,   719,   178,     0,
+     179,     0,     0,   720,   180,   721,   722,   723,   181,   724,
+       0,   182,   183,   184,     0,   185,     0,   186,   187,     0,
+       0,   188,   725,   726,   189,   190,     0,   191,   727,   728,
+     193,   194,     0,   195,   196,   197,   198,   729,   200,     0,
+     730,   202,   731,   732,   733,   734,   735,     0,   208,   209,
+     210,   211,   212,   213,   214,   215,     0,   216,   217,     0,
+     218,   219,   220,   736,   222,     0,   223,   737,   738,   224,
+       0,     0,   225,   739,   226,   740,   741,   227,     0,   228,
+     742,   743,     0,   229,   230,   231,   744,   745,   746,     0,
+       0,     0,     0,   747,   234,   748,     0,     0,   749,   235,
+       0,   236,     0,     0,     0,     0,   237,     0,   238,   239,
+     240,   241,   242,     0,     0,     0,     0,   243,     0,     0,
+     244,   245,   246,     0,     0,     0,   247,     0,   248,   249,
+       0,   250,   251,   252,     0,   253,   254,     0,   255,   256,
+     257,   258,   259,   260,   261,   750,     0,   262,   263,   264,
+     265,   751,   752,   266,   267,     0,   268,   269,   270,   753,
+       0,   271,     0,     0,     0,   754,   273,  2444,   274,     0,
+     275,     0,   276,   277,   755,   279,   756,   281,   282,     0,
+     283,     0,   757,   284,   285,   286,     0,   287,   758,   759,
+       0,   288,   289,     0,     0,     0,   760,   291,   292,   293,
+     294,   761,     0,     0,   295,   296,   297,     0,     0,   298,
+       0,     0,     0,   762,   299,   300,   763,     0,     0,   301,
+       0,   302,   303,     0,   304,   305,     0,     0,     0,   306,
+       0,     0,   307,   308,   764,     0,     0,   310,     0,   765,
+     311,   312,     0,     0,     0,     0,     0,   766,   314,     0,
+     315,     0,   316,     0,   317,   318,     0,     0,   767,     0,
+       0,     0,   319,   320,   321,   322,   323,   324,   325,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,     0,   335,
+     336,   337,   338,   768,   339,   340,   341,   342,   769,   343,
+     344,   345,     0,     0,     0,     0,   346,   347,   348,   349,
+     770,   351,     0,     0,   771,   353,   772,   354,     0,   355,
+     773,   774,   775,   776,   777,   360,   361,   362,   363,   364,
+     365,     0,   778,   366,     0,     0,   367,   368,   369,   370,
+     779,   780,   781,   371,   372,     0,   782,   783,   373,     0,
+     374,   375,   784,     0,   377,   378,   379,   380,     0,   381,
+     382,     0,     0,     0,     0,     0,     0,     0,     0,   383,
+     384,   385,     0,   785,   386,     0,   387,     0,   388,   389,
+     786,   391,   392,   393,   394,   787,   788,   397,   789,     0,
+     398,   399,   400,     0,   401,     0,   402,   403,   404,   405,
+     406,     0,   790,   408,   409,     0,     0,   410,     0,     0,
+       0,   411,   412,   413,   414,   415,     0,     0,   416,   417,
+     418,   419,   420,     0,   421,   422,     0,   423,   424,   425,
+     791,   792,   426,     0,   427,     0,   428,   429,     0,   430,
+     431,     0,   432,     0,   793,     0,   794,   434,   435,   436,
+     437,   438,   439,   795,   796,   442,   443,   444,   445,     0,
+     797,   447,     0,     0,     0,   448,   449,   450,   451,     0,
+       0,     0,   452,     0,     0,     0,   453,     0,   454,   455,
+     456,   457,   458,   459,     0,   460,   461,   462,   463,   464,
+     465,     0,     0,     0,     0,     0,     0,   466,   467,     0,
+     468,     0,     0,   469,     0,     0,     0,   470,   471,   472,
+       0,     0,     0,   473,   798,   799,   474,   475,     0,   476,
+     477,   800,   479,   480,   481,   801,   802,   482,   483,   484,
+     485,   803,   486,   487,     0,     0,   488,   489,   490,   491,
+       0,   804,   492,   493,     0,   805,   806,   807,   808,     0,
+       0,     0,     0,     0,   498,   499,   500,     0,   809,   810,
+     811,   502,   503,   504,   812,   505,   506,   813,   507,   508,
+       0,   509,   510,     0,     0,   511,     0,     0,   512,     0,
+     513,     0,   814,   515,     0,     0,   815,   816,   817,   818,
+     516,     0,     0,   517,   819,     0,   820,   518,   519,   520,
+     521,   522,   821,   822,     0,     0,     0,     0,     0,     0,
+     525,   526,     0,   527,   528,   529,     0,     0,   823,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   824,   825,
        0,     0,     0,     0,   826,   827,     0,     0,   828,   829,
        0,     0,   830,   831,   160,     0,   161,   717,   163,   164,
      165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
@@ -5910,7 +6048,7 @@ static const yytype_int16 yytable[] =
        0,   255,   256,   257,   258,   259,   260,   261,   750,     0,
      262,   263,   264,   265,   751,   752,   266,   267,     0,   268,
      269,   270,   753,     0,   271,     0,     0,     0,   754,   273,
-    2442,   274,     0,   275,     0,   276,   277,   755,   279,   756,
+    2446,   274,     0,   275,     0,   276,   277,   755,   279,   756,
      281,   282,     0,   283,     0,   757,   284,   285,   286,     0,
      287,   758,   759,     0,   288,   289,     0,     0,     0,   760,
      291,   292,   293,   294,   761,     0,     0,   295,   296,   297,
@@ -5954,139 +6092,7 @@ static const yytype_int16 yytable[] =
      816,   817,   818,   516,     0,     0,   517,   819,     0,   820,
      518,   519,   520,   521,   522,   821,   822,     0,     0,     0,
        0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
-       0,   823,     0,     0,     0,     0,     0,     0,     0,   824,
-     825,     0,     0,     0,     0,   826,   827,     0,     0,   828,
-     829,     0,     0,   830,   831,   160,     0,   161,   717,   163,
-     164,   165,   166,     0,     0,   167,     0,     0,     0,   168,
-       0,     0,   718,     0,   170,   171,   172,   173,   174,   175,
-     176,   719,   178,     0,   179,     0,     0,   720,   180,   721,
-     722,   723,   181,   724,     0,   182,   183,   184,     0,   185,
-       0,   186,   187,     0,     0,   188,   725,   726,   189,   190,
-       0,   191,   727,   728,   193,   194,     0,   195,   196,   197,
-     198,   729,   200,     0,   730,   202,   731,   732,   733,   734,
-     735,     0,   208,   209,   210,   211,   212,   213,   214,   215,
-       0,   216,   217,     0,   218,   219,   220,   736,   222,     0,
-     223,   737,   738,   224,     0,     0,   225,   739,   226,   740,
-     741,   227,     0,   228,   742,   743,     0,   229,   230,   231,
-     744,   745,   746,     0,     0,     0,     0,   747,   234,   748,
-       0,     0,   749,   235,     0,   236,     0,     0,     0,     0,
-     237,     0,   238,   239,   240,   241,   242,     0,     0,     0,
-       0,   243,     0,     0,   244,   245,   246,     0,     0,     0,
-     247,     0,   248,   249,     0,   250,   251,   252,     0,   253,
-     254,     0,   255,   256,   257,   258,   259,   260,   261,   750,
-       0,   262,   263,   264,   265,   751,   752,   266,   267,     0,
-     268,   269,   270,   753,     0,   271,     0,     0,     0,   754,
-     273,  2444,   274,     0,   275,     0,   276,   277,   755,   279,
-     756,   281,   282,     0,   283,     0,   757,   284,   285,   286,
-       0,   287,   758,   759,     0,   288,   289,     0,     0,     0,
-     760,   291,   292,   293,   294,   761,     0,     0,   295,   296,
-     297,     0,     0,   298,     0,     0,     0,   762,   299,   300,
-     763,     0,     0,   301,     0,   302,   303,     0,   304,   305,
-       0,     0,     0,   306,     0,     0,   307,   308,   764,     0,
-       0,   310,     0,   765,   311,   312,     0,     0,     0,     0,
-       0,   766,   314,     0,   315,     0,   316,     0,   317,   318,
-       0,     0,   767,     0,     0,     0,   319,   320,   321,   322,
-     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
-     333,   334,     0,   335,   336,   337,   338,   768,   339,   340,
-     341,   342,   769,   343,   344,   345,     0,     0,     0,     0,
-     346,   347,   348,   349,   770,   351,     0,     0,   771,   353,
-     772,   354,     0,   355,   773,   774,   775,   776,   777,   360,
-     361,   362,   363,   364,   365,     0,   778,   366,     0,     0,
-     367,   368,   369,   370,   779,   780,   781,   371,   372,     0,
-     782,   783,   373,     0,   374,   375,   784,     0,   377,   378,
-     379,   380,     0,   381,   382,     0,     0,     0,     0,     0,
-       0,     0,     0,   383,   384,   385,     0,   785,   386,     0,
-     387,     0,   388,   389,   786,   391,   392,   393,   394,   787,
-     788,   397,   789,     0,   398,   399,   400,     0,   401,     0,
-     402,   403,   404,   405,   406,     0,   790,   408,   409,     0,
-       0,   410,     0,     0,     0,   411,   412,   413,   414,   415,
-       0,     0,   416,   417,   418,   419,   420,     0,   421,   422,
-       0,   423,   424,   425,   791,   792,   426,     0,   427,     0,
-     428,   429,     0,   430,   431,     0,   432,     0,   793,     0,
-     794,   434,   435,   436,   437,   438,   439,   795,   796,   442,
-     443,   444,   445,     0,   797,   447,     0,     0,     0,   448,
-     449,   450,   451,     0,     0,     0,   452,     0,     0,     0,
-     453,     0,   454,   455,   456,   457,   458,   459,     0,   460,
-     461,   462,   463,   464,   465,     0,     0,     0,     0,     0,
-       0,   466,   467,     0,   468,     0,     0,   469,     0,     0,
-       0,   470,   471,   472,     0,     0,     0,   473,   798,   799,
-     474,   475,     0,   476,   477,   800,   479,   480,   481,   801,
-     802,   482,   483,   484,   485,   803,   486,   487,     0,     0,
-     488,   489,   490,   491,     0,   804,   492,   493,     0,   805,
-     806,   807,   808,     0,     0,     0,     0,     0,   498,   499,
-     500,     0,   809,   810,   811,   502,   503,   504,   812,   505,
-     506,   813,   507,   508,     0,   509,   510,     0,     0,   511,
-       0,     0,   512,     0,   513,     0,   814,   515,     0,     0,
-     815,   816,   817,   818,   516,     0,     0,   517,   819,     0,
-     820,   518,   519,   520,   521,   522,   821,   822,     0,     0,
-       0,     0,     0,     0,   525,   526,     0,   527,   528,   529,
-       0,     0,   823,     0,     0,     0,     0,     0,     0,     0,
-     824,   825,     0,     0,     0,     0,   826,   827,     0,     0,
-     828,   829,     0,     0,   830,   831,   160,     0,   161,   717,
-     163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
-     168,     0,     0,   718,     0,   170,   171,   172,   173,   174,
-     175,   176,   719,   178,     0,   179,     0,     0,   720,   180,
-     721,   722,   723,   181,   724,     0,   182,   183,   184,     0,
-     185,     0,   186,   187,     0,     0,   188,   725,   726,   189,
-     190,     0,   191,   727,   728,   193,   194,     0,   195,   196,
-     197,   198,   729,   200,     0,   730,   202,   731,   732,   733,
-     734,   735,     0,   208,   209,   210,   211,   212,   213,   214,
-     215,     0,   216,   217,     0,   218,   219,   220,   736,   222,
-       0,   223,   737,   738,   224,     0,     0,   225,   739,   226,
-     740,   741,   227,     0,   228,   742,   743,     0,   229,   230,
-     231,   744,   745,   746,     0,     0,     0,     0,   747,   234,
-     748,     0,     0,   749,   235,     0,   236,     0,     0,     0,
-       0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
-       0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
-       0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
-     253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
-     750,     0,   262,   263,   264,   265,   751,   752,   266,   267,
-       0,   268,   269,   270,   753,     0,   271,     0,     0,     0,
-     754,   273,  2446,   274,     0,   275,     0,   276,   277,   755,
-     279,   756,   281,   282,     0,   283,     0,   757,   284,   285,
-     286,     0,   287,   758,   759,     0,   288,   289,     0,     0,
-       0,   760,   291,   292,   293,   294,   761,     0,     0,   295,
-     296,   297,     0,     0,   298,     0,     0,     0,   762,   299,
-     300,   763,     0,     0,   301,     0,   302,   303,     0,   304,
-     305,     0,     0,     0,   306,     0,     0,   307,   308,   764,
-       0,     0,   310,     0,   765,   311,   312,     0,     0,     0,
-       0,     0,   766,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,   767,     0,     0,     0,   319,   320,   321,
-     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
-     332,   333,   334,     0,   335,   336,   337,   338,   768,   339,
-     340,   341,   342,   769,   343,   344,   345,     0,     0,     0,
-       0,   346,   347,   348,   349,   770,   351,     0,     0,   771,
-     353,   772,   354,     0,   355,   773,   774,   775,   776,   777,
-     360,   361,   362,   363,   364,   365,     0,   778,   366,     0,
-       0,   367,   368,   369,   370,   779,   780,   781,   371,   372,
-       0,   782,   783,   373,     0,   374,   375,   784,     0,   377,
-     378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,   384,   385,     0,   785,   386,
-       0,   387,     0,   388,   389,   786,   391,   392,   393,   394,
-     787,   788,   397,   789,     0,   398,   399,   400,     0,   401,
-       0,   402,   403,   404,   405,   406,     0,   790,   408,   409,
-       0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
-     415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
-     422,     0,   423,   424,   425,   791,   792,   426,     0,   427,
-       0,   428,   429,     0,   430,   431,     0,   432,     0,   793,
-       0,   794,   434,   435,   436,   437,   438,   439,   795,   796,
-     442,   443,   444,   445,     0,   797,   447,     0,     0,     0,
-     448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
-       0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
-     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
-       0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
-       0,     0,   470,   471,   472,     0,     0,     0,   473,   798,
-     799,   474,   475,     0,   476,   477,   800,   479,   480,   481,
-     801,   802,   482,   483,   484,   485,   803,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,   804,   492,   493,     0,
-     805,   806,   807,   808,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,   809,   810,   811,   502,   503,   504,   812,
-     505,   506,   813,   507,   508,     0,   509,   510,     0,     0,
-     511,     0,     0,   512,     0,   513,     0,   814,   515,     0,
-       0,   815,   816,   817,   818,   516,     0,     0,   517,   819,
-       0,   820,   518,   519,   520,   521,   522,   821,   822,     0,
-       0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
-     529,     0,     0,   823,     0,     0,     0,     0,     0,     0,
+       0,   823,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   824,   825,     0,     0,     0,     0,   826,   827,     0,
        0,   828,   829,     0,     0,   830,   831,   160,     0,   161,
      717,   163,   164,   165,   166,     0,     0,   167,     0,     0,
@@ -6153,138 +6159,6 @@ static const yytype_int16 yytable[] =
      819,     0,   820,   518,   519,   520,   521,   522,   821,   822,
        0,     0,     0,     0,     0,     0,   525,   526,     0,   527,
      528,   529,     0,     0,   823,     0,     0,     0,     0,     0,
-       0,     0,   824,   825,     0,     0,     0,     0,   826,   827,
-       0,     0,   828,   829,     0,     0,   830,   831,   160,     0,
-     161,   717,   163,   164,   165,   166,     0,     0,   167,     0,
-       0,     0,   168,     0,     0,   718,     0,   170,   171,   172,
-     173,   174,   175,   176,   719,   178,     0,   179,     0,     0,
-     720,   180,   721,   722,   723,   181,   724,     0,   182,   183,
-     184,     0,   185,     0,   186,   187,     0,     0,   188,   725,
-     726,   189,   190,     0,   191,   727,   728,   193,   194,     0,
-     195,   196,   197,   198,   729,   200,     0,   730,   202,   731,
-     732,   733,   734,   735,     0,   208,   209,   210,   211,   212,
-     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
-     736,   222,     0,   223,   737,   738,   224,     0,     0,   225,
-     739,   226,   740,   741,   227,     0,   228,   742,   743,     0,
-     229,   230,   231,   744,   745,   746,     0,     0,     0,     0,
-     747,   234,   748,     0,     0,   749,   235,     0,   236,     0,
-       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
-       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
-       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
-     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
-     260,   261,   750,     0,   262,   263,   264,   265,   751,   752,
-     266,   267,     0,   268,   269,   270,   753,     0,   271,     0,
-       0,     0,   754,   273,     0,   274,     0,   275,     0,   276,
-     277,   755,   279,   756,   281,   282,     0,   283,     0,   757,
-     284,   285,   286,     0,   287,   758,   759,     0,   288,   289,
-       0,     0,     0,   760,   291,   292,   293,   294,   761,     0,
-       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
-     762,   299,   300,   763,     0,     0,   301,     0,   302,   303,
-       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
-     308,   764,     0,     0,   310,     0,   765,   311,   312,     0,
-       0,     0,     0,     0,   766,   314,     0,   315,     0,   316,
-       0,   317,   318,     0,     0,   767,     0,     0,     0,   319,
-     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
-     768,   339,   340,   341,   342,   769,   343,   344,   345,     0,
-       0,     0,     0,   346,   347,   348,   349,   770,   351,     0,
-       0,   771,   353,   772,   354,     0,   355,   773,   774,   775,
-     776,   777,   360,   361,   362,   363,   364,   365,     0,   778,
-     366,     0,     0,   367,   368,   369,   370,   779,   780,   781,
-     371,   372,     0,   782,   783,   373,     0,   374,   375,   784,
-       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
-       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
-     785,   386,     0,   387,     0,   388,   389,   786,   391,   392,
-     393,   394,   787,   788,   397,   789,     0,   398,   399,   400,
-       0,   401,     0,   402,   403,   404,   405,   406,     0,   790,
-     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
-     413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
-       0,   421,   422,     0,   423,   424,   425,   791,   792,   426,
-       0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
-       0,   793,     0,   794,   434,   435,   436,   437,   438,   439,
-     795,   796,   442,   443,   444,   445,     0,   797,   447,     0,
-       0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
-       0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
-     459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
-       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
-     469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
-     473,   798,   799,   474,   475,     0,   476,   477,   800,   479,
-     480,   481,   801,   802,   482,   483,   484,   485,   803,   486,
-     487,     0,     0,   488,   489,   490,   491,     0,   804,   492,
-     493,     0,   805,   806,   807,   808,     0,     0,     0,     0,
-       0,   498,   499,   500,     0,   809,   810,   811,   502,   503,
-     504,   812,   505,   506,   813,   507,   508,     0,   509,   510,
-       0,     0,   511,     0,     0,   512,     0,   513,     0,   814,
-     515,     0,     0,   815,   816,   817,   818,   516,     0,     0,
-     517,   819,     0,   820,   518,   519,   520,   521,   522,   821,
-     822,     0,     0,     0,     0,     0,     0,   525,   526,     0,
-     527,   528,   529,     0,     0,   823,     0,     0,     0,     0,
-       0,     0,     0,   824,   825,     0,     0,     0,     0,   826,
-    1234,     0,     0,   828,   829,     0,     0,   830,   831,   160,
-       0,   161,   717,   163,   164,   165,   166,  1907,     0,   167,
-       0,     0,     0,  1908,     0,     0,   718,     0,   170,   171,
-     172,   173,   174,   175,   176,   719,   178,     0,   179,     0,
-       0,   720,   180,   721,   722,   723,   181,   724,     0,   182,
-     183,   184,     0,   185,     0,   186,   187,     0,     0,   188,
-     725,   726,   189,   190,     0,   191,   727,   728,   193,   194,
-       0,   195,   196,   197,   198,   729,   200,     0,   730,   202,
-     731,   732,   733,   734,   735,     0,   208,   209,   210,   211,
-     212,   213,   214,   215,     0,   216,   217,     0,   218,   219,
-     220,   736,   222,     0,   223,   737,   738,   224,     0,     0,
-     225,   739,   226,   740,   741,   227,     0,   228,   742,   743,
-       0,   229,   230,   231,   744,   745,   746,     0,     0,     0,
-       0,   747,   234,   748,     0,     0,   749,   235,     0,   236,
-       0,     0,     0,     0,   237,     0,   238,   239,   240,   241,
-     242,     0,     0,     0,     0,   243,     0,     0,   244,   245,
-     246,     0,     0,     0,   247,     0,   248,   249,     0,   250,
-     251,   252,     0,   253,   254,     0,   255,   256,   257,   258,
-     259,   260,   261,   750,     0,   262,   263,   264,   265,   751,
-     752,   266,   267,     0,   268,   269,   270,   753,     0,   271,
-       0,     0,     0,   754,   273,     0,   274,     0,   275,     0,
-     276,   277,   755,   279,   756,   281,   282,     0,   283,     0,
-     757,   284,   285,   286,     0,   287,   758,   759,     0,   288,
-     289,     0,     0,     0,   760,   291,   292,   293,   294,   761,
-       0,     0,   295,   296,   297,     0,     0,   298,     0,     0,
-       0,   762,   299,   300,   763,     0,     0,   301,     0,   302,
-     303,     0,   304,   305,     0,     0,     0,   306,     0,     0,
-     307,   308,   764,     0,     0,   310,     0,   765,   311,   312,
-       0,     0,     0,     0,     0,   766,   314,     0,   315,     0,
-     316,     0,   317,   318,     0,     0,   767,     0,     0,     0,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,     0,   335,   336,   337,
-     338,   768,   339,   340,   341,   342,   769,   343,   344,   345,
-       0,     0,     0,     0,   346,   347,   348,   349,   770,   351,
-       0,     0,   771,   353,   772,   354,     0,   355,   773,   774,
-     775,   776,   777,   360,   361,   362,   363,   364,   365,     0,
-     778,   366,     0,     0,   367,   368,   369,   370,   779,     0,
-     781,   371,   372,     0,   782,   783,   373,     0,   374,   375,
-     784,     0,   377,   378,   379,   380,     0,   381,   382,     0,
-       0,     0,     0,     0,     0,     0,     0,   383,   384,   385,
-       0,   785,   386,     0,   387,     0,   388,   389,   786,   391,
-     392,   393,   394,   787,   788,   397,   789,     0,   398,   399,
-     400,     0,   401,     0,   402,   403,   404,   405,   406,     0,
-     790,   408,   409,     0,     0,   410,     0,     0,     0,   411,
-     412,   413,   414,   415,     0,     0,   416,   417,   418,   419,
-     420,     0,   421,   422,     0,   423,   424,   425,   791,   792,
-     426,     0,   427,     0,   428,   429,     0,   430,   431,     0,
-     432,     0,   793,     0,   794,   434,   435,   436,   437,   438,
-     439,   795,   796,   442,   443,   444,   445,     0,   797,   447,
-       0,     0,     0,   448,   449,   450,   451,     0,     0,     0,
-     452,     0,     0,     0,   453,     0,   454,   455,   456,   457,
-     458,   459,     0,   460,   461,   462,   463,   464,   465,     0,
-       0,     0,     0,     0,     0,   466,   467,     0,   468,     0,
-       0,   469,     0,     0,     0,   470,   471,   472,     0,     0,
-       0,   473,   798,   799,   474,   475,     0,   476,   477,   800,
-     479,   480,   481,   801,   802,   482,   483,   484,   485,   803,
-     486,   487,     0,     0,   488,   489,   490,   491,     0,   804,
-     492,   493,     0,   805,   806,   807,   808,     0,     0,     0,
-       0,     0,   498,   499,   500,     0,   809,   810,   811,   502,
-     503,   504,   812,   505,   506,   813,   507,   508,     0,   509,
-     510,     0,     0,   511,     0,     0,   512,     0,   513,     0,
-     814,   515,     0,     0,   815,   816,   817,   818,   516,     0,
-       0,   517,   819,     0,   820,   518,   519,   520,   521,   522,
-     821,   822,     0,     0,     0,     0,     0,     0,   525,   526,
-       0,   527,   528,   529,     0,     0,   823,     0,     0,     0,
        0,     0,     0,     0,   824,   825,     0,     0,     0,     0,
      826,   827,     0,     0,   828,   829,     0,     0,   830,   831,
      160,     0,   161,   717,   163,   164,   165,   166,     0,     0,
@@ -6347,76 +6221,209 @@ static const yytype_int16 yytable[] =
        0,     0,     0,   498,   499,   500,     0,   809,   810,   811,
      502,   503,   504,   812,   505,   506,   813,   507,   508,     0,
      509,   510,     0,     0,   511,     0,     0,   512,     0,   513,
-       0,  2014,   515,     0,     0,   815,   816,   817,   818,   516,
+       0,   814,   515,     0,     0,   815,   816,   817,   818,   516,
        0,     0,   517,   819,     0,   820,   518,   519,   520,   521,
      522,   821,   822,     0,     0,     0,     0,     0,     0,   525,
      526,     0,   527,   528,   529,     0,     0,   823,     0,     0,
-       0,     0,     0,     0,     0,   824,   825,     0,     0,     0,
-       0,   826,   827,     0,     0,   828,   829,     0,     0,   830,
-     831,   160,     0,   161,   717,   163,   164,   165,   166,     0,
-       0,   167,     0,     0,     0,   168,     0,     0,   718,     0,
-     170,   171,   172,   173,   174,   175,   176,   719,   178,     0,
-     179,     0,     0,   720,   180,   721,   722,   723,   181,   724,
-       0,   182,   183,   184,     0,   185,     0,   186,   187,     0,
-       0,   188,   725,   726,   189,   190,     0,   191,   727,   728,
-     193,   194,     0,   195,   196,   197,   198,   729,   200,     0,
-     730,   202,   731,   732,   733,   734,   735,     0,   208,   209,
-     210,   211,   212,   213,   214,   215,     0,   216,   217,     0,
-     218,   219,   220,   736,   222,     0,   223,   737,   738,   224,
-       0,     0,   225,   739,   226,   740,   741,   227,     0,   228,
-     742,   743,     0,   229,   230,   231,   744,   745,   746,     0,
-       0,     0,     0,   747,   234,   748,     0,     0,   749,   235,
-       0,   236,     0,     0,     0,     0,   237,     0,   238,   239,
-     240,   241,   242,     0,     0,     0,     0,   243,     0,     0,
-     244,   245,   246,     0,     0,     0,   247,     0,   248,   249,
-       0,   250,   251,   252,     0,   253,   254,     0,   255,   256,
-     257,   258,   259,   260,   261,   750,     0,   262,   263,   264,
-     265,   751,   752,   266,   267,     0,   268,   269,   270,   753,
-       0,   271,     0,     0,     0,   754,   273,     0,   274,     0,
-     275,     0,   276,   277,   755,   279,   756,   281,   282,     0,
-     283,     0,   757,   284,   285,   286,     0,   287,   758,   759,
-       0,   288,   289,     0,     0,     0,   760,   291,   292,   293,
-     294,   761,     0,     0,   295,   296,   297,     0,     0,   298,
-       0,     0,     0,   762,   299,   300,  2891,     0,     0,   301,
-       0,   302,   303,     0,   304,   305,     0,     0,     0,   306,
-       0,     0,   307,   308,   764,     0,     0,   310,     0,   765,
-     311,   312,     0,     0,     0,     0,     0,   766,   314,     0,
-     315,     0,   316,     0,   317,   318,     0,     0,   767,     0,
-       0,     0,   319,   320,   321,   322,   323,   324,   325,   326,
-     327,   328,   329,   330,   331,   332,   333,   334,     0,   335,
-     336,   337,   338,   768,   339,   340,   341,   342,   769,   343,
-     344,   345,     0,     0,     0,     0,   346,   347,   348,   349,
-     770,   351,     0,     0,   771,   353,   772,   354,     0,   355,
-     773,   774,   775,   776,   777,   360,   361,   362,   363,   364,
-     365,     0,   778,   366,     0,     0,   367,   368,   369,   370,
-     779,   780,   781,   371,   372,     0,   782,   783,   373,     0,
-     374,   375,   784,     0,   377,   378,   379,   380,     0,   381,
-     382,     0,     0,     0,     0,     0,     0,     0,     0,   383,
-     384,   385,     0,   785,   386,     0,   387,     0,   388,   389,
-     786,   391,   392,   393,   394,   787,   788,   397,   789,     0,
-     398,   399,   400,     0,   401,     0,   402,   403,   404,   405,
-     406,     0,   790,   408,   409,     0,     0,   410,     0,     0,
-       0,   411,   412,   413,   414,   415,     0,     0,   416,   417,
-     418,   419,   420,     0,   421,   422,     0,   423,   424,   425,
-     791,   792,   426,     0,   427,     0,   428,   429,     0,   430,
-     431,     0,   432,     0,   793,     0,   794,   434,   435,   436,
-     437,   438,   439,   795,   796,   442,   443,   444,   445,     0,
-     797,   447,     0,     0,     0,   448,   449,   450,   451,     0,
-       0,     0,   452,     0,     0,     0,   453,     0,   454,   455,
-     456,   457,   458,   459,     0,   460,   461,   462,   463,   464,
-     465,     0,     0,     0,     0,     0,     0,   466,   467,     0,
-     468,     0,     0,   469,     0,     0,     0,   470,   471,   472,
-       0,     0,     0,   473,   798,   799,   474,   475,     0,   476,
-     477,   800,   479,   480,   481,   801,   802,   482,   483,   484,
-     485,   803,   486,   487,     0,     0,   488,   489,   490,   491,
-       0,   804,   492,   493,     0,   805,   806,   807,   808,     0,
-       0,     0,     0,     0,   498,   499,   500,     0,   809,   810,
-     811,   502,   503,   504,   812,   505,   506,   813,   507,   508,
-       0,   509,   510,     0,     0,   511,     0,     0,   512,     0,
-     513,     0,   814,   515,     0,     0,   815,   816,   817,   818,
-     516,     0,     0,   517,   819,     0,   820,   518,   519,   520,
-     521,   522,   821,   822,     0,     0,     0,     0,     0,     0,
-     525,   526,     0,   527,   528,   529,     0,     0,   823,     0,
+       0,     0,     0,     0,     0,     0,     0,   824,   825,     0,
+       0,     0,     0,   826,  1234,     0,     0,   828,   829,     0,
+       0,   830,   831,   160,     0,   161,   717,   163,   164,   165,
+     166,  1907,     0,   167,     0,     0,     0,  1908,     0,     0,
+     718,     0,   170,   171,   172,   173,   174,   175,   176,   719,
+     178,     0,   179,     0,     0,   720,   180,   721,   722,   723,
+     181,   724,     0,   182,   183,   184,     0,   185,     0,   186,
+     187,     0,     0,   188,   725,   726,   189,   190,     0,   191,
+     727,   728,   193,   194,     0,   195,   196,   197,   198,   729,
+     200,     0,   730,   202,   731,   732,   733,   734,   735,     0,
+     208,   209,   210,   211,   212,   213,   214,   215,     0,   216,
+     217,     0,   218,   219,   220,   736,   222,     0,   223,   737,
+     738,   224,     0,     0,   225,   739,   226,   740,   741,   227,
+       0,   228,   742,   743,     0,   229,   230,   231,   744,   745,
+     746,     0,     0,     0,     0,   747,   234,   748,     0,     0,
+     749,   235,     0,   236,     0,     0,     0,     0,   237,     0,
+     238,   239,   240,   241,   242,     0,     0,     0,     0,   243,
+       0,     0,   244,   245,   246,     0,     0,     0,   247,     0,
+     248,   249,     0,   250,   251,   252,     0,   253,   254,     0,
+     255,   256,   257,   258,   259,   260,   261,   750,     0,   262,
+     263,   264,   265,   751,   752,   266,   267,     0,   268,   269,
+     270,   753,     0,   271,     0,     0,     0,   754,   273,     0,
+     274,     0,   275,     0,   276,   277,   755,   279,   756,   281,
+     282,     0,   283,     0,   757,   284,   285,   286,     0,   287,
+     758,   759,     0,   288,   289,     0,     0,     0,   760,   291,
+     292,   293,   294,   761,     0,     0,   295,   296,   297,     0,
+       0,   298,     0,     0,     0,   762,   299,   300,   763,     0,
+       0,   301,     0,   302,   303,     0,   304,   305,     0,     0,
+       0,   306,     0,     0,   307,   308,   764,     0,     0,   310,
+       0,   765,   311,   312,     0,     0,     0,     0,     0,   766,
+     314,     0,   315,     0,   316,     0,   317,   318,     0,     0,
+     767,     0,     0,     0,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+       0,   335,   336,   337,   338,   768,   339,   340,   341,   342,
+     769,   343,   344,   345,     0,     0,     0,     0,   346,   347,
+     348,   349,   770,   351,     0,     0,   771,   353,   772,   354,
+       0,   355,   773,   774,   775,   776,   777,   360,   361,   362,
+     363,   364,   365,     0,   778,   366,     0,     0,   367,   368,
+     369,   370,   779,     0,   781,   371,   372,     0,   782,   783,
+     373,     0,   374,   375,   784,     0,   377,   378,   379,   380,
+       0,   381,   382,     0,     0,     0,     0,     0,     0,     0,
+       0,   383,   384,   385,     0,   785,   386,     0,   387,     0,
+     388,   389,   786,   391,   392,   393,   394,   787,   788,   397,
+     789,     0,   398,   399,   400,     0,   401,     0,   402,   403,
+     404,   405,   406,     0,   790,   408,   409,     0,     0,   410,
+       0,     0,     0,   411,   412,   413,   414,   415,     0,     0,
+     416,   417,   418,   419,   420,     0,   421,   422,     0,   423,
+     424,   425,   791,   792,   426,     0,   427,     0,   428,   429,
+       0,   430,   431,     0,   432,     0,   793,     0,   794,   434,
+     435,   436,   437,   438,   439,   795,   796,   442,   443,   444,
+     445,     0,   797,   447,     0,     0,     0,   448,   449,   450,
+     451,     0,     0,     0,   452,     0,     0,     0,   453,     0,
+     454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
+     463,   464,   465,     0,     0,     0,     0,     0,     0,   466,
+     467,     0,   468,     0,     0,   469,     0,     0,     0,   470,
+     471,   472,     0,     0,     0,   473,   798,   799,   474,   475,
+       0,   476,   477,   800,   479,   480,   481,   801,   802,   482,
+     483,   484,   485,   803,   486,   487,     0,     0,   488,   489,
+     490,   491,     0,   804,   492,   493,     0,   805,   806,   807,
+     808,     0,     0,     0,     0,     0,   498,   499,   500,     0,
+     809,   810,   811,   502,   503,   504,   812,   505,   506,   813,
+     507,   508,     0,   509,   510,     0,     0,   511,     0,     0,
+     512,     0,   513,     0,   814,   515,     0,     0,   815,   816,
+     817,   818,   516,     0,     0,   517,   819,     0,   820,   518,
+     519,   520,   521,   522,   821,   822,     0,     0,     0,     0,
+       0,     0,   525,   526,     0,   527,   528,   529,     0,     0,
+     823,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     824,   825,     0,     0,     0,     0,   826,   827,     0,     0,
+     828,   829,     0,     0,   830,   831,   160,     0,   161,   717,
+     163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
+     168,     0,     0,   718,     0,   170,   171,   172,   173,   174,
+     175,   176,   719,   178,     0,   179,     0,     0,   720,   180,
+     721,   722,   723,   181,   724,     0,   182,   183,   184,     0,
+     185,     0,   186,   187,     0,     0,   188,   725,   726,   189,
+     190,     0,   191,   727,   728,   193,   194,     0,   195,   196,
+     197,   198,   729,   200,     0,   730,   202,   731,   732,   733,
+     734,   735,     0,   208,   209,   210,   211,   212,   213,   214,
+     215,     0,   216,   217,     0,   218,   219,   220,   736,   222,
+       0,   223,   737,   738,   224,     0,     0,   225,   739,   226,
+     740,   741,   227,     0,   228,   742,   743,     0,   229,   230,
+     231,   744,   745,   746,     0,     0,     0,     0,   747,   234,
+     748,     0,     0,   749,   235,     0,   236,     0,     0,     0,
+       0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
+       0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
+       0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
+     253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
+     750,     0,   262,   263,   264,   265,   751,   752,   266,   267,
+       0,   268,   269,   270,   753,     0,   271,     0,     0,     0,
+     754,   273,     0,   274,     0,   275,     0,   276,   277,   755,
+     279,   756,   281,   282,     0,   283,     0,   757,   284,   285,
+     286,     0,   287,   758,   759,     0,   288,   289,     0,     0,
+       0,   760,   291,   292,   293,   294,   761,     0,     0,   295,
+     296,   297,     0,     0,   298,     0,     0,     0,   762,   299,
+     300,   763,     0,     0,   301,     0,   302,   303,     0,   304,
+     305,     0,     0,     0,   306,     0,     0,   307,   308,   764,
+       0,     0,   310,     0,   765,   311,   312,     0,     0,     0,
+       0,     0,   766,   314,     0,   315,     0,   316,     0,   317,
+     318,     0,     0,   767,     0,     0,     0,   319,   320,   321,
+     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
+     332,   333,   334,     0,   335,   336,   337,   338,   768,   339,
+     340,   341,   342,   769,   343,   344,   345,     0,     0,     0,
+       0,   346,   347,   348,   349,   770,   351,     0,     0,   771,
+     353,   772,   354,     0,   355,   773,   774,   775,   776,   777,
+     360,   361,   362,   363,   364,   365,     0,   778,   366,     0,
+       0,   367,   368,   369,   370,   779,   780,   781,   371,   372,
+       0,   782,   783,   373,     0,   374,   375,   784,     0,   377,
+     378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
+       0,     0,     0,     0,   383,   384,   385,     0,   785,   386,
+       0,   387,     0,   388,   389,   786,   391,   392,   393,   394,
+     787,   788,   397,   789,     0,   398,   399,   400,     0,   401,
+       0,   402,   403,   404,   405,   406,     0,   790,   408,   409,
+       0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
+     415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
+     422,     0,   423,   424,   425,   791,   792,   426,     0,   427,
+       0,   428,   429,     0,   430,   431,     0,   432,     0,   793,
+       0,   794,   434,   435,   436,   437,   438,   439,   795,   796,
+     442,   443,   444,   445,     0,   797,   447,     0,     0,     0,
+     448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
+       0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
+     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
+       0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
+       0,     0,   470,   471,   472,     0,     0,     0,   473,   798,
+     799,   474,   475,     0,   476,   477,   800,   479,   480,   481,
+     801,   802,   482,   483,   484,   485,   803,   486,   487,     0,
+       0,   488,   489,   490,   491,     0,   804,   492,   493,     0,
+     805,   806,   807,   808,     0,     0,     0,     0,     0,   498,
+     499,   500,     0,   809,   810,   811,   502,   503,   504,   812,
+     505,   506,   813,   507,   508,     0,   509,   510,     0,     0,
+     511,     0,     0,   512,     0,   513,     0,  2014,   515,     0,
+       0,   815,   816,   817,   818,   516,     0,     0,   517,   819,
+       0,   820,   518,   519,   520,   521,   522,   821,   822,     0,
+       0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
+     529,     0,     0,   823,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   824,   825,     0,     0,     0,     0,   826,
+     827,     0,     0,   828,   829,     0,     0,   830,   831,   160,
+       0,   161,   717,   163,   164,   165,   166,     0,     0,   167,
+       0,     0,     0,   168,     0,     0,   718,     0,   170,   171,
+     172,   173,   174,   175,   176,   719,   178,     0,   179,     0,
+       0,   720,   180,   721,   722,   723,   181,   724,     0,   182,
+     183,   184,     0,   185,     0,   186,   187,     0,     0,   188,
+     725,   726,   189,   190,     0,   191,   727,   728,   193,   194,
+       0,   195,   196,   197,   198,   729,   200,     0,   730,   202,
+     731,   732,   733,   734,   735,     0,   208,   209,   210,   211,
+     212,   213,   214,   215,     0,   216,   217,     0,   218,   219,
+     220,   736,   222,     0,   223,   737,   738,   224,     0,     0,
+     225,   739,   226,   740,   741,   227,     0,   228,   742,   743,
+       0,   229,   230,   231,   744,   745,   746,     0,     0,     0,
+       0,   747,   234,   748,     0,     0,   749,   235,     0,   236,
+       0,     0,     0,     0,   237,     0,   238,   239,   240,   241,
+     242,     0,     0,     0,     0,   243,     0,     0,   244,   245,
+     246,     0,     0,     0,   247,     0,   248,   249,     0,   250,
+     251,   252,     0,   253,   254,     0,   255,   256,   257,   258,
+     259,   260,   261,   750,     0,   262,   263,   264,   265,   751,
+     752,   266,   267,     0,   268,   269,   270,   753,     0,   271,
+       0,     0,     0,   754,   273,     0,   274,     0,   275,     0,
+     276,   277,   755,   279,   756,   281,   282,     0,   283,     0,
+     757,   284,   285,   286,     0,   287,   758,   759,     0,   288,
+     289,     0,     0,     0,   760,   291,   292,   293,   294,   761,
+       0,     0,   295,   296,   297,     0,     0,   298,     0,     0,
+       0,   762,   299,   300,  2891,     0,     0,   301,     0,   302,
+     303,     0,   304,   305,     0,     0,     0,   306,     0,     0,
+     307,   308,   764,     0,     0,   310,     0,   765,   311,   312,
+       0,     0,     0,     0,     0,   766,   314,     0,   315,     0,
+     316,     0,   317,   318,     0,     0,   767,     0,     0,     0,
+     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
+     329,   330,   331,   332,   333,   334,     0,   335,   336,   337,
+     338,   768,   339,   340,   341,   342,   769,   343,   344,   345,
+       0,     0,     0,     0,   346,   347,   348,   349,   770,   351,
+       0,     0,   771,   353,   772,   354,     0,   355,   773,   774,
+     775,   776,   777,   360,   361,   362,   363,   364,   365,     0,
+     778,   366,     0,     0,   367,   368,   369,   370,   779,   780,
+     781,   371,   372,     0,   782,   783,   373,     0,   374,   375,
+     784,     0,   377,   378,   379,   380,     0,   381,   382,     0,
+       0,     0,     0,     0,     0,     0,     0,   383,   384,   385,
+       0,   785,   386,     0,   387,     0,   388,   389,   786,   391,
+     392,   393,   394,   787,   788,   397,   789,     0,   398,   399,
+     400,     0,   401,     0,   402,   403,   404,   405,   406,     0,
+     790,   408,   409,     0,     0,   410,     0,     0,     0,   411,
+     412,   413,   414,   415,     0,     0,   416,   417,   418,   419,
+     420,     0,   421,   422,     0,   423,   424,   425,   791,   792,
+     426,     0,   427,     0,   428,   429,     0,   430,   431,     0,
+     432,     0,   793,     0,   794,   434,   435,   436,   437,   438,
+     439,   795,   796,   442,   443,   444,   445,     0,   797,   447,
+       0,     0,     0,   448,   449,   450,   451,     0,     0,     0,
+     452,     0,     0,     0,   453,     0,   454,   455,   456,   457,
+     458,   459,     0,   460,   461,   462,   463,   464,   465,     0,
+       0,     0,     0,     0,     0,   466,   467,     0,   468,     0,
+       0,   469,     0,     0,     0,   470,   471,   472,     0,     0,
+       0,   473,   798,   799,   474,   475,     0,   476,   477,   800,
+     479,   480,   481,   801,   802,   482,   483,   484,   485,   803,
+     486,   487,     0,     0,   488,   489,   490,   491,     0,   804,
+     492,   493,     0,   805,   806,   807,   808,     0,     0,     0,
+       0,     0,   498,   499,   500,     0,   809,   810,   811,   502,
+     503,   504,   812,   505,   506,   813,   507,   508,     0,   509,
+     510,     0,     0,   511,     0,     0,   512,     0,   513,     0,
+     814,   515,     0,     0,   815,   816,   817,   818,   516,     0,
+       0,   517,   819,     0,   820,   518,   519,   520,   521,   522,
+     821,   822,     0,     0,     0,     0,     0,     0,   525,   526,
+       0,   527,   528,   529,     0,     0,   823,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   824,   825,     0,     0,
        0,     0,   826,   827,     0,     0,   828,   829,     0,     0,
      830,   831,   160,     0,   161,   717,   163,   164,   165,   166,
@@ -6483,139 +6490,7 @@ static const yytype_int16 yytable[] =
      818,   516,     0,     0,   517,   819,     0,   820,   518,   519,
      520,   521,   522,   821,   822,     0,     0,     0,     0,     0,
        0,   525,   526,     0,   527,   528,   529,     0,     0,   823,
-       0,     0,     0,     0,     0,     0,     0,   824,   825,     0,
-       0,     0,     0,   826,   827,     0,     0,   828,   829,     0,
-       0,   830,   831,   160,     0,   161,   717,   163,   164,   165,
-     166,     0,     0,   167,     0,     0,     0,   168,     0,     0,
-     718,     0,   170,   171,   172,   173,   174,   175,   176,   719,
-     178,     0,   179,     0,     0,   720,   180,   721,   722,   723,
-     181,   724,     0,   182,   183,   184,     0,   185,     0,   186,
-     187,     0,     0,   188,   725,   726,   189,   190,     0,   191,
-     727,   728,   193,   194,     0,   195,   196,   197,   198,   729,
-     200,     0,   730,   202,   731,   732,   733,   734,   735,     0,
-     208,   209,   210,   211,   212,   213,   214,   215,     0,   216,
-     217,     0,   218,   219,   220,   736,   222,     0,   223,   737,
-     738,   224,     0,     0,   225,   739,   226,   740,   741,   227,
-       0,   228,   742,   743,     0,   229,   230,   231,   744,   745,
-     746,     0,     0,     0,     0,   747,   234,   748,     0,     0,
-    3833,   235,     0,   236,     0,     0,     0,     0,   237,     0,
-     238,   239,   240,   241,   242,     0,     0,     0,     0,   243,
-       0,     0,   244,   245,   246,     0,     0,     0,   247,     0,
-     248,   249,     0,   250,   251,   252,     0,   253,   254,     0,
-     255,   256,   257,   258,   259,   260,   261,   750,     0,   262,
-     263,   264,   265,   751,   752,   266,   267,     0,   268,   269,
-     270,   753,     0,   271,     0,     0,     0,   754,   273,     0,
-     274,     0,   275,     0,   276,   277,   755,   279,   756,   281,
-     282,     0,   283,     0,   757,   284,   285,   286,     0,   287,
-     758,   759,     0,   288,   289,     0,     0,     0,   760,   291,
-     292,   293,   294,   761,     0,     0,   295,   296,   297,     0,
-       0,   298,     0,     0,     0,   762,   299,   300,   763,     0,
-       0,   301,     0,   302,   303,     0,   304,   305,     0,     0,
-       0,   306,     0,     0,   307,   308,   764,     0,     0,   310,
-       0,   765,   311,   312,     0,     0,     0,     0,     0,   766,
-     314,     0,   315,     0,   316,     0,   317,   318,     0,     0,
-     767,     0,     0,     0,   319,   320,   321,   322,   323,   324,
-     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
-       0,   335,   336,   337,   338,   768,   339,   340,   341,   342,
-     769,   343,   344,   345,     0,     0,     0,     0,   346,   347,
-     348,   349,   770,   351,     0,     0,   771,   353,   772,   354,
-       0,   355,   773,   774,   775,   776,   777,   360,   361,   362,
-     363,   364,   365,     0,   778,   366,     0,     0,   367,   368,
-     369,   370,   779,   780,   781,   371,   372,     0,   782,   783,
-     373,     0,   374,   375,   784,     0,   377,   378,   379,   380,
-       0,   381,   382,     0,     0,     0,     0,     0,     0,     0,
-       0,   383,   384,   385,     0,   785,   386,     0,   387,     0,
-     388,   389,   786,   391,   392,   393,   394,   787,   788,   397,
-     789,     0,   398,   399,   400,     0,   401,     0,   402,   403,
-     404,   405,   406,     0,   790,   408,   409,     0,     0,   410,
-       0,     0,     0,   411,   412,   413,   414,   415,     0,     0,
-     416,   417,   418,   419,   420,     0,   421,   422,     0,   423,
-     424,   425,   791,   792,   426,     0,   427,     0,   428,   429,
-       0,   430,   431,     0,   432,     0,   793,     0,   794,   434,
-     435,   436,   437,   438,   439,   795,   796,   442,   443,   444,
-     445,     0,   797,   447,     0,     0,     0,   448,   449,   450,
-     451,     0,     0,     0,   452,     0,     0,     0,   453,     0,
-     454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
-     463,   464,   465,     0,     0,     0,     0,     0,     0,   466,
-     467,     0,   468,     0,     0,   469,     0,     0,     0,   470,
-     471,   472,     0,     0,     0,   473,   798,   799,   474,   475,
-       0,   476,   477,   800,   479,   480,   481,   801,   802,   482,
-     483,   484,   485,   803,   486,   487,     0,     0,   488,   489,
-     490,   491,     0,   804,   492,   493,     0,   805,   806,   807,
-     808,     0,     0,     0,     0,     0,   498,   499,   500,     0,
-     809,   810,   811,   502,   503,   504,   812,   505,   506,   813,
-     507,   508,     0,   509,   510,     0,     0,   511,     0,     0,
-     512,     0,   513,     0,   814,   515,     0,     0,   815,   816,
-     817,   818,   516,     0,     0,   517,   819,     0,   820,   518,
-     519,   520,   521,   522,   821,   822,     0,     0,     0,     0,
-       0,     0,   525,   526,     0,   527,   528,   529,     0,     0,
-     823,     0,     0,     0,     0,     0,     0,     0,   824,   825,
-       0,     0,     0,     0,   826,   827,     0,     0,   828,   829,
-       0,     0,   830,   831,   160,     0,   161,   717,   163,   164,
-     165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
-       0,   718,     0,   170,   171,   172,   173,   174,   175,   176,
-     719,   178,     0,   179,     0,     0,   720,   180,   721,   722,
-     723,   181,   724,     0,   182,   183,   184,     0,   185,     0,
-     186,   187,     0,     0,   188,   725,   726,   189,   190,     0,
-     191,   727,   728,   193,   194,     0,   195,   196,   197,   198,
-     729,   200,     0,   730,   202,   731,   732,   733,   734,   735,
-       0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
-     216,   217,     0,   218,   219,   220,   736,   222,     0,   223,
-     737,   738,   224,     0,     0,   225,   739,   226,   740,   741,
-     227,     0,   228,   742,   743,     0,   229,   230,   231,   744,
-     745,   746,     0,     0,     0,     0,   747,   234,   748,     0,
-       0,   749,   235,     0,   236,     0,     0,     0,     0,   237,
-       0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
-     243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
-       0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
-       0,   255,   256,   257,   258,   259,   260,   261,   750,     0,
-     262,   263,   264,   265,   751,   752,   266,   267,     0,   268,
-     269,   270,   753,     0,   271,     0,     0,     0,   754,   273,
-       0,   274,     0,   275,     0,   276,   277,   755,   279,   756,
-     281,   282,     0,   283,     0,   757,   284,   285,   286,     0,
-     287,   758,   759,     0,   288,   289,     0,     0,     0,   760,
-     291,   292,   293,   294,   761,     0,     0,   295,   296,   297,
-       0,     0,   298,     0,     0,     0,   762,   299,   300,   763,
-       0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
-       0,     0,   306,     0,     0,   307,   308,   764,     0,     0,
-     310,     0,   765,   311,   312,     0,     0,     0,     0,     0,
-     766,   314,     0,   315,     0,   316,     0,   317,   318,     0,
-       0,   767,     0,     0,     0,   319,   320,   321,   322,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
-     334,     0,   335,   336,   337,   338,   768,   339,   340,   341,
-     342,   769,   343,   344,   345,  4822,     0,     0,     0,   346,
-     347,   348,   349,   770,   351,     0,     0,   771,   353,   772,
-     354,     0,   355,   773,   774,   775,   776,   777,   360,   361,
-     362,   363,   364,   365,     0,   778,   366,     0,     0,   367,
-     368,   369,   370,   779,     0,   781,   371,   372,     0,   782,
-     783,   373,     0,   374,   375,   784,     0,   377,   378,   379,
-     380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
-       0,     0,   383,   384,   385,     0,   785,   386,     0,   387,
-       0,   388,   389,   786,   391,   392,   393,   394,   787,   788,
-     397,   789,     0,   398,   399,   400,     0,   401,     0,   402,
-     403,   404,   405,   406,     0,   790,   408,   409,     0,     0,
-     410,     0,     0,     0,   411,   412,   413,   414,   415,     0,
-       0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
-     423,   424,   425,   791,   792,   426,     0,   427,     0,   428,
-     429,     0,   430,   431,     0,   432,     0,   793,     0,   794,
-     434,   435,   436,   437,   438,   439,   795,   796,   442,   443,
-     444,   445,     0,   797,   447,     0,     0,     0,   448,   449,
-     450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
-       0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
-     462,   463,   464,   465,     0,     0,     0,     0,     0,     0,
-     466,   467,     0,   468,     0,     0,   469,     0,     0,     0,
-     470,   471,   472,     0,     0,     0,   473,   798,   799,   474,
-     475,     0,   476,   477,   800,   479,   480,   481,   801,   802,
-     482,   483,   484,   485,   803,   486,   487,     0,     0,   488,
-     489,   490,   491,     0,   804,   492,   493,     0,   805,   806,
-     807,   808,     0,     0,     0,     0,     0,   498,   499,   500,
-       0,   809,   810,   811,   502,   503,   504,   812,   505,   506,
-     813,   507,   508,     0,   509,   510,     0,     0,   511,     0,
-       0,   512,     0,   513,     0,   814,   515,     0,     0,   815,
-     816,   817,   818,   516,     0,     0,   517,   819,     0,   820,
-     518,   519,   520,   521,   522,   821,   822,     0,     0,     0,
-       0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
-       0,   823,     0,     0,     0,     0,     0,     0,     0,   824,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   824,
      825,     0,     0,     0,     0,   826,   827,     0,     0,   828,
      829,     0,     0,   830,   831,   160,     0,   161,   717,   163,
      164,   165,   166,     0,     0,   167,     0,     0,     0,   168,
@@ -6630,7 +6505,7 @@ static const yytype_int16 yytable[] =
      223,   737,   738,   224,     0,     0,   225,   739,   226,   740,
      741,   227,     0,   228,   742,   743,     0,   229,   230,   231,
      744,   745,   746,     0,     0,     0,     0,   747,   234,   748,
-       0,     0,   749,   235,     0,   236,     0,     0,     0,     0,
+       0,     0,  3833,   235,     0,   236,     0,     0,     0,     0,
      237,     0,   238,   239,   240,   241,   242,     0,     0,     0,
        0,   243,     0,     0,   244,   245,   246,     0,     0,     0,
      247,     0,   248,   249,     0,   250,   251,   252,     0,   253,
@@ -6653,7 +6528,7 @@ static const yytype_int16 yytable[] =
      346,   347,   348,   349,   770,   351,     0,     0,   771,   353,
      772,   354,     0,   355,   773,   774,   775,   776,   777,   360,
      361,   362,   363,   364,   365,     0,   778,   366,     0,     0,
-     367,   368,   369,   370,   779,     0,   781,   371,   372,     0,
+     367,   368,   369,   370,   779,   780,   781,   371,   372,     0,
      782,   783,   373,     0,   374,   375,   784,     0,   377,   378,
      379,   380,     0,   381,   382,     0,     0,     0,     0,     0,
        0,     0,     0,   383,   384,   385,     0,   785,   386,     0,
@@ -6682,72 +6557,205 @@ static const yytype_int16 yytable[] =
      820,   518,   519,   520,   521,   522,   821,   822,     0,     0,
        0,     0,     0,     0,   525,   526,     0,   527,   528,   529,
        0,     0,   823,     0,     0,     0,     0,     0,     0,     0,
-     824,   825,     0,     0,     0,     0,   826,   827,     0,     0,
-     828,   829,     0,     0,   830,   831,   160,     0,   161,   717,
-     163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
-     168,     0,     0,   718,     0,   170,   171,   172,   173,   174,
-     175,   176,   719,   178,     0,   179,     0,     0,   720,   180,
-     721,   722,   723,   181,   724,     0,   182,   183,   184,     0,
-     185,     0,   186,   187,     0,     0,   188,   725,   726,   189,
-     190,     0,   191,   727,   728,   193,   194,     0,   195,   196,
-     197,   198,   729,   200,     0,   730,   202,   731,   732,   733,
-     734,   735,     0,   208,   209,   210,   211,   212,   213,   214,
-     215,     0,   216,   217,     0,   218,   219,   220,   736,   222,
-       0,   223,   737,   738,   224,     0,     0,   225,   739,   226,
-     740,   741,   227,     0,   228,   742,   743,     0,   229,   230,
-     231,   744,   745,   746,     0,     0,     0,     0,   747,   234,
-     748,     0,     0,   749,   235,     0,   236,     0,     0,     0,
-       0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
-       0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
-       0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
-     253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
-     750,     0,   262,   263,   264,   265,   751,   752,   266,   267,
-       0,   268,   269,   270,   753,     0,   271,     0,     0,     0,
-     754,   273,     0,   274,     0,   275,     0,   276,   277,   755,
-     279,   756,   281,   282,     0,   283,     0,   757,   284,   285,
-     286,     0,   287,   758,   759,     0,   288,   289,     0,     0,
-       0,   760,   291,   292,   293,   294,   761,     0,     0,   295,
-     296,   297,     0,     0,   298,     0,     0,     0,   762,   299,
-     300,  1922,     0,     0,   301,     0,   302,   303,     0,   304,
-     305,     0,     0,     0,   306,     0,     0,   307,   308,   764,
-       0,     0,   310,     0,   765,   311,   312,     0,     0,     0,
-       0,     0,   766,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,   767,     0,     0,     0,   319,   320,   321,
-     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
-     332,   333,   334,     0,   335,   336,   337,   338,   768,   339,
-     340,   341,   342,   769,   343,   344,   345,     0,     0,     0,
-       0,   346,   347,   348,   349,   770,   351,     0,     0,   771,
-     353,   772,   354,     0,   355,   773,   774,   775,   776,   777,
-     360,   361,   362,   363,   364,   365,     0,   778,   366,     0,
-       0,   367,   368,   369,   370,   779,     0,   781,   371,   372,
-       0,   782,   783,   373,     0,   374,   375,   784,     0,   377,
-     378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,   384,   385,     0,   785,   386,
-       0,   387,     0,   388,   389,   786,   391,   392,   393,   394,
-     787,   788,   397,   789,     0,   398,   399,   400,     0,   401,
-       0,   402,   403,   404,   405,   406,     0,   790,   408,   409,
-       0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
-     415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
-     422,     0,   423,   424,   425,   791,   792,   426,     0,   427,
-       0,   428,   429,     0,   430,   431,     0,   432,     0,   793,
-       0,   794,   434,   435,   436,   437,   438,   439,   795,   796,
-     442,   443,   444,   445,     0,   797,   447,     0,     0,     0,
-     448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
-       0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
-     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
-       0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
-       0,     0,   470,   471,   472,     0,     0,     0,   473,   798,
-     799,   474,   475,     0,   476,   477,   800,   479,   480,   481,
-     801,   802,   482,   483,   484,   485,   803,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,   804,   492,   493,     0,
-     805,   806,   807,   808,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,   809,   810,   811,   502,   503,   504,   812,
-     505,   506,   813,   507,   508,     0,   509,   510,     0,     0,
-     511,     0,     0,   512,     0,   513,     0,   814,   515,     0,
-       0,   815,   816,   817,   818,   516,     0,     0,   517,   819,
-       0,   820,   518,   519,   520,   521,   522,   821,   822,     0,
-       0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
-     529,     0,     0,   823,     0,     0,     0,     0,     0,     0,
+       0,     0,   824,   825,     0,     0,     0,     0,   826,   827,
+       0,     0,   828,   829,     0,     0,   830,   831,   160,     0,
+     161,   717,   163,   164,   165,   166,     0,     0,   167,     0,
+       0,     0,   168,     0,     0,   718,     0,   170,   171,   172,
+     173,   174,   175,   176,   719,   178,     0,   179,     0,     0,
+     720,   180,   721,   722,   723,   181,   724,     0,   182,   183,
+     184,     0,   185,     0,   186,   187,     0,     0,   188,   725,
+     726,   189,   190,     0,   191,   727,   728,   193,   194,     0,
+     195,   196,   197,   198,   729,   200,     0,   730,   202,   731,
+     732,   733,   734,   735,     0,   208,   209,   210,   211,   212,
+     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
+     736,   222,     0,   223,   737,   738,   224,     0,     0,   225,
+     739,   226,   740,   741,   227,     0,   228,   742,   743,     0,
+     229,   230,   231,   744,   745,   746,     0,     0,     0,     0,
+     747,   234,   748,     0,     0,   749,   235,     0,   236,     0,
+       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
+       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
+       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
+     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
+     260,   261,   750,     0,   262,   263,   264,   265,   751,   752,
+     266,   267,     0,   268,   269,   270,   753,     0,   271,     0,
+       0,     0,   754,   273,     0,   274,     0,   275,     0,   276,
+     277,   755,   279,   756,   281,   282,     0,   283,     0,   757,
+     284,   285,   286,     0,   287,   758,   759,     0,   288,   289,
+       0,     0,     0,   760,   291,   292,   293,   294,   761,     0,
+       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
+     762,   299,   300,   763,     0,     0,   301,     0,   302,   303,
+       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
+     308,   764,     0,     0,   310,     0,   765,   311,   312,     0,
+       0,     0,     0,     0,   766,   314,     0,   315,     0,   316,
+       0,   317,   318,     0,     0,   767,     0,     0,     0,   319,
+     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
+     768,   339,   340,   341,   342,   769,   343,   344,   345,  4822,
+       0,     0,     0,   346,   347,   348,   349,   770,   351,     0,
+       0,   771,   353,   772,   354,     0,   355,   773,   774,   775,
+     776,   777,   360,   361,   362,   363,   364,   365,     0,   778,
+     366,     0,     0,   367,   368,   369,   370,   779,     0,   781,
+     371,   372,     0,   782,   783,   373,     0,   374,   375,   784,
+       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
+       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
+     785,   386,     0,   387,     0,   388,   389,   786,   391,   392,
+     393,   394,   787,   788,   397,   789,     0,   398,   399,   400,
+       0,   401,     0,   402,   403,   404,   405,   406,     0,   790,
+     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
+     413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
+       0,   421,   422,     0,   423,   424,   425,   791,   792,   426,
+       0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
+       0,   793,     0,   794,   434,   435,   436,   437,   438,   439,
+     795,   796,   442,   443,   444,   445,     0,   797,   447,     0,
+       0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
+       0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
+     459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
+       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
+     469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
+     473,   798,   799,   474,   475,     0,   476,   477,   800,   479,
+     480,   481,   801,   802,   482,   483,   484,   485,   803,   486,
+     487,     0,     0,   488,   489,   490,   491,     0,   804,   492,
+     493,     0,   805,   806,   807,   808,     0,     0,     0,     0,
+       0,   498,   499,   500,     0,   809,   810,   811,   502,   503,
+     504,   812,   505,   506,   813,   507,   508,     0,   509,   510,
+       0,     0,   511,     0,     0,   512,     0,   513,     0,   814,
+     515,     0,     0,   815,   816,   817,   818,   516,     0,     0,
+     517,   819,     0,   820,   518,   519,   520,   521,   522,   821,
+     822,     0,     0,     0,     0,     0,     0,   525,   526,     0,
+     527,   528,   529,     0,     0,   823,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   824,   825,     0,     0,     0,
+       0,   826,   827,     0,     0,   828,   829,     0,     0,   830,
+     831,   160,     0,   161,   717,   163,   164,   165,   166,     0,
+       0,   167,     0,     0,     0,   168,     0,     0,   718,     0,
+     170,   171,   172,   173,   174,   175,   176,   719,   178,     0,
+     179,     0,     0,   720,   180,   721,   722,   723,   181,   724,
+       0,   182,   183,   184,     0,   185,     0,   186,   187,     0,
+       0,   188,   725,   726,   189,   190,     0,   191,   727,   728,
+     193,   194,     0,   195,   196,   197,   198,   729,   200,     0,
+     730,   202,   731,   732,   733,   734,   735,     0,   208,   209,
+     210,   211,   212,   213,   214,   215,     0,   216,   217,     0,
+     218,   219,   220,   736,   222,     0,   223,   737,   738,   224,
+       0,     0,   225,   739,   226,   740,   741,   227,     0,   228,
+     742,   743,     0,   229,   230,   231,   744,   745,   746,     0,
+       0,     0,     0,   747,   234,   748,     0,     0,   749,   235,
+       0,   236,     0,     0,     0,     0,   237,     0,   238,   239,
+     240,   241,   242,     0,     0,     0,     0,   243,     0,     0,
+     244,   245,   246,     0,     0,     0,   247,     0,   248,   249,
+       0,   250,   251,   252,     0,   253,   254,     0,   255,   256,
+     257,   258,   259,   260,   261,   750,     0,   262,   263,   264,
+     265,   751,   752,   266,   267,     0,   268,   269,   270,   753,
+       0,   271,     0,     0,     0,   754,   273,     0,   274,     0,
+     275,     0,   276,   277,   755,   279,   756,   281,   282,     0,
+     283,     0,   757,   284,   285,   286,     0,   287,   758,   759,
+       0,   288,   289,     0,     0,     0,   760,   291,   292,   293,
+     294,   761,     0,     0,   295,   296,   297,     0,     0,   298,
+       0,     0,     0,   762,   299,   300,   763,     0,     0,   301,
+       0,   302,   303,     0,   304,   305,     0,     0,     0,   306,
+       0,     0,   307,   308,   764,     0,     0,   310,     0,   765,
+     311,   312,     0,     0,     0,     0,     0,   766,   314,     0,
+     315,     0,   316,     0,   317,   318,     0,     0,   767,     0,
+       0,     0,   319,   320,   321,   322,   323,   324,   325,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,     0,   335,
+     336,   337,   338,   768,   339,   340,   341,   342,   769,   343,
+     344,   345,     0,     0,     0,     0,   346,   347,   348,   349,
+     770,   351,     0,     0,   771,   353,   772,   354,     0,   355,
+     773,   774,   775,   776,   777,   360,   361,   362,   363,   364,
+     365,     0,   778,   366,     0,     0,   367,   368,   369,   370,
+     779,     0,   781,   371,   372,     0,   782,   783,   373,     0,
+     374,   375,   784,     0,   377,   378,   379,   380,     0,   381,
+     382,     0,     0,     0,     0,     0,     0,     0,     0,   383,
+     384,   385,     0,   785,   386,     0,   387,     0,   388,   389,
+     786,   391,   392,   393,   394,   787,   788,   397,   789,     0,
+     398,   399,   400,     0,   401,     0,   402,   403,   404,   405,
+     406,     0,   790,   408,   409,     0,     0,   410,     0,     0,
+       0,   411,   412,   413,   414,   415,     0,     0,   416,   417,
+     418,   419,   420,     0,   421,   422,     0,   423,   424,   425,
+     791,   792,   426,     0,   427,     0,   428,   429,     0,   430,
+     431,     0,   432,     0,   793,     0,   794,   434,   435,   436,
+     437,   438,   439,   795,   796,   442,   443,   444,   445,     0,
+     797,   447,     0,     0,     0,   448,   449,   450,   451,     0,
+       0,     0,   452,     0,     0,     0,   453,     0,   454,   455,
+     456,   457,   458,   459,     0,   460,   461,   462,   463,   464,
+     465,     0,     0,     0,     0,     0,     0,   466,   467,     0,
+     468,     0,     0,   469,     0,     0,     0,   470,   471,   472,
+       0,     0,     0,   473,   798,   799,   474,   475,     0,   476,
+     477,   800,   479,   480,   481,   801,   802,   482,   483,   484,
+     485,   803,   486,   487,     0,     0,   488,   489,   490,   491,
+       0,   804,   492,   493,     0,   805,   806,   807,   808,     0,
+       0,     0,     0,     0,   498,   499,   500,     0,   809,   810,
+     811,   502,   503,   504,   812,   505,   506,   813,   507,   508,
+       0,   509,   510,     0,     0,   511,     0,     0,   512,     0,
+     513,     0,   814,   515,     0,     0,   815,   816,   817,   818,
+     516,     0,     0,   517,   819,     0,   820,   518,   519,   520,
+     521,   522,   821,   822,     0,     0,     0,     0,     0,     0,
+     525,   526,     0,   527,   528,   529,     0,     0,   823,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   824,   825,
+       0,     0,     0,     0,   826,   827,     0,     0,   828,   829,
+       0,     0,   830,   831,   160,     0,   161,   717,   163,   164,
+     165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
+       0,   718,     0,   170,   171,   172,   173,   174,   175,   176,
+     719,   178,     0,   179,     0,     0,   720,   180,   721,   722,
+     723,   181,   724,     0,   182,   183,   184,     0,   185,     0,
+     186,   187,     0,     0,   188,   725,   726,   189,   190,     0,
+     191,   727,   728,   193,   194,     0,   195,   196,   197,   198,
+     729,   200,     0,   730,   202,   731,   732,   733,   734,   735,
+       0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
+     216,   217,     0,   218,   219,   220,   736,   222,     0,   223,
+     737,   738,   224,     0,     0,   225,   739,   226,   740,   741,
+     227,     0,   228,   742,   743,     0,   229,   230,   231,   744,
+     745,   746,     0,     0,     0,     0,   747,   234,   748,     0,
+       0,   749,   235,     0,   236,     0,     0,     0,     0,   237,
+       0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
+     243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
+       0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
+       0,   255,   256,   257,   258,   259,   260,   261,   750,     0,
+     262,   263,   264,   265,   751,   752,   266,   267,     0,   268,
+     269,   270,   753,     0,   271,     0,     0,     0,   754,   273,
+       0,   274,     0,   275,     0,   276,   277,   755,   279,   756,
+     281,   282,     0,   283,     0,   757,   284,   285,   286,     0,
+     287,   758,   759,     0,   288,   289,     0,     0,     0,   760,
+     291,   292,   293,   294,   761,     0,     0,   295,   296,   297,
+       0,     0,   298,     0,     0,     0,   762,   299,   300,  1922,
+       0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
+       0,     0,   306,     0,     0,   307,   308,   764,     0,     0,
+     310,     0,   765,   311,   312,     0,     0,     0,     0,     0,
+     766,   314,     0,   315,     0,   316,     0,   317,   318,     0,
+       0,   767,     0,     0,     0,   319,   320,   321,   322,   323,
+     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
+     334,     0,   335,   336,   337,   338,   768,   339,   340,   341,
+     342,   769,   343,   344,   345,     0,     0,     0,     0,   346,
+     347,   348,   349,   770,   351,     0,     0,   771,   353,   772,
+     354,     0,   355,   773,   774,   775,   776,   777,   360,   361,
+     362,   363,   364,   365,     0,   778,   366,     0,     0,   367,
+     368,   369,   370,   779,     0,   781,   371,   372,     0,   782,
+     783,   373,     0,   374,   375,   784,     0,   377,   378,   379,
+     380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
+       0,     0,   383,   384,   385,     0,   785,   386,     0,   387,
+       0,   388,   389,   786,   391,   392,   393,   394,   787,   788,
+     397,   789,     0,   398,   399,   400,     0,   401,     0,   402,
+     403,   404,   405,   406,     0,   790,   408,   409,     0,     0,
+     410,     0,     0,     0,   411,   412,   413,   414,   415,     0,
+       0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
+     423,   424,   425,   791,   792,   426,     0,   427,     0,   428,
+     429,     0,   430,   431,     0,   432,     0,   793,     0,   794,
+     434,   435,   436,   437,   438,   439,   795,   796,   442,   443,
+     444,   445,     0,   797,   447,     0,     0,     0,   448,   449,
+     450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
+       0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
+     462,   463,   464,   465,     0,     0,     0,     0,     0,     0,
+     466,   467,     0,   468,     0,     0,   469,     0,     0,     0,
+     470,   471,   472,     0,     0,     0,   473,   798,   799,   474,
+     475,     0,   476,   477,   800,   479,   480,   481,   801,   802,
+     482,   483,   484,   485,   803,   486,   487,     0,     0,   488,
+     489,   490,   491,     0,   804,   492,   493,     0,   805,   806,
+     807,   808,     0,     0,     0,     0,     0,   498,   499,   500,
+       0,   809,   810,   811,   502,   503,   504,   812,   505,   506,
+     813,   507,   508,     0,   509,   510,     0,     0,   511,     0,
+       0,   512,     0,   513,     0,   814,   515,     0,     0,   815,
+     816,   817,   818,   516,     0,     0,   517,   819,     0,   820,
+     518,   519,   520,   521,   522,   821,   822,     0,     0,     0,
+       0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
+       0,   823,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   824,   825,     0,     0,     0,     0,   826,   827,     0,
        0,   828,   829,     0,     0,   830,   831,   160,     0,   161,
      717,   163,   164,   165,   166,     0,     0,   167,     0,     0,
@@ -6814,210 +6822,82 @@ static const yytype_int16 yytable[] =
      819,     0,   820,   518,   519,   520,   521,   522,   821,   822,
        0,     0,     0,     0,     0,     0,   525,   526,     0,   527,
      528,   529,     0,     0,   823,     0,     0,     0,     0,     0,
-       0,     0,   824,   825,     0,     0,     0,     0,   826,   827,
-       0,     0,   828,   829,     0,     0,   830,   831,   160,     0,
-     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
-       0,     0,   168,     0,     0,   169,     0,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
-       0,   180,   721,     0,     0,   181,     0,     0,   182,   183,
-     184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
-       0,   189,   190,     0,   191,   192,     0,   193,   194,     0,
-     195,   196,   197,   198,   199,   200,     0,   201,   202,   203,
-     204,   205,   206,   207,     0,   208,   209,   210,   211,   212,
-     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
-     221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
-       0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
-     229,   230,   231,     0,     0,  1967,     0,     0,     0,     0,
-     233,   234,   748,     0,     0,     0,   235,     0,   236,     0,
-       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
-       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
-       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
-     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
-     260,   261,     0,     0,   262,   263,   264,   265,     0,   752,
-     266,   267,     0,   268,   269,   270,   753,     0,   271,     0,
-       0,     0,   272,   273,     0,   274,     0,   275,     0,   276,
-     277,   278,   279,   280,   281,   282,     0,   283,     0,     0,
-     284,   285,   286,     0,   287,   758,   759,     0,   288,   289,
-       0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
-       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
-       0,   299,   300,     0,     0,     0,   301,     0,   302,   303,
-       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
-     308,   309,     0,     0,   310,     0,     0,   311,   312,     0,
-       0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
-       0,   317,   318,     0,     0,   767,     0,     0,     0,   319,
-     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
-       0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
-       0,     0,     0,   346,   347,   348,   349,   350,   351,     0,
-       0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
-     358,   359,   360,   361,   362,   363,   364,   365,     0,   778,
-     366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
-     371,   372,     0,   782,   783,   373,     0,   374,   375,   376,
-       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
-       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
-       0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
-     393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
-       0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
-     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
-     413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
-       0,   421,   422,     0,   423,   424,   425,     0,     0,   426,
-       0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
-       0,   433,     0,     0,   434,   435,   436,   437,   438,   439,
-     440,   441,   442,   443,   444,   445,     0,   446,   447,     0,
-       0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
-       0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
-     459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
-       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
-     469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
-     473,     0,     0,   474,   475,     0,   476,   477,   478,   479,
-     480,   481,     0,     0,   482,   483,   484,   485,     0,   486,
-     487,     0,     0,   488,   489,   490,   491,     0,   804,   492,
-     493,     0,  1968,   495,   496,  1969,     0,     0,     0,     0,
-       0,   498,   499,   500,     0,     0,   810,   501,   502,   503,
-     504,   812,   505,   506,   813,   507,   508,     0,   509,   510,
-       0,     0,   511,     0,     0,   512,     0,   513,     0,   514,
-     515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
-     517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
-     524,     0,     0,     0,     0,     0,     0,   525,   526,     0,
-     527,   528,   529,     0,     0,   530,     0,     0,     0,     0,
-       0,     0,   160,     0,   161,   162,   163,   164,   165,   166,
-       0,     0,   167,     0,     0,     0,   168,   830,   831,   169,
-       0,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-       0,   179,     0,     0,     0,   180,     0,     0,     0,   181,
-       0,     0,   182,   183,   184,     0,   185,     0,   186,   187,
-       0,     0,   188,     0,     0,   189,   190,     0,   191,   192,
-       0,   193,   194,     0,   195,   196,   197,   198,   199,   200,
-       0,   201,   202,   203,   204,   205,   206,   207,     0,   208,
-     209,   210,   211,   212,   213,   214,   215,     0,   216,   217,
-    3218,   218,   219,   220,   221,   222,     0,   223,     0,     0,
-     224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
-     228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
-       0,     0,     0,     0,   233,   234,     0,     0,     0,     0,
-     235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
-     239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
-       0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
-     249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
-     256,   257,   258,   259,   260,   261,     0,     0,   262,   263,
-     264,   265,     0,     0,   266,   267,     0,   268,   269,   270,
-       0,     0,   271,     0,     0,     0,   272,   273,     0,   274,
-     641,   275,     0,   276,   277,   278,   279,   280,   281,   282,
-       0,   283,     0,     0,   284,   285,   286,     0,   287,     0,
-       0,     0,   288,   289,     0,     0,     0,   290,   291,   292,
-     293,   294,     0,     0,     0,   295,   296,   297,  2285,     0,
-     298,     0,     0,     0,     0,   299,   300,     0,     0,     0,
-     301,     0,   302,   303,     0,   304,   305,     0,     0,     0,
-     306,  2286,     0,   307,   308,   309,     0,     0,   310,     0,
-       0,   311,   312,     0,  3598,     0,     0,     0,   313,   314,
-       0,   315,     0,   316,     0,   317,   318,     0,     0,     0,
-       0,     0,     0,   319,   320,   321,   322,   323,   324,   325,
-     326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
-     335,   336,   337,   338,     0,   339,   340,   341,   342,     0,
-     343,   344,   345,     0,     0,     0,     0,   346,   347,   348,
-     349,   350,   351,     0,     0,   352,   353,     0,   354,     0,
-     355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
-     364,   365,     0,     0,   366,     0,     0,   367,   368,   369,
-     370,     0,     0,     0,   371,   372,     0,     0,     0,   373,
-       0,   374,   375,   376,     0,   377,   378,   379,   380,     0,
-     381,   382,     0,     0,     0,     0,     0,     0,     0,     0,
-     383,   384,   385,     0,     0,   386,     0,   387,     0,   388,
-     389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
-       0,   398,   399,   400,     0,   401,     0,   402,   403,   404,
-     405,   406,     0,   407,   408,   409,     0,     0,   410,     0,
-       0,     0,   411,   412,   413,   414,   415,     0,     0,   416,
-     417,   418,   419,   420,     0,   421,   422,     0,   423,   424,
-     425,     0,     0,   426,     0,   427,     0,   428,   429,     0,
-     430,   431,     0,   432,     0,   433,     0,     0,   434,   435,
-     436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
-       0,   446,   447,  2590,     0,     0,   448,   449,   450,   451,
-       0,     0,     0,   452,     0,     0,     0,   453,     0,   454,
-     455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
-     464,   465,   643,     0,     0,     0,     0,     0,   466,   467,
-       0,   468,     0,     0,   469,     0,     0,     0,   470,   471,
-     472,     0,     0,     0,   473,     0,     0,   474,   475,     0,
-     476,   477,   478,   479,   480,   481,     0,     0,   482,   483,
-     484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
-     491,     0,     0,   492,   493,     0,   494,   495,   496,   497,
-       0,     0,     0,     0,     0,   498,   499,   500,     0,     0,
-       0,   501,   502,   503,   504,     0,   505,   506,     0,   507,
-     508,     0,   509,   510,     0,     0,   511,     0,     0,   512,
-       0,   513,     0,   514,   515,     0,     0,     0,     0,     0,
-       0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
-     520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
-       0,   525,   526,     0,   527,   528,   529,     0,     0,   530,
-       0,     0,     0,     0,   160,     0,   161,   162,   163,   164,
-     165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
-       0,   169,  3290,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
-       0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
-     186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
-     191,   192,     0,   193,   194,     0,   195,   196,   197,   198,
-     199,   200,     0,   201,   202,   203,   204,   205,   206,   207,
-       0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
-     216,   217,  3218,   218,   219,   220,   221,   222,     0,   223,
-       0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
-     227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
-       0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
-       0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
-       0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
-     243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
-       0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
-       0,   255,   256,   257,   258,   259,   260,   261,     0,     0,
-     262,   263,   264,   265,     0,     0,   266,   267,     0,   268,
-     269,   270,     0,     0,   271,     0,     0,     0,   272,   273,
-       0,   274,   641,   275,     0,   276,   277,   278,   279,   280,
-     281,   282,     0,   283,     0,     0,   284,   285,   286,     0,
-     287,     0,     0,     0,   288,   289,     0,     0,     0,   290,
-     291,   292,   293,   294,     0,     0,     0,   295,   296,   297,
-    2285,     0,   298,     0,     0,     0,     0,   299,   300,     0,
-       0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
-       0,     0,   306,  2286,     0,   307,   308,   309,     0,     0,
-     310,     0,     0,   311,   312,     0,     0,     0,     0,     0,
-     313,   314,     0,   315,     0,   316,     0,   317,   318,     0,
-       0,     0,     0,     0,     0,   319,   320,   321,   322,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
-     334,     0,   335,   336,   337,   338,     0,   339,   340,   341,
-     342,     0,   343,   344,   345,     0,     0,     0,     0,   346,
-     347,   348,   349,   350,   351,     0,     0,   352,   353,     0,
-     354,     0,   355,     0,   356,   357,   358,   359,   360,   361,
-     362,   363,   364,   365,     0,     0,   366,     0,     0,   367,
-     368,   369,   370,     0,     0,     0,   371,   372,     0,     0,
-       0,   373,     0,   374,   375,   376,     0,   377,   378,   379,
-     380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
-       0,     0,   383,   384,   385,     0,     0,   386,     0,   387,
-       0,   388,   389,   390,   391,   392,   393,   394,   395,   396,
-     397,     0,     0,   398,   399,   400,     0,   401,     0,   402,
-     403,   404,   405,   406,     0,   407,   408,   409,     0,     0,
-     410,     0,     0,     0,   411,   412,   413,   414,   415,     0,
-       0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
-     423,   424,   425,     0,     0,   426,     0,   427,     0,   428,
-     429,     0,   430,   431,     0,   432,     0,   433,     0,     0,
-     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
-     444,   445,     0,   446,   447,     0,     0,     0,   448,   449,
-     450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
-       0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
-     462,   463,   464,   465,   643,     0,     0,     0,     0,     0,
-     466,   467,     0,   468,     0,     0,   469,     0,     0,     0,
-     470,   471,   472,     0,     0,     0,   473,     0,     0,   474,
-     475,     0,   476,   477,   478,   479,   480,   481,     0,     0,
-     482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
-     489,   490,   491,     0,     0,   492,   493,     0,   494,   495,
-     496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
-       0,     0,     0,   501,   502,   503,   504,     0,   505,   506,
-       0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
-       0,   512,     0,   513,     0,   514,   515,     0,     0,     0,
-       0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
-     518,   519,   520,   521,   522,   523,   524,     0,     0,     0,
-       0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
-       0,   530,     0,     0,     0,     0,   160,     0,   161,   162,
+       0,     0,     0,     0,   824,   825,     0,     0,     0,     0,
+     826,   827,     0,     0,   828,   829,     0,     0,   830,   831,
+     160,     0,   161,   162,   163,   164,   165,   166,     0,     0,
+     167,     0,     0,     0,   168,     0,     0,   169,     0,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
+       0,     0,     0,   180,   721,     0,     0,   181,     0,     0,
+     182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
+     188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
+     194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
+     202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
+     211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
+     219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
+       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
+       0,     0,   229,   230,   231,     0,     0,  1967,     0,     0,
+       0,     0,   233,   234,   748,     0,     0,     0,   235,     0,
+     236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
+     241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
+     245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
+     250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
+     258,   259,   260,   261,     0,     0,   262,   263,   264,   265,
+       0,   752,   266,   267,     0,   268,   269,   270,   753,     0,
+     271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
+       0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
+       0,     0,   284,   285,   286,     0,   287,   758,   759,     0,
+     288,   289,     0,     0,     0,   290,   291,   292,   293,   294,
+       0,     0,     0,   295,   296,   297,     0,     0,   298,     0,
+       0,     0,     0,   299,   300,     0,     0,     0,   301,     0,
+     302,   303,     0,   304,   305,     0,     0,     0,   306,     0,
+       0,   307,   308,   309,     0,     0,   310,     0,     0,   311,
+     312,     0,     0,     0,     0,     0,   313,   314,     0,   315,
+       0,   316,     0,   317,   318,     0,     0,   767,     0,     0,
+       0,   319,   320,   321,   322,   323,   324,   325,   326,   327,
+     328,   329,   330,   331,   332,   333,   334,     0,   335,   336,
+     337,   338,     0,   339,   340,   341,   342,     0,   343,   344,
+     345,     0,     0,     0,     0,   346,   347,   348,   349,   350,
+     351,     0,     0,   352,   353,     0,   354,     0,   355,     0,
+     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
+       0,   778,   366,     0,     0,   367,   368,   369,   370,     0,
+       0,     0,   371,   372,     0,   782,   783,   373,     0,   374,
+     375,   376,     0,   377,   378,   379,   380,     0,   381,   382,
+       0,     0,     0,     0,     0,     0,     0,     0,   383,   384,
+     385,     0,     0,   386,     0,   387,     0,   388,   389,   390,
+     391,   392,   393,   394,   395,   396,   397,     0,     0,   398,
+     399,   400,     0,   401,     0,   402,   403,   404,   405,   406,
+       0,   407,   408,   409,     0,     0,   410,     0,     0,     0,
+     411,   412,   413,   414,   415,     0,     0,   416,   417,   418,
+     419,   420,     0,   421,   422,     0,   423,   424,   425,     0,
+       0,   426,     0,   427,     0,   428,   429,     0,   430,   431,
+       0,   432,     0,   433,     0,     0,   434,   435,   436,   437,
+     438,   439,   440,   441,   442,   443,   444,   445,     0,   446,
+     447,     0,     0,     0,   448,   449,   450,   451,     0,     0,
+       0,   452,     0,     0,     0,   453,     0,   454,   455,   456,
+     457,   458,   459,     0,   460,   461,   462,   463,   464,   465,
+       0,     0,     0,     0,     0,     0,   466,   467,     0,   468,
+       0,     0,   469,     0,     0,     0,   470,   471,   472,     0,
+       0,     0,   473,     0,     0,   474,   475,     0,   476,   477,
+     478,   479,   480,   481,     0,     0,   482,   483,   484,   485,
+       0,   486,   487,     0,     0,   488,   489,   490,   491,     0,
+     804,   492,   493,     0,  1968,   495,   496,  1969,     0,     0,
+       0,     0,     0,   498,   499,   500,     0,     0,   810,   501,
+     502,   503,   504,   812,   505,   506,   813,   507,   508,     0,
+     509,   510,     0,     0,   511,     0,     0,   512,     0,   513,
+       0,   514,   515,     0,     0,     0,     0,     0,     0,   516,
+       0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
+     522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
+     526,     0,   527,   528,   529,     0,     0,   530,     0,     0,
+       0,     0,     0,     0,     0,     0,   160,     0,   161,   162,
      163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
-     168,     0,     0,   169,  3290,   170,   171,   172,   173,   174,
+     168,   830,   831,   169,     0,   170,   171,   172,   173,   174,
      175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
        0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
      185,     0,   186,   187,     0,     0,   188,     0,     0,   189,
      190,     0,   191,   192,     0,   193,   194,     0,   195,   196,
      197,   198,   199,   200,     0,   201,   202,   203,   204,   205,
      206,   207,     0,   208,   209,   210,   211,   212,   213,   214,
-     215,     0,   216,   217,     0,   218,   219,   220,   221,   222,
+     215,     0,   216,   217,  3218,   218,   219,   220,   221,   222,
        0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
        0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
      231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
@@ -7028,14 +6908,14 @@ static const yytype_int16 yytable[] =
      253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
        0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
        0,   268,   269,   270,     0,     0,   271,     0,     0,     0,
-     272,   273,     0,   274,     0,   275,     0,   276,   277,   278,
+     272,   273,     0,   274,   641,   275,     0,   276,   277,   278,
      279,   280,   281,   282,     0,   283,     0,     0,   284,   285,
      286,     0,   287,     0,     0,     0,   288,   289,     0,     0,
        0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
-     296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
+     296,   297,  2285,     0,   298,     0,     0,     0,     0,   299,
      300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
-     305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
-       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
+     305,     0,     0,     0,   306,  2286,     0,   307,   308,   309,
+       0,     0,   310,     0,     0,   311,   312,     0,  3598,     0,
        0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
      318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
@@ -7059,329 +6939,7 @@ static const yytype_int16 yytable[] =
      442,   443,   444,   445,     0,   446,   447,  2590,     0,     0,
      448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
        0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
-     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
-       0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
-       0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
-       0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
-       0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
-     494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,     0,     0,   501,   502,   503,   504,     0,
-     505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
-     511,     0,     0,   512,     0,   513,     0,   514,   515,     0,
-       0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
-       0,     0,   518,   519,   520,   521,   522,   523,   524,     0,
-       0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
-     529,     0,     0,   530,     0,     0,     0,     0,   160,     0,
-     161,   162,   163,   164,   165,   166,     0,     0,   167,  3068,
-       0,     0,   168,     0,     0,   169,   831,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
-       0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
-     184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
-       0,   189,   190,     0,   191,   192,     0,   193,   194,     0,
-     195,   196,   197,   198,   199,   200,     0,   201,   202,   203,
-     204,   205,   206,   207,     0,   208,   209,   210,   211,   212,
-     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
-     221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
-       0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
-     229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
-     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
-       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
-       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
-       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
-     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
-     260,   261,     0,     0,   262,   263,   264,   265,     0,     0,
-     266,   267,     0,   268,   269,   270,     0,     0,   271,     0,
-       0,     0,   272,   273,     0,   274,     0,   275,     0,   276,
-     277,   278,   279,   280,   281,   282,     0,   283,     0,     0,
-     284,   285,   286,     0,   287,     0,     0,     0,   288,   289,
-       0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
-       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
-       0,   299,   300,     0,     0,     0,   301,     0,   302,   303,
-       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
-     308,   309,     0,     0,   310,     0,     0,   311,   312,     0,
-       0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
-       0,   317,   318,     0,     0,     0,     0,     0,     0,   319,
-     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
-       0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
-       0,     0,     0,   346,   347,   348,   349,   350,   351,     0,
-       0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
-     358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
-     366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
-     371,   372,     0,     0,     0,   373,     0,   374,   375,   376,
-       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
-       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
-       0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
-     393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
-       0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
-     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
-     413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
-       0,   421,   422,     0,   423,   424,   425,     0,     0,   426,
-       0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
-       0,   433,     0,     0,   434,   435,   436,   437,   438,   439,
-     440,   441,   442,   443,   444,   445,     0,   446,   447,     0,
-       0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
-       0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
-     459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
-       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
-     469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
-     473,     0,     0,   474,   475,     0,   476,   477,   478,   479,
-     480,   481,     0,     0,   482,   483,   484,   485,     0,   486,
-     487,     0,     0,   488,   489,   490,   491,     0,     0,   492,
-     493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
-       0,   498,   499,   500,     0,     0,     0,   501,   502,   503,
-     504,     0,   505,   506,     0,   507,   508,     0,   509,   510,
-       0,     0,   511,     0,     0,   512,     0,   513,     0,   514,
-     515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
-     517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
-     524,     0,     0,     0,     0,     0,     0,   525,   526,     0,
-     527,   528,   529,     0,     0,   530,     0,     0,     0,     0,
-       0,     0,   160,     0,   161,   162,   163,   164,   165,   166,
-       0,  4886,   167,     0,     0,     0,   168,  4887,   831,   169,
-       0,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-       0,   179,     0,     0,     0,   180,     0,     0,     0,   181,
-       0,     0,   182,   183,   184,     0,   185,     0,   186,   187,
-       0,     0,   188,     0,     0,   189,   190,     0,   191,   192,
-       0,   193,   194,     0,   195,   196,   197,   198,   199,   200,
-       0,   201,   202,   203,   204,   205,   206,   207,     0,   208,
-     209,   210,   211,   212,   213,   214,   215,     0,   216,   217,
-       0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
-     224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
-     228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
-       0,     0,     0,     0,   233,   234,     0,     0,     0,     0,
-     235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
-     239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
-       0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
-     249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
-     256,   257,   258,   259,   260,   261,     0,     0,   262,   263,
-     264,   265,     0,     0,   266,   267,     0,   268,   269,   270,
-       0,     0,   271,     0,     0,     0,   272,   273,     0,   274,
-       0,   275,     0,   276,   277,   278,   279,   280,   281,   282,
-       0,   283,     0,     0,   284,   285,   286,     0,   287,     0,
-       0,     0,   288,   289,     0,     0,     0,   290,   291,   292,
-     293,   294,     0,     0,     0,   295,   296,   297,     0,     0,
-     298,     0,     0,     0,     0,   299,   300,     0,     0,     0,
-     301,     0,   302,   303,     0,   304,   305,     0,     0,     0,
-     306,     0,     0,   307,   308,   309,     0,     0,   310,     0,
-       0,   311,   312,     0,     0,     0,     0,     0,   313,   314,
-       0,   315,     0,   316,     0,   317,   318,     0,     0,     0,
-       0,     0,     0,   319,   320,   321,   322,   323,   324,   325,
-     326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
-     335,   336,   337,   338,     0,   339,   340,   341,   342,     0,
-     343,   344,   345,     0,     0,     0,     0,   346,   347,   348,
-     349,   350,   351,     0,     0,   352,   353,     0,   354,     0,
-     355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
-     364,   365,     0,     0,   366,     0,     0,   367,   368,   369,
-     370,     0,     0,     0,   371,   372,     0,     0,     0,   373,
-       0,   374,   375,   376,     0,   377,   378,   379,   380,     0,
-     381,   382,     0,     0,     0,     0,     0,     0,     0,     0,
-     383,   384,   385,     0,     0,   386,     0,   387,     0,   388,
-     389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
-       0,   398,   399,   400,     0,   401,     0,   402,   403,   404,
-     405,   406,     0,   407,   408,   409,     0,     0,   410,     0,
-       0,     0,   411,   412,   413,   414,   415,     0,     0,   416,
-     417,   418,   419,   420,     0,   421,   422,     0,   423,   424,
-     425,     0,     0,   426,     0,   427,     0,   428,   429,     0,
-     430,   431,     0,   432,     0,   433,     0,     0,   434,   435,
-     436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
-       0,   446,   447,     0,     0,     0,   448,   449,   450,   451,
-       0,     0,     0,   452,     0,     0,     0,   453,     0,   454,
-     455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
-     464,   465,     0,     0,     0,     0,     0,     0,   466,   467,
-       0,   468,     0,     0,   469,     0,     0,     0,   470,   471,
-     472,     0,     0,     0,   473,     0,     0,   474,   475,     0,
-     476,   477,   478,   479,   480,   481,     0,     0,   482,   483,
-     484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
-     491,     0,     0,   492,   493,     0,   494,   495,   496,   497,
-       0,     0,     0,     0,     0,   498,   499,   500,     0,     0,
-       0,   501,   502,   503,   504,     0,   505,   506,     0,   507,
-     508,     0,   509,   510,     0,     0,   511,     0,     0,   512,
-       0,   513,     0,   514,   515,     0,     0,     0,     0,     0,
-       0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
-     520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
-       0,   525,   526,     0,   527,   528,   529,     0,     0,   530,
-       0,     0,     0,     0,     0,     0,   160,     0,   161,   162,
-     163,   164,   165,   166,  1239,     0,   167,     0,     0,     0,
-     168,     0,   831,   169,     0,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
-       0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
-     185,     0,   186,   187,     0,     0,   188,     0,     0,   189,
-     190,     0,   191,   192,     0,   193,   194,     0,   195,   196,
-     197,   198,   199,   200,     0,   201,   202,   203,   204,   205,
-     206,   207,     0,   208,   209,   210,   211,   212,   213,   214,
-     215,     0,   216,   217,     0,   218,   219,   220,   221,   222,
-       0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
-       0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
-     231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
-       0,     0,     0,     0,   235,     0,   236,     0,     0,     0,
-       0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
-       0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
-       0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
-     253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
-       0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
-       0,   268,   269,   270,     0,     0,   271,     0,     0,     0,
-     272,   273,     0,   274,     0,   275,     0,   276,   277,   278,
-     279,   280,   281,   282,     0,   283,     0,     0,   284,   285,
-     286,     0,   287,     0,     0,     0,   288,   289,     0,     0,
-       0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
-     296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
-     300,     0,  1471,     0,   301,     0,   302,   303,     0,   304,
-     305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
-       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
-       0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
-     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
-     332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
-     340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
-       0,   346,   347,   348,   349,   350,   351,     0,     0,   352,
-     353,     0,   354,     0,   355,     0,   356,   357,   358,   359,
-     360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
-       0,   367,   368,   369,   370,     0,     0,     0,   371,   372,
-       0,     0,     0,   373,     0,   374,   375,   376,     0,   377,
-     378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,   384,   385,     0,     0,   386,
-       0,   387,     0,   388,   389,   390,   391,   392,   393,   394,
-     395,   396,   397,     0,     0,   398,   399,   400,     0,   401,
-       0,   402,   403,   404,   405,   406,     0,   407,   408,   409,
-       0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
-     415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
-     422,     0,   423,   424,   425,     0,     0,   426,     0,   427,
-       0,   428,   429,     0,   430,   431,     0,   432,     0,   433,
-       0,     0,   434,   435,   436,   437,   438,   439,   440,   441,
-     442,   443,   444,   445,     0,   446,   447,     0,     0,     0,
-     448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
-       0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
-     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
-       0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
-       0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
-       0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
-       0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
-     494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,     0,     0,   501,   502,   503,   504,     0,
-     505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
-     511,     0,     0,   512,     0,   513,     0,   514,   515,     0,
-       0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
-       0,     0,   518,   519,   520,   521,   522,   523,   524,     0,
-       0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
-     529,     0,     0,   530,     0,     0,     0,     0,   160,     0,
-     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
-       0,     0,   168,     0,     0,   169,   568,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
-       0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
-     184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
-       0,   189,   190,     0,   191,   192,     0,   193,   194,     0,
-     195,   196,   197,   198,   199,   200,     0,   201,   202,   203,
-     204,   205,   206,   207,     0,   208,   209,   210,   211,   212,
-     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
-     221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
-       0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
-     229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
-     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
-       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
-       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
-       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
-     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
-     260,   261,     0,     0,   262,   263,   264,   265,     0,     0,
-     266,   267,     0,   268,   269,   270,     0,     0,   271,     0,
-       0,     0,   272,   273,     0,   274,     0,   275,     0,   276,
-     277,   278,   279,   280,   281,   282,     0,   283,     0,     0,
-     284,   285,   286,     0,   287,     0,     0,     0,   288,   289,
-       0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
-       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
-       0,   299,   300,     0,     0,     0,   301,     0,   302,   303,
-       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
-     308,   309,     0,     0,   310,     0,     0,   311,   312,     0,
-       0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
-       0,   317,   318,     0,     0,     0,     0,     0,     0,   319,
-     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
-       0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
-       0,     0,     0,   346,   347,   348,   349,   350,   351,     0,
-       0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
-     358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
-     366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
-     371,   372,     0,     0,     0,   373,     0,   374,   375,   376,
-       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
-       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
-       0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
-     393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
-       0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
-     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
-     413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
-       0,   421,   422,     0,   423,   424,   425,     0,     0,   426,
-       0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
-       0,   433,     0,     0,   434,   435,   436,   437,   438,   439,
-     440,   441,   442,   443,   444,   445,     0,   446,   447,     0,
-       0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
-       0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
-     459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
-       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
-     469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
-     473,     0,     0,   474,   475,     0,   476,   477,   478,   479,
-     480,   481,     0,     0,   482,   483,   484,   485,     0,   486,
-     487,     0,     0,   488,   489,   490,   491,     0,     0,   492,
-     493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
-       0,   498,   499,   500,     0,     0,     0,   501,   502,   503,
-     504,     0,   505,   506,     0,   507,   508,     0,   509,   510,
-       0,     0,   511,     0,     0,   512,     0,   513,     0,   514,
-     515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
-     517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
-     524,     0,     0,     0,     0,     0,     0,   525,   526,     0,
-     527,   528,   529,     0,     0,   530,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  2531,   160,     0,   161,   162,
-     163,   164,   165,   166,     0,     0,   167,     0,   568,     0,
-     168,     0,     0,   169,     0,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
-       0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
-     185,     0,   186,   187,     0,     0,   188,     0,     0,   189,
-     190,     0,   191,   192,     0,   193,   194,     0,   195,   196,
-     197,   198,   199,   200,     0,   201,   202,   203,   204,   205,
-     206,   207,     0,   208,   209,   210,   211,   212,   213,   214,
-     215,     0,   216,   217,     0,   218,   219,   220,   221,   222,
-       0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
-       0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
-     231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
-       0,     0,     0,     0,   235,     0,   236,     0,     0,     0,
-       0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
-       0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
-       0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
-     253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
-       0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
-       0,   268,   269,   270,     0,     0,   271,     0,     0,     0,
-     272,   273,     0,   274,     0,   275,     0,   276,   277,   278,
-     279,   280,   281,   282,     0,   283,     0,     0,   284,   285,
-     286,     0,   287,     0,     0,     0,   288,   289,     0,     0,
-       0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
-     296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
-     300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
-     305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
-       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
-       0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
-     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
-     332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
-     340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
-       0,   346,   347,   348,   349,   350,   351,     0,     0,   352,
-     353,     0,   354,     0,   355,     0,   356,   357,   358,   359,
-     360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
-       0,   367,   368,   369,   370,     0,     0,     0,   371,   372,
-       0,     0,     0,   373,     0,   374,   375,   376,     0,   377,
-     378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,   384,   385,     0,     0,   386,
-       0,   387,     0,   388,   389,   390,   391,   392,   393,   394,
-     395,   396,   397,     0,     0,   398,   399,   400,     0,   401,
-       0,   402,   403,   404,   405,   406,     0,   407,   408,   409,
-       0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
-     415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
-     422,     0,   423,   424,   425,     0,     0,   426,     0,   427,
-       0,   428,   429,     0,   430,   431,     0,   432,     0,   433,
-       0,     0,   434,   435,   436,   437,   438,   439,   440,   441,
-     442,   443,   444,   445,     0,   446,   447,     0,     0,     0,
-     448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
-       0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
-     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
+     460,   461,   462,   463,   464,   465,   643,     0,     0,     0,
        0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
        0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
        0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
@@ -7395,15 +6953,15 @@ static const yytype_int16 yytable[] =
        0,     0,   518,   519,   520,   521,   522,   523,   524,     0,
        0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
      529,     0,     0,   530,     0,     0,     0,     0,     0,     0,
-     160,     0,   161,   162,   163,   164,   165,   166,  3289,     0,
-     167,     0,     0,     0,   168,     0,  3290,   169,     0,   170,
+     160,     0,   161,   162,   163,   164,   165,   166,     0,     0,
+     167,     0,     0,     0,   168,     0,     0,   169,  3290,   170,
      171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
        0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
      182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
      188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
      194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
      202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
-     211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
+     211,   212,   213,   214,   215,     0,   216,   217,  3218,   218,
      219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
        0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
        0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
@@ -7414,13 +6972,13 @@ static const yytype_int16 yytable[] =
      250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
      258,   259,   260,   261,     0,     0,   262,   263,   264,   265,
        0,     0,   266,   267,     0,   268,   269,   270,     0,     0,
-     271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
+     271,     0,     0,     0,   272,   273,     0,   274,   641,   275,
        0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
        0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
      288,   289,     0,     0,     0,   290,   291,   292,   293,   294,
-       0,     0,     0,   295,   296,   297,     0,     0,   298,     0,
+       0,     0,     0,   295,   296,   297,  2285,     0,   298,     0,
        0,     0,     0,   299,   300,     0,     0,     0,   301,     0,
-     302,   303,     0,   304,   305,     0,     0,     0,   306,     0,
+     302,   303,     0,   304,   305,     0,     0,     0,   306,  2286,
        0,   307,   308,   309,     0,     0,   310,     0,     0,   311,
      312,     0,     0,     0,     0,     0,   313,   314,     0,   315,
        0,   316,     0,   317,   318,     0,     0,     0,     0,     0,
@@ -7446,7 +7004,7 @@ static const yytype_int16 yytable[] =
      447,     0,     0,     0,   448,   449,   450,   451,     0,     0,
        0,   452,     0,     0,     0,   453,     0,   454,   455,   456,
      457,   458,   459,     0,   460,   461,   462,   463,   464,   465,
-       0,     0,     0,     0,     0,     0,   466,   467,     0,   468,
+     643,     0,     0,     0,     0,     0,   466,   467,     0,   468,
        0,     0,   469,     0,     0,     0,   470,   471,   472,     0,
        0,     0,   473,     0,     0,   474,   475,     0,   476,   477,
      478,   479,   480,   481,     0,     0,   482,   483,   484,   485,
@@ -7460,8 +7018,8 @@ static const yytype_int16 yytable[] =
      522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
      526,     0,   527,   528,   529,     0,     0,   530,     0,     0,
        0,     0,     0,     0,   160,     0,   161,   162,   163,   164,
-     165,   166,     0,     0,   167,     0,     0,     0,   168,  4887,
-     831,   169,     0,   170,   171,   172,   173,   174,   175,   176,
+     165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
+       0,   169,  3290,   170,   171,   172,   173,   174,   175,   176,
      177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
        0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
      186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
@@ -7507,7 +7065,7 @@ static const yytype_int16 yytable[] =
      423,   424,   425,     0,     0,   426,     0,   427,     0,   428,
      429,     0,   430,   431,     0,   432,     0,   433,     0,     0,
      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
-     444,   445,     0,   446,   447,     0,     0,     0,   448,   449,
+     444,   445,     0,   446,   447,  2590,     0,     0,   448,   449,
      450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
        0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
      462,   463,   464,   465,     0,     0,     0,     0,     0,     0,
@@ -7523,73 +7081,9 @@ static const yytype_int16 yytable[] =
        0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
      518,   519,   520,   521,   522,   523,   524,     0,     0,     0,
        0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
-       0,   530,     0,     0,     0,     0,   160,     0,   161,   162,
-     163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
-     168,     0,     0,   169,   568,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
-       0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
-     185,     0,   186,   187,     0,     0,   188,     0,     0,   189,
-     190,     0,   191,   192,     0,   193,   194,     0,   195,   196,
-     197,   198,   199,   200,     0,   201,   202,   203,   204,   205,
-     206,   207,     0,   208,   209,   210,   211,   212,   213,   214,
-     215,     0,   216,   217,     0,   218,   219,   220,   221,   222,
-       0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
-       0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
-     231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
-       0,     0,     0,     0,   235,     0,   236,     0,     0,     0,
-       0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
-       0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
-       0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
-     253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
-       0,     0,   262,   263,   652,   265,     0,     0,   266,   267,
-       0,   268,   269,   270,     0,     0,   271,     0,     0,     0,
-     653,   273,     0,   274,     0,   275,     0,   276,   277,   278,
-     279,   280,   281,   282,     0,   283,     0,     0,   284,   285,
-     286,     0,   287,     0,     0,     0,   288,   289,     0,     0,
-       0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
-     296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
-     300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
-     305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
-       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
-       0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
-     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
-     332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
-     340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
-       0,   346,   347,   348,   349,   350,   351,     0,     0,   352,
-     353,     0,   354,     0,   355,     0,   356,   357,   358,   359,
-     360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
-       0,   367,   368,   369,   370,     0,     0,     0,   371,   372,
-       0,     0,     0,   373,     0,   374,   375,   376,     0,   377,
-     378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,   384,   385,     0,     0,   386,
-       0,   387,     0,   654,   389,   390,   391,   392,   393,   394,
-     395,   396,   397,     0,     0,   398,   399,   400,     0,   401,
-       0,   402,   403,   404,   405,   406,     0,   407,   408,   409,
-       0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
-     415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
-     422,     0,   423,   424,   425,     0,     0,   426,     0,   427,
-       0,   428,   429,     0,   430,   431,     0,   432,     0,   433,
-       0,     0,   434,   435,   436,   437,   438,   439,   440,   441,
-     442,   443,   444,   445,     0,   446,   447,     0,     0,     0,
-     448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
-       0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
-     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
-       0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
-       0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
-       0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
-       0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
-     494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,     0,     0,   501,   502,   503,   504,     0,
-     505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
-     511,     0,     0,   512,     0,   513,     0,   514,   515,     0,
-       0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
-       0,     0,   518,   519,   520,   521,   522,   523,   524,     0,
-       0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
-     529,     0,     0,   530,     0,     0,     0,     0,   160,     0,
-     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
-       0,     0,   168,     0,     0,   169,   568,   170,   171,   172,
+       0,   530,     0,     0,     0,     0,     0,     0,   160,     0,
+     161,   162,   163,   164,   165,   166,     0,     0,   167,  3068,
+       0,     0,   168,     0,     0,   169,   831,   170,   171,   172,
      173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
        0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
      184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
@@ -7652,31 +7146,96 @@ static const yytype_int16 yytable[] =
      517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
      524,     0,     0,     0,     0,     0,     0,   525,   526,     0,
      527,   528,   529,     0,     0,   530,     0,     0,     0,     0,
-     160,     0,   161,   162,   163,   164,   165,   166,     0,     0,
-     167,     0,     0,     0,   168,     0,     0,   169,   831,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
-       0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
-     182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
-     188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
-     194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
-     202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
-     211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
-     219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
-       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
-       0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
-       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
-     236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
-     241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
-     245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
-     250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
-     258,   259,   260,   261,     0,     0,   262,   263,   264,   265,
-       0,     0,   266,   267,     0,   268,   269,   270,     0,     0,
-     271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
-       0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
-       0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
+       0,     0,     0,     0,   160,     0,   161,   162,   163,   164,
+     165,   166,     0,  4886,   167,     0,     0,     0,   168,  4887,
+     831,   169,     0,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
+       0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
+     186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
+     191,   192,     0,   193,   194,     0,   195,   196,   197,   198,
+     199,   200,     0,   201,   202,   203,   204,   205,   206,   207,
+       0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
+     216,   217,     0,   218,   219,   220,   221,   222,     0,   223,
+       0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
+     227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
+       0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
+       0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
+     243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
+       0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
+       0,   255,   256,   257,   258,   259,   260,   261,     0,     0,
+     262,   263,   264,   265,     0,     0,   266,   267,     0,   268,
+     269,   270,     0,     0,   271,     0,     0,     0,   272,   273,
+       0,   274,     0,   275,     0,   276,   277,   278,   279,   280,
+     281,   282,     0,   283,     0,     0,   284,   285,   286,     0,
+     287,     0,     0,     0,   288,   289,     0,     0,     0,   290,
+     291,   292,   293,   294,     0,     0,     0,   295,   296,   297,
+       0,     0,   298,     0,     0,     0,     0,   299,   300,     0,
+       0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
+       0,     0,   306,     0,     0,   307,   308,   309,     0,     0,
+     310,     0,     0,   311,   312,     0,     0,     0,     0,     0,
+     313,   314,     0,   315,     0,   316,     0,   317,   318,     0,
+       0,     0,     0,     0,     0,   319,   320,   321,   322,   323,
+     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
+     334,     0,   335,   336,   337,   338,     0,   339,   340,   341,
+     342,     0,   343,   344,   345,     0,     0,     0,     0,   346,
+     347,   348,   349,   350,   351,     0,     0,   352,   353,     0,
+     354,     0,   355,     0,   356,   357,   358,   359,   360,   361,
+     362,   363,   364,   365,     0,     0,   366,     0,     0,   367,
+     368,   369,   370,     0,     0,     0,   371,   372,     0,     0,
+       0,   373,     0,   374,   375,   376,     0,   377,   378,   379,
+     380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
+       0,     0,   383,   384,   385,     0,     0,   386,     0,   387,
+       0,   388,   389,   390,   391,   392,   393,   394,   395,   396,
+     397,     0,     0,   398,   399,   400,     0,   401,     0,   402,
+     403,   404,   405,   406,     0,   407,   408,   409,     0,     0,
+     410,     0,     0,     0,   411,   412,   413,   414,   415,     0,
+       0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
+     423,   424,   425,     0,     0,   426,     0,   427,     0,   428,
+     429,     0,   430,   431,     0,   432,     0,   433,     0,     0,
+     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
+     444,   445,     0,   446,   447,     0,     0,     0,   448,   449,
+     450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
+       0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
+     462,   463,   464,   465,     0,     0,     0,     0,     0,     0,
+     466,   467,     0,   468,     0,     0,   469,     0,     0,     0,
+     470,   471,   472,     0,     0,     0,   473,     0,     0,   474,
+     475,     0,   476,   477,   478,   479,   480,   481,     0,     0,
+     482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
+     489,   490,   491,     0,     0,   492,   493,     0,   494,   495,
+     496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
+       0,     0,     0,   501,   502,   503,   504,     0,   505,   506,
+       0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
+       0,   512,     0,   513,     0,   514,   515,     0,     0,     0,
+       0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
+     518,   519,   520,   521,   522,   523,   524,     0,     0,     0,
+       0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
+       0,   530,     0,     0,     0,     0,     0,     0,     0,     0,
+     160,     0,   161,   162,   163,   164,   165,   166,  1239,     0,
+     167,     0,     0,     0,   168,     0,   831,   169,     0,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
+       0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
+     182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
+     188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
+     194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
+     202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
+     211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
+     219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
+       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
+       0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
+       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
+     236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
+     241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
+     245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
+     250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
+     258,   259,   260,   261,     0,     0,   262,   263,   264,   265,
+       0,     0,   266,   267,     0,   268,   269,   270,     0,     0,
+     271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
+       0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
+       0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
      288,   289,     0,     0,     0,   290,   291,   292,   293,   294,
        0,     0,     0,   295,   296,   297,     0,     0,   298,     0,
-       0,     0,     0,   299,   300,     0,     0,     0,   301,     0,
+       0,     0,     0,   299,   300,     0,  1471,     0,   301,     0,
      302,   303,     0,   304,   305,     0,     0,     0,   306,     0,
        0,   307,   308,   309,     0,     0,   310,     0,     0,   311,
      312,     0,     0,     0,     0,     0,   313,   314,     0,   315,
@@ -7716,137 +7275,9 @@ static const yytype_int16 yytable[] =
        0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
      522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
      526,     0,   527,   528,   529,     0,     0,   530,     0,     0,
-       0,     0,   160,     0,   161,   162,   163,   164,   165,   166,
-       0,     0,   167,     0,     0,     0,   168,     0,     0,   169,
-    3290,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-       0,   179,     0,     0,     0,   180,     0,     0,     0,   181,
-       0,     0,   182,   183,   184,     0,   185,     0,   186,   187,
-       0,     0,   188,     0,     0,   189,   190,     0,   191,  1010,
-    1011,   193,   194,     0,   195,   196,   197,   198,   199,   200,
-       0,   201,   202,   203,   204,   205,   206,   207,     0,   208,
-     209,   210,   211,   212,   213,   214,   215,     0,   216,   217,
-       0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
-     224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
-     228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
-       0,     0,     0,     0,   233,   234,     0,     0,     0,  1012,
-     235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
-     239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
-       0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
-     249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
-     256,   257,   258,   259,   260,   261,     0,     0,   262,   263,
-     264,   265,     0,     0,   266,   267,     0,   268,   269,   270,
-       0,     0,   271,     0,     0,     0,   272,   273,     0,   274,
-       0,   275,     0,   276,   277,   278,   279,   280,   281,  1013,
-       0,   283,     0,     0,   284,   285,   286,     0,   287,     0,
-       0,     0,   288,   289,     0,     0,     0,   290,   291,   292,
-     293,   294,     0,     0,     0,   295,   296,   297,     0,     0,
-     298,     0,     0,     0,     0,   299,   300,     0,     0,     0,
-     301,     0,   302,   303,     0,   304,   305,     0,     0,     0,
-     306,     0,     0,   307,   308,   309,     0,     0,   310,     0,
-       0,   311,   312,     0,     0,     0,     0,     0,   313,   314,
-       0,  1014,     0,   316,     0,   317,   318,     0,     0,     0,
-       0,     0,     0,   319,   320,   321,   322,   323,   324,   325,
-     326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
-     335,   336,   337,   338,     0,   339,   340,   341,   342,     0,
-     343,   344,   345,     0,     0,     0,     0,   346,   347,   348,
-     349,   350,   351,     0,     0,   352,   353,     0,   354,     0,
-     355,     0,   356,   357,   358,   359,   360,   361,   362,  1015,
-     364,   365,     0,     0,   366,     0,     0,   367,   368,   369,
-     370,     0,     0,     0,   371,   372,     0,     0,     0,   373,
-       0,   374,   375,   376,     0,   377,   378,   379,   380,     0,
-     381,   382,     0,     0,     0,     0,     0,     0,     0,     0,
-     383,   384,   385,     0,     0,   386,     0,   387,     0,   388,
-     389,  1016,   391,   392,   393,   394,   395,   396,   397,     0,
-       0,   398,   399,   400,     0,   401,     0,   402,   403,   404,
-     405,   406,     0,   407,   408,   409,     0,     0,   410,     0,
-       0,     0,   411,   412,   413,   414,   415,     0,     0,   416,
-     417,   418,   419,   420,     0,   421,   422,     0,   423,   424,
-     425,     0,     0,   426,     0,   427,     0,   428,   429,     0,
-     430,   431,     0,   432,     0,   433,     0,     0,  1017,   435,
-     436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
-       0,   446,   447,     0,     0,     0,   448,   449,  1018,   451,
-       0,     0,     0,   452,     0,     0,     0,   453,     0,   454,
-     455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
-     464,   465,     0,     0,     0,     0,     0,     0,   466,   467,
-       0,   468,     0,     0,   469,     0,     0,     0,   470,   471,
-     472,     0,     0,     0,   473,     0,     0,   474,   475,     0,
-     476,   477,   478,   479,   480,   481,     0,     0,   482,   483,
-     484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
-     491,     0,     0,   492,   493,     0,   494,   495,   496,   497,
-       0,     0,     0,     0,     0,  1019,   499,   500,     0,     0,
-       0,   501,   502,   503,   504,     0,   505,   506,     0,   507,
-     508,     0,   509,   510,     0,     0,   511,     0,     0,   512,
-       0,   513,     0,   514,   515,     0,     0,     0,     0,     0,
-       0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
-     520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
-       0,   525,   526,     0,   527,   528,   529,     0,     0,   530,
-       0,     0,     0,   160,     0,   161,   162,   163,   164,   165,
-     166,     0,     0,   167,     0,     0,     0,   168,     0,     0,
-     169,  1020,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,     0,   179,     0,     0,     0,   180,     0,     0,     0,
-     181,     0,     0,   182,   183,   184,     0,   185,     0,   186,
-     187,     0,     0,   188,     0,     0,   189,   190,     0,   191,
-     192,     0,   193,   194,     0,   195,   196,   197,   198,   199,
-     200,     0,   201,   202,   203,   204,   205,   206,   207,     0,
-     208,   209,   210,   211,   212,   213,   214,   215,     0,   216,
-     217,     0,   218,   219,   220,   221,   222,     0,   223,     0,
-       0,   224,     0,     0,   225,     0,   226,     0,     0,   227,
-       0,   228,     0,     0,     0,   229,   230,   231,     0,     0,
-     232,     0,     0,     0,     0,   233,   234,     0,     0,     0,
-       0,   235,     0,   236,     0,     0,     0,     0,   237,     0,
-     238,   239,   240,   241,   242,     0,     0,     0,     0,   243,
-       0,     0,   244,   245,   246,     0,     0,     0,   247,     0,
-     248,   249,     0,   250,   251,   252,     0,   253,   254,     0,
-     255,   256,   257,   258,   259,   260,   261,     0,     0,   262,
-     263,   264,   265,     0,     0,   266,   267,     0,   268,   269,
-     270,     0,     0,   271,     0,     0,     0,   272,   273,     0,
-     274,     0,   275,     0,   276,   277,   278,   279,   280,   281,
-     282,     0,   283,     0,     0,   284,   285,   286,     0,   287,
-       0,     0,     0,   288,   289,     0,     0,     0,   290,   291,
-     292,   293,   294,     0,     0,     0,   295,   296,   297,     0,
-       0,   298,     0,     0,     0,     0,   299,   300,     0,     0,
-       0,   301,     0,   302,   303,     0,   304,   305,     0,     0,
-       0,   306,     0,     0,   307,   308,   309,     0,     0,   310,
-       0,     0,   311,   312,   666,     0,     0,     0,     0,   313,
-     314,     0,   315,     0,   316,     0,   317,   318,     0,     0,
-       0,     0,     0,     0,   319,   320,   321,   322,   323,   324,
-     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
-       0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
-       0,   343,   344,   345,     0,     0,     0,     0,   346,   347,
-     348,   349,   350,   351,     0,     0,   352,   353,     0,   354,
-       0,   355,     0,   356,   357,   358,   359,   360,   361,   362,
-     363,   364,   365,     0,     0,   366,     0,     0,   367,   368,
-     369,   370,     0,     0,     0,   371,   372,     0,     0,     0,
-     373,     0,   374,   375,   376,     0,   377,   378,   379,   380,
-       0,   381,   382,     0,     0,     0,     0,     0,     0,     0,
-       0,   383,   384,   385,     0,     0,   386,     0,   387,     0,
-     388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
-       0,     0,   398,   399,   400,     0,   401,     0,   402,   403,
-     404,   405,   406,     0,   407,   408,   409,     0,     0,   410,
-       0,     0,     0,   411,   412,   413,   414,   415,     0,     0,
-     416,   417,   418,   419,   420,     0,   421,   422,     0,   423,
-     424,   425,     0,     0,   426,     0,   427,     0,   428,   429,
-       0,   430,   431,     0,   432,     0,   433,     0,     0,   434,
-     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
-     445,     0,   446,   447,     0,     0,     0,   448,   449,   450,
-     451,     0,     0,     0,   452,     0,     0,     0,   453,     0,
-     454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
-     463,   464,   465,     0,     0,     0,     0,     0,     0,   466,
-     467,     0,   468,     0,     0,   469,     0,     0,     0,   470,
-     471,   472,     0,     0,     0,   473,     0,     0,   474,   475,
-       0,   476,   477,   478,   479,   480,   481,     0,     0,   482,
-     483,   484,   485,     0,   486,   487,     0,     0,   488,   489,
-     490,   491,     0,   156,   492,   493,     0,   494,   495,   496,
-     497,     0,     0,     0,     0,     0,   498,   499,   500,     0,
-       0,     0,   501,   502,   503,   504,     0,   505,   506,     0,
-     507,   508,     0,   509,   510,     0,     0,   511,     0,     0,
-     512,     0,   513,     0,   514,   515,     0,     0,     0,     0,
-       0,     0,   516,     0,     0,   517,     0,     0,     0,   518,
-     519,   520,   521,   522,   523,   524,     0,     0,     0,     0,
-       0,     0,   525,   526,     0,   527,   528,   529,     0,     0,
-     530,     0,     0,     0,   160,     0,   161,   162,   163,   164,
+       0,     0,     0,     0,   160,     0,   161,   162,   163,   164,
      165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
-       0,   169,  1542,   170,   171,   172,   173,   174,   175,   176,
+       0,   169,   568,   170,   171,   172,   173,   174,   175,   176,
      177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
        0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
      186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
@@ -7871,7 +7302,7 @@ static const yytype_int16 yytable[] =
        0,     0,   298,     0,     0,     0,     0,   299,   300,     0,
        0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
        0,     0,   306,     0,     0,   307,   308,   309,     0,     0,
-     310,     0,     0,   311,   312,   666,     0,     0,     0,     0,
+     310,     0,     0,   311,   312,     0,     0,     0,     0,     0,
      313,   314,     0,   315,     0,   316,     0,   317,   318,     0,
        0,     0,     0,     0,     0,   319,   320,   321,   322,   323,
      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
@@ -7900,7 +7331,7 @@ static const yytype_int16 yytable[] =
      470,   471,   472,     0,     0,     0,   473,     0,     0,   474,
      475,     0,   476,   477,   478,   479,   480,   481,     0,     0,
      482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
-     489,   490,   491,     0,   156,   492,   493,     0,   494,   495,
+     489,   490,   491,     0,     0,   492,   493,     0,   494,   495,
      496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
        0,     0,     0,   501,   502,   503,   504,     0,   505,   506,
        0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
@@ -7908,84 +7339,150 @@ static const yytype_int16 yytable[] =
        0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
      518,   519,   520,   521,   522,   523,   524,     0,     0,     0,
        0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
-       0,   530,     0,     0,     0,   160,     0,   161,   162,   163,
-     164,   165,   166,     0,     0,   167,     0,     0,     0,   168,
-       0,     0,   169,  1894,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,     0,   179,     0,     0,     0,   180,     0,
-       0,     0,   181,     0,     0,   182,   183,   184,     0,   185,
-       0,   186,   187,     0,     0,   188,     0,     0,   189,   190,
-       0,   191,   192,     0,   193,   194,     0,   195,   196,   197,
-     198,   199,   200,     0,   201,   202,   203,   204,   205,   206,
-     207,     0,   208,   209,   210,   211,   212,   213,   214,   215,
-       0,   216,   217,     0,   218,   219,   220,   221,   222,     0,
-     223,     0,     0,   224,     0,     0,   225,     0,   226,     0,
-       0,   227,     0,   228,     0,     0,     0,   229,   230,   231,
-       0,     0,   232,     0,     0,     0,     0,   233,   234,     0,
-       0,     0,     0,   235,     0,   236,     0,     0,     0,     0,
-     237,     0,   238,   239,   240,   241,   242,     0,     0,     0,
-       0,   243,     0,     0,   244,   245,   246,     0,     0,     0,
-     247,     0,   248,   249,     0,   250,   251,   252,     0,   253,
-     254,     0,   255,   256,   257,   258,   259,   260,   261,     0,
-       0,   262,   263,   264,   265,     0,     0,   266,   267,     0,
-     268,   269,   270,     0,     0,   271,     0,     0,     0,   272,
-     273,     0,   274,     0,   275,     0,   276,   277,   278,   279,
-     280,   281,   282,     0,   283,     0,     0,   284,   285,   286,
-       0,   287,     0,     0,     0,   288,   289,     0,     0,     0,
-     290,   291,   292,   293,   294,     0,     0,     0,   295,   296,
-     297,     0,     0,   298,     0,     0,     0,     0,   299,   300,
-       0,     0,     0,   301,     0,   302,   303,     0,   304,   305,
-       0,     0,     0,   306,     0,     0,   307,   308,   309,     0,
-       0,   310,     0,     0,   311,   312,   666,     0,     0,     0,
-       0,   313,   314,     0,   315,     0,   316,     0,   317,   318,
-       0,     0,     0,     0,     0,     0,   319,   320,   321,   322,
-     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
-     333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
-     341,   342,     0,   343,   344,   345,     0,     0,     0,     0,
-     346,   347,   348,   349,   350,   351,     0,     0,   352,   353,
-       0,   354,     0,   355,     0,   356,   357,   358,   359,   360,
-     361,   362,   363,   364,   365,     0,     0,   366,     0,     0,
-     367,   368,   369,   370,     0,     0,     0,   371,   372,     0,
-       0,     0,   373,     0,   374,   375,   376,     0,   377,   378,
-     379,   380,     0,   381,   382,     0,     0,     0,     0,     0,
-       0,     0,     0,   383,   384,   385,     0,     0,   386,     0,
-     387,     0,   388,   389,   390,   391,   392,   393,   394,   395,
-     396,   397,     0,     0,   398,   399,   400,     0,   401,     0,
-     402,   403,   404,   405,   406,     0,   407,   408,   409,     0,
-       0,   410,     0,     0,     0,   411,   412,   413,   414,   415,
-       0,     0,   416,   417,   418,   419,   420,     0,   421,   422,
-       0,   423,   424,   425,     0,     0,   426,     0,   427,     0,
-     428,   429,     0,   430,   431,     0,   432,     0,   433,     0,
-       0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
-     443,   444,   445,     0,   446,   447,     0,     0,     0,   448,
-     449,   450,   451,     0,     0,     0,   452,     0,     0,     0,
-     453,     0,   454,   455,   456,   457,   458,   459,     0,   460,
-     461,   462,   463,   464,   465,     0,     0,     0,     0,     0,
-       0,   466,   467,     0,   468,     0,     0,   469,     0,     0,
-       0,   470,   471,   472,     0,     0,     0,   473,     0,     0,
-     474,   475,     0,   476,   477,   478,   479,   480,   481,     0,
-       0,   482,   483,   484,   485,     0,   486,   487,     0,     0,
-     488,   489,   490,   491,     0,   156,   492,   493,     0,   494,
-     495,   496,   497,     0,     0,     0,     0,     0,   498,   499,
-     500,     0,     0,     0,   501,   502,   503,   504,     0,   505,
-     506,     0,   507,   508,     0,   509,   510,     0,     0,   511,
-       0,     0,   512,     0,   513,     0,   514,   515,     0,     0,
-       0,     0,     0,     0,   516,     0,     0,   517,     0,     0,
-       0,   518,   519,   520,   521,   522,   523,   524,     0,     0,
-       0,     0,     0,     0,   525,   526,     0,   527,   528,   529,
-       0,     0,   530,     0,     0,     0,   160,     0,   161,   162,
+       0,   530,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  2531,   160,     0,   161,   162,   163,   164,
+     165,   166,     0,     0,   167,     0,   568,     0,   168,     0,
+       0,   169,     0,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
+       0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
+     186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
+     191,   192,     0,   193,   194,     0,   195,   196,   197,   198,
+     199,   200,     0,   201,   202,   203,   204,   205,   206,   207,
+       0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
+     216,   217,     0,   218,   219,   220,   221,   222,     0,   223,
+       0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
+     227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
+       0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
+       0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
+     243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
+       0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
+       0,   255,   256,   257,   258,   259,   260,   261,     0,     0,
+     262,   263,   264,   265,     0,     0,   266,   267,     0,   268,
+     269,   270,     0,     0,   271,     0,     0,     0,   272,   273,
+       0,   274,     0,   275,     0,   276,   277,   278,   279,   280,
+     281,   282,     0,   283,     0,     0,   284,   285,   286,     0,
+     287,     0,     0,     0,   288,   289,     0,     0,     0,   290,
+     291,   292,   293,   294,     0,     0,     0,   295,   296,   297,
+       0,     0,   298,     0,     0,     0,     0,   299,   300,     0,
+       0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
+       0,     0,   306,     0,     0,   307,   308,   309,     0,     0,
+     310,     0,     0,   311,   312,     0,     0,     0,     0,     0,
+     313,   314,     0,   315,     0,   316,     0,   317,   318,     0,
+       0,     0,     0,     0,     0,   319,   320,   321,   322,   323,
+     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
+     334,     0,   335,   336,   337,   338,     0,   339,   340,   341,
+     342,     0,   343,   344,   345,     0,     0,     0,     0,   346,
+     347,   348,   349,   350,   351,     0,     0,   352,   353,     0,
+     354,     0,   355,     0,   356,   357,   358,   359,   360,   361,
+     362,   363,   364,   365,     0,     0,   366,     0,     0,   367,
+     368,   369,   370,     0,     0,     0,   371,   372,     0,     0,
+       0,   373,     0,   374,   375,   376,     0,   377,   378,   379,
+     380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
+       0,     0,   383,   384,   385,     0,     0,   386,     0,   387,
+       0,   388,   389,   390,   391,   392,   393,   394,   395,   396,
+     397,     0,     0,   398,   399,   400,     0,   401,     0,   402,
+     403,   404,   405,   406,     0,   407,   408,   409,     0,     0,
+     410,     0,     0,     0,   411,   412,   413,   414,   415,     0,
+       0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
+     423,   424,   425,     0,     0,   426,     0,   427,     0,   428,
+     429,     0,   430,   431,     0,   432,     0,   433,     0,     0,
+     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
+     444,   445,     0,   446,   447,     0,     0,     0,   448,   449,
+     450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
+       0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
+     462,   463,   464,   465,     0,     0,     0,     0,     0,     0,
+     466,   467,     0,   468,     0,     0,   469,     0,     0,     0,
+     470,   471,   472,     0,     0,     0,   473,     0,     0,   474,
+     475,     0,   476,   477,   478,   479,   480,   481,     0,     0,
+     482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
+     489,   490,   491,     0,     0,   492,   493,     0,   494,   495,
+     496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
+       0,     0,     0,   501,   502,   503,   504,     0,   505,   506,
+       0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
+       0,   512,     0,   513,     0,   514,   515,     0,     0,     0,
+       0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
+     518,   519,   520,   521,   522,   523,   524,     0,     0,     0,
+       0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
+       0,   530,     0,     0,     0,     0,     0,     0,     0,     0,
+     160,     0,   161,   162,   163,   164,   165,   166,  3289,     0,
+     167,     0,     0,     0,   168,     0,  3290,   169,     0,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
+       0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
+     182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
+     188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
+     194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
+     202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
+     211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
+     219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
+       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
+       0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
+       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
+     236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
+     241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
+     245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
+     250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
+     258,   259,   260,   261,     0,     0,   262,   263,   264,   265,
+       0,     0,   266,   267,     0,   268,   269,   270,     0,     0,
+     271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
+       0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
+       0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
+     288,   289,     0,     0,     0,   290,   291,   292,   293,   294,
+       0,     0,     0,   295,   296,   297,     0,     0,   298,     0,
+       0,     0,     0,   299,   300,     0,     0,     0,   301,     0,
+     302,   303,     0,   304,   305,     0,     0,     0,   306,     0,
+       0,   307,   308,   309,     0,     0,   310,     0,     0,   311,
+     312,     0,     0,     0,     0,     0,   313,   314,     0,   315,
+       0,   316,     0,   317,   318,     0,     0,     0,     0,     0,
+       0,   319,   320,   321,   322,   323,   324,   325,   326,   327,
+     328,   329,   330,   331,   332,   333,   334,     0,   335,   336,
+     337,   338,     0,   339,   340,   341,   342,     0,   343,   344,
+     345,     0,     0,     0,     0,   346,   347,   348,   349,   350,
+     351,     0,     0,   352,   353,     0,   354,     0,   355,     0,
+     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
+       0,     0,   366,     0,     0,   367,   368,   369,   370,     0,
+       0,     0,   371,   372,     0,     0,     0,   373,     0,   374,
+     375,   376,     0,   377,   378,   379,   380,     0,   381,   382,
+       0,     0,     0,     0,     0,     0,     0,     0,   383,   384,
+     385,     0,     0,   386,     0,   387,     0,   388,   389,   390,
+     391,   392,   393,   394,   395,   396,   397,     0,     0,   398,
+     399,   400,     0,   401,     0,   402,   403,   404,   405,   406,
+       0,   407,   408,   409,     0,     0,   410,     0,     0,     0,
+     411,   412,   413,   414,   415,     0,     0,   416,   417,   418,
+     419,   420,     0,   421,   422,     0,   423,   424,   425,     0,
+       0,   426,     0,   427,     0,   428,   429,     0,   430,   431,
+       0,   432,     0,   433,     0,     0,   434,   435,   436,   437,
+     438,   439,   440,   441,   442,   443,   444,   445,     0,   446,
+     447,     0,     0,     0,   448,   449,   450,   451,     0,     0,
+       0,   452,     0,     0,     0,   453,     0,   454,   455,   456,
+     457,   458,   459,     0,   460,   461,   462,   463,   464,   465,
+       0,     0,     0,     0,     0,     0,   466,   467,     0,   468,
+       0,     0,   469,     0,     0,     0,   470,   471,   472,     0,
+       0,     0,   473,     0,     0,   474,   475,     0,   476,   477,
+     478,   479,   480,   481,     0,     0,   482,   483,   484,   485,
+       0,   486,   487,     0,     0,   488,   489,   490,   491,     0,
+       0,   492,   493,     0,   494,   495,   496,   497,     0,     0,
+       0,     0,     0,   498,   499,   500,     0,     0,     0,   501,
+     502,   503,   504,     0,   505,   506,     0,   507,   508,     0,
+     509,   510,     0,     0,   511,     0,     0,   512,     0,   513,
+       0,   514,   515,     0,     0,     0,     0,     0,     0,   516,
+       0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
+     522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
+     526,     0,   527,   528,   529,     0,     0,   530,     0,     0,
+       0,     0,     0,     0,     0,     0,   160,     0,   161,   162,
      163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
-     168,     0,     0,   169,  2621,   170,   171,   172,   173,   174,
+     168,  4887,   831,   169,     0,   170,   171,   172,   173,   174,
      175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
        0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
      185,     0,   186,   187,     0,     0,   188,     0,     0,   189,
-     190,     0,   191,  1010,  1011,   193,   194,     0,   195,   196,
+     190,     0,   191,   192,     0,   193,   194,     0,   195,   196,
      197,   198,   199,   200,     0,   201,   202,   203,   204,   205,
      206,   207,     0,   208,   209,   210,   211,   212,   213,   214,
      215,     0,   216,   217,     0,   218,   219,   220,   221,   222,
        0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
        0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
      231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
-       0,     0,     0,  1012,   235,     0,   236,     0,     0,     0,
+       0,     0,     0,     0,   235,     0,   236,     0,     0,     0,
        0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
        0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
        0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
@@ -7993,35 +7490,35 @@ static const yytype_int16 yytable[] =
        0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
        0,   268,   269,   270,     0,     0,   271,     0,     0,     0,
      272,   273,     0,   274,     0,   275,     0,   276,   277,   278,
-     279,   280,   281,  1013,     0,   283,     0,     0,   284,   285,
+     279,   280,   281,   282,     0,   283,     0,     0,   284,   285,
      286,     0,   287,     0,     0,     0,   288,   289,     0,     0,
        0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
      296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
      300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
      305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
        0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
-       0,     0,   313,   314,     0,  1014,     0,   316,     0,   317,
+       0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
      318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
      340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
        0,   346,   347,   348,   349,   350,   351,     0,     0,   352,
      353,     0,   354,     0,   355,     0,   356,   357,   358,   359,
-     360,   361,   362,  1015,   364,   365,     0,     0,   366,     0,
+     360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
        0,   367,   368,   369,   370,     0,     0,     0,   371,   372,
        0,     0,     0,   373,     0,   374,   375,   376,     0,   377,
      378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
        0,     0,     0,     0,   383,   384,   385,     0,     0,   386,
-       0,   387,     0,   388,   389,  1016,   391,   392,   393,   394,
+       0,   387,     0,   388,   389,   390,   391,   392,   393,   394,
      395,   396,   397,     0,     0,   398,   399,   400,     0,   401,
        0,   402,   403,   404,   405,   406,     0,   407,   408,   409,
        0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
      415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
      422,     0,   423,   424,   425,     0,     0,   426,     0,   427,
        0,   428,   429,     0,   430,   431,     0,   432,     0,   433,
-       0,     0,  1017,   435,   436,   437,   438,   439,   440,   441,
+       0,     0,   434,   435,   436,   437,   438,   439,   440,   441,
      442,   443,   444,   445,     0,   446,   447,     0,     0,     0,
-     448,   449,  1018,   451,     0,     0,     0,   452,     0,     0,
+     448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
        0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
      460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
        0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
@@ -8036,110 +7533,175 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
        0,     0,   518,   519,   520,   521,   522,   523,   524,     0,
        0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
-     529,     0,     0,   530,     0,     0,     0,   160,     0,   161,
-     162,   163,   164,   165,   166,     0,     0,   167,     0,     0,
-       0,   168,     0,     0,   169,  1020,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,     0,   179,     0,     0,     0,
-     180,     0,     0,     0,   181,     0,     0,   182,   183,   184,
-       0,   185,     0,   186,   187,     0,     0,   188,     0,     0,
-     189,   190,     0,   191,   192,     0,   193,   194,     0,   195,
-     196,   197,   198,   199,   200,     0,   201,   202,   203,   204,
-     205,   206,   207,     0,   208,   209,   210,   211,   212,   213,
-     214,   215,  1382,   216,   217,     0,   218,   219,   220,   221,
-     222,     0,   223,     0,     0,   224,     0,     0,   225,     0,
-     226,     0,     0,   227,     0,   228,     0,     0,     0,   229,
-     230,   231,     0,     0,   232,     0,     0,     0,     0,   233,
-     234,     0,     0,     0,     0,   235,     0,   236,     0,     0,
-       0,     0,   237,     0,   238,   239,   240,   241,   242,     0,
-       0,     0,     0,   243,     0,     0,   244,   245,   246,     0,
-       0,     0,   247,     0,   248,   249,     0,   250,   251,   252,
-       0,   253,   254,     0,   255,   256,   257,   258,   259,   260,
-     261,     0,     0,   262,   263,   264,   265,     0,     0,   266,
-     267,     0,   268,   269,   270,     0,     0,   271,     0,     0,
-       0,   272,   273,     0,   274,     0,   275,     0,   276,   277,
-     278,   279,   280,   281,   282,     0,   283,     0,     0,   284,
-     285,   286,     0,   287,     0,     0,     0,   288,   289,     0,
-       0,     0,   290,   291,   292,   293,   294,     0,     0,     0,
-     295,   296,   297,     0,     0,   298,     0,     0,     0,     0,
-     299,   300,     0,     0,     0,   301,     0,   302,   303,     0,
-     304,   305,     0,     0,     0,   306,     0,     0,   307,   308,
-     309,     0,     0,   310,     0,     0,   311,   312,     0,     0,
-       0,     0,     0,   313,   314,     0,   315,     0,   316,     0,
-     317,   318,     0,     0,     0,     0,     0,     0,   319,   320,
-     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
-     331,   332,   333,   334,     0,   335,   336,   337,   338,     0,
-     339,   340,   341,   342,     0,   343,   344,   345,     0,     0,
-       0,     0,   346,   347,   348,   349,   350,   351,     0,     0,
-     352,   353,     0,   354,     0,   355,     0,   356,   357,   358,
-     359,   360,   361,   362,   363,   364,   365,     0,     0,   366,
-       0,     0,   367,   368,   369,   370,     0,     0,     0,   371,
-     372,     0,     0,     0,   373,     0,   374,   375,   376,     0,
-     377,   378,   379,   380,     0,   381,   382,     0,     0,     0,
-       0,     0,     0,     0,     0,   383,   384,   385,     0,     0,
-     386,     0,   387,     0,   388,   389,   390,   391,   392,   393,
-     394,   395,   396,   397,     0,     0,   398,   399,   400,     0,
-     401,     0,   402,   403,   404,   405,   406,     0,   407,   408,
-     409,     0,     0,   410,     0,     0,     0,   411,   412,   413,
-     414,   415,     0,     0,   416,   417,   418,   419,   420,     0,
-     421,   422,     0,   423,   424,   425,     0,     0,   426,     0,
-     427,     0,   428,   429,     0,   430,   431,     0,   432,     0,
-     433,     0,     0,   434,   435,   436,   437,   438,   439,   440,
-     441,   442,   443,   444,   445,     0,   446,   447,     0,     0,
-       0,   448,   449,   450,   451,     0,     0,     0,   452,     0,
-       0,     0,   453,     0,   454,   455,   456,   457,   458,   459,
-       0,   460,   461,   462,   463,   464,   465,     0,     0,     0,
-       0,     0,     0,   466,   467,     0,   468,     0,     0,   469,
-       0,     0,     0,   470,   471,   472,     0,     0,     0,   473,
-       0,     0,   474,   475,     0,   476,   477,   478,   479,   480,
-     481,     0,     0,   482,   483,   484,   485,     0,   486,   487,
-       0,     0,   488,   489,   490,   491,     0,     0,   492,   493,
-       0,   494,   495,   496,   497,     0,     0,     0,     0,     0,
-     498,   499,   500,     0,     0,     0,   501,   502,   503,   504,
-       0,   505,   506,     0,   507,   508,     0,   509,   510,     0,
-       0,   511,     0,     0,   512,     0,   513,     0,   514,   515,
-       0,     0,     0,     0,     0,     0,   516,     0,     0,   517,
-       0,     0,     0,   518,   519,   520,   521,   522,   523,   524,
-       0,     0,     0,     0,     0,     0,   525,   526,     0,   527,
-     528,   529,     0,     0,   530,     0,     0,     0,   160,     0,
-     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
-       0,     0,   168,     0,     0,   169,  1383,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
-       0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
-     184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
-       0,   189,   190,     0,   191,   192,     0,   193,   194,     0,
-     195,   196,   197,   198,   199,   200,     0,   201,   202,   203,
-     204,   205,   206,   207,     0,   208,   209,   210,   211,   212,
-     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
-     221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
-       0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
-     229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
-     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
-       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
-       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
-       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
-     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
-     260,   261,     0,     0,   262,   263,   264,   265,     0,     0,
-     266,   267,     0,   268,   269,   270,     0,     0,   271,     0,
-       0,     0,   272,   273,     0,   274,     0,   275,     0,   276,
-     277,   278,   279,   280,   281,   282,     0,   283,     0,     0,
-     284,   285,   286,     0,   287,     0,     0,     0,   288,   289,
-       0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
-       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
-       0,   299,   300,     0,     0,     0,   301,     0,   302,   303,
-       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
-     308,   309,     0,     0,   310,     0,     0,   311,   312,     0,
-       0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
-       0,   317,   318,     0,     0,     0,     0,     0,     0,   319,
-     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
-       0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
-       0,     0,     0,   346,   347,   348,   349,   350,   351,     0,
-       0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
-     358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
-     366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
-     371,   372,     0,     0,     0,   373,     0,   374,   375,   376,
-       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
-       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
+     529,     0,     0,   530,     0,     0,     0,     0,     0,     0,
+     160,     0,   161,   162,   163,   164,   165,   166,     0,     0,
+     167,     0,     0,     0,   168,     0,     0,   169,   568,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
+       0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
+     182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
+     188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
+     194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
+     202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
+     211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
+     219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
+       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
+       0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
+       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
+     236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
+     241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
+     245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
+     250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
+     258,   259,   260,   261,     0,     0,   262,   263,   652,   265,
+       0,     0,   266,   267,     0,   268,   269,   270,     0,     0,
+     271,     0,     0,     0,   653,   273,     0,   274,     0,   275,
+       0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
+       0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
+     288,   289,     0,     0,     0,   290,   291,   292,   293,   294,
+       0,     0,     0,   295,   296,   297,     0,     0,   298,     0,
+       0,     0,     0,   299,   300,     0,     0,     0,   301,     0,
+     302,   303,     0,   304,   305,     0,     0,     0,   306,     0,
+       0,   307,   308,   309,     0,     0,   310,     0,     0,   311,
+     312,     0,     0,     0,     0,     0,   313,   314,     0,   315,
+       0,   316,     0,   317,   318,     0,     0,     0,     0,     0,
+       0,   319,   320,   321,   322,   323,   324,   325,   326,   327,
+     328,   329,   330,   331,   332,   333,   334,     0,   335,   336,
+     337,   338,     0,   339,   340,   341,   342,     0,   343,   344,
+     345,     0,     0,     0,     0,   346,   347,   348,   349,   350,
+     351,     0,     0,   352,   353,     0,   354,     0,   355,     0,
+     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
+       0,     0,   366,     0,     0,   367,   368,   369,   370,     0,
+       0,     0,   371,   372,     0,     0,     0,   373,     0,   374,
+     375,   376,     0,   377,   378,   379,   380,     0,   381,   382,
+       0,     0,     0,     0,     0,     0,     0,     0,   383,   384,
+     385,     0,     0,   386,     0,   387,     0,   654,   389,   390,
+     391,   392,   393,   394,   395,   396,   397,     0,     0,   398,
+     399,   400,     0,   401,     0,   402,   403,   404,   405,   406,
+       0,   407,   408,   409,     0,     0,   410,     0,     0,     0,
+     411,   412,   413,   414,   415,     0,     0,   416,   417,   418,
+     419,   420,     0,   421,   422,     0,   423,   424,   425,     0,
+       0,   426,     0,   427,     0,   428,   429,     0,   430,   431,
+       0,   432,     0,   433,     0,     0,   434,   435,   436,   437,
+     438,   439,   440,   441,   442,   443,   444,   445,     0,   446,
+     447,     0,     0,     0,   448,   449,   450,   451,     0,     0,
+       0,   452,     0,     0,     0,   453,     0,   454,   455,   456,
+     457,   458,   459,     0,   460,   461,   462,   463,   464,   465,
+       0,     0,     0,     0,     0,     0,   466,   467,     0,   468,
+       0,     0,   469,     0,     0,     0,   470,   471,   472,     0,
+       0,     0,   473,     0,     0,   474,   475,     0,   476,   477,
+     478,   479,   480,   481,     0,     0,   482,   483,   484,   485,
+       0,   486,   487,     0,     0,   488,   489,   490,   491,     0,
+       0,   492,   493,     0,   494,   495,   496,   497,     0,     0,
+       0,     0,     0,   498,   499,   500,     0,     0,     0,   501,
+     502,   503,   504,     0,   505,   506,     0,   507,   508,     0,
+     509,   510,     0,     0,   511,     0,     0,   512,     0,   513,
+       0,   514,   515,     0,     0,     0,     0,     0,     0,   516,
+       0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
+     522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
+     526,     0,   527,   528,   529,     0,     0,   530,     0,     0,
+       0,     0,     0,     0,   160,     0,   161,   162,   163,   164,
+     165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
+       0,   169,   568,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
+       0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
+     186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
+     191,   192,     0,   193,   194,     0,   195,   196,   197,   198,
+     199,   200,     0,   201,   202,   203,   204,   205,   206,   207,
+       0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
+     216,   217,     0,   218,   219,   220,   221,   222,     0,   223,
+       0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
+     227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
+       0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
+       0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
+     243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
+       0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
+       0,   255,   256,   257,   258,   259,   260,   261,     0,     0,
+     262,   263,   264,   265,     0,     0,   266,   267,     0,   268,
+     269,   270,     0,     0,   271,     0,     0,     0,   272,   273,
+       0,   274,     0,   275,     0,   276,   277,   278,   279,   280,
+     281,   282,     0,   283,     0,     0,   284,   285,   286,     0,
+     287,     0,     0,     0,   288,   289,     0,     0,     0,   290,
+     291,   292,   293,   294,     0,     0,     0,   295,   296,   297,
+       0,     0,   298,     0,     0,     0,     0,   299,   300,     0,
+       0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
+       0,     0,   306,     0,     0,   307,   308,   309,     0,     0,
+     310,     0,     0,   311,   312,     0,     0,     0,     0,     0,
+     313,   314,     0,   315,     0,   316,     0,   317,   318,     0,
+       0,     0,     0,     0,     0,   319,   320,   321,   322,   323,
+     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
+     334,     0,   335,   336,   337,   338,     0,   339,   340,   341,
+     342,     0,   343,   344,   345,     0,     0,     0,     0,   346,
+     347,   348,   349,   350,   351,     0,     0,   352,   353,     0,
+     354,     0,   355,     0,   356,   357,   358,   359,   360,   361,
+     362,   363,   364,   365,     0,     0,   366,     0,     0,   367,
+     368,   369,   370,     0,     0,     0,   371,   372,     0,     0,
+       0,   373,     0,   374,   375,   376,     0,   377,   378,   379,
+     380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
+       0,     0,   383,   384,   385,     0,     0,   386,     0,   387,
+       0,   388,   389,   390,   391,   392,   393,   394,   395,   396,
+     397,     0,     0,   398,   399,   400,     0,   401,     0,   402,
+     403,   404,   405,   406,     0,   407,   408,   409,     0,     0,
+     410,     0,     0,     0,   411,   412,   413,   414,   415,     0,
+       0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
+     423,   424,   425,     0,     0,   426,     0,   427,     0,   428,
+     429,     0,   430,   431,     0,   432,     0,   433,     0,     0,
+     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
+     444,   445,     0,   446,   447,     0,     0,     0,   448,   449,
+     450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
+       0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
+     462,   463,   464,   465,     0,     0,     0,     0,     0,     0,
+     466,   467,     0,   468,     0,     0,   469,     0,     0,     0,
+     470,   471,   472,     0,     0,     0,   473,     0,     0,   474,
+     475,     0,   476,   477,   478,   479,   480,   481,     0,     0,
+     482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
+     489,   490,   491,     0,     0,   492,   493,     0,   494,   495,
+     496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
+       0,     0,     0,   501,   502,   503,   504,     0,   505,   506,
+       0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
+       0,   512,     0,   513,     0,   514,   515,     0,     0,     0,
+       0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
+     518,   519,   520,   521,   522,   523,   524,     0,     0,     0,
+       0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
+       0,   530,     0,     0,     0,     0,     0,     0,   160,     0,
+     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
+       0,     0,   168,     0,     0,   169,   831,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
+       0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
+     184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
+       0,   189,   190,     0,   191,   192,     0,   193,   194,     0,
+     195,   196,   197,   198,   199,   200,     0,   201,   202,   203,
+     204,   205,   206,   207,     0,   208,   209,   210,   211,   212,
+     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
+     221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
+       0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
+     229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
+     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
+       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
+       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
+       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
+     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
+     260,   261,     0,     0,   262,   263,   264,   265,     0,     0,
+     266,   267,     0,   268,   269,   270,     0,     0,   271,     0,
+       0,     0,   272,   273,     0,   274,     0,   275,     0,   276,
+     277,   278,   279,   280,   281,   282,     0,   283,     0,     0,
+     284,   285,   286,     0,   287,     0,     0,     0,   288,   289,
+       0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
+       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
+       0,   299,   300,     0,     0,     0,   301,     0,   302,   303,
+       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
+     308,   309,     0,     0,   310,     0,     0,   311,   312,     0,
+       0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
+       0,   317,   318,     0,     0,     0,     0,     0,     0,   319,
+     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
+       0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
+       0,     0,     0,   346,   347,   348,   349,   350,   351,     0,
+       0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
+     358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
+     366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
+     371,   372,     0,     0,     0,   373,     0,   374,   375,   376,
+       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
+       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
        0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
      393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
        0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
@@ -8164,73 +7726,74 @@ static const yytype_int16 yytable[] =
      515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
      517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
      524,     0,     0,     0,     0,     0,     0,   525,   526,     0,
-     527,   528,   529,     0,     0,   530,     0,     0,     0,   160,
-       0,   161,   162,   163,   164,   165,   166,     0,     0,   167,
-       0,     0,     0,   168,     0,     0,     0,  1383,   170,   171,
-     172,   173,   174,   175,   176,   177,     0,     0,   925,     0,
-       0,     0,   180,     0,     0,     0,   181,     0,     0,   182,
-     183,   184,     0,   185,     0,     0,     0,     0,     0,   188,
-       7,     0,   189,   190,     0,   191,     0,     0,     0,     0,
-       0,   195,   196,   197,   926,   199,   200,     0,   201,   202,
-       0,     0,     0,     0,     0,     0,   208,     0,   210,     0,
-     212,   213,   214,   215,     0,   216,   217,     0,   218,   219,
-     220,     0,   222,     0,   223,     0,     0,   224,     0,     0,
-     225,     0,   226,     0,     0,   227,     0,   228,     0,     0,
-       0,   229,   230,   231,     0,     0,   232,     0,     0,     0,
-       0,   233,     0,     0,     0,     0,     0,   235,     0,   236,
-       0,     0,     0,     0,   237,     0,   238,   239,   240,   241,
-     242,     0,     0,     0,     0,     0,     0,     0,   244,   245,
-     246,     0,     0,     0,   247,     0,     0,   249,     0,   250,
-     251,   252,     0,   253,   254,     0,   255,   256,   257,   258,
-     259,     0,     0,     0,     0,   262,   263,   264,   265,     0,
-       0,   266,   267,   927,   268,   269,   270,     0,     0,     0,
-       0,     0,     0,     0,   273,     0,   274,     0,   275,     0,
-     276,   277,   278,   279,   280,     0,   282,     0,   283,     0,
-       0,     0,   285,   286,     0,     0,     0,     0,     0,     0,
-     289,     0,     0,     0,   290,   291,   292,   293,   294,    26,
-       0,     0,   295,   296,   297,     0,     0,   298,     0,     0,
-       0,     0,   299,     0,     0,     0,     0,   301,     0,   302,
-     303,     0,   304,   305,   928,     0,     0,   306,     0,     0,
-       0,   308,   309,     0,     0,   310,   929,     0,   311,   312,
-       0,     0,     0,     0,     0,   313,   314,     0,   315,     0,
-     316,     0,   317,   318,     0,     0,     0,     0,    32,     0,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,     0,   335,   336,   337,
-     338,     0,   339,   340,   341,   342,     0,   343,   344,   345,
-       0,     0,     0,     0,   346,   347,   348,   349,   350,   351,
-       0,     0,   352,   353,     0,   354,     0,   355,     0,   356,
-     357,   358,   359,   360,   361,   362,   363,   364,   365,     0,
-       0,   366,     0,     0,   367,   368,   369,   370,     0,     0,
-       0,     0,   372,     0,     0,     0,   373,     0,   374,   375,
-     376,     0,   377,   378,   379,   930,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   384,   385,
-       0,     0,     0,     0,   387,     0,   388,   389,   390,   391,
-     392,   393,   394,   395,   396,     0,     0,     0,     0,   399,
-     400,     0,   401,     0,   402,   403,   404,   405,   406,     0,
-     407,   408,   409,     0,     0,   410,     0,     0,     0,   411,
-     412,   413,   414,   415,     0,     0,   416,   417,   418,   419,
-     420,     0,   421,     0,     0,   423,     0,   425,    41,     0,
-     426,     0,     0,     0,   428,     0,     0,   430,   431,     0,
-     432,   931,   433,     0,     0,   434,     0,   436,   437,   438,
-     439,   440,   441,   442,     0,   444,   445,     0,   446,     0,
-       0,     0,     0,   448,   449,   450,     0,     0,     0,     0,
-     452,     0,     0,     0,     0,     0,     0,   455,     0,     0,
-     458,   459,     0,   460,     0,   462,     0,   464,   465,     0,
-       0,     0,     0,     0,     0,   466,   467,     0,   468,     0,
-       0,   469,     0,     0,     0,   470,     0,   472,     0,     0,
-       0,   473,     0,     0,     0,   475,     0,   476,   477,   478,
-     479,   480,   481,     0,     0,   482,   483,   484,   485,     0,
-     486,   487,     0,     0,   488,   489,   490,   491,     0,     0,
-     492,   493,     0,   494,   495,   496,   497,     0,     0,     0,
-       0,     0,   498,   499,   500,     0,     0,     0,     0,   502,
-     503,   504,     0,   505,   506,     0,   507,   508,     0,     0,
-       0,     0,     0,   511,     0,     0,   512,     0,     0,     0,
-     514,   515,     0,     0,     0,     0,     0,     0,   516,     0,
-       0,   517,     0,     0,     0,   518,   519,   520,   521,   522,
-     523,   524,     0,     0,    60,     0,     0,     0,   525,     0,
-       0,   527,     0,   529,     0,   160,   530,   161,   162,   163,
+     527,   528,   529,     0,     0,   530,     0,     0,     0,     0,
+       0,     0,   160,     0,   161,   162,   163,   164,   165,   166,
+       0,     0,   167,     0,     0,     0,   168,     0,     0,   169,
+    3290,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+       0,   179,     0,     0,     0,   180,     0,     0,     0,   181,
+       0,     0,   182,   183,   184,     0,   185,     0,   186,   187,
+       0,     0,   188,     0,     0,   189,   190,     0,   191,  1010,
+    1011,   193,   194,     0,   195,   196,   197,   198,   199,   200,
+       0,   201,   202,   203,   204,   205,   206,   207,     0,   208,
+     209,   210,   211,   212,   213,   214,   215,     0,   216,   217,
+       0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
+     224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
+     228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
+       0,     0,     0,     0,   233,   234,     0,     0,     0,  1012,
+     235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
+     239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
+       0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
+     249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
+     256,   257,   258,   259,   260,   261,     0,     0,   262,   263,
+     264,   265,     0,     0,   266,   267,     0,   268,   269,   270,
+       0,     0,   271,     0,     0,     0,   272,   273,     0,   274,
+       0,   275,     0,   276,   277,   278,   279,   280,   281,  1013,
+       0,   283,     0,     0,   284,   285,   286,     0,   287,     0,
+       0,     0,   288,   289,     0,     0,     0,   290,   291,   292,
+     293,   294,     0,     0,     0,   295,   296,   297,     0,     0,
+     298,     0,     0,     0,     0,   299,   300,     0,     0,     0,
+     301,     0,   302,   303,     0,   304,   305,     0,     0,     0,
+     306,     0,     0,   307,   308,   309,     0,     0,   310,     0,
+       0,   311,   312,     0,     0,     0,     0,     0,   313,   314,
+       0,  1014,     0,   316,     0,   317,   318,     0,     0,     0,
+       0,     0,     0,   319,   320,   321,   322,   323,   324,   325,
+     326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
+     335,   336,   337,   338,     0,   339,   340,   341,   342,     0,
+     343,   344,   345,     0,     0,     0,     0,   346,   347,   348,
+     349,   350,   351,     0,     0,   352,   353,     0,   354,     0,
+     355,     0,   356,   357,   358,   359,   360,   361,   362,  1015,
+     364,   365,     0,     0,   366,     0,     0,   367,   368,   369,
+     370,     0,     0,     0,   371,   372,     0,     0,     0,   373,
+       0,   374,   375,   376,     0,   377,   378,   379,   380,     0,
+     381,   382,     0,     0,     0,     0,     0,     0,     0,     0,
+     383,   384,   385,     0,     0,   386,     0,   387,     0,   388,
+     389,  1016,   391,   392,   393,   394,   395,   396,   397,     0,
+       0,   398,   399,   400,     0,   401,     0,   402,   403,   404,
+     405,   406,     0,   407,   408,   409,     0,     0,   410,     0,
+       0,     0,   411,   412,   413,   414,   415,     0,     0,   416,
+     417,   418,   419,   420,     0,   421,   422,     0,   423,   424,
+     425,     0,     0,   426,     0,   427,     0,   428,   429,     0,
+     430,   431,     0,   432,     0,   433,     0,     0,  1017,   435,
+     436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
+       0,   446,   447,     0,     0,     0,   448,   449,  1018,   451,
+       0,     0,     0,   452,     0,     0,     0,   453,     0,   454,
+     455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
+     464,   465,     0,     0,     0,     0,     0,     0,   466,   467,
+       0,   468,     0,     0,   469,     0,     0,     0,   470,   471,
+     472,     0,     0,     0,   473,     0,     0,   474,   475,     0,
+     476,   477,   478,   479,   480,   481,     0,     0,   482,   483,
+     484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
+     491,     0,     0,   492,   493,     0,   494,   495,   496,   497,
+       0,     0,     0,     0,     0,  1019,   499,   500,     0,     0,
+       0,   501,   502,   503,   504,     0,   505,   506,     0,   507,
+     508,     0,   509,   510,     0,     0,   511,     0,     0,   512,
+       0,   513,     0,   514,   515,     0,     0,     0,     0,     0,
+       0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
+     520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
+       0,   525,   526,     0,   527,   528,   529,     0,     0,   530,
+       0,     0,     0,     0,     0,   160,     0,   161,   162,   163,
      164,   165,   166,     0,     0,   167,     0,     0,     0,   168,
-       0,     0,   169,  4583,   170,   171,   172,   173,   174,   175,
+       0,     0,   169,  1020,   170,   171,   172,   173,   174,   175,
      176,   177,   178,     0,   179,     0,     0,     0,   180,     0,
        0,     0,   181,     0,     0,   182,   183,   184,     0,   185,
        0,   186,   187,     0,     0,   188,     0,     0,   189,   190,
@@ -8238,7 +7801,7 @@ static const yytype_int16 yytable[] =
      198,   199,   200,     0,   201,   202,   203,   204,   205,   206,
      207,     0,   208,   209,   210,   211,   212,   213,   214,   215,
        0,   216,   217,     0,   218,   219,   220,   221,   222,     0,
-     223,     0,     0,   224,     0,     0,   225,     0,   226,  1124,
+     223,     0,     0,   224,     0,     0,   225,     0,   226,     0,
        0,   227,     0,   228,     0,     0,     0,   229,   230,   231,
        0,     0,   232,     0,     0,     0,     0,   233,   234,     0,
        0,     0,     0,   235,     0,   236,     0,     0,     0,     0,
@@ -8292,8 +7855,73 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,   516,     0,     0,   517,     0,     0,
        0,   518,   519,   520,   521,   522,   523,   524,     0,     0,
        0,     0,     0,     0,   525,   526,     0,   527,   528,   529,
-       0,   160,   530,   161,   162,   163,   164,   165,   166,     0,
-       0,   167,     0,     0,     0,   168,     0,  1284,   169,     0,
+       0,     0,   530,     0,     0,     0,     0,     0,   160,     0,
+     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
+       0,     0,   168,     0,     0,   169,  1542,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
+       0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
+     184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
+       0,   189,   190,     0,   191,   192,     0,   193,   194,     0,
+     195,   196,   197,   198,   199,   200,     0,   201,   202,   203,
+     204,   205,   206,   207,     0,   208,   209,   210,   211,   212,
+     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
+     221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
+       0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
+     229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
+     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
+       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
+       0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
+       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
+     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
+     260,   261,     0,     0,   262,   263,   264,   265,     0,     0,
+     266,   267,     0,   268,   269,   270,     0,     0,   271,     0,
+       0,     0,   272,   273,     0,   274,     0,   275,     0,   276,
+     277,   278,   279,   280,   281,   282,     0,   283,     0,     0,
+     284,   285,   286,     0,   287,     0,     0,     0,   288,   289,
+       0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
+       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
+       0,   299,   300,     0,     0,     0,   301,     0,   302,   303,
+       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
+     308,   309,     0,     0,   310,     0,     0,   311,   312,   666,
+       0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
+       0,   317,   318,     0,     0,     0,     0,     0,     0,   319,
+     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
+       0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
+       0,     0,     0,   346,   347,   348,   349,   350,   351,     0,
+       0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
+     358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
+     366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
+     371,   372,     0,     0,     0,   373,     0,   374,   375,   376,
+       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
+       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
+       0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
+     393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
+       0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
+     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
+     413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
+       0,   421,   422,     0,   423,   424,   425,     0,     0,   426,
+       0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
+       0,   433,     0,     0,   434,   435,   436,   437,   438,   439,
+     440,   441,   442,   443,   444,   445,     0,   446,   447,     0,
+       0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
+       0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
+     459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
+       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
+     469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
+     473,     0,     0,   474,   475,     0,   476,   477,   478,   479,
+     480,   481,     0,     0,   482,   483,   484,   485,     0,   486,
+     487,     0,     0,   488,   489,   490,   491,     0,   156,   492,
+     493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
+       0,   498,   499,   500,     0,     0,     0,   501,   502,   503,
+     504,     0,   505,   506,     0,   507,   508,     0,   509,   510,
+       0,     0,   511,     0,     0,   512,     0,   513,     0,   514,
+     515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
+     517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
+     524,     0,     0,     0,     0,     0,     0,   525,   526,     0,
+     527,   528,   529,     0,     0,   530,     0,     0,     0,     0,
+       0,   160,     0,   161,   162,   163,   164,   165,   166,     0,
+       0,   167,     0,     0,     0,   168,     0,     0,   169,  1894,
      170,   171,   172,   173,   174,   175,   176,   177,   178,     0,
      179,     0,     0,     0,   180,     0,     0,     0,   181,     0,
        0,   182,   183,   184,     0,   185,     0,   186,   187,     0,
@@ -8319,7 +7947,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,   299,   300,     0,     0,     0,   301,
        0,   302,   303,     0,   304,   305,     0,     0,     0,   306,
        0,     0,   307,   308,   309,     0,     0,   310,     0,     0,
-     311,   312,     0,     0,     0,     0,     0,   313,   314,     0,
+     311,   312,   666,     0,     0,     0,     0,   313,   314,     0,
      315,     0,   316,     0,   317,   318,     0,     0,     0,     0,
        0,     0,   319,   320,   321,   322,   323,   324,   325,   326,
      327,   328,   329,   330,   331,   332,   333,   334,     0,   335,
@@ -8348,23 +7976,88 @@ static const yytype_int16 yytable[] =
        0,     0,     0,   473,     0,     0,   474,   475,     0,   476,
      477,   478,   479,   480,   481,     0,     0,   482,   483,   484,
      485,     0,   486,   487,     0,     0,   488,   489,   490,   491,
-       0,     0,   492,   493,     0,   494,   495,   496,   497,     0,
+       0,   156,   492,   493,     0,   494,   495,   496,   497,     0,
        0,     0,     0,     0,   498,   499,   500,     0,     0,     0,
      501,   502,   503,   504,     0,   505,   506,     0,   507,   508,
        0,   509,   510,     0,     0,   511,     0,     0,   512,     0,
      513,     0,   514,   515,     0,     0,     0,     0,     0,     0,
      516,     0,     0,   517,     0,     0,     0,   518,   519,   520,
      521,   522,   523,   524,     0,     0,     0,     0,     0,     0,
-     525,   526,     0,   527,   528,   529,     0,   160,   530,   161,
-     162,   163,   164,   165,   166,     0,     0,   167,  2350,     0,
-       0,   168,     0,     0,   169,     0,   170,   171,   172,   173,
+     525,   526,     0,   527,   528,   529,     0,     0,   530,     0,
+       0,     0,     0,     0,   160,     0,   161,   162,   163,   164,
+     165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
+       0,   169,  2621,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
+       0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
+     186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
+     191,  1010,  1011,   193,   194,     0,   195,   196,   197,   198,
+     199,   200,     0,   201,   202,   203,   204,   205,   206,   207,
+       0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
+     216,   217,     0,   218,   219,   220,   221,   222,     0,   223,
+       0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
+     227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
+       0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
+       0,  1012,   235,     0,   236,     0,     0,     0,     0,   237,
+       0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
+     243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
+       0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
+       0,   255,   256,   257,   258,   259,   260,   261,     0,     0,
+     262,   263,   264,   265,     0,     0,   266,   267,     0,   268,
+     269,   270,     0,     0,   271,     0,     0,     0,   272,   273,
+       0,   274,     0,   275,     0,   276,   277,   278,   279,   280,
+     281,  1013,     0,   283,     0,     0,   284,   285,   286,     0,
+     287,     0,     0,     0,   288,   289,     0,     0,     0,   290,
+     291,   292,   293,   294,     0,     0,     0,   295,   296,   297,
+       0,     0,   298,     0,     0,     0,     0,   299,   300,     0,
+       0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
+       0,     0,   306,     0,     0,   307,   308,   309,     0,     0,
+     310,     0,     0,   311,   312,     0,     0,     0,     0,     0,
+     313,   314,     0,  1014,     0,   316,     0,   317,   318,     0,
+       0,     0,     0,     0,     0,   319,   320,   321,   322,   323,
+     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
+     334,     0,   335,   336,   337,   338,     0,   339,   340,   341,
+     342,     0,   343,   344,   345,     0,     0,     0,     0,   346,
+     347,   348,   349,   350,   351,     0,     0,   352,   353,     0,
+     354,     0,   355,     0,   356,   357,   358,   359,   360,   361,
+     362,  1015,   364,   365,     0,     0,   366,     0,     0,   367,
+     368,   369,   370,     0,     0,     0,   371,   372,     0,     0,
+       0,   373,     0,   374,   375,   376,     0,   377,   378,   379,
+     380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
+       0,     0,   383,   384,   385,     0,     0,   386,     0,   387,
+       0,   388,   389,  1016,   391,   392,   393,   394,   395,   396,
+     397,     0,     0,   398,   399,   400,     0,   401,     0,   402,
+     403,   404,   405,   406,     0,   407,   408,   409,     0,     0,
+     410,     0,     0,     0,   411,   412,   413,   414,   415,     0,
+       0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
+     423,   424,   425,     0,     0,   426,     0,   427,     0,   428,
+     429,     0,   430,   431,     0,   432,     0,   433,     0,     0,
+    1017,   435,   436,   437,   438,   439,   440,   441,   442,   443,
+     444,   445,     0,   446,   447,     0,     0,     0,   448,   449,
+    1018,   451,     0,     0,     0,   452,     0,     0,     0,   453,
+       0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
+     462,   463,   464,   465,     0,     0,     0,     0,     0,     0,
+     466,   467,     0,   468,     0,     0,   469,     0,     0,     0,
+     470,   471,   472,     0,     0,     0,   473,     0,     0,   474,
+     475,     0,   476,   477,   478,   479,   480,   481,     0,     0,
+     482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
+     489,   490,   491,     0,     0,   492,   493,     0,   494,   495,
+     496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
+       0,     0,     0,   501,   502,   503,   504,     0,   505,   506,
+       0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
+       0,   512,     0,   513,     0,   514,   515,     0,     0,     0,
+       0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
+     518,   519,   520,   521,   522,   523,   524,     0,     0,     0,
+       0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
+       0,   530,     0,     0,     0,     0,     0,   160,     0,   161,
+     162,   163,   164,   165,   166,     0,     0,   167,     0,     0,
+       0,   168,     0,     0,   169,  1020,   170,   171,   172,   173,
      174,   175,   176,   177,   178,     0,   179,     0,     0,     0,
      180,     0,     0,     0,   181,     0,     0,   182,   183,   184,
        0,   185,     0,   186,   187,     0,     0,   188,     0,     0,
      189,   190,     0,   191,   192,     0,   193,   194,     0,   195,
      196,   197,   198,   199,   200,     0,   201,   202,   203,   204,
      205,   206,   207,     0,   208,   209,   210,   211,   212,   213,
-     214,   215,     0,   216,   217,     0,   218,   219,   220,   221,
+     214,   215,  1382,   216,   217,     0,   218,   219,   220,   221,
      222,     0,   223,     0,     0,   224,     0,     0,   225,     0,
      226,     0,     0,   227,     0,   228,     0,     0,     0,   229,
      230,   231,     0,     0,   232,     0,     0,     0,     0,   233,
@@ -8419,96 +8112,352 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,   516,     0,     0,   517,
        0,     0,     0,   518,   519,   520,   521,   522,   523,   524,
        0,     0,     0,     0,     0,     0,   525,   526,     0,   527,
-     528,   529,     0,   160,   530,   161,   162,   163,   164,   165,
-     166,     0,     0,   167,  3124,     0,     0,   168,     0,     0,
-     169,     0,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,     0,   179,     0,     0,     0,   180,     0,     0,     0,
-     181,     0,     0,   182,   183,   184,     0,   185,     0,   186,
-     187,     0,     0,   188,     0,     0,   189,   190,     0,   191,
-     192,     0,   193,   194,     0,   195,   196,   197,   198,   199,
-     200,     0,   201,   202,   203,   204,   205,   206,   207,     0,
-     208,   209,   210,   211,   212,   213,   214,   215,     0,   216,
-     217,     0,   218,   219,   220,   221,   222,     0,   223,     0,
+     528,   529,     0,     0,   530,     0,     0,     0,     0,     0,
+     160,     0,   161,   162,   163,   164,   165,   166,     0,     0,
+     167,     0,     0,     0,   168,     0,     0,   169,  1383,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
+       0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
+     182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
+     188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
+     194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
+     202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
+     211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
+     219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
+       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
+       0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
+       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
+     236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
+     241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
+     245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
+     250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
+     258,   259,   260,   261,     0,     0,   262,   263,   264,   265,
+       0,     0,   266,   267,     0,   268,   269,   270,     0,     0,
+     271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
+       0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
+       0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
+     288,   289,     0,     0,     0,   290,   291,   292,   293,   294,
+       0,     0,     0,   295,   296,   297,     0,     0,   298,     0,
+       0,     0,     0,   299,   300,     0,     0,     0,   301,     0,
+     302,   303,     0,   304,   305,     0,     0,     0,   306,     0,
+       0,   307,   308,   309,     0,     0,   310,     0,     0,   311,
+     312,     0,     0,     0,     0,     0,   313,   314,     0,   315,
+       0,   316,     0,   317,   318,     0,     0,     0,     0,     0,
+       0,   319,   320,   321,   322,   323,   324,   325,   326,   327,
+     328,   329,   330,   331,   332,   333,   334,     0,   335,   336,
+     337,   338,     0,   339,   340,   341,   342,     0,   343,   344,
+     345,     0,     0,     0,     0,   346,   347,   348,   349,   350,
+     351,     0,     0,   352,   353,     0,   354,     0,   355,     0,
+     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
+       0,     0,   366,     0,     0,   367,   368,   369,   370,     0,
+       0,     0,   371,   372,     0,     0,     0,   373,     0,   374,
+     375,   376,     0,   377,   378,   379,   380,     0,   381,   382,
+       0,     0,     0,     0,     0,     0,     0,     0,   383,   384,
+     385,     0,     0,   386,     0,   387,     0,   388,   389,   390,
+     391,   392,   393,   394,   395,   396,   397,     0,     0,   398,
+     399,   400,     0,   401,     0,   402,   403,   404,   405,   406,
+       0,   407,   408,   409,     0,     0,   410,     0,     0,     0,
+     411,   412,   413,   414,   415,     0,     0,   416,   417,   418,
+     419,   420,     0,   421,   422,     0,   423,   424,   425,     0,
+       0,   426,     0,   427,     0,   428,   429,     0,   430,   431,
+       0,   432,     0,   433,     0,     0,   434,   435,   436,   437,
+     438,   439,   440,   441,   442,   443,   444,   445,     0,   446,
+     447,     0,     0,     0,   448,   449,   450,   451,     0,     0,
+       0,   452,     0,     0,     0,   453,     0,   454,   455,   456,
+     457,   458,   459,     0,   460,   461,   462,   463,   464,   465,
+       0,     0,     0,     0,     0,     0,   466,   467,     0,   468,
+       0,     0,   469,     0,     0,     0,   470,   471,   472,     0,
+       0,     0,   473,     0,     0,   474,   475,     0,   476,   477,
+     478,   479,   480,   481,     0,     0,   482,   483,   484,   485,
+       0,   486,   487,     0,     0,   488,   489,   490,   491,     0,
+       0,   492,   493,     0,   494,   495,   496,   497,     0,     0,
+       0,     0,     0,   498,   499,   500,     0,     0,     0,   501,
+     502,   503,   504,     0,   505,   506,     0,   507,   508,     0,
+     509,   510,     0,     0,   511,     0,     0,   512,     0,   513,
+       0,   514,   515,     0,     0,     0,     0,     0,     0,   516,
+       0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
+     522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
+     526,     0,   527,   528,   529,     0,     0,   530,     0,     0,
+       0,     0,     0,   160,     0,   161,   162,   163,   164,   165,
+     166,     0,     0,   167,     0,     0,     0,   168,     0,     0,
+       0,  1383,   170,   171,   172,   173,   174,   175,   176,   177,
+       0,     0,   925,     0,     0,     0,   180,     0,     0,     0,
+     181,     0,     0,   182,   183,   184,     0,   185,     0,     0,
+       0,     0,     0,   188,     7,     0,   189,   190,     0,   191,
+       0,     0,     0,     0,     0,   195,   196,   197,   926,   199,
+     200,     0,   201,   202,     0,     0,     0,     0,     0,     0,
+     208,     0,   210,     0,   212,   213,   214,   215,     0,   216,
+     217,     0,   218,   219,   220,     0,   222,     0,   223,     0,
        0,   224,     0,     0,   225,     0,   226,     0,     0,   227,
        0,   228,     0,     0,     0,   229,   230,   231,     0,     0,
-     232,     0,     0,     0,     0,   233,   234,     0,     0,     0,
+     232,     0,     0,     0,     0,   233,     0,     0,     0,     0,
        0,   235,     0,   236,     0,     0,     0,     0,   237,     0,
-     238,   239,   240,   241,   242,     0,     0,     0,     0,   243,
+     238,   239,   240,   241,   242,     0,     0,     0,     0,     0,
        0,     0,   244,   245,   246,     0,     0,     0,   247,     0,
-     248,   249,     0,   250,   251,   252,     0,   253,   254,     0,
-     255,   256,   257,   258,   259,   260,   261,     0,     0,   262,
-     263,   264,   265,     0,     0,   266,   267,     0,   268,   269,
-     270,     0,     0,   271,     0,     0,     0,   272,   273,     0,
-     274,     0,   275,     0,   276,   277,   278,   279,   280,   281,
-     282,     0,   283,     0,     0,   284,   285,   286,     0,   287,
-       0,     0,     0,   288,   289,     0,     0,     0,   290,   291,
-     292,   293,   294,     0,     0,     0,   295,   296,   297,     0,
-       0,   298,     0,     0,     0,     0,   299,   300,     0,     0,
-       0,   301,     0,   302,   303,     0,   304,   305,     0,     0,
-       0,   306,     0,     0,   307,   308,   309,     0,     0,   310,
-       0,     0,   311,   312,     0,     0,     0,     0,     0,   313,
+       0,   249,     0,   250,   251,   252,     0,   253,   254,     0,
+     255,   256,   257,   258,   259,     0,     0,     0,     0,   262,
+     263,   264,   265,     0,     0,   266,   267,   927,   268,   269,
+     270,     0,     0,     0,     0,     0,     0,     0,   273,     0,
+     274,     0,   275,     0,   276,   277,   278,   279,   280,     0,
+     282,     0,   283,     0,     0,     0,   285,   286,     0,     0,
+       0,     0,     0,     0,   289,     0,     0,     0,   290,   291,
+     292,   293,   294,    26,     0,     0,   295,   296,   297,     0,
+       0,   298,     0,     0,     0,     0,   299,     0,     0,     0,
+       0,   301,     0,   302,   303,     0,   304,   305,   928,     0,
+       0,   306,     0,     0,     0,   308,   309,     0,     0,   310,
+     929,     0,   311,   312,     0,     0,     0,     0,     0,   313,
      314,     0,   315,     0,   316,     0,   317,   318,     0,     0,
-       0,     0,     0,     0,   319,   320,   321,   322,   323,   324,
+       0,     0,    32,     0,   319,   320,   321,   322,   323,   324,
      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
        0,   343,   344,   345,     0,     0,     0,     0,   346,   347,
      348,   349,   350,   351,     0,     0,   352,   353,     0,   354,
        0,   355,     0,   356,   357,   358,   359,   360,   361,   362,
      363,   364,   365,     0,     0,   366,     0,     0,   367,   368,
-     369,   370,     0,     0,     0,   371,   372,     0,     0,     0,
-     373,     0,   374,   375,   376,     0,   377,   378,   379,   380,
-       0,   381,   382,     0,     0,     0,     0,     0,     0,     0,
-       0,   383,   384,   385,     0,     0,   386,     0,   387,     0,
-     388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
-       0,     0,   398,   399,   400,     0,   401,     0,   402,   403,
+     369,   370,     0,     0,     0,     0,   372,     0,     0,     0,
+     373,     0,   374,   375,   376,     0,   377,   378,   379,   930,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   384,   385,     0,     0,     0,     0,   387,     0,
+     388,   389,   390,   391,   392,   393,   394,   395,   396,     0,
+       0,     0,     0,   399,   400,     0,   401,     0,   402,   403,
      404,   405,   406,     0,   407,   408,   409,     0,     0,   410,
        0,     0,     0,   411,   412,   413,   414,   415,     0,     0,
-     416,   417,   418,   419,   420,     0,   421,   422,     0,   423,
-     424,   425,     0,     0,   426,     0,   427,     0,   428,   429,
-       0,   430,   431,     0,   432,     0,   433,     0,     0,   434,
-     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
-     445,     0,   446,   447,     0,     0,     0,   448,   449,   450,
-     451,     0,     0,     0,   452,     0,     0,     0,   453,     0,
-     454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
-     463,   464,   465,     0,     0,     0,     0,     0,     0,   466,
+     416,   417,   418,   419,   420,     0,   421,     0,     0,   423,
+       0,   425,    41,     0,   426,     0,     0,     0,   428,     0,
+       0,   430,   431,     0,   432,   931,   433,     0,     0,   434,
+       0,   436,   437,   438,   439,   440,   441,   442,     0,   444,
+     445,     0,   446,     0,     0,     0,     0,   448,   449,   450,
+       0,     0,     0,     0,   452,     0,     0,     0,     0,     0,
+       0,   455,     0,     0,   458,   459,     0,   460,     0,   462,
+       0,   464,   465,     0,     0,     0,     0,     0,     0,   466,
      467,     0,   468,     0,     0,   469,     0,     0,     0,   470,
-     471,   472,     0,     0,     0,   473,     0,     0,   474,   475,
+       0,   472,     0,     0,     0,   473,     0,     0,     0,   475,
        0,   476,   477,   478,   479,   480,   481,     0,     0,   482,
      483,   484,   485,     0,   486,   487,     0,     0,   488,   489,
      490,   491,     0,     0,   492,   493,     0,   494,   495,   496,
      497,     0,     0,     0,     0,     0,   498,   499,   500,     0,
-       0,     0,   501,   502,   503,   504,     0,   505,   506,     0,
-     507,   508,     0,   509,   510,     0,     0,   511,     0,     0,
-     512,     0,   513,     0,   514,   515,     0,     0,     0,     0,
+       0,     0,     0,   502,   503,   504,     0,   505,   506,     0,
+     507,   508,     0,     0,     0,     0,     0,   511,     0,     0,
+     512,     0,     0,     0,   514,   515,     0,     0,     0,     0,
        0,     0,   516,     0,     0,   517,     0,     0,     0,   518,
-     519,   520,   521,   522,   523,   524,     0,     0,     0,     0,
-       0,     0,   525,   526,     0,   527,   528,   529,     0,   160,
-     530,   161,   162,   163,   164,   165,   166,     0,     0,   167,
-    3486,     0,     0,   168,     0,     0,   169,     0,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,     0,   179,     0,
-       0,     0,   180,     0,     0,     0,   181,     0,     0,   182,
-     183,   184,     0,   185,     0,   186,   187,     0,     0,   188,
-       0,     0,   189,   190,     0,   191,   192,     0,   193,   194,
-       0,   195,   196,   197,   198,   199,   200,     0,   201,   202,
-     203,   204,   205,   206,   207,     0,   208,   209,   210,   211,
-     212,   213,   214,   215,     0,   216,   217,     0,   218,   219,
-     220,   221,   222,     0,   223,     0,     0,   224,     0,     0,
-     225,     0,   226,     0,     0,   227,     0,   228,     0,     0,
-       0,   229,   230,   231,     0,     0,   232,     0,     0,     0,
-       0,   233,   234,     0,     0,     0,     0,   235,     0,   236,
-       0,     0,     0,     0,   237,     0,   238,   239,   240,   241,
-     242,     0,     0,     0,     0,   243,     0,     0,   244,   245,
-     246,     0,     0,     0,   247,     0,   248,   249,     0,   250,
-     251,   252,     0,   253,   254,     0,   255,   256,   257,   258,
-     259,   260,   261,     0,     0,   262,   263,   264,   265,     0,
-       0,   266,   267,     0,   268,   269,   270,     0,     0,   271,
-       0,     0,     0,   272,   273,     0,   274,     0,   275,     0,
-     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
-       0,   284,   285,   286,     0,   287,     0,     0,     0,   288,
-     289,     0,     0,     0,   290,   291,   292,   293,   294,     0,
-       0,     0,   295,   296,   297,     0,     0,   298,     0,     0,
-       0,     0,   299,   300,     0,     0,     0,   301,     0,   302,
-     303,     0,   304,   305,     0,     0,     0,   306,     0,     0,
+     519,   520,   521,   522,   523,   524,     0,     0,    60,     0,
+       0,     0,   525,     0,     0,   527,     0,   529,     0,     0,
+     530,   160,     0,   161,   162,   163,   164,   165,   166,     0,
+       0,   167,     0,     0,     0,   168,     0,     0,   169,  4583,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,     0,
+     179,     0,     0,     0,   180,     0,     0,     0,   181,     0,
+       0,   182,   183,   184,     0,   185,     0,   186,   187,     0,
+       0,   188,     0,     0,   189,   190,     0,   191,   192,     0,
+     193,   194,     0,   195,   196,   197,   198,   199,   200,     0,
+     201,   202,   203,   204,   205,   206,   207,     0,   208,   209,
+     210,   211,   212,   213,   214,   215,     0,   216,   217,     0,
+     218,   219,   220,   221,   222,     0,   223,     0,     0,   224,
+       0,     0,   225,     0,   226,  1124,     0,   227,     0,   228,
+       0,     0,     0,   229,   230,   231,     0,     0,   232,     0,
+       0,     0,     0,   233,   234,     0,     0,     0,     0,   235,
+       0,   236,     0,     0,     0,     0,   237,     0,   238,   239,
+     240,   241,   242,     0,     0,     0,     0,   243,     0,     0,
+     244,   245,   246,     0,     0,     0,   247,     0,   248,   249,
+       0,   250,   251,   252,     0,   253,   254,     0,   255,   256,
+     257,   258,   259,   260,   261,     0,     0,   262,   263,   264,
+     265,     0,     0,   266,   267,     0,   268,   269,   270,     0,
+       0,   271,     0,     0,     0,   272,   273,     0,   274,     0,
+     275,     0,   276,   277,   278,   279,   280,   281,   282,     0,
+     283,     0,     0,   284,   285,   286,     0,   287,     0,     0,
+       0,   288,   289,     0,     0,     0,   290,   291,   292,   293,
+     294,     0,     0,     0,   295,   296,   297,     0,     0,   298,
+       0,     0,     0,     0,   299,   300,     0,     0,     0,   301,
+       0,   302,   303,     0,   304,   305,     0,     0,     0,   306,
+       0,     0,   307,   308,   309,     0,     0,   310,     0,     0,
+     311,   312,   666,     0,     0,     0,     0,   313,   314,     0,
+     315,     0,   316,     0,   317,   318,     0,     0,     0,     0,
+       0,     0,   319,   320,   321,   322,   323,   324,   325,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,     0,   335,
+     336,   337,   338,     0,   339,   340,   341,   342,     0,   343,
+     344,   345,     0,     0,     0,     0,   346,   347,   348,   349,
+     350,   351,     0,     0,   352,   353,     0,   354,     0,   355,
+       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
+     365,     0,     0,   366,     0,     0,   367,   368,   369,   370,
+       0,     0,     0,   371,   372,     0,     0,     0,   373,     0,
+     374,   375,   376,     0,   377,   378,   379,   380,     0,   381,
+     382,     0,     0,     0,     0,     0,     0,     0,     0,   383,
+     384,   385,     0,     0,   386,     0,   387,     0,   388,   389,
+     390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
+     398,   399,   400,     0,   401,     0,   402,   403,   404,   405,
+     406,     0,   407,   408,   409,     0,     0,   410,     0,     0,
+       0,   411,   412,   413,   414,   415,     0,     0,   416,   417,
+     418,   419,   420,     0,   421,   422,     0,   423,   424,   425,
+       0,     0,   426,     0,   427,     0,   428,   429,     0,   430,
+     431,     0,   432,     0,   433,     0,     0,   434,   435,   436,
+     437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
+     446,   447,     0,     0,     0,   448,   449,   450,   451,     0,
+       0,     0,   452,     0,     0,     0,   453,     0,   454,   455,
+     456,   457,   458,   459,     0,   460,   461,   462,   463,   464,
+     465,     0,     0,     0,     0,     0,     0,   466,   467,     0,
+     468,     0,     0,   469,     0,     0,     0,   470,   471,   472,
+       0,     0,     0,   473,     0,     0,   474,   475,     0,   476,
+     477,   478,   479,   480,   481,     0,     0,   482,   483,   484,
+     485,     0,   486,   487,     0,     0,   488,   489,   490,   491,
+       0,   156,   492,   493,     0,   494,   495,   496,   497,     0,
+       0,     0,     0,     0,   498,   499,   500,     0,     0,     0,
+     501,   502,   503,   504,     0,   505,   506,     0,   507,   508,
+       0,   509,   510,     0,     0,   511,     0,     0,   512,     0,
+     513,     0,   514,   515,     0,     0,     0,     0,     0,     0,
+     516,     0,     0,   517,     0,     0,     0,   518,   519,   520,
+     521,   522,   523,   524,     0,     0,     0,     0,     0,     0,
+     525,   526,     0,   527,   528,   529,     0,   160,   530,   161,
+     162,   163,   164,   165,   166,     0,     0,   167,     0,     0,
+       0,   168,     0,     0,   169,  1284,   170,   171,   172,   173,
+     174,   175,   176,   177,   178,     0,   179,     0,     0,     0,
+     180,     0,     0,     0,   181,     0,     0,   182,   183,   184,
+       0,   185,     0,   186,   187,     0,     0,   188,     0,     0,
+     189,   190,     0,   191,   192,     0,   193,   194,     0,   195,
+     196,   197,   198,   199,   200,     0,   201,   202,   203,   204,
+     205,   206,   207,     0,   208,   209,   210,   211,   212,   213,
+     214,   215,     0,   216,   217,     0,   218,   219,   220,   221,
+     222,     0,   223,     0,     0,   224,     0,     0,   225,     0,
+     226,     0,     0,   227,     0,   228,     0,     0,     0,   229,
+     230,   231,     0,     0,   232,     0,     0,     0,     0,   233,
+     234,     0,     0,     0,     0,   235,     0,   236,     0,     0,
+       0,     0,   237,     0,   238,   239,   240,   241,   242,     0,
+       0,     0,     0,   243,     0,     0,   244,   245,   246,     0,
+       0,     0,   247,     0,   248,   249,     0,   250,   251,   252,
+       0,   253,   254,     0,   255,   256,   257,   258,   259,   260,
+     261,     0,     0,   262,   263,   264,   265,     0,     0,   266,
+     267,     0,   268,   269,   270,     0,     0,   271,     0,     0,
+       0,   272,   273,     0,   274,     0,   275,     0,   276,   277,
+     278,   279,   280,   281,   282,     0,   283,     0,     0,   284,
+     285,   286,     0,   287,     0,     0,     0,   288,   289,     0,
+       0,     0,   290,   291,   292,   293,   294,     0,     0,     0,
+     295,   296,   297,     0,     0,   298,     0,     0,     0,     0,
+     299,   300,     0,     0,     0,   301,     0,   302,   303,     0,
+     304,   305,     0,     0,     0,   306,     0,     0,   307,   308,
+     309,     0,     0,   310,     0,     0,   311,   312,     0,     0,
+       0,     0,     0,   313,   314,     0,   315,     0,   316,     0,
+     317,   318,     0,     0,     0,     0,     0,     0,   319,   320,
+     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
+     331,   332,   333,   334,     0,   335,   336,   337,   338,     0,
+     339,   340,   341,   342,     0,   343,   344,   345,     0,     0,
+       0,     0,   346,   347,   348,   349,   350,   351,     0,     0,
+     352,   353,     0,   354,     0,   355,     0,   356,   357,   358,
+     359,   360,   361,   362,   363,   364,   365,     0,     0,   366,
+       0,     0,   367,   368,   369,   370,     0,     0,     0,   371,
+     372,     0,     0,     0,   373,     0,   374,   375,   376,     0,
+     377,   378,   379,   380,     0,   381,   382,     0,     0,     0,
+       0,     0,     0,     0,     0,   383,   384,   385,     0,     0,
+     386,     0,   387,     0,   388,   389,   390,   391,   392,   393,
+     394,   395,   396,   397,     0,     0,   398,   399,   400,     0,
+     401,     0,   402,   403,   404,   405,   406,     0,   407,   408,
+     409,     0,     0,   410,     0,     0,     0,   411,   412,   413,
+     414,   415,     0,     0,   416,   417,   418,   419,   420,     0,
+     421,   422,     0,   423,   424,   425,     0,     0,   426,     0,
+     427,     0,   428,   429,     0,   430,   431,     0,   432,     0,
+     433,     0,     0,   434,   435,   436,   437,   438,   439,   440,
+     441,   442,   443,   444,   445,     0,   446,   447,     0,     0,
+       0,   448,   449,   450,   451,     0,     0,     0,   452,     0,
+       0,     0,   453,     0,   454,   455,   456,   457,   458,   459,
+       0,   460,   461,   462,   463,   464,   465,     0,     0,     0,
+       0,     0,     0,   466,   467,     0,   468,     0,     0,   469,
+       0,     0,     0,   470,   471,   472,     0,     0,     0,   473,
+       0,     0,   474,   475,     0,   476,   477,   478,   479,   480,
+     481,     0,     0,   482,   483,   484,   485,     0,   486,   487,
+       0,     0,   488,   489,   490,   491,     0,     0,   492,   493,
+       0,   494,   495,   496,   497,     0,     0,     0,     0,     0,
+     498,   499,   500,     0,     0,     0,   501,   502,   503,   504,
+       0,   505,   506,     0,   507,   508,     0,   509,   510,     0,
+       0,   511,     0,     0,   512,     0,   513,     0,   514,   515,
+       0,     0,     0,     0,     0,     0,   516,     0,     0,   517,
+       0,     0,     0,   518,   519,   520,   521,   522,   523,   524,
+       0,     0,     0,     0,     0,     0,   525,   526,     0,   527,
+     528,   529,     0,   160,   530,   161,   162,   163,   164,   165,
+     166,     0,     0,   167,     0,     0,  2350,   168,     0,     0,
+     169,     0,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,     0,   179,     0,     0,     0,   180,     0,     0,     0,
+     181,     0,     0,   182,   183,   184,     0,   185,     0,   186,
+     187,     0,     0,   188,     0,     0,   189,   190,     0,   191,
+     192,     0,   193,   194,     0,   195,   196,   197,   198,   199,
+     200,     0,   201,   202,   203,   204,   205,   206,   207,     0,
+     208,   209,   210,   211,   212,   213,   214,   215,     0,   216,
+     217,     0,   218,   219,   220,   221,   222,     0,   223,     0,
+       0,   224,     0,     0,   225,     0,   226,     0,     0,   227,
+       0,   228,     0,     0,     0,   229,   230,   231,     0,     0,
+     232,     0,     0,     0,     0,   233,   234,     0,     0,     0,
+       0,   235,     0,   236,     0,     0,     0,     0,   237,     0,
+     238,   239,   240,   241,   242,     0,     0,     0,     0,   243,
+       0,     0,   244,   245,   246,     0,     0,     0,   247,     0,
+     248,   249,     0,   250,   251,   252,     0,   253,   254,     0,
+     255,   256,   257,   258,   259,   260,   261,     0,     0,   262,
+     263,   264,   265,     0,     0,   266,   267,     0,   268,   269,
+     270,     0,     0,   271,     0,     0,     0,   272,   273,     0,
+     274,     0,   275,     0,   276,   277,   278,   279,   280,   281,
+     282,     0,   283,     0,     0,   284,   285,   286,     0,   287,
+       0,     0,     0,   288,   289,     0,     0,     0,   290,   291,
+     292,   293,   294,     0,     0,     0,   295,   296,   297,     0,
+       0,   298,     0,     0,     0,     0,   299,   300,     0,     0,
+       0,   301,     0,   302,   303,     0,   304,   305,     0,     0,
+       0,   306,     0,     0,   307,   308,   309,     0,     0,   310,
+       0,     0,   311,   312,     0,     0,     0,     0,     0,   313,
+     314,     0,   315,     0,   316,     0,   317,   318,     0,     0,
+       0,     0,     0,     0,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+       0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
+       0,   343,   344,   345,     0,     0,     0,     0,   346,   347,
+     348,   349,   350,   351,     0,     0,   352,   353,     0,   354,
+       0,   355,     0,   356,   357,   358,   359,   360,   361,   362,
+     363,   364,   365,     0,     0,   366,     0,     0,   367,   368,
+     369,   370,     0,     0,     0,   371,   372,     0,     0,     0,
+     373,     0,   374,   375,   376,     0,   377,   378,   379,   380,
+       0,   381,   382,     0,     0,     0,     0,     0,     0,     0,
+       0,   383,   384,   385,     0,     0,   386,     0,   387,     0,
+     388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
+       0,     0,   398,   399,   400,     0,   401,     0,   402,   403,
+     404,   405,   406,     0,   407,   408,   409,     0,     0,   410,
+       0,     0,     0,   411,   412,   413,   414,   415,     0,     0,
+     416,   417,   418,   419,   420,     0,   421,   422,     0,   423,
+     424,   425,     0,     0,   426,     0,   427,     0,   428,   429,
+       0,   430,   431,     0,   432,     0,   433,     0,     0,   434,
+     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
+     445,     0,   446,   447,     0,     0,     0,   448,   449,   450,
+     451,     0,     0,     0,   452,     0,     0,     0,   453,     0,
+     454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
+     463,   464,   465,     0,     0,     0,     0,     0,     0,   466,
+     467,     0,   468,     0,     0,   469,     0,     0,     0,   470,
+     471,   472,     0,     0,     0,   473,     0,     0,   474,   475,
+       0,   476,   477,   478,   479,   480,   481,     0,     0,   482,
+     483,   484,   485,     0,   486,   487,     0,     0,   488,   489,
+     490,   491,     0,     0,   492,   493,     0,   494,   495,   496,
+     497,     0,     0,     0,     0,     0,   498,   499,   500,     0,
+       0,     0,   501,   502,   503,   504,     0,   505,   506,     0,
+     507,   508,     0,   509,   510,     0,     0,   511,     0,     0,
+     512,     0,   513,     0,   514,   515,     0,     0,     0,     0,
+       0,     0,   516,     0,     0,   517,     0,     0,     0,   518,
+     519,   520,   521,   522,   523,   524,     0,     0,     0,     0,
+       0,     0,   525,   526,     0,   527,   528,   529,     0,   160,
+     530,   161,   162,   163,   164,   165,   166,     0,     0,   167,
+       0,     0,  3124,   168,     0,     0,   169,     0,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,     0,   179,     0,
+       0,     0,   180,     0,     0,     0,   181,     0,     0,   182,
+     183,   184,     0,   185,     0,   186,   187,     0,     0,   188,
+       0,     0,   189,   190,     0,   191,   192,     0,   193,   194,
+       0,   195,   196,   197,   198,   199,   200,     0,   201,   202,
+     203,   204,   205,   206,   207,     0,   208,   209,   210,   211,
+     212,   213,   214,   215,     0,   216,   217,     0,   218,   219,
+     220,   221,   222,     0,   223,     0,     0,   224,     0,     0,
+     225,     0,   226,     0,     0,   227,     0,   228,     0,     0,
+       0,   229,   230,   231,     0,     0,   232,     0,     0,     0,
+       0,   233,   234,     0,     0,     0,     0,   235,     0,   236,
+       0,     0,     0,     0,   237,     0,   238,   239,   240,   241,
+     242,     0,     0,     0,     0,   243,     0,     0,   244,   245,
+     246,     0,     0,     0,   247,     0,   248,   249,     0,   250,
+     251,   252,     0,   253,   254,     0,   255,   256,   257,   258,
+     259,   260,   261,     0,     0,   262,   263,   264,   265,     0,
+       0,   266,   267,     0,   268,   269,   270,     0,     0,   271,
+       0,     0,     0,   272,   273,     0,   274,     0,   275,     0,
+     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
+       0,   284,   285,   286,     0,   287,     0,     0,     0,   288,
+     289,     0,     0,     0,   290,   291,   292,   293,   294,     0,
+       0,     0,   295,   296,   297,     0,     0,   298,     0,     0,
+       0,     0,   299,   300,     0,     0,     0,   301,     0,   302,
+     303,     0,   304,   305,     0,     0,     0,   306,     0,     0,
      307,   308,   309,     0,     0,   310,     0,     0,   311,   312,
        0,     0,     0,     0,     0,   313,   314,     0,   315,     0,
      316,     0,   317,   318,     0,     0,     0,     0,     0,     0,
@@ -8547,9 +8496,9 @@ static const yytype_int16 yytable[] =
        0,   517,     0,     0,     0,   518,   519,   520,   521,   522,
      523,   524,     0,     0,     0,     0,     0,     0,   525,   526,
        0,   527,   528,   529,     0,   160,   530,   161,   162,   163,
-     164,   165,   166,     0,     0,   167,  3892,     0,     0,   168,
+     164,   165,   166,     0,     0,   167,     0,     0,  3486,   168,
        0,     0,   169,     0,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,     0,   179,     0,     0,  1529,   180,     0,
+     176,   177,   178,     0,   179,     0,     0,     0,   180,     0,
        0,     0,   181,     0,     0,   182,   183,   184,     0,   185,
        0,   186,   187,     0,     0,   188,     0,     0,   189,   190,
        0,   191,   192,     0,   193,   194,     0,   195,   196,   197,
@@ -8559,7 +8508,7 @@ static const yytype_int16 yytable[] =
      223,     0,     0,   224,     0,     0,   225,     0,   226,     0,
        0,   227,     0,   228,     0,     0,     0,   229,   230,   231,
        0,     0,   232,     0,     0,     0,     0,   233,   234,     0,
-       0,     0,  1530,   235,     0,   236,     0,     0,     0,     0,
+       0,     0,     0,   235,     0,   236,     0,     0,     0,     0,
      237,     0,   238,   239,   240,   241,   242,     0,     0,     0,
        0,   243,     0,     0,   244,   245,   246,     0,     0,     0,
      247,     0,   248,   249,     0,   250,   251,   252,     0,   253,
@@ -8573,7 +8522,7 @@ static const yytype_int16 yytable[] =
      297,     0,     0,   298,     0,     0,     0,     0,   299,   300,
        0,     0,     0,   301,     0,   302,   303,     0,   304,   305,
        0,     0,     0,   306,     0,     0,   307,   308,   309,     0,
-       0,   310,     0,     0,   311,   312,   666,     0,     0,     0,
+       0,   310,     0,     0,   311,   312,     0,     0,     0,     0,
        0,   313,   314,     0,   315,     0,   316,     0,   317,   318,
        0,     0,     0,     0,     0,     0,   319,   320,   321,   322,
      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
@@ -8595,14 +8544,14 @@ static const yytype_int16 yytable[] =
      428,   429,     0,   430,   431,     0,   432,     0,   433,     0,
        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
      443,   444,   445,     0,   446,   447,     0,     0,     0,   448,
-     449,   450,   451,     0,     0,  1531,   452,     0,     0,     0,
+     449,   450,   451,     0,     0,     0,   452,     0,     0,     0,
      453,     0,   454,   455,   456,   457,   458,   459,     0,   460,
      461,   462,   463,   464,   465,     0,     0,     0,     0,     0,
        0,   466,   467,     0,   468,     0,     0,   469,     0,     0,
        0,   470,   471,   472,     0,     0,     0,   473,     0,     0,
      474,   475,     0,   476,   477,   478,   479,   480,   481,     0,
        0,   482,   483,   484,   485,     0,   486,   487,     0,     0,
-     488,   489,   490,   491,     0,   156,   492,   493,     0,   494,
+     488,   489,   490,   491,     0,     0,   492,   493,     0,   494,
      495,   496,   497,     0,     0,     0,     0,     0,   498,   499,
      500,     0,     0,     0,   501,   502,   503,   504,     0,   505,
      506,     0,   507,   508,     0,   509,   510,     0,     0,   511,
@@ -8610,8 +8559,199 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,   516,     0,     0,   517,     0,     0,
        0,   518,   519,   520,   521,   522,   523,   524,     0,     0,
        0,     0,     0,     0,   525,   526,     0,   527,   528,   529,
-       0,     0,   530,     0,   160,  1532,   161,   162,   163,   164,
-     165,   166,   873,   874,   167,     0,     0,     0,   168,     0,
+       0,   160,   530,   161,   162,   163,   164,   165,   166,     0,
+       0,   167,     0,     0,  3892,   168,     0,     0,   169,     0,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,     0,
+     179,     0,     0,  1529,   180,     0,     0,     0,   181,     0,
+       0,   182,   183,   184,     0,   185,     0,   186,   187,     0,
+       0,   188,     0,     0,   189,   190,     0,   191,   192,     0,
+     193,   194,     0,   195,   196,   197,   198,   199,   200,     0,
+     201,   202,   203,   204,   205,   206,   207,     0,   208,   209,
+     210,   211,   212,   213,   214,   215,     0,   216,   217,     0,
+     218,   219,   220,   221,   222,     0,   223,     0,     0,   224,
+       0,     0,   225,     0,   226,     0,     0,   227,     0,   228,
+       0,     0,     0,   229,   230,   231,     0,     0,   232,     0,
+       0,     0,     0,   233,   234,     0,     0,     0,  1530,   235,
+       0,   236,     0,     0,     0,     0,   237,     0,   238,   239,
+     240,   241,   242,     0,     0,     0,     0,   243,     0,     0,
+     244,   245,   246,     0,     0,     0,   247,     0,   248,   249,
+       0,   250,   251,   252,     0,   253,   254,     0,   255,   256,
+     257,   258,   259,   260,   261,     0,     0,   262,   263,   264,
+     265,     0,     0,   266,   267,     0,   268,   269,   270,     0,
+       0,   271,     0,     0,     0,   272,   273,     0,   274,     0,
+     275,     0,   276,   277,   278,   279,   280,   281,   282,     0,
+     283,     0,     0,   284,   285,   286,     0,   287,     0,     0,
+       0,   288,   289,     0,     0,     0,   290,   291,   292,   293,
+     294,     0,     0,     0,   295,   296,   297,     0,     0,   298,
+       0,     0,     0,     0,   299,   300,     0,     0,     0,   301,
+       0,   302,   303,     0,   304,   305,     0,     0,     0,   306,
+       0,     0,   307,   308,   309,     0,     0,   310,     0,     0,
+     311,   312,   666,     0,     0,     0,     0,   313,   314,     0,
+     315,     0,   316,     0,   317,   318,     0,     0,     0,     0,
+       0,     0,   319,   320,   321,   322,   323,   324,   325,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,     0,   335,
+     336,   337,   338,     0,   339,   340,   341,   342,     0,   343,
+     344,   345,     0,     0,     0,     0,   346,   347,   348,   349,
+     350,   351,     0,     0,   352,   353,     0,   354,     0,   355,
+       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
+     365,     0,     0,   366,     0,     0,   367,   368,   369,   370,
+       0,     0,     0,   371,   372,     0,     0,     0,   373,     0,
+     374,   375,   376,     0,   377,   378,   379,   380,     0,   381,
+     382,     0,     0,     0,     0,     0,     0,     0,     0,   383,
+     384,   385,     0,     0,   386,     0,   387,     0,   388,   389,
+     390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
+     398,   399,   400,     0,   401,     0,   402,   403,   404,   405,
+     406,     0,   407,   408,   409,     0,     0,   410,     0,     0,
+       0,   411,   412,   413,   414,   415,     0,     0,   416,   417,
+     418,   419,   420,     0,   421,   422,     0,   423,   424,   425,
+       0,     0,   426,     0,   427,     0,   428,   429,     0,   430,
+     431,     0,   432,     0,   433,     0,     0,   434,   435,   436,
+     437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
+     446,   447,     0,     0,     0,   448,   449,   450,   451,     0,
+       0,  1531,   452,     0,     0,     0,   453,     0,   454,   455,
+     456,   457,   458,   459,     0,   460,   461,   462,   463,   464,
+     465,     0,     0,     0,     0,     0,     0,   466,   467,     0,
+     468,     0,     0,   469,     0,     0,     0,   470,   471,   472,
+       0,     0,     0,   473,     0,     0,   474,   475,     0,   476,
+     477,   478,   479,   480,   481,     0,     0,   482,   483,   484,
+     485,     0,   486,   487,     0,     0,   488,   489,   490,   491,
+       0,   156,   492,   493,     0,   494,   495,   496,   497,     0,
+       0,     0,     0,     0,   498,   499,   500,     0,     0,     0,
+     501,   502,   503,   504,     0,   505,   506,     0,   507,   508,
+       0,   509,   510,     0,     0,   511,     0,     0,   512,     0,
+     513,     0,   514,   515,     0,     0,     0,     0,     0,     0,
+     516,     0,     0,   517,     0,     0,     0,   518,   519,   520,
+     521,   522,   523,   524,     0,     0,     0,     0,     0,     0,
+     525,   526,     0,   527,   528,   529,     0,     0,   530,     0,
+       0,     0,   160,  1532,   161,   162,   163,   164,   165,   166,
+     873,   874,   167,     0,     0,     0,   168,     0,     0,   169,
+       0,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+       0,   179,     0,     0,     0,   180,     0,     0,     0,   181,
+       0,     0,   182,   183,   184,     0,   185,     0,   186,   187,
+       0,     0,   188,     0,     0,   189,   190,     0,   191,   192,
+       0,   193,   194,     0,   195,   196,   197,   198,   199,   200,
+       0,   201,   202,   203,   204,   205,   206,   207,     0,   208,
+     209,   210,   211,   212,   213,   214,   215,     0,   216,   217,
+       0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
+     224,   875,     0,   225,     0,   226,     0,   876,   227,     0,
+     228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
+       0,     0,     0,     0,   233,   234,     0,     0,     0,     0,
+     235,     0,   236,   877,     0,     0,     0,   237,     0,   238,
+     239,   240,   241,   242,     0,     0,     0,     0,   243,   878,
+       0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
+     249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
+     256,   879,   258,   259,   260,   880,     0,     0,   262,   263,
+     264,   265,     0,     0,   266,   267,     0,   881,   269,   270,
+       0,     0,   271,     0,     0,     0,   272,   273,     0,   274,
+       0,   275,     0,   276,   277,   278,   279,   280,   281,   282,
+     882,   283,     0,     0,   284,   285,   286,     0,   287,     0,
+       0,     0,   288,   289,     0,     0,     0,   290,   291,   292,
+     293,   294,     0,     0,     0,   295,   296,   297,   883,     0,
+     298,     0,     0,     0,   884,   299,   300,     0,     0,     0,
+     301,     0,   302,   303,     0,   304,   305,     0,     0,     0,
+     306,     0,     0,   307,   308,   309,     0,     0,   310,     0,
+       0,   311,   312,   666,     0,     0,     0,     0,   313,   314,
+       0,   315,     0,   316,   885,   317,   318,     0,     0,     0,
+       0,     0,     0,   319,   320,   321,   322,   323,   324,   325,
+     326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
+     335,   336,   337,   338,     0,   339,   340,   341,   342,     0,
+     343,   344,   345,     0,     0,     0,     0,   346,   347,   348,
+     349,   350,   351,     0,     0,   352,   353,     0,   354,     0,
+     355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
+     364,   365,     0,     0,   366,     0,     0,   367,   368,   369,
+     370,     0,     0,     0,   371,   372,     0,     0,     0,   373,
+       0,   374,   375,   376,     0,   377,   378,   379,   380,     0,
+     381,   382,     0,     0,     0,     0,     0,     0,     0,     0,
+     383,   384,   385,     0,     0,   386,     0,   387,     0,   388,
+     389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
+       0,   398,   399,   400,     0,   401,     0,   886,   403,   404,
+     405,   887,     0,   407,   408,   409,     0,     0,   410,     0,
+       0,     0,   411,   412,   413,   414,   415,   888,     0,   416,
+     417,   418,   419,   420,     0,   889,   422,     0,   423,   424,
+     425,     0,     0,   890,     0,   427,     0,   428,   429,     0,
+     430,   431,     0,   432,     0,   433,     0,     0,   434,   435,
+     436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
+       0,   446,   447,   891,     0,     0,   448,   449,   450,   451,
+       0,     0,     0,   452,     0,     0,   892,   893,     0,   454,
+     455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
+     464,   465,     0,     0,     0,     0,     0,     0,   466,   467,
+       0,   468,     0,     0,   469,     0,     0,     0,   470,   471,
+     472,     0,     0,     0,   473,     0,     0,   474,   475,     0,
+     476,   477,   478,   479,   480,   481,     0,     0,   894,   483,
+     484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
+     491,     0,   156,   492,   493,     0,   494,   495,   496,   497,
+       0,     0,     0,     0,     0,   498,   499,   500,   895,     0,
+       0,   501,   502,   503,   504,     0,   505,   506,     0,   507,
+     508,     0,   509,   510,     0,     0,   511,     0,     0,   512,
+     896,   513,   897,   514,   515,     0,     0,     0,     0,     0,
+       0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
+     520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
+       0,   525,   526,     0,   527,   528,   529,     0,   160,   530,
+     979,   162,   163,   164,   165,   166,   980,   874,   167,     0,
+       0,     0,   168,     0,     0,   169,     0,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
+       0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
+     184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
+       0,   189,   190,     0,   191,   192,     0,   193,   194,     0,
+     195,   196,   197,   198,   199,   200,     0,   201,   202,   203,
+     204,   205,   206,   207,     0,   208,   209,   210,   211,   212,
+     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
+     221,   222,     0,   223,     0,     0,   224,   875,     0,   225,
+       0,   226,     0,   876,   227,     0,   228,     0,     0,     0,
+     229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
+     233,   234,     0,     0,     0,     0,   235,     0,   236,   877,
+       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
+       0,     0,     0,     0,   243,   878,     0,   244,   245,   246,
+       0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
+     252,     0,   253,   254,     0,   255,   256,   879,   258,   259,
+     260,   880,     0,     0,   262,   263,   264,   265,     0,     0,
+     266,   267,     0,   881,   269,   270,     0,     0,   271,     0,
+       0,     0,   272,   273,     0,   274,     0,   275,     0,   276,
+     277,   278,   279,   280,   281,   282,   882,   283,     0,     0,
+     284,   285,   286,     0,   287,     0,     0,     0,   288,   289,
+       0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
+       0,   295,   296,   297,   883,     0,   298,     0,     0,     0,
+     884,   299,   300,     0,     0,     0,   301,     0,   302,   303,
+       0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
+     308,   309,     0,     0,   310,     0,     0,   311,   312,   666,
+       0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
+     885,   317,   318,     0,     0,     0,     0,     0,     0,   319,
+     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
+       0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
+       0,     0,     0,   346,   347,   348,   349,   350,   351,     0,
+       0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
+     358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
+     366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
+     371,   372,     0,     0,     0,   373,     0,   374,   375,   376,
+       0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
+       0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
+       0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
+     393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
+       0,   401,     0,   886,   403,   404,   405,   981,     0,   407,
+     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
+     413,   414,   415,   888,     0,   416,   417,   418,   419,   420,
+       0,   889,   422,     0,   423,   424,   425,     0,     0,   890,
+       0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
+       0,   433,     0,     0,   434,   435,   436,   437,   438,   439,
+     440,   441,   442,   443,   444,   445,     0,   446,   447,   891,
+       0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
+       0,     0,   892,   893,     0,   454,   455,   456,   457,   458,
+     459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
+       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
+     469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
+     473,     0,     0,   474,   475,     0,   476,   477,   478,   479,
+     480,   481,     0,     0,   894,   483,   484,   485,     0,   486,
+     487,     0,     0,   488,   489,   490,   491,     0,   156,   492,
+     493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
+       0,   498,   499,   500,   895,     0,     0,   501,   502,   503,
+     504,     0,   505,   506,     0,   507,   508,     0,   509,   510,
+       0,     0,   511,     0,     0,   512,   896,   513,   897,   514,
+     515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
+     517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
+     524,     0,     0,     0,     0,     0,     0,   525,   526,     0,
+     527,   528,   529,     0,   160,   530,   161,   162,   163,   164,
+     165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
        0,   169,     0,   170,   171,   172,   173,   174,   175,   176,
      177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
        0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
@@ -8620,61 +8760,61 @@ static const yytype_int16 yytable[] =
      199,   200,     0,   201,   202,   203,   204,   205,   206,   207,
        0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
      216,   217,     0,   218,   219,   220,   221,   222,     0,   223,
-       0,     0,   224,   875,     0,   225,     0,   226,     0,   876,
+       0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
      227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
-       0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
-       0,     0,   235,     0,   236,   877,     0,     0,     0,   237,
+       0,   232,     0,     0,     0,     0,   233,   234,  2599,     0,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
        0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
-     243,   878,     0,   244,   245,   246,     0,     0,     0,   247,
+     243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
        0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
-       0,   255,   256,   879,   258,   259,   260,   880,     0,     0,
-     262,   263,   264,   265,     0,     0,   266,   267,     0,   881,
-     269,   270,     0,     0,   271,     0,     0,     0,   272,   273,
+       0,   255,   256,   257,   258,   259,   260,   261,     0,     0,
+     262,   263,   264,   265,     0,     0,   266,   267,     0,   268,
+     269,   270,  2600,     0,   271,     0,     0,     0,   272,   273,
        0,   274,     0,   275,     0,   276,   277,   278,   279,   280,
-     281,   282,   882,   283,     0,     0,   284,   285,   286,     0,
-     287,     0,     0,     0,   288,   289,     0,     0,     0,   290,
+     281,   282,     0,   283,     0,     0,   284,   285,   286,     0,
+     287,  2601,     0,     0,   288,   289,     0,     0,     0,   290,
      291,   292,   293,   294,     0,     0,     0,   295,   296,   297,
-     883,     0,   298,     0,     0,     0,   884,   299,   300,     0,
+       0,     0,   298,     0,     0,     0,     0,   299,   300,     0,
        0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
        0,     0,   306,     0,     0,   307,   308,   309,     0,     0,
-     310,     0,     0,   311,   312,   666,     0,     0,     0,     0,
-     313,   314,     0,   315,     0,   316,   885,   317,   318,     0,
-       0,     0,     0,     0,     0,   319,   320,   321,   322,   323,
+     310,     0,     0,   311,   312,     0,     0,     0,     0,     0,
+     313,   314,     0,   315,     0,   316,     0,   317,   318,     0,
+       0,  2602,     0,     0,     0,   319,   320,   321,   322,   323,
      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
      334,     0,   335,   336,   337,   338,     0,   339,   340,   341,
      342,     0,   343,   344,   345,     0,     0,     0,     0,   346,
      347,   348,   349,   350,   351,     0,     0,   352,   353,     0,
      354,     0,   355,     0,   356,   357,   358,   359,   360,   361,
      362,   363,   364,   365,     0,     0,   366,     0,     0,   367,
-     368,   369,   370,     0,     0,     0,   371,   372,     0,     0,
-       0,   373,     0,   374,   375,   376,     0,   377,   378,   379,
+     368,   369,   370,   152,   153,     0,   371,   372,     0,     0,
+    2603,   373,     0,   374,   375,   376,     0,   377,   378,   379,
      380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
        0,     0,   383,   384,   385,     0,     0,   386,     0,   387,
        0,   388,   389,   390,   391,   392,   393,   394,   395,   396,
-     397,     0,     0,   398,   399,   400,     0,   401,     0,   886,
-     403,   404,   405,   887,     0,   407,   408,   409,     0,     0,
-     410,     0,     0,     0,   411,   412,   413,   414,   415,   888,
-       0,   416,   417,   418,   419,   420,     0,   889,   422,     0,
-     423,   424,   425,     0,     0,   890,     0,   427,     0,   428,
+     397,     0,     0,   398,   399,   400,     0,   401,     0,   402,
+     403,   404,   405,   406,     0,   407,   408,   409,     0,     0,
+     410,     0,     0,     0,   411,   412,   413,   414,   415,     0,
+       0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
+     423,   424,   425,     0,     0,   426,     0,   427,     0,   428,
      429,     0,   430,   431,     0,   432,     0,   433,     0,     0,
      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
-     444,   445,     0,   446,   447,   891,     0,     0,   448,   449,
-     450,   451,     0,     0,     0,   452,     0,     0,   892,   893,
+     444,   445,     0,   446,   447,     0,     0,     0,   448,   449,
+     450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
        0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
-     462,   463,   464,   465,     0,     0,     0,     0,     0,     0,
+     462,   463,   464,   465,     0,     0,  4435,   596,  4436,     0,
      466,   467,     0,   468,     0,     0,   469,     0,     0,     0,
      470,   471,   472,     0,     0,     0,   473,     0,     0,   474,
      475,     0,   476,   477,   478,   479,   480,   481,     0,     0,
-     894,   483,   484,   485,     0,   486,   487,     0,     0,   488,
-     489,   490,   491,     0,   156,   492,   493,     0,   494,   495,
+     482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
+     489,   490,   491,     0,     0,   492,   493,     0,   494,   495,
      496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
-     895,     0,     0,   501,   502,   503,   504,     0,   505,   506,
+       0,     0,     0,   501,   502,   503,   504,  2604,   505,   506,
        0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
-       0,   512,   896,   513,   897,   514,   515,     0,     0,     0,
+       0,   512,     0,   513,     0,   514,   515,     0,     0,     0,
        0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
      518,   519,   520,   521,   522,   523,   524,     0,     0,     0,
        0,     0,     0,   525,   526,     0,   527,   528,   529,     0,
-     160,   530,   979,   162,   163,   164,   165,   166,   980,   874,
+     160,   530,   161,   162,   163,   164,   165,   166,     0,     0,
      167,     0,     0,     0,   168,     0,     0,   169,     0,   170,
      171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
        0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
@@ -8683,26 +8823,26 @@ static const yytype_int16 yytable[] =
      194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
      202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
      211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
-     219,   220,   221,   222,     0,   223,     0,     0,   224,   875,
-       0,   225,     0,   226,     0,   876,   227,     0,   228,     0,
+     219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
+       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
        0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
-       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
-     236,   877,     0,     0,     0,   237,     0,   238,   239,   240,
-     241,   242,     0,     0,     0,     0,   243,   878,     0,   244,
+       0,     0,   233,   234,  1778,     0,     0,  3710,   235,     0,
+     236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
+     241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
      245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
-     250,   251,   252,     0,   253,   254,     0,   255,   256,   879,
-     258,   259,   260,   880,     0,     0,   262,   263,   264,   265,
-       0,     0,   266,   267,     0,   881,   269,   270,     0,     0,
+     250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
+     258,   259,   260,   261,     0,     0,   262,   263,   264,   265,
+       0,     0,   266,   267,     0,   268,   269,   270,  1779,     0,
      271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
-       0,   276,   277,   278,   279,   280,   281,   282,   882,   283,
-       0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
+       0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
+       0,     0,   284,   285,   286,     0,   287,  3194,     0,     0,
      288,   289,     0,     0,     0,   290,   291,   292,   293,   294,
-       0,     0,     0,   295,   296,   297,   883,     0,   298,     0,
-       0,     0,   884,   299,   300,     0,     0,     0,   301,     0,
+       0,     0,     0,   295,   296,   297,     0,     0,   298,     0,
+       0,     0,     0,   299,   300,     0,     0,     0,   301,     0,
      302,   303,     0,   304,   305,     0,     0,     0,   306,     0,
        0,   307,   308,   309,     0,     0,   310,     0,     0,   311,
-     312,   666,     0,     0,     0,     0,   313,   314,     0,   315,
-       0,   316,   885,   317,   318,     0,     0,     0,     0,     0,
+     312,     0,     0,     0,     0,     0,   313,   314,     0,   315,
+       0,   316,     0,   317,   318,     0,     0,  3195,     0,     0,
        0,   319,   320,   321,   322,   323,   324,   325,   326,   327,
      328,   329,   330,   331,   332,   333,   334,     0,   335,   336,
      337,   338,     0,   339,   340,   341,   342,     0,   343,   344,
@@ -8710,31 +8850,31 @@ static const yytype_int16 yytable[] =
      351,     0,     0,   352,   353,     0,   354,     0,   355,     0,
      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
        0,     0,   366,     0,     0,   367,   368,   369,   370,     0,
-       0,     0,   371,   372,     0,     0,     0,   373,     0,   374,
+       0,     0,   371,   372,     0,     0,  3196,   373,     0,   374,
      375,   376,     0,   377,   378,   379,   380,     0,   381,   382,
        0,     0,     0,     0,     0,     0,     0,     0,   383,   384,
      385,     0,     0,   386,     0,   387,     0,   388,   389,   390,
      391,   392,   393,   394,   395,   396,   397,     0,     0,   398,
-     399,   400,     0,   401,     0,   886,   403,   404,   405,   981,
+     399,   400,     0,   401,     0,   402,   403,   404,   405,   406,
        0,   407,   408,   409,     0,     0,   410,     0,     0,     0,
-     411,   412,   413,   414,   415,   888,     0,   416,   417,   418,
-     419,   420,     0,   889,   422,     0,   423,   424,   425,     0,
-       0,   890,     0,   427,     0,   428,   429,     0,   430,   431,
+     411,   412,   413,   414,   415,     0,     0,   416,   417,   418,
+     419,   420,     0,   421,   422,     0,   423,   424,   425,     0,
+       0,   426,     0,   427,     0,   428,   429,     0,   430,   431,
        0,   432,     0,   433,     0,     0,   434,   435,   436,   437,
      438,   439,   440,   441,   442,   443,   444,   445,     0,   446,
-     447,   891,     0,     0,   448,   449,   450,   451,     0,     0,
-       0,   452,     0,     0,   892,   893,     0,   454,   455,   456,
+     447,     0,     0,     0,   448,   449,   450,   451,     0,     0,
+       0,   452,     0,     0,     0,   453,     0,   454,   455,   456,
      457,   458,   459,     0,   460,   461,   462,   463,   464,   465,
        0,     0,     0,     0,     0,     0,   466,   467,     0,   468,
        0,     0,   469,     0,     0,     0,   470,   471,   472,     0,
        0,     0,   473,     0,     0,   474,   475,     0,   476,   477,
-     478,   479,   480,   481,     0,     0,   894,   483,   484,   485,
+     478,   479,   480,   481,     0,     0,   482,   483,   484,   485,
        0,   486,   487,     0,     0,   488,   489,   490,   491,     0,
      156,   492,   493,     0,   494,   495,   496,   497,     0,     0,
-       0,     0,     0,   498,   499,   500,   895,     0,     0,   501,
-     502,   503,   504,     0,   505,   506,     0,   507,   508,     0,
-     509,   510,     0,     0,   511,     0,     0,   512,   896,   513,
-     897,   514,   515,     0,     0,     0,     0,     0,     0,   516,
+       0,     0,     0,   498,   499,   500,     0,     0,     0,   501,
+     502,   503,   504,  3197,   505,   506,     0,   507,   508,     0,
+     509,   510,     0,     0,   511,     0,     0,   512,     0,   513,
+       0,   514,   515,     0,     0,     0,     0,     0,     0,   516,
        0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
      522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
      526,     0,   527,   528,   529,     0,   160,   530,   161,   162,
@@ -8750,31 +8890,31 @@ static const yytype_int16 yytable[] =
        0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
        0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
      231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
-    2599,     0,     0,     0,   235,     0,   236,     0,     0,     0,
+    1778,     0,     0,  4674,   235,     0,   236,     0,     0,     0,
        0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
        0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
        0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
      253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
        0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
-       0,   268,   269,   270,  2600,     0,   271,     0,     0,     0,
+       0,   268,   269,   270,  1779,     0,   271,     0,     0,     0,
      272,   273,     0,   274,     0,   275,     0,   276,   277,   278,
      279,   280,   281,   282,     0,   283,     0,     0,   284,   285,
-     286,     0,   287,  2601,     0,     0,   288,   289,     0,     0,
+     286,     0,   287,  3194,     0,     0,   288,   289,     0,     0,
        0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
      296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
      300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
      305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
        0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
        0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,  2602,     0,     0,     0,   319,   320,   321,
+     318,     0,     0,  3195,     0,     0,     0,   319,   320,   321,
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
      340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
        0,   346,   347,   348,   349,   350,   351,     0,     0,   352,
      353,     0,   354,     0,   355,     0,   356,   357,   358,   359,
      360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
-       0,   367,   368,   369,   370,   152,   153,     0,   371,   372,
-       0,     0,  2603,   373,     0,   374,   375,   376,     0,   377,
+       0,   367,   368,   369,   370,     0,     0,     0,   371,   372,
+       0,     0,  3196,   373,     0,   374,   375,   376,     0,   377,
      378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
        0,     0,     0,     0,   383,   384,   385,     0,     0,   386,
        0,   387,     0,   388,   389,   390,   391,   392,   393,   394,
@@ -8788,14 +8928,14 @@ static const yytype_int16 yytable[] =
      442,   443,   444,   445,     0,   446,   447,     0,     0,     0,
      448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
        0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
-     460,   461,   462,   463,   464,   465,     0,     0,  4435,   596,
-    4436,     0,   466,   467,     0,   468,     0,     0,   469,     0,
+     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
+       0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
        0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
        0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
        0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
+       0,   488,   489,   490,   491,     0,   156,   492,   493,     0,
      494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,     0,     0,   501,   502,   503,   504,  2604,
+     499,   500,     0,     0,     0,   501,   502,   503,   504,  3197,
      505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
      511,     0,     0,   512,     0,   513,     0,   514,   515,     0,
        0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
@@ -8813,7 +8953,7 @@ static const yytype_int16 yytable[] =
        0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
      224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
      228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
-       0,     0,     0,     0,   233,   234,  1778,     0,     0,  3710,
+       0,     0,     0,     0,   233,   234,  1778,     0,     0,  4743,
      235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
      239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
        0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
@@ -8875,25 +9015,25 @@ static const yytype_int16 yytable[] =
      204,   205,   206,   207,     0,   208,   209,   210,   211,   212,
      213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
      221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
-       0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
+       0,   226,  1124,   876,   227,     0,   228,     0,     0,     0,
      229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
-     233,   234,  1778,     0,     0,  4674,   235,     0,   236,     0,
+     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
        0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
        0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
        0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
      252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
      260,   261,     0,     0,   262,   263,   264,   265,     0,     0,
-     266,   267,     0,   268,   269,   270,  1779,     0,   271,     0,
+     266,   267,     0,   268,   269,   270,     0,     0,   271,     0,
        0,     0,   272,   273,     0,   274,     0,   275,     0,   276,
      277,   278,   279,   280,   281,   282,     0,   283,     0,     0,
-     284,   285,   286,     0,   287,  3194,     0,     0,   288,   289,
+     284,   285,   286,     0,   287,     0,     0,     0,   288,   289,
        0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
        0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
        0,   299,   300,     0,     0,     0,   301,     0,   302,   303,
        0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
-     308,   309,     0,     0,   310,     0,     0,   311,   312,     0,
+     308,   309,     0,     0,   310,     0,     0,   311,   312,   666,
        0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
-       0,   317,   318,     0,     0,  3195,     0,     0,     0,   319,
+       0,   317,   318,     0,     0,     0,     0,     0,     0,   319,
      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
      330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
        0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
@@ -8901,7 +9041,7 @@ static const yytype_int16 yytable[] =
        0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
      358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
      366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
-     371,   372,     0,     0,  3196,   373,     0,   374,   375,   376,
+     371,   372,     0,     0,     0,   373,     0,   374,   375,   376,
        0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
        0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
        0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
@@ -8923,7 +9063,7 @@ static const yytype_int16 yytable[] =
      487,     0,     0,   488,   489,   490,   491,     0,   156,   492,
      493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
        0,   498,   499,   500,     0,     0,     0,   501,   502,   503,
-     504,  3197,   505,   506,     0,   507,   508,     0,   509,   510,
+     504,     0,   505,   506,     0,   507,   508,     0,   509,   510,
        0,     0,   511,     0,     0,   512,     0,   513,     0,   514,
      515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
      517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
@@ -8931,7 +9071,7 @@ static const yytype_int16 yytable[] =
      527,   528,   529,     0,   160,   530,   161,   162,   163,   164,
      165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
        0,   169,     0,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
+     177,   178,     0,   179,     0,     0,  1544,   180,     0,     0,
        0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
      186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
      191,   192,     0,   193,   194,     0,   195,   196,   197,   198,
@@ -8940,24 +9080,24 @@ static const yytype_int16 yytable[] =
      216,   217,     0,   218,   219,   220,   221,   222,     0,   223,
        0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
      227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
-       0,   232,     0,     0,     0,     0,   233,   234,  1778,     0,
-       0,  4743,   235,     0,   236,     0,     0,     0,     0,   237,
+       0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
+       0,  1545,   235,     0,   236,     0,     0,     0,     0,   237,
        0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
      243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
        0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
        0,   255,   256,   257,   258,   259,   260,   261,     0,     0,
      262,   263,   264,   265,     0,     0,   266,   267,     0,   268,
-     269,   270,  1779,     0,   271,     0,     0,     0,   272,   273,
+     269,   270,     0,     0,   271,     0,     0,     0,   272,   273,
        0,   274,     0,   275,     0,   276,   277,   278,   279,   280,
      281,   282,     0,   283,     0,     0,   284,   285,   286,     0,
-     287,  3194,     0,     0,   288,   289,     0,     0,     0,   290,
+     287,     0,     0,     0,   288,   289,     0,     0,     0,   290,
      291,   292,   293,   294,     0,     0,     0,   295,   296,   297,
        0,     0,   298,     0,     0,     0,     0,   299,   300,     0,
        0,     0,   301,     0,   302,   303,     0,   304,   305,     0,
        0,     0,   306,     0,     0,   307,   308,   309,     0,     0,
-     310,     0,     0,   311,   312,     0,     0,     0,     0,     0,
+     310,     0,     0,   311,   312,   666,     0,     0,     0,     0,
      313,   314,     0,   315,     0,   316,     0,   317,   318,     0,
-       0,  3195,     0,     0,     0,   319,   320,   321,   322,   323,
+       0,     0,     0,     0,     0,   319,   320,   321,   322,   323,
      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
      334,     0,   335,   336,   337,   338,     0,   339,   340,   341,
      342,     0,   343,   344,   345,     0,     0,     0,     0,   346,
@@ -8965,7 +9105,7 @@ static const yytype_int16 yytable[] =
      354,     0,   355,     0,   356,   357,   358,   359,   360,   361,
      362,   363,   364,   365,     0,     0,   366,     0,     0,   367,
      368,   369,   370,     0,     0,     0,   371,   372,     0,     0,
-    3196,   373,     0,   374,   375,   376,     0,   377,   378,   379,
+       0,   373,     0,   374,   375,   376,     0,   377,   378,   379,
      380,     0,   381,   382,     0,     0,     0,     0,     0,     0,
        0,     0,   383,   384,   385,     0,     0,   386,     0,   387,
        0,   388,   389,   390,   391,   392,   393,   394,   395,   396,
@@ -8986,7 +9126,7 @@ static const yytype_int16 yytable[] =
      482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
      489,   490,   491,     0,   156,   492,   493,     0,   494,   495,
      496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
-       0,     0,     0,   501,   502,   503,   504,  3197,   505,   506,
+       0,     0,     0,   501,   502,   503,   504,     0,   505,   506,
        0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
        0,   512,     0,   513,     0,   514,   515,     0,     0,     0,
        0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
@@ -8995,14 +9135,14 @@ static const yytype_int16 yytable[] =
      160,   530,   161,   162,   163,   164,   165,   166,     0,     0,
      167,     0,     0,     0,   168,     0,     0,   169,     0,   170,
      171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
-       0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
+       0,     0,     0,   180,  1086,     0,     0,   181,     0,     0,
      182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
      188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
      194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
      202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
      211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
      219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
-       0,   225,     0,   226,  1124,   876,   227,     0,   228,     0,
+       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
        0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
        0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
      236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
@@ -9013,13 +9153,13 @@ static const yytype_int16 yytable[] =
        0,     0,   266,   267,     0,   268,   269,   270,     0,     0,
      271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
        0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
-       0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
+       0,     0,   284,   285,   286,     0,   287,  1087,  1088,     0,
      288,   289,     0,     0,     0,   290,   291,   292,   293,   294,
        0,     0,     0,   295,   296,   297,     0,     0,   298,     0,
        0,     0,     0,   299,   300,     0,     0,     0,   301,     0,
      302,   303,     0,   304,   305,     0,     0,     0,   306,     0,
        0,   307,   308,   309,     0,     0,   310,     0,     0,   311,
-     312,   666,     0,     0,     0,     0,   313,   314,     0,   315,
+     312,     0,     0,     0,     0,     0,   313,   314,     0,   315,
        0,   316,     0,   317,   318,     0,     0,     0,     0,     0,
        0,   319,   320,   321,   322,   323,   324,   325,   326,   327,
      328,   329,   330,   331,   332,   333,   334,     0,   335,   336,
@@ -9048,7 +9188,7 @@ static const yytype_int16 yytable[] =
        0,     0,   473,     0,     0,   474,   475,     0,   476,   477,
      478,   479,   480,   481,     0,     0,   482,   483,   484,   485,
        0,   486,   487,     0,     0,   488,   489,   490,   491,     0,
-     156,   492,   493,     0,   494,   495,   496,   497,     0,     0,
+    1089,   492,   493,     0,   494,   495,   496,   497,     0,     0,
        0,     0,     0,   498,   499,   500,     0,     0,     0,   501,
      502,   503,   504,     0,   505,   506,     0,   507,   508,     0,
      509,   510,     0,     0,   511,     0,     0,   512,     0,   513,
@@ -9058,7 +9198,7 @@ static const yytype_int16 yytable[] =
      526,     0,   527,   528,   529,     0,   160,   530,   161,   162,
      163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
      168,     0,     0,   169,     0,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,     0,   179,     0,     0,  1544,   180,
+     175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
        0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
      185,     0,   186,   187,     0,     0,   188,     0,     0,   189,
      190,     0,   191,   192,     0,   193,   194,     0,   195,   196,
@@ -9068,7 +9208,7 @@ static const yytype_int16 yytable[] =
        0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
        0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
      231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
-       0,     0,     0,  1545,   235,     0,   236,     0,     0,     0,
+       0,     0,     0,     0,   235,     0,   236,     0,     0,     0,
        0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
        0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
        0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
@@ -9082,9 +9222,9 @@ static const yytype_int16 yytable[] =
      296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
      300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
      305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
-       0,     0,   310,     0,     0,   311,   312,   666,     0,     0,
+       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
        0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
+     318,     0,     0,  2085,     0,     0,     0,   319,   320,   321,
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
      340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
@@ -9092,9 +9232,9 @@ static const yytype_int16 yytable[] =
      353,     0,   354,     0,   355,     0,   356,   357,   358,   359,
      360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
        0,   367,   368,   369,   370,     0,     0,     0,   371,   372,
-       0,     0,     0,   373,     0,   374,   375,   376,     0,   377,
+       0,     0,  2086,   373,     0,   374,   375,   376,     0,   377,
      378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,   384,   385,     0,     0,   386,
+       0,     0,     0,     0,   383,   384,   385,     0,   785,   386,
        0,   387,     0,   388,   389,   390,   391,   392,   393,   394,
      395,   396,   397,     0,     0,   398,   399,   400,     0,   401,
        0,   402,   403,   404,   405,   406,     0,   407,   408,   409,
@@ -9102,7 +9242,7 @@ static const yytype_int16 yytable[] =
      415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
      422,     0,   423,   424,   425,     0,     0,   426,     0,   427,
        0,   428,   429,     0,   430,   431,     0,   432,     0,   433,
-       0,     0,   434,   435,   436,   437,   438,   439,   440,   441,
+       0,     0,   434,   435,   436,   437,  2087,   439,   440,   441,
      442,   443,   444,   445,     0,   446,   447,     0,     0,     0,
      448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
        0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
@@ -9111,9 +9251,9 @@ static const yytype_int16 yytable[] =
        0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
        0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
        0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,   156,   492,   493,     0,
+       0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
      494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,     0,     0,   501,   502,   503,   504,     0,
+     499,   500,     0,     0,     0,   501,   502,   503,   504,  2088,
      505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
      511,     0,     0,   512,     0,   513,     0,   514,   515,     0,
        0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
@@ -9122,7 +9262,7 @@ static const yytype_int16 yytable[] =
      529,     0,   160,   530,   161,   162,   163,   164,   165,   166,
        0,     0,   167,     0,     0,     0,   168,     0,     0,   169,
        0,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-       0,   179,     0,     0,     0,   180,  1086,     0,     0,   181,
+       0,   179,     0,     0,     0,   180,     0,     0,     0,   181,
        0,     0,   182,   183,   184,     0,   185,     0,   186,   187,
        0,     0,   188,     0,     0,   189,   190,     0,   191,   192,
        0,   193,   194,     0,   195,   196,   197,   198,   199,   200,
@@ -9140,14 +9280,14 @@ static const yytype_int16 yytable[] =
      264,   265,     0,     0,   266,   267,     0,   268,   269,   270,
        0,     0,   271,     0,     0,     0,   272,   273,     0,   274,
        0,   275,     0,   276,   277,   278,   279,   280,   281,   282,
-       0,   283,     0,     0,   284,   285,   286,     0,   287,  1087,
-    1088,     0,   288,   289,     0,     0,     0,   290,   291,   292,
+       0,   283,     0,     0,   284,   285,   286,     0,   287,     0,
+       0,     0,   288,   289,     0,     0,     0,   290,   291,   292,
      293,   294,     0,     0,     0,   295,   296,   297,     0,     0,
      298,     0,     0,     0,     0,   299,   300,     0,     0,     0,
      301,     0,   302,   303,     0,   304,   305,     0,     0,     0,
      306,     0,     0,   307,   308,   309,     0,     0,   310,     0,
        0,   311,   312,     0,     0,     0,     0,     0,   313,   314,
-       0,   315,     0,   316,     0,   317,   318,     0,     0,     0,
+       0,   315,     0,   316,     0,   317,   318,     0,     0,  2085,
        0,     0,     0,   319,   320,   321,   322,   323,   324,   325,
      326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
      335,   336,   337,   338,     0,   339,   340,   341,   342,     0,
@@ -9155,10 +9295,10 @@ static const yytype_int16 yytable[] =
      349,   350,   351,     0,     0,   352,   353,     0,   354,     0,
      355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
      364,   365,     0,     0,   366,     0,     0,   367,   368,   369,
-     370,     0,     0,     0,   371,   372,     0,     0,     0,   373,
+     370,     0,     0,     0,   371,   372,     0,     0,  2086,   373,
        0,   374,   375,   376,     0,   377,   378,   379,   380,     0,
      381,   382,     0,     0,     0,     0,     0,     0,     0,     0,
-     383,   384,   385,     0,     0,   386,     0,   387,     0,   388,
+     383,   384,   385,     0,   785,   386,     0,   387,     0,   388,
      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
        0,   398,   399,   400,     0,   401,     0,   402,   403,   404,
      405,   406,     0,   407,   408,   409,     0,     0,   410,     0,
@@ -9175,9 +9315,9 @@ static const yytype_int16 yytable[] =
      472,     0,     0,     0,   473,     0,     0,   474,   475,     0,
      476,   477,   478,   479,   480,   481,     0,     0,   482,   483,
      484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
-     491,     0,  1089,   492,   493,     0,   494,   495,   496,   497,
+     491,     0,     0,   492,   493,     0,   494,   495,   496,   497,
        0,     0,     0,     0,     0,   498,   499,   500,     0,     0,
-       0,   501,   502,   503,   504,     0,   505,   506,     0,   507,
+       0,   501,   502,   503,   504,  2088,   505,   506,     0,   507,
      508,     0,   509,   510,     0,     0,   511,     0,     0,   512,
        0,   513,     0,   514,   515,     0,     0,     0,     0,     0,
        0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
@@ -9186,7 +9326,7 @@ static const yytype_int16 yytable[] =
      161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
        0,     0,   168,     0,     0,   169,     0,   170,   171,   172,
      173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
-       0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
+    1529,   180,     0,     0,     0,   181,     0,     0,   182,   183,
      184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
        0,   189,   190,     0,   191,   192,     0,   193,   194,     0,
      195,   196,   197,   198,   199,   200,     0,   201,   202,   203,
@@ -9195,7 +9335,7 @@ static const yytype_int16 yytable[] =
      221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
        0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
      229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
-     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
+     233,   234,     0,     0,     0,  1530,   235,     0,   236,     0,
        0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
        0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
        0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
@@ -9209,9 +9349,9 @@ static const yytype_int16 yytable[] =
        0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
        0,   299,   300,     0,     0,     0,   301,     0,   302,   303,
        0,   304,   305,     0,     0,     0,   306,     0,     0,   307,
-     308,   309,     0,     0,   310,     0,     0,   311,   312,     0,
+     308,   309,     0,     0,   310,     0,     0,   311,   312,   666,
        0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
-       0,   317,   318,     0,     0,  2085,     0,     0,     0,   319,
+       0,   317,   318,     0,     0,     0,     0,     0,     0,   319,
      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
      330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
        0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
@@ -9219,17 +9359,17 @@ static const yytype_int16 yytable[] =
        0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
      358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
      366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
-     371,   372,     0,     0,  2086,   373,     0,   374,   375,   376,
+     371,   372,     0,     0,     0,   373,     0,   374,   375,   376,
        0,   377,   378,   379,   380,     0,   381,   382,     0,     0,
        0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
-     785,   386,     0,   387,     0,   388,   389,   390,   391,   392,
+       0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
      393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
        0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
      408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
      413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
        0,   421,   422,     0,   423,   424,   425,     0,     0,   426,
        0,   427,     0,   428,   429,     0,   430,   431,     0,   432,
-       0,   433,     0,     0,   434,   435,   436,   437,  2087,   439,
+       0,   433,     0,     0,   434,   435,   436,   437,   438,   439,
      440,   441,   442,   443,   444,   445,     0,   446,   447,     0,
        0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
        0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
@@ -9238,10 +9378,10 @@ static const yytype_int16 yytable[] =
      469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
      473,     0,     0,   474,   475,     0,   476,   477,   478,   479,
      480,   481,     0,     0,   482,   483,   484,   485,     0,   486,
-     487,     0,     0,   488,   489,   490,   491,     0,     0,   492,
+     487,     0,     0,   488,   489,   490,   491,     0,   156,   492,
      493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
        0,   498,   499,   500,     0,     0,     0,   501,   502,   503,
-     504,  2088,   505,   506,     0,   507,   508,     0,   509,   510,
+     504,     0,   505,   506,     0,   507,   508,     0,   509,   510,
        0,     0,   511,     0,     0,   512,     0,   513,     0,   514,
      515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
      517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
@@ -9293,7 +9433,7 @@ static const yytype_int16 yytable[] =
        0,   416,   417,   418,   419,   420,     0,   421,   422,     0,
      423,   424,   425,     0,     0,   426,     0,   427,     0,   428,
      429,     0,   430,   431,     0,   432,     0,   433,     0,     0,
-     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
+     434,   435,   436,   437,  4268,   439,   440,   441,   442,   443,
      444,   445,     0,   446,   447,     0,     0,     0,   448,   449,
      450,   451,     0,     0,     0,   452,     0,     0,     0,   453,
        0,   454,   455,   456,   457,   458,   459,     0,   460,   461,
@@ -9313,16 +9453,16 @@ static const yytype_int16 yytable[] =
      160,   530,   161,   162,   163,   164,   165,   166,     0,     0,
      167,     0,     0,     0,   168,     0,     0,   169,     0,   170,
      171,   172,   173,   174,   175,   176,   177,   178,     0,   179,
-       0,     0,  1529,   180,     0,     0,     0,   181,     0,     0,
+       0,     0,     0,   180,     0,     0,     0,   181,     0,     0,
      182,   183,   184,     0,   185,     0,   186,   187,     0,     0,
      188,     0,     0,   189,   190,     0,   191,   192,     0,   193,
      194,     0,   195,   196,   197,   198,   199,   200,     0,   201,
      202,   203,   204,   205,   206,   207,     0,   208,   209,   210,
      211,   212,   213,   214,   215,     0,   216,   217,     0,   218,
      219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
-       0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
+       0,   225,     0,   226,  1124,     0,   227,     0,   228,     0,
        0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
-       0,     0,   233,   234,     0,     0,     0,  1530,   235,     0,
+       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
      236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
      241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
      245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
@@ -9374,7 +9514,7 @@ static const yytype_int16 yytable[] =
        0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
      522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
      526,     0,   527,   528,   529,     0,   160,   530,   161,   162,
-     163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
+     163,   164,   165,   166,  1567,     0,   167,     0,     0,     0,
      168,     0,     0,   169,     0,   170,   171,   172,   173,   174,
      175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
        0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
@@ -9400,9 +9540,9 @@ static const yytype_int16 yytable[] =
      296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
      300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
      305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
-       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
+       0,     0,   310,     0,     0,   311,   312,   666,     0,     0,
        0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,  2085,     0,     0,     0,   319,   320,   321,
+     318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
      340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
@@ -9410,9 +9550,9 @@ static const yytype_int16 yytable[] =
      353,     0,   354,     0,   355,     0,   356,   357,   358,   359,
      360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
        0,   367,   368,   369,   370,     0,     0,     0,   371,   372,
-       0,     0,  2086,   373,     0,   374,   375,   376,     0,   377,
+       0,     0,     0,   373,     0,   374,   375,   376,     0,   377,
      378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,   384,   385,     0,   785,   386,
+       0,     0,     0,     0,   383,   384,   385,     0,     0,   386,
        0,   387,     0,   388,   389,   390,   391,   392,   393,   394,
      395,   396,   397,     0,     0,   398,   399,   400,     0,   401,
        0,   402,   403,   404,   405,   406,     0,   407,   408,   409,
@@ -9420,7 +9560,7 @@ static const yytype_int16 yytable[] =
      415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
      422,     0,   423,   424,   425,     0,     0,   426,     0,   427,
        0,   428,   429,     0,   430,   431,     0,   432,     0,   433,
-       0,     0,   434,   435,   436,   437,  4268,   439,   440,   441,
+       0,     0,   434,   435,   436,   437,   438,   439,   440,   441,
      442,   443,   444,   445,     0,   446,   447,     0,     0,     0,
      448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
        0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
@@ -9429,9 +9569,9 @@ static const yytype_int16 yytable[] =
        0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
        0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
        0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
+       0,   488,   489,   490,   491,     0,   156,   492,   493,     0,
      494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,     0,     0,   501,   502,   503,   504,  2088,
+     499,   500,     0,     0,     0,   501,   502,   503,   504,     0,
      505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
      511,     0,     0,   512,     0,   513,     0,   514,   515,     0,
        0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
@@ -9447,7 +9587,7 @@ static const yytype_int16 yytable[] =
        0,   201,   202,   203,   204,   205,   206,   207,     0,   208,
      209,   210,   211,   212,   213,   214,   215,     0,   216,   217,
        0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
-     224,     0,     0,   225,     0,   226,  1124,     0,   227,     0,
+     224,     0,     0,   225,     0,   226,     0,   876,   227,     0,
      228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
        0,     0,     0,     0,   233,   234,     0,     0,     0,     0,
      235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
@@ -9501,7 +9641,7 @@ static const yytype_int16 yytable[] =
        0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
      520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
        0,   525,   526,     0,   527,   528,   529,     0,   160,   530,
-     161,   162,   163,   164,   165,   166,  1567,     0,   167,     0,
+     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
        0,     0,   168,     0,     0,   169,     0,   170,   171,   172,
      173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
        0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
@@ -9513,7 +9653,7 @@ static const yytype_int16 yytable[] =
      221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
        0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
      229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
-     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
+     233,   234,     0,     0,     0,  2659,   235,     0,   236,     0,
        0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
        0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
        0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
@@ -9567,14 +9707,14 @@ static const yytype_int16 yytable[] =
      527,   528,   529,     0,   160,   530,   161,   162,   163,   164,
      165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
        0,   169,     0,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,     0,   179,     0,     0,     0,   180,     0,     0,
+     177,   178,     0,   179,     0,     0,  1529,   180,     0,     0,
        0,   181,     0,     0,   182,   183,   184,     0,   185,     0,
      186,   187,     0,     0,   188,     0,     0,   189,   190,     0,
      191,   192,     0,   193,   194,     0,   195,   196,   197,   198,
      199,   200,     0,   201,   202,   203,   204,   205,   206,   207,
        0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
      216,   217,     0,   218,   219,   220,   221,   222,     0,   223,
-       0,     0,   224,     0,     0,   225,     0,   226,     0,   876,
+       0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
      227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
        0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
        0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
@@ -9640,7 +9780,7 @@ static const yytype_int16 yytable[] =
      219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
        0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
        0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
-       0,     0,   233,   234,     0,     0,     0,  2659,   235,     0,
+       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
      236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
      241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
      245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
@@ -9693,8 +9833,8 @@ static const yytype_int16 yytable[] =
      522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
      526,     0,   527,   528,   529,     0,   160,   530,   161,   162,
      163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
-     168,     0,     0,   169,     0,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,     0,   179,     0,     0,  1529,   180,
+     168,  3120,     0,   169,     0,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
        0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
      185,     0,   186,   187,     0,     0,   188,     0,     0,   189,
      190,     0,   191,   192,     0,   193,   194,     0,   195,   196,
@@ -9718,7 +9858,7 @@ static const yytype_int16 yytable[] =
      296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
      300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
      305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
-       0,     0,   310,     0,     0,   311,   312,   666,     0,     0,
+       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
        0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
      318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
@@ -9764,7 +9904,7 @@ static const yytype_int16 yytable[] =
        0,   193,   194,     0,   195,   196,   197,   198,   199,   200,
        0,   201,   202,   203,   204,   205,   206,   207,     0,   208,
      209,   210,   211,   212,   213,   214,   215,     0,   216,   217,
-       0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
+       0,   218,   219,   220,   221,   222,  3304,   223,     0,     0,
      224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
      228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
        0,     0,     0,     0,   233,   234,     0,     0,     0,     0,
@@ -9772,7 +9912,7 @@ static const yytype_int16 yytable[] =
      239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
        0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
      249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
-     256,   257,   258,   259,   260,   261,     0,     0,   262,   263,
+     256,   257,   258,   259,   260,   261,     0,  3305,   262,   263,
      264,   265,     0,     0,   266,   267,     0,   268,   269,   270,
        0,     0,   271,     0,     0,     0,   272,   273,     0,   274,
        0,   275,     0,   276,   277,   278,   279,   280,   281,   282,
@@ -9782,7 +9922,7 @@ static const yytype_int16 yytable[] =
      298,     0,     0,     0,     0,   299,   300,     0,     0,     0,
      301,     0,   302,   303,     0,   304,   305,     0,     0,     0,
      306,     0,     0,   307,   308,   309,     0,     0,   310,     0,
-       0,   311,   312,   666,     0,     0,     0,     0,   313,   314,
+       0,   311,   312,     0,     0,     0,     0,     0,   313,   314,
        0,   315,     0,   316,     0,   317,   318,     0,     0,     0,
        0,     0,     0,   319,   320,   321,   322,   323,   324,   325,
      326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
@@ -9811,7 +9951,7 @@ static const yytype_int16 yytable[] =
      472,     0,     0,     0,   473,     0,     0,   474,   475,     0,
      476,   477,   478,   479,   480,   481,     0,     0,   482,   483,
      484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
-     491,     0,   156,   492,   493,     0,   494,   495,   496,   497,
+     491,     0,     0,   492,   493,     0,   494,   495,   496,   497,
        0,     0,     0,     0,     0,   498,   499,   500,     0,     0,
        0,   501,   502,   503,   504,     0,   505,   506,     0,   507,
      508,     0,   509,   510,     0,     0,   511,     0,     0,   512,
@@ -9820,7 +9960,7 @@ static const yytype_int16 yytable[] =
      520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
        0,   525,   526,     0,   527,   528,   529,     0,   160,   530,
      161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
-       0,     0,   168,  3120,     0,   169,     0,   170,   171,   172,
+       0,     0,   168,     0,     0,   169,     0,   170,   171,   172,
      173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
        0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
      184,     0,   185,     0,   186,   187,     0,     0,   188,     0,
@@ -9870,11 +10010,11 @@ static const yytype_int16 yytable[] =
        0,     0,   448,   449,   450,   451,     0,     0,     0,   452,
        0,     0,     0,   453,     0,   454,   455,   456,   457,   458,
      459,     0,   460,   461,   462,   463,   464,   465,     0,     0,
-       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
+       0,   596,     0,     0,   466,   467,     0,   468,     0,     0,
      469,     0,     0,     0,   470,   471,   472,     0,     0,     0,
      473,     0,     0,   474,   475,     0,   476,   477,   478,   479,
      480,   481,     0,     0,   482,   483,   484,   485,     0,   486,
-     487,     0,     0,   488,   489,   490,   491,     0,   156,   492,
+     487,     0,     0,   488,   489,   490,   491,     0,     0,   492,
      493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
        0,   498,   499,   500,     0,     0,     0,   501,   502,   503,
      504,     0,   505,   506,     0,   507,   508,     0,   509,   510,
@@ -9891,7 +10031,7 @@ static const yytype_int16 yytable[] =
      191,   192,     0,   193,   194,     0,   195,   196,   197,   198,
      199,   200,     0,   201,   202,   203,   204,   205,   206,   207,
        0,   208,   209,   210,   211,   212,   213,   214,   215,     0,
-     216,   217,     0,   218,   219,   220,   221,   222,  3304,   223,
+     216,   217,     0,   218,   219,   220,   221,   222,     0,   223,
        0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
      227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
        0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
@@ -9899,10 +10039,10 @@ static const yytype_int16 yytable[] =
        0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
      243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
        0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
-       0,   255,   256,   257,   258,   259,   260,   261,     0,  3305,
+       0,   255,   256,   257,   258,   259,   260,   261,     0,     0,
      262,   263,   264,   265,     0,     0,   266,   267,     0,   268,
      269,   270,     0,     0,   271,     0,     0,     0,   272,   273,
-       0,   274,     0,   275,     0,   276,   277,   278,   279,   280,
+    1184,   274,     0,   275,     0,   276,   277,   278,   279,   280,
      281,   282,     0,   283,     0,     0,   284,   285,   286,     0,
      287,     0,     0,     0,   288,   289,     0,     0,     0,   290,
      291,   292,   293,   294,     0,     0,     0,   295,   296,   297,
@@ -9958,7 +10098,7 @@ static const yytype_int16 yytable[] =
      219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
        0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
        0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
-       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
+       0,     0,   233,   234,     0,     0,     0,  1522,   235,     0,
      236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
      241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
      245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
@@ -9997,7 +10137,7 @@ static const yytype_int16 yytable[] =
      447,     0,     0,     0,   448,   449,   450,   451,     0,     0,
        0,   452,     0,     0,     0,   453,     0,   454,   455,   456,
      457,   458,   459,     0,   460,   461,   462,   463,   464,   465,
-       0,     0,     0,   596,     0,     0,   466,   467,     0,   468,
+       0,     0,     0,     0,     0,     0,   466,   467,     0,   468,
        0,     0,   469,     0,     0,     0,   470,   471,   472,     0,
        0,     0,   473,     0,     0,   474,   475,     0,   476,   477,
      478,   479,   480,   481,     0,     0,   482,   483,   484,   485,
@@ -10022,14 +10162,14 @@ static const yytype_int16 yytable[] =
        0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
        0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
      231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
-       0,     0,     0,     0,   235,     0,   236,     0,     0,     0,
+       0,     0,     0,  1522,   235,     0,   236,     0,     0,     0,
        0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
        0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
        0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
      253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
        0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
        0,   268,   269,   270,     0,     0,   271,     0,     0,     0,
-     272,   273,  1184,   274,     0,   275,     0,   276,   277,   278,
+     272,   273,     0,   274,     0,   275,     0,   276,   277,   278,
      279,   280,   281,   282,     0,   283,     0,     0,   284,   285,
      286,     0,   287,     0,     0,     0,   288,   289,     0,     0,
        0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
@@ -10066,7 +10206,7 @@ static const yytype_int16 yytable[] =
        0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
        0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
        0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
-     494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
+     494,   495,   496,   497,     0,     0,     0,     0,     0,  2139,
      499,   500,     0,     0,     0,   501,   502,   503,   504,     0,
      505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
      511,     0,     0,   512,     0,   513,     0,   514,   515,     0,
@@ -10085,7 +10225,7 @@ static const yytype_int16 yytable[] =
        0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
      224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
      228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
-       0,     0,     0,     0,   233,   234,     0,     0,     0,  1522,
+       0,     0,     0,     0,   233,   234,     0,     0,     0,  2278,
      235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
      239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
        0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
@@ -10149,7 +10289,7 @@ static const yytype_int16 yytable[] =
      221,   222,     0,   223,     0,     0,   224,     0,     0,   225,
        0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
      229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
-     233,   234,     0,     0,     0,  1522,   235,     0,   236,     0,
+     233,   234,     0,     0,     0,     0,   235,     0,   236,     0,
        0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
        0,     0,     0,     0,   243,     0,     0,   244,   245,   246,
        0,     0,     0,   247,     0,   248,   249,     0,   250,   251,
@@ -10178,7 +10318,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
        0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
      393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
-       0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
+    3313,   401,     0,   402,   403,   404,   405,   406,     0,   407,
      408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
      413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
        0,   421,   422,     0,   423,   424,   425,     0,     0,   426,
@@ -10194,7 +10334,7 @@ static const yytype_int16 yytable[] =
      480,   481,     0,     0,   482,   483,   484,   485,     0,   486,
      487,     0,     0,   488,   489,   490,   491,     0,     0,   492,
      493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
-       0,  2139,   499,   500,     0,     0,     0,   501,   502,   503,
+       0,   498,   499,   500,     0,     0,     0,   501,   502,   503,
      504,     0,   505,   506,     0,   507,   508,     0,   509,   510,
        0,     0,   511,     0,     0,   512,     0,   513,     0,   514,
      515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
@@ -10213,7 +10353,7 @@ static const yytype_int16 yytable[] =
        0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
      227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
        0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
-       0,  2278,   235,     0,   236,     0,     0,     0,     0,   237,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
        0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
      243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
        0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
@@ -10256,7 +10396,7 @@ static const yytype_int16 yytable[] =
      470,   471,   472,     0,     0,     0,   473,     0,     0,   474,
      475,     0,   476,   477,   478,   479,   480,   481,     0,     0,
      482,   483,   484,   485,     0,   486,   487,     0,     0,   488,
-     489,   490,   491,     0,     0,   492,   493,     0,   494,   495,
+     489,   490,   491,     0,   156,   492,   493,     0,   494,   495,
      496,   497,     0,     0,     0,     0,     0,   498,   499,   500,
        0,     0,     0,   501,   502,   503,   504,     0,   505,   506,
        0,   507,   508,     0,   509,   510,     0,     0,   511,     0,
@@ -10276,7 +10416,7 @@ static const yytype_int16 yytable[] =
      219,   220,   221,   222,     0,   223,     0,     0,   224,     0,
        0,   225,     0,   226,     0,     0,   227,     0,   228,     0,
        0,     0,   229,   230,   231,     0,     0,   232,     0,     0,
-       0,     0,   233,   234,     0,     0,     0,     0,   235,     0,
+       0,     0,   233,   234,     0,     0,     0,  3626,   235,     0,
      236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
      241,   242,     0,     0,     0,     0,   243,     0,     0,   244,
      245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
@@ -10305,7 +10445,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,     0,     0,   383,   384,
      385,     0,     0,   386,     0,   387,     0,   388,   389,   390,
      391,   392,   393,   394,   395,   396,   397,     0,     0,   398,
-     399,   400,  3313,   401,     0,   402,   403,   404,   405,   406,
+     399,   400,     0,   401,     0,   402,   403,   404,   405,   406,
        0,   407,   408,   409,     0,     0,   410,     0,     0,     0,
      411,   412,   413,   414,   415,     0,     0,   416,   417,   418,
      419,   420,     0,   421,   422,     0,   423,   424,   425,     0,
@@ -10328,7 +10468,7 @@ static const yytype_int16 yytable[] =
        0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
      522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
      526,     0,   527,   528,   529,     0,   160,   530,   161,   162,
-     163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
+     163,   164,   165,   166,  3634,     0,   167,     0,     0,     0,
      168,     0,     0,   169,     0,   170,   171,   172,   173,   174,
      175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
        0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
@@ -10383,7 +10523,7 @@ static const yytype_int16 yytable[] =
        0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
        0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
        0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
-       0,   488,   489,   490,   491,     0,   156,   492,   493,     0,
+       0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
      494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
      499,   500,     0,     0,     0,   501,   502,   503,   504,     0,
      505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
@@ -10403,7 +10543,7 @@ static const yytype_int16 yytable[] =
        0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
      224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
      228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
-       0,     0,     0,     0,   233,   234,     0,     0,     0,  3626,
+       0,     0,     0,     0,   233,   234,     0,     0,     0,  3658,
      235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
      239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
        0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
@@ -10455,7 +10595,7 @@ static const yytype_int16 yytable[] =
        0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
      520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
        0,   525,   526,     0,   527,   528,   529,     0,   160,   530,
-     161,   162,   163,   164,   165,   166,  3634,     0,   167,     0,
+     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
        0,     0,   168,     0,     0,   169,     0,   170,   171,   172,
      173,   174,   175,   176,   177,   178,     0,   179,     0,     0,
        0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
@@ -10496,7 +10636,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,   383,   384,   385,     0,
        0,   386,     0,   387,     0,   388,   389,   390,   391,   392,
      393,   394,   395,   396,   397,     0,     0,   398,   399,   400,
-       0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
+    4579,   401,     0,   402,   403,   404,   405,   406,     0,   407,
      408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
      413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
        0,   421,   422,     0,   423,   424,   425,     0,     0,   426,
@@ -10531,7 +10671,7 @@ static const yytype_int16 yytable[] =
        0,     0,   224,     0,     0,   225,     0,   226,     0,     0,
      227,     0,   228,     0,     0,     0,   229,   230,   231,     0,
        0,   232,     0,     0,     0,     0,   233,   234,     0,     0,
-       0,  3658,   235,     0,   236,     0,     0,     0,     0,   237,
+       0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
        0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
      243,     0,     0,   244,   245,   246,     0,     0,     0,   247,
        0,   248,   249,     0,   250,   251,   252,     0,   253,   254,
@@ -10600,7 +10740,7 @@ static const yytype_int16 yytable[] =
      245,   246,     0,     0,     0,   247,     0,   248,   249,     0,
      250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
      258,   259,   260,   261,     0,     0,   262,   263,   264,   265,
-       0,     0,   266,   267,     0,   268,   269,   270,     0,     0,
+       0,     0,   266,   267,     0,   268,  2004,   270,     0,     0,
      271,     0,     0,     0,   272,   273,     0,   274,     0,   275,
        0,   276,   277,   278,   279,   280,   281,   282,     0,   283,
        0,     0,   284,   285,   286,     0,   287,     0,     0,     0,
@@ -10617,13 +10757,13 @@ static const yytype_int16 yytable[] =
      345,     0,     0,     0,     0,   346,   347,   348,   349,   350,
      351,     0,     0,   352,   353,     0,   354,     0,   355,     0,
      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
-       0,     0,   366,     0,     0,   367,   368,   369,   370,     0,
+       0,     0,   366,     0,     0,   367,  2005,   369,   370,     0,
        0,     0,   371,   372,     0,     0,     0,   373,     0,   374,
      375,   376,     0,   377,   378,   379,   380,     0,   381,   382,
        0,     0,     0,     0,     0,     0,     0,     0,   383,   384,
      385,     0,     0,   386,     0,   387,     0,   388,   389,   390,
      391,   392,   393,   394,   395,   396,   397,     0,     0,   398,
-     399,   400,  4579,   401,     0,   402,   403,   404,   405,   406,
+     399,   400,     0,   401,     0,   402,   403,   404,   405,   406,
        0,   407,   408,   409,     0,     0,   410,     0,     0,     0,
      411,   412,   413,   414,   415,     0,     0,   416,   417,   418,
      419,   420,     0,   421,   422,     0,   423,   424,   425,     0,
@@ -10647,132 +10787,132 @@ static const yytype_int16 yytable[] =
      522,   523,   524,     0,     0,     0,     0,     0,     0,   525,
      526,     0,   527,   528,   529,     0,   160,   530,   161,   162,
      163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
-     168,     0,     0,   169,     0,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,     0,   179,     0,     0,     0,   180,
+     168,     0,     0,     0,     0,   170,   171,   172,   173,   174,
+     175,   176,   177,     0,     0,   925,     0,     0,     0,   180,
        0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
-     185,     0,   186,   187,     0,     0,   188,     0,     0,   189,
-     190,     0,   191,   192,     0,   193,   194,     0,   195,   196,
-     197,   198,   199,   200,     0,   201,   202,   203,   204,   205,
-     206,   207,     0,   208,   209,   210,   211,   212,   213,   214,
-     215,     0,   216,   217,     0,   218,   219,   220,   221,   222,
+     185,     0,     0,     0,     0,     0,   188,     7,     0,   189,
+     190,     0,   191,     0,     0,     0,     0,     0,   195,   196,
+     197,   926,   199,   200,     0,   201,   202,     0,     0,     0,
+       0,     0,     0,   208,     0,   210,     0,   212,   213,   214,
+     215,     0,   216,   217,     0,   218,   219,   220,     0,   222,
        0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
        0,     0,   227,     0,   228,     0,     0,     0,   229,   230,
-     231,     0,     0,   232,     0,     0,     0,     0,   233,   234,
+     231,     0,     0,   232,     0,     0,     0,     0,   233,     0,
        0,     0,     0,     0,   235,     0,   236,     0,     0,     0,
        0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
-       0,     0,   243,     0,     0,   244,   245,   246,     0,     0,
-       0,   247,     0,   248,   249,     0,   250,   251,   252,     0,
-     253,   254,     0,   255,   256,   257,   258,   259,   260,   261,
+       0,     0,     0,     0,     0,   244,   245,   246,     0,  -338,
+    -338,   247,     0,  -338,   249,     0,   250,   251,   252,     0,
+     253,   254,     0,   255,   256,   257,   258,   259,     0,     0,
        0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
-       0,   268,   269,   270,     0,     0,   271,     0,     0,     0,
-     272,   273,     0,   274,     0,   275,     0,   276,   277,   278,
-     279,   280,   281,   282,     0,   283,     0,     0,   284,   285,
-     286,     0,   287,     0,     0,     0,   288,   289,     0,     0,
-       0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
+     927,   268,   269,   270,     0,     0,     0,     0,     0,     0,
+       0,   273,     0,   274,     0,   275,     0,   276,   277,   278,
+     279,   280,     0,   282,     0,   283,     0,     0,     0,   285,
+     286,     0,     0,     0,     0,     0,     0,   289,     0,     0,
+       0,   290,   291,   292,   293,   294,    26,     0,     0,   295,
      296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
-     300,     0,     0,     0,   301,     0,   302,   303,     0,   304,
-     305,     0,     0,     0,   306,     0,     0,   307,   308,   309,
-       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
+       0,     0,     0,     0,   301,     0,   302,   303,     0,   304,
+     305,   928,     0,     0,   306,     0,     0,     0,   308,   309,
+       0,     0,   310,   929,     0,   311,   312,     0,     0,     0,
        0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
+     318,     0,     0,     0,     0,    32,     0,   319,   320,   321,
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
      340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
        0,   346,   347,   348,   349,   350,   351,     0,     0,   352,
      353,     0,   354,     0,   355,     0,   356,   357,   358,   359,
      360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
-       0,   367,   368,   369,   370,     0,     0,     0,   371,   372,
+       0,   367,   368,   369,   370,     0,     0,     0,     0,   372,
        0,     0,     0,   373,     0,   374,   375,   376,     0,   377,
-     378,   379,   380,     0,   381,   382,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,   384,   385,     0,     0,   386,
+     378,   379,   930,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   384,   385,     0,     0,     0,
        0,   387,     0,   388,   389,   390,   391,   392,   393,   394,
-     395,   396,   397,     0,     0,   398,   399,   400,     0,   401,
+     395,   396,     0,     0,     0,     0,   399,   400,     0,   401,
        0,   402,   403,   404,   405,   406,     0,   407,   408,   409,
        0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
      415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
-     422,     0,   423,   424,   425,     0,     0,   426,     0,   427,
-       0,   428,   429,     0,   430,   431,     0,   432,     0,   433,
-       0,     0,   434,   435,   436,   437,   438,   439,   440,   441,
-     442,   443,   444,   445,     0,   446,   447,     0,     0,     0,
-     448,   449,   450,   451,     0,     0,     0,   452,     0,     0,
-       0,   453,     0,   454,   455,   456,   457,   458,   459,     0,
-     460,   461,   462,   463,   464,   465,     0,     0,     0,     0,
+       0,     0,   423,     0,   425,    41,     0,   426,     0,     0,
+       0,   428,     0,     0,   430,   431,     0,   432,   931,   433,
+       0,     0,   434,     0,   436,   437,   438,   439,   440,   441,
+     442,     0,   444,   445,     0,   446,     0,     0,     0,     0,
+     448,   449,   450,     0,     0,     0,     0,   452,     0,     0,
+       0,     0,     0,     0,   455,     0,     0,   458,   459,     0,
+     460,     0,   462,     0,   464,   465,     0,     0,     0,     0,
        0,     0,   466,   467,     0,   468,     0,     0,   469,     0,
-       0,     0,   470,   471,   472,     0,     0,     0,   473,     0,
-       0,   474,   475,     0,   476,   477,   478,   479,   480,   481,
+       0,     0,   470,     0,   472,     0,     0,     0,   473,     0,
+       0,     0,   475,     0,   476,   477,   478,   479,   480,   481,
        0,     0,   482,   483,   484,   485,     0,   486,   487,     0,
        0,   488,   489,   490,   491,     0,     0,   492,   493,     0,
      494,   495,   496,   497,     0,     0,     0,     0,     0,   498,
-     499,   500,     0,     0,     0,   501,   502,   503,   504,     0,
-     505,   506,     0,   507,   508,     0,   509,   510,     0,     0,
-     511,     0,     0,   512,     0,   513,     0,   514,   515,     0,
+     499,   500,     0,     0,     0,     0,   502,   503,   504,     0,
+     505,   506,     0,   507,   508,     0,     0,     0,     0,     0,
+     511,     0,     0,   512,     0,     0,     0,   514,   515,     0,
        0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
        0,     0,   518,   519,   520,   521,   522,   523,   524,     0,
-       0,     0,     0,     0,     0,   525,   526,     0,   527,   528,
+       0,    60,     0,     0,     0,   525,     0,     0,   527,     0,
      529,     0,   160,   530,   161,   162,   163,   164,   165,   166,
-       0,     0,   167,     0,     0,     0,   168,     0,     0,   169,
-       0,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-       0,   179,     0,     0,     0,   180,     0,     0,     0,   181,
-       0,     0,   182,   183,   184,     0,   185,     0,   186,   187,
-       0,     0,   188,     0,     0,   189,   190,     0,   191,   192,
-       0,   193,   194,     0,   195,   196,   197,   198,   199,   200,
-       0,   201,   202,   203,   204,   205,   206,   207,     0,   208,
-     209,   210,   211,   212,   213,   214,   215,     0,   216,   217,
-       0,   218,   219,   220,   221,   222,     0,   223,     0,     0,
+       0,     0,   167,     0,     0,     0,   168,     0,     0,     0,
+       0,   170,   171,   172,   173,   174,   175,   176,   177,     0,
+       0,   925,     0,     0,     0,   180,     0,     0,     0,   181,
+       0,     0,   182,   183,   184,     0,   185,     0,     0,     0,
+       0,     0,   188,     7,     0,   189,   190,     0,   191,     0,
+       0,     0,     0,     0,   195,   196,   197,   926,   199,   200,
+       0,   201,   202,     0,     0,     0,     0,     0,     0,   208,
+       0,   210,     0,   212,   213,   214,   215,     0,   216,   217,
+       0,   218,   219,   220,     0,   222,     0,   223,     0,     0,
      224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
      228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
-       0,     0,     0,     0,   233,   234,     0,     0,     0,     0,
+       0,     0,     0,     0,   233,     0,     0,     0,     0,     0,
      235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
-     239,   240,   241,   242,     0,     0,     0,     0,   243,     0,
-       0,   244,   245,   246,     0,     0,     0,   247,     0,   248,
+     239,   240,   241,   242,     0,     0,     0,     0,     0,     0,
+       0,   244,   245,   246,     0,  -358,     0,   247,     0,  -358,
      249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
-     256,   257,   258,   259,   260,   261,     0,     0,   262,   263,
-     264,   265,     0,     0,   266,   267,     0,   268,  2004,   270,
-       0,     0,   271,     0,     0,     0,   272,   273,     0,   274,
-       0,   275,     0,   276,   277,   278,   279,   280,   281,   282,
-       0,   283,     0,     0,   284,   285,   286,     0,   287,     0,
-       0,     0,   288,   289,     0,     0,     0,   290,   291,   292,
-     293,   294,     0,     0,     0,   295,   296,   297,     0,     0,
-     298,     0,     0,     0,     0,   299,   300,     0,     0,     0,
-     301,     0,   302,   303,     0,   304,   305,     0,     0,     0,
-     306,     0,     0,   307,   308,   309,     0,     0,   310,     0,
+     256,   257,   258,   259,     0,     0,     0,     0,   262,   263,
+     264,   265,     0,     0,   266,   267,   927,   268,   269,   270,
+       0,     0,     0,     0,     0,     0,     0,   273,     0,   274,
+       0,   275,     0,   276,   277,   278,   279,   280,     0,   282,
+       0,   283,     0,     0,     0,   285,   286,     0,     0,     0,
+       0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
+     293,   294,    26,     0,     0,   295,   296,   297,     0,     0,
+     298,     0,     0,     0,     0,   299,     0,     0,     0,     0,
+     301,     0,   302,   303,     0,   304,   305,   928,     0,     0,
+     306,     0,     0,     0,   308,   309,     0,     0,   310,   929,
        0,   311,   312,     0,     0,     0,     0,     0,   313,   314,
        0,   315,     0,   316,     0,   317,   318,     0,     0,     0,
-       0,     0,     0,   319,   320,   321,   322,   323,   324,   325,
+       0,    32,     0,   319,   320,   321,   322,   323,   324,   325,
      326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
      335,   336,   337,   338,     0,   339,   340,   341,   342,     0,
      343,   344,   345,     0,     0,     0,     0,   346,   347,   348,
      349,   350,   351,     0,     0,   352,   353,     0,   354,     0,
      355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
-     364,   365,     0,     0,   366,     0,     0,   367,  2005,   369,
-     370,     0,     0,     0,   371,   372,     0,     0,     0,   373,
-       0,   374,   375,   376,     0,   377,   378,   379,   380,     0,
-     381,   382,     0,     0,     0,     0,     0,     0,     0,     0,
-     383,   384,   385,     0,     0,   386,     0,   387,     0,   388,
-     389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
-       0,   398,   399,   400,     0,   401,     0,   402,   403,   404,
+     364,   365,     0,     0,   366,     0,     0,   367,   368,   369,
+     370,     0,     0,     0,     0,   372,     0,     0,     0,   373,
+       0,   374,   375,   376,     0,   377,   378,   379,   930,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   384,   385,     0,     0,     0,     0,   387,     0,   388,
+     389,   390,   391,   392,   393,   394,   395,   396,     0,     0,
+       0,     0,   399,   400,     0,   401,     0,   402,   403,   404,
      405,   406,     0,   407,   408,   409,     0,     0,   410,     0,
        0,     0,   411,   412,   413,   414,   415,     0,     0,   416,
-     417,   418,   419,   420,     0,   421,   422,     0,   423,   424,
-     425,     0,     0,   426,     0,   427,     0,   428,   429,     0,
-     430,   431,     0,   432,     0,   433,     0,     0,   434,   435,
-     436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
-       0,   446,   447,     0,     0,     0,   448,   449,   450,   451,
-       0,     0,     0,   452,     0,     0,     0,   453,     0,   454,
-     455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
+     417,   418,   419,   420,     0,   421,     0,     0,   423,     0,
+     425,    41,     0,   426,     0,     0,     0,   428,     0,     0,
+     430,   431,     0,   432,   931,   433,     0,     0,   434,     0,
+     436,   437,   438,   439,   440,   441,   442,     0,   444,   445,
+       0,   446,     0,     0,     0,     0,   448,   449,   450,     0,
+       0,     0,     0,   452,     0,     0,     0,     0,     0,     0,
+     455,     0,     0,   458,   459,     0,   460,     0,   462,     0,
      464,   465,     0,     0,     0,     0,     0,     0,   466,   467,
-       0,   468,     0,     0,   469,     0,     0,     0,   470,   471,
-     472,     0,     0,     0,   473,     0,     0,   474,   475,     0,
+       0,   468,     0,     0,   469,     0,     0,     0,   470,     0,
+     472,     0,     0,     0,   473,     0,     0,     0,   475,     0,
      476,   477,   478,   479,   480,   481,     0,     0,   482,   483,
      484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
      491,     0,     0,   492,   493,     0,   494,   495,   496,   497,
        0,     0,     0,     0,     0,   498,   499,   500,     0,     0,
-       0,   501,   502,   503,   504,     0,   505,   506,     0,   507,
-     508,     0,   509,   510,     0,     0,   511,     0,     0,   512,
-       0,   513,     0,   514,   515,     0,     0,     0,     0,     0,
+       0,     0,   502,   503,   504,     0,   505,   506,     0,   507,
+     508,     0,     0,     0,     0,     0,   511,     0,     0,   512,
+       0,     0,     0,   514,   515,     0,     0,     0,     0,     0,
        0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
-     520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
-       0,   525,   526,     0,   527,   528,   529,     0,   160,   530,
+     520,   521,   522,   523,   524,  -358,     0,    60,     0,     0,
+       0,   525,     0,     0,   527,     0,   529,     0,   160,   530,
      161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
        0,     0,   168,     0,     0,     0,     0,   170,   171,   172,
      173,   174,   175,   176,   177,     0,     0,   925,     0,     0,
@@ -10788,7 +10928,7 @@ static const yytype_int16 yytable[] =
      233,     0,     0,     0,     0,     0,   235,     0,   236,     0,
        0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
        0,     0,     0,     0,     0,     0,     0,   244,   245,   246,
-       0,  -338,  -338,   247,     0,  -338,   249,     0,   250,   251,
+       0,  -355,     0,   247,     0,  -355,   249,     0,   250,   251,
      252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
        0,     0,     0,     0,   262,   263,   264,   265,     0,     0,
      266,   267,   927,   268,   269,   270,     0,     0,     0,     0,
@@ -10835,7 +10975,7 @@ static const yytype_int16 yytable[] =
        0,     0,   511,     0,     0,   512,     0,     0,     0,   514,
      515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
      517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
-     524,     0,     0,    60,     0,     0,     0,   525,     0,     0,
+     524,  -355,     0,    60,     0,     0,     0,   525,     0,     0,
      527,     0,   529,     0,   160,   530,   161,   162,   163,   164,
      165,   166,     0,     0,   167,     0,     0,     0,   168,     0,
        0,     0,     0,   170,   171,   172,   173,   174,   175,   176,
@@ -10851,8 +10991,8 @@ static const yytype_int16 yytable[] =
        0,   232,     0,     0,     0,     0,   233,     0,     0,     0,
        0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
        0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
-       0,     0,     0,   244,   245,   246,     0,  -358,     0,   247,
-       0,  -358,   249,     0,   250,   251,   252,     0,   253,   254,
+       0,     0,     0,   244,   245,   246,     0,     0,     0,   247,
+       0,  1442,   249,     0,   250,   251,   252,     0,   253,   254,
        0,   255,   256,   257,   258,   259,     0,     0,     0,     0,
      262,   263,   264,   265,     0,     0,   266,   267,   927,   268,
      269,   270,     0,     0,     0,     0,     0,     0,     0,   273,
@@ -10898,7 +11038,7 @@ static const yytype_int16 yytable[] =
        0,   507,   508,     0,     0,     0,     0,     0,   511,     0,
        0,   512,     0,     0,     0,   514,   515,     0,     0,     0,
        0,     0,     0,   516,     0,     0,   517,     0,     0,     0,
-     518,   519,   520,   521,   522,   523,   524,  -358,     0,    60,
+     518,   519,   520,   521,   522,   523,   524,     0,     0,    60,
        0,     0,     0,   525,     0,     0,   527,     0,   529,     0,
      160,   530,   161,   162,   163,   164,   165,   166,     0,     0,
      167,     0,     0,     0,   168,     0,     0,     0,     0,   170,
@@ -10915,7 +11055,7 @@ static const yytype_int16 yytable[] =
        0,     0,   233,     0,     0,     0,     0,     0,   235,     0,
      236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
      241,   242,     0,     0,     0,     0,     0,     0,     0,   244,
-     245,   246,     0,  -355,     0,   247,     0,  -355,   249,     0,
+     245,   246,     0,     0,     0,   247,     0,  -360,   249,     0,
      250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
      258,   259,     0,     0,     0,     0,   262,   263,   264,   265,
        0,     0,   266,   267,   927,   268,   269,   270,     0,     0,
@@ -10962,7 +11102,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,   511,     0,     0,   512,     0,     0,
        0,   514,   515,     0,     0,     0,     0,     0,     0,   516,
        0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
-     522,   523,   524,  -355,     0,    60,     0,     0,     0,   525,
+     522,   523,   524,     0,     0,    60,     0,     0,     0,   525,
        0,     0,   527,     0,   529,     0,   160,   530,   161,   162,
      163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
      168,     0,     0,     0,     0,   170,   171,   172,   173,   174,
@@ -10979,7 +11119,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,   235,     0,   236,     0,     0,     0,
        0,   237,     0,   238,   239,   240,   241,   242,     0,     0,
        0,     0,     0,     0,     0,   244,   245,   246,     0,     0,
-       0,   247,     0,  1442,   249,     0,   250,   251,   252,     0,
+       0,   247,     0,  3162,   249,     0,   250,   251,   252,     0,
      253,   254,     0,   255,   256,   257,   258,   259,     0,     0,
        0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
      927,   268,   269,   270,     0,     0,     0,     0,     0,     0,
@@ -11042,7 +11182,7 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,   233,     0,     0,     0,     0,     0,
      235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
      239,   240,   241,   242,     0,     0,     0,     0,     0,     0,
-       0,   244,   245,   246,     0,     0,     0,   247,     0,  -360,
+       0,   244,   245,   246,     0,     0,     0,   247,     0,  3309,
      249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
      256,   257,   258,   259,     0,     0,     0,     0,   262,   263,
      264,   265,     0,     0,   266,   267,   927,   268,   269,   270,
@@ -11106,7 +11246,7 @@ static const yytype_int16 yytable[] =
      233,     0,     0,     0,     0,     0,   235,     0,   236,     0,
        0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
        0,     0,     0,     0,     0,     0,     0,   244,   245,   246,
-       0,     0,     0,   247,     0,  3162,   249,     0,   250,   251,
+       0,     0,     0,   247,     0,  -342,   249,     0,   250,   251,
      252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
        0,     0,     0,     0,   262,   263,   264,   265,     0,     0,
      266,   267,   927,   268,   269,   270,     0,     0,     0,     0,
@@ -11170,7 +11310,7 @@ static const yytype_int16 yytable[] =
        0,     0,   235,     0,   236,     0,     0,     0,     0,   237,
        0,   238,   239,   240,   241,   242,     0,     0,     0,     0,
        0,     0,     0,   244,   245,   246,     0,     0,     0,   247,
-       0,  3309,   249,     0,   250,   251,   252,     0,   253,   254,
+       0,     0,   249,     0,   250,   251,   252,     0,   253,   254,
        0,   255,   256,   257,   258,   259,     0,     0,     0,     0,
      262,   263,   264,   265,     0,     0,   266,   267,   927,   268,
      269,   270,     0,     0,     0,     0,     0,     0,     0,   273,
@@ -11233,7 +11373,7 @@ static const yytype_int16 yytable[] =
        0,     0,   233,     0,     0,     0,     0,     0,   235,     0,
      236,     0,     0,     0,     0,   237,     0,   238,   239,   240,
      241,   242,     0,     0,     0,     0,     0,     0,     0,   244,
-     245,   246,     0,     0,     0,   247,     0,  -342,   249,     0,
+     245,   246,     0,     0,     0,   247,     0,     0,   249,     0,
      250,   251,   252,     0,   253,   254,     0,   255,   256,   257,
      258,   259,     0,     0,     0,     0,   262,   263,   264,   265,
        0,     0,   266,   267,   927,   268,   269,   270,     0,     0,
@@ -11277,18 +11417,18 @@ static const yytype_int16 yytable[] =
        0,   492,   493,     0,   494,   495,   496,   497,     0,     0,
        0,     0,     0,   498,   499,   500,     0,     0,     0,     0,
      502,   503,   504,     0,   505,   506,     0,   507,   508,     0,
-       0,     0,     0,     0,   511,     0,     0,   512,     0,     0,
+       0,     0,     0,     0,   511,     0,     0,  1469,     0,     0,
        0,   514,   515,     0,     0,     0,     0,     0,     0,   516,
        0,     0,   517,     0,     0,     0,   518,   519,   520,   521,
      522,   523,   524,     0,     0,    60,     0,     0,     0,   525,
        0,     0,   527,     0,   529,     0,   160,   530,   161,   162,
      163,   164,   165,   166,     0,     0,   167,     0,     0,     0,
      168,     0,     0,     0,     0,   170,   171,   172,   173,   174,
-     175,   176,   177,     0,     0,   925,     0,     0,     0,   180,
+     175,   176,   177,     0,     0,     0,     0,     0,     0,   180,
        0,     0,     0,   181,     0,     0,   182,   183,   184,     0,
-     185,     0,     0,     0,     0,     0,   188,     7,     0,   189,
+     185,     0,     0,     0,     0,     0,   188,     0,     0,   189,
      190,     0,   191,     0,     0,     0,     0,     0,   195,   196,
-     197,   926,   199,   200,     0,   201,   202,     0,     0,     0,
+     197,     0,   199,   200,     0,   201,   202,     0,     0,     0,
        0,     0,     0,   208,     0,   210,     0,   212,   213,   214,
      215,     0,   216,   217,     0,   218,   219,   220,     0,   222,
        0,   223,     0,     0,   224,     0,     0,   225,     0,   226,
@@ -11300,17 +11440,17 @@ static const yytype_int16 yytable[] =
        0,   247,     0,     0,   249,     0,   250,   251,   252,     0,
      253,   254,     0,   255,   256,   257,   258,   259,     0,     0,
        0,     0,   262,   263,   264,   265,     0,     0,   266,   267,
-     927,   268,   269,   270,     0,     0,     0,     0,     0,     0,
+       0,   268,   269,   270,     0,     0,     0,     0,     0,     0,
        0,   273,     0,   274,     0,   275,     0,   276,   277,   278,
      279,   280,     0,   282,     0,   283,     0,     0,     0,   285,
      286,     0,     0,     0,     0,     0,     0,   289,     0,     0,
-       0,   290,   291,   292,   293,   294,    26,     0,     0,   295,
+       0,   290,   291,   292,   293,   294,     0,     0,     0,   295,
      296,   297,     0,     0,   298,     0,     0,     0,     0,   299,
        0,     0,     0,     0,   301,     0,   302,   303,     0,   304,
-     305,   928,     0,     0,   306,     0,     0,     0,   308,   309,
-       0,     0,   310,   929,     0,   311,   312,     0,     0,     0,
+     305,     0,     0,     0,   306,     0,     0,     0,   308,   309,
+       0,     0,   310,     0,     0,   311,   312,     0,     0,     0,
        0,     0,   313,   314,     0,   315,     0,   316,     0,   317,
-     318,     0,     0,     0,     0,    32,     0,   319,   320,   321,
+     318,     0,     0,     0,     0,     0,     0,   319,   320,   321,
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
      340,   341,   342,     0,   343,   344,   345,     0,     0,     0,
@@ -11319,15 +11459,15 @@ static const yytype_int16 yytable[] =
      360,   361,   362,   363,   364,   365,     0,     0,   366,     0,
        0,   367,   368,   369,   370,     0,     0,     0,     0,   372,
        0,     0,     0,   373,     0,   374,   375,   376,     0,   377,
-     378,   379,   930,     0,     0,     0,     0,     0,     0,     0,
+     378,   379,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   384,   385,     0,     0,     0,
        0,   387,     0,   388,   389,   390,   391,   392,   393,   394,
      395,   396,     0,     0,     0,     0,   399,   400,     0,   401,
        0,   402,   403,   404,   405,   406,     0,   407,   408,   409,
        0,     0,   410,     0,     0,     0,   411,   412,   413,   414,
      415,     0,     0,   416,   417,   418,   419,   420,     0,   421,
-       0,     0,   423,     0,   425,    41,     0,   426,     0,     0,
-       0,   428,     0,     0,   430,   431,     0,   432,   931,   433,
+       0,     0,   423,     0,   425,     0,     0,   426,     0,     0,
+       0,   428,     0,     0,   430,   431,     0,   432,     0,   433,
        0,     0,   434,     0,   436,   437,   438,   439,   440,   441,
      442,     0,   444,   445,     0,   446,     0,     0,     0,     0,
      448,   449,   450,     0,     0,     0,     0,   452,     0,     0,
@@ -11344,135 +11484,8 @@ static const yytype_int16 yytable[] =
      511,     0,     0,   512,     0,     0,     0,   514,   515,     0,
        0,     0,     0,     0,     0,   516,     0,     0,   517,     0,
        0,     0,   518,   519,   520,   521,   522,   523,   524,     0,
-       0,    60,     0,     0,     0,   525,     0,     0,   527,     0,
-     529,     0,   160,   530,   161,   162,   163,   164,   165,   166,
-       0,     0,   167,     0,     0,     0,   168,     0,     0,     0,
-       0,   170,   171,   172,   173,   174,   175,   176,   177,     0,
-       0,   925,     0,     0,     0,   180,     0,     0,     0,   181,
-       0,     0,   182,   183,   184,     0,   185,     0,     0,     0,
-       0,     0,   188,     7,     0,   189,   190,     0,   191,     0,
-       0,     0,     0,     0,   195,   196,   197,   926,   199,   200,
-       0,   201,   202,     0,     0,     0,     0,     0,     0,   208,
-       0,   210,     0,   212,   213,   214,   215,     0,   216,   217,
-       0,   218,   219,   220,     0,   222,     0,   223,     0,     0,
-     224,     0,     0,   225,     0,   226,     0,     0,   227,     0,
-     228,     0,     0,     0,   229,   230,   231,     0,     0,   232,
-       0,     0,     0,     0,   233,     0,     0,     0,     0,     0,
-     235,     0,   236,     0,     0,     0,     0,   237,     0,   238,
-     239,   240,   241,   242,     0,     0,     0,     0,     0,     0,
-       0,   244,   245,   246,     0,     0,     0,   247,     0,     0,
-     249,     0,   250,   251,   252,     0,   253,   254,     0,   255,
-     256,   257,   258,   259,     0,     0,     0,     0,   262,   263,
-     264,   265,     0,     0,   266,   267,   927,   268,   269,   270,
-       0,     0,     0,     0,     0,     0,     0,   273,     0,   274,
-       0,   275,     0,   276,   277,   278,   279,   280,     0,   282,
-       0,   283,     0,     0,     0,   285,   286,     0,     0,     0,
-       0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
-     293,   294,    26,     0,     0,   295,   296,   297,     0,     0,
-     298,     0,     0,     0,     0,   299,     0,     0,     0,     0,
-     301,     0,   302,   303,     0,   304,   305,   928,     0,     0,
-     306,     0,     0,     0,   308,   309,     0,     0,   310,   929,
-       0,   311,   312,     0,     0,     0,     0,     0,   313,   314,
-       0,   315,     0,   316,     0,   317,   318,     0,     0,     0,
-       0,    32,     0,   319,   320,   321,   322,   323,   324,   325,
-     326,   327,   328,   329,   330,   331,   332,   333,   334,     0,
-     335,   336,   337,   338,     0,   339,   340,   341,   342,     0,
-     343,   344,   345,     0,     0,     0,     0,   346,   347,   348,
-     349,   350,   351,     0,     0,   352,   353,     0,   354,     0,
-     355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
-     364,   365,     0,     0,   366,     0,     0,   367,   368,   369,
-     370,     0,     0,     0,     0,   372,     0,     0,     0,   373,
-       0,   374,   375,   376,     0,   377,   378,   379,   930,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   384,   385,     0,     0,     0,     0,   387,     0,   388,
-     389,   390,   391,   392,   393,   394,   395,   396,     0,     0,
-       0,     0,   399,   400,     0,   401,     0,   402,   403,   404,
-     405,   406,     0,   407,   408,   409,     0,     0,   410,     0,
-       0,     0,   411,   412,   413,   414,   415,     0,     0,   416,
-     417,   418,   419,   420,     0,   421,     0,     0,   423,     0,
-     425,    41,     0,   426,     0,     0,     0,   428,     0,     0,
-     430,   431,     0,   432,   931,   433,     0,     0,   434,     0,
-     436,   437,   438,   439,   440,   441,   442,     0,   444,   445,
-       0,   446,     0,     0,     0,     0,   448,   449,   450,     0,
-       0,     0,     0,   452,     0,     0,     0,     0,     0,     0,
-     455,     0,     0,   458,   459,     0,   460,     0,   462,     0,
-     464,   465,     0,     0,     0,     0,     0,     0,   466,   467,
-       0,   468,     0,     0,   469,     0,     0,     0,   470,     0,
-     472,     0,     0,     0,   473,     0,     0,     0,   475,     0,
-     476,   477,   478,   479,   480,   481,     0,     0,   482,   483,
-     484,   485,     0,   486,   487,     0,     0,   488,   489,   490,
-     491,     0,     0,   492,   493,     0,   494,   495,   496,   497,
-       0,     0,     0,     0,     0,   498,   499,   500,     0,     0,
-       0,     0,   502,   503,   504,     0,   505,   506,     0,   507,
-     508,     0,     0,     0,     0,     0,   511,     0,     0,  1469,
-       0,     0,     0,   514,   515,     0,     0,     0,     0,     0,
-       0,   516,     0,     0,   517,     0,     0,     0,   518,   519,
-     520,   521,   522,   523,   524,     0,     0,    60,     0,     0,
-       0,   525,     0,     0,   527,     0,   529,     0,   160,   530,
-     161,   162,   163,   164,   165,   166,     0,     0,   167,     0,
-       0,     0,   168,     0,     0,     0,     0,   170,   171,   172,
-     173,   174,   175,   176,   177,     0,     0,     0,     0,     0,
-       0,   180,     0,     0,     0,   181,     0,     0,   182,   183,
-     184,     0,   185,     0,     0,     0,     0,     0,   188,     0,
-       0,   189,   190,     0,   191,     0,     0,     0,     0,     0,
-     195,   196,   197,     0,   199,   200,     0,   201,   202,     0,
-       0,     0,     0,     0,     0,   208,     0,   210,     0,   212,
-     213,   214,   215,     0,   216,   217,     0,   218,   219,   220,
-       0,   222,     0,   223,     0,     0,   224,     0,     0,   225,
-       0,   226,     0,     0,   227,     0,   228,     0,     0,     0,
-     229,   230,   231,     0,     0,   232,     0,     0,     0,     0,
-     233,     0,     0,     0,     0,     0,   235,     0,   236,     0,
-       0,     0,     0,   237,     0,   238,   239,   240,   241,   242,
-       0,     0,     0,     0,     0,     0,     0,   244,   245,   246,
-       0,     0,     0,   247,     0,     0,   249,     0,   250,   251,
-     252,     0,   253,   254,     0,   255,   256,   257,   258,   259,
-       0,     0,     0,     0,   262,   263,   264,   265,     0,     0,
-     266,   267,     0,   268,   269,   270,     0,     0,     0,     0,
-       0,     0,     0,   273,     0,   274,     0,   275,     0,   276,
-     277,   278,   279,   280,     0,   282,     0,   283,     0,     0,
-       0,   285,   286,     0,     0,     0,     0,     0,     0,   289,
-       0,     0,     0,   290,   291,   292,   293,   294,     0,     0,
-       0,   295,   296,   297,     0,     0,   298,     0,     0,     0,
-       0,   299,     0,     0,     0,     0,   301,     0,   302,   303,
-       0,   304,   305,     0,     0,     0,   306,     0,     0,     0,
-     308,   309,     0,     0,   310,     0,     0,   311,   312,     0,
-       0,     0,     0,     0,   313,   314,     0,   315,     0,   316,
-       0,   317,   318,     0,     0,     0,     0,     0,     0,   319,
-     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-     330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
-       0,   339,   340,   341,   342,     0,   343,   344,   345,     0,
-       0,     0,     0,   346,   347,   348,   349,   350,   351,     0,
-       0,   352,   353,     0,   354,     0,   355,     0,   356,   357,
-     358,   359,   360,   361,   362,   363,   364,   365,     0,     0,
-     366,     0,     0,   367,   368,   369,   370,     0,     0,     0,
-       0,   372,     0,     0,     0,   373,     0,   374,   375,   376,
-       0,   377,   378,   379,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   384,   385,     0,
-       0,     0,     0,   387,     0,   388,   389,   390,   391,   392,
-     393,   394,   395,   396,     0,     0,     0,     0,   399,   400,
-       0,   401,     0,   402,   403,   404,   405,   406,     0,   407,
-     408,   409,     0,     0,   410,     0,     0,     0,   411,   412,
-     413,   414,   415,     0,     0,   416,   417,   418,   419,   420,
-       0,   421,     0,     0,   423,     0,   425,     0,     0,   426,
-       0,     0,     0,   428,     0,     0,   430,   431,     0,   432,
-       0,   433,     0,     0,   434,     0,   436,   437,   438,   439,
-     440,   441,   442,     0,   444,   445,     0,   446,     0,     0,
-       0,     0,   448,   449,   450,     0,     0,     0,     0,   452,
-       0,     0,     0,     0,     0,     0,   455,     0,     0,   458,
-     459,     0,   460,     0,   462,     0,   464,   465,     0,     0,
-       0,     0,     0,     0,   466,   467,     0,   468,     0,     0,
-     469,     0,     0,     0,   470,     0,   472,     0,     0,     0,
-     473,     0,     0,     0,   475,     0,   476,   477,   478,   479,
-     480,   481,     0,     0,   482,   483,   484,   485,     0,   486,
-     487,     0,     0,   488,   489,   490,   491,     0,     0,   492,
-     493,     0,   494,   495,   496,   497,     0,     0,     0,     0,
-       0,   498,   499,   500,     0,     0,     0,     0,   502,   503,
-     504,     0,   505,   506,     0,   507,   508,     0,     0,     0,
-       0,     0,   511,     0,     0,   512,     0,     0,     0,   514,
-     515,     0,     0,     0,     0,     0,     0,   516,     0,     0,
-     517,     0,     0,     0,   518,   519,   520,   521,   522,   523,
-     524,     0,     0,     0,     0,     0,     0,   525,     0,     0,
-     527,     0,   529,     0,     0,   530
+       0,     0,     0,     0,     0,   525,     0,     0,   527,     0,
+     529,     0,     0,   530
 };
 
 static const yytype_int16 yycheck[] =
@@ -11486,502 +11499,502 @@ static const yytype_int16 yycheck[] =
     1288,   550,   551,   768,  1382,   554,   555,   556,   583,  2366,
      559,   560,   561,  2791,  3075,   928,   929,  1711,   593,  2736,
     2719,  2378,   720,  1122,   567,  1310,   567,  3295,  1354,  2859,
-    3249,  2748,  2749,  1318,   109,  1646,   865,  2507,  1122,  2974,
+    2507,  2748,  2749,  1318,   109,  1646,   865,  3089,  1122,  2974,
     1319,  1320,  3581,   109,  1323,  1324,  1325,  1326,  1623,  1328,
-    1329,  1330,  1331,  1332,  1333,  1334,  1335,   961,   601,  3089,
-     601,  1225,   702,  1453,  1079,   705,  1688,  1433,  2266,   135,
+    1329,  1330,  1331,  1332,  1333,  1334,  1335,   961,   601,   702,
+     601,  1225,   705,  1453,  3116,  1433,  1688,  1079,  2065,   135,
     2266,   137,  2468,   139,   140,   141,   613,  1971,  2268,   616,
-    1579,  2065,  1678,  2903,  2379,   146,  3116,  3118,  2342,  2757,
-    2725,   157,   151,   151,  2116,   151,   151,   137,  2699,   139,
-    1599,  3861,  3543,    18,  2900,  2901,  2342,  3448,  1607,  1608,
-    2906,  2634,  2908,  3108,  3447,    13,  1738,    17,    18,  3560,
-    2643,    20,  3250,    13,    17,    18,   824,   825,   826,  1035,
-    2759,    17,    18,    54,  2763,    20,  3373,    20,   836,  1154,
-      21,  1194,  1195,  1196,  2342,  2774,  2342,  3381,    27,  2866,
-    2867,    75,  1061,   132,  1060,  3720,  3914,  2786,  1211,    13,
-      63,    31,   116,   132,    37,    18,    83,  2748,  2749,    39,
-      17,    18,    20,    20,    33,    66,    17,    18,    17,    18,
-     201,    27,  1108,  1109,   183,   164,    66,   152,   132,  2332,
-     130,  1244,    17,    18,  1247,   164,    83,    69,    17,    18,
-     326,  2105,    17,    18,    22,  2079,   118,   111,  3620,   196,
-      54,    39,    13,  2873,   277,  1268,  1269,  3225,    73,  1272,
-     164,  2464,    35,    17,    18,  3666,  1152,    34,    17,    18,
-      39,  3662,    17,    18,   204,    37,  1289,  1290,    17,    18,
-      46,    22,    73,   278,    62,    63,   371,   288,  4145,   164,
-     237,  2258,   387,   212,   381,    59,    37,   138,    22,  3218,
-    4354,  2248,    17,    18,  3646,   164,   132,   375,   471,  3228,
-      51,   201,   405,    37,   258,   261,    17,    18,     9,    89,
-     150,    62,    63,    17,    18,  2866,  2867,    51,    17,    18,
-     404,    67,   201,    17,    18,   218,    61,    84,    62,    63,
-      17,    18,   237,   402,   280,   708,   197,    50,   201,   376,
-     457,   486,   252,   846,    12,   201,    13,   172,  3857,   368,
-     869,   251,   278,  2978,    12,   284,  3357,    22,   278,   241,
-      83,   164,   408,   437,   133,   565,   408,   404,   565,    17,
-      18,   284,    37,    17,    18,   232,   158,   234,   389,    13,
-     201,   446,   387,   928,   929,   597,    51,   932,   432,    17,
-      18,    21,  1688,  2681,   243,   530,  2752,    62,    63,  3062,
-      17,    18,  1136,  1137,   781,    37,   263,   144,   136,   453,
-     556,    62,    63,   559,   585,    90,   313,    72,   556,   964,
-     657,   559,    73,   160,   222,   223,   803,   243,   665,   564,
-     567,    63,  4160,   254,   237,   572,  4166,   112,   183,   816,
-     817,    75,  1738,   222,   223,   489,   658,   151,   183,  1183,
-      21,  3114,   187,   634,    72,   136,   369,   657,   275,   428,
-     657,   387,   527,   198,   601,   133,   512,   387,   613,   614,
-     512,   254,   321,   976,  3099,   380,   622,   295,   432,   419,
-     147,   565,   361,  1357,   253,    17,    18,   387,   861,  1224,
-     191,  1626,   665,   367,   277,  1111,  1525,  1113,  1114,  1115,
-    1116,   198,  3068,  2060,  1239,   321,   170,   463,   138,   232,
-     546,   234,   657,   259,  1543,   295,   386,   294,   592,   389,
-     623,   557,   164,   386,   434,   198,   389,  1401,   565,   475,
-     386,   567,   568,   389,   370,  3936,   572,   537,  2640,   575,
-     263,   313,   659,   680,   153,  3927,   557,  1054,  3930,  3931,
-    3187,  1350,   368,   589,   659,   650,   417,  2845,  1166,   494,
-     590,   657,   491,   388,  1174,   601,   247,   138,   665,   386,
-     198,   462,   389,   609,   164,   386,   576,   386,   389,   355,
-     389,   659,    87,   619,  2752,  3550,  2752,   388,   657,  3554,
-     440,  2114,   597,   367,   196,   330,   629,   386,  4662,  4108,
-     389,   386,  3954,   639,   389,   624,    17,    18,  3295,  1678,
-    3182,    17,    18,   613,   432,  3520,   616,   468,   511,   559,
-     620,  1166,   386,  1497,  1678,   389,   662,   386,   664,   287,
-     389,   386,   506,   543,   389,   237,   278,   386,   607,  3617,
-     389,  3082,  3083,  3084,   680,  1941,   691,  1382,   462,  2873,
-    2810,   608,   455,  3558,  1322,   691,  2248,   693,   441,  1201,
-    1202,   386,   504,  1537,   389,  3352,   702,  2873,   659,   705,
-    1919,  1339,   708,  2065,  2266,   386,   183,   454,   389,   715,
-     504,  1930,   386,   428,  1933,   389,  1228,   386,   278,    70,
-     389,  3620,   386,   428,  1236,   389,  1238,  1573,   622,   386,
-    1576,   541,   389,  3632,  1580,  2873,  1582,  2873,  1250,  1251,
-    1252,   598,    11,  2557,   663,  2694,  1258,  2065,  2187,  3648,
-    3649,   576,   562,  3353,   663,   541,  1605,   864,  4139,  1752,
-      17,    18,   768,   504,  1610,  1611,  1612,   598,   386,  1724,
-    2332,   389,   386,   616,   584,   389,   631,   576,  1358,   663,
-    2342,  4162,  1409,   576,   578,  2868,   609,   639,   386,  2633,
-    4627,   389,  2975,   657,    17,    18,  1718,   565,   659,   386,
-     640,  1667,   389,  2750,   631,  3979,   645,   640,   663,  1913,
-    2737,   621,    17,    18,   640,  3533,   565,    17,    18,   657,
-     645,  4173,   662,   829,   663,   831,   659,   657,   609,   650,
-     546,  3352,   658,   835,  2349,  4012,  4341,   595,   624,  4537,
-     659,  4539,  4540,  2040,   657,  1838,  4127,  4120,   636,  1842,
-     856,   857,   858,   640,   860,   861,   862,   645,   864,   640,
-     866,   640,   589,   863,  1498,  4138,   872,   867,  1448,  1352,
-    3938,  1498,   659,  1866,   595,   640,   628,   857,   659,   658,
-     659,   640,   862,   630,   386,   640,   866,   389,  1468,  3215,
-     663,   595,    75,   586,    17,    18,  4277,  1374,   619,   658,
-     659,    17,    18,   909,   659,   603,   640,   486,  1015,   924,
-    1017,   640,   537,  1020,  1021,   640,   609,  3887,   924,  1688,
-     926,   640,  2556,   925,   930,   659,  2645,   468,  3899,  1036,
-     659,  2458,  2995,   658,   659,   204,   657,  2886,   621,  2888,
-     659,  3876,  3877,  1577,   659,   640,   136,   962,   631,   537,
-    1577,   428,   603,   968,   659,   961,   962,  4655,  4656,   640,
-     595,  4659,   968,   658,   659,  3540,   640,  1108,  1109,  1738,
-    1117,   640,  3230,  1559,    54,  2526,   640,   658,   659,  4679,
-     615,   616,  2248,   640,  3526,   955,  3049,   198,   631,   658,
-     659,   625,   659,  3529,   658,   659,    17,    18,  3256,  3257,
-    3607,  1478,   659,  1009,   295,   386,   481,  3767,   389,  1015,
-     386,  1017,   277,   389,  1020,  1021,  4135,   629,   154,  1646,
-      17,    18,   640,   237,  2973,   204,   640,    67,  3927,  3765,
-    1036,  3930,  3931,   379,  3106,  3107,   608,  3578,  3774,  4628,
-     658,   659,   640,  3942,  1527,   659,  1527,  4747,   377,    17,
-      18,   663,  4750,   640,    17,    18,    49,   247,    17,    18,
-     658,   871,  1648,  1649,  3285,   161,  2332,  3642,  3285,   629,
-     432,   658,   659,  1079,  1660,   171,  2342,  3215,   657,  3215,
-    1682,   432,   661,   204,  1054,   377,  1056,  3550,  3696,    17,
-      18,  3554,    91,   258,    17,    18,   377,   254,  1104,  4069,
-      27,  1103,    24,   663,   332,  1105,  1106,  3940,   401,  1110,
-     202,   148,  1118,  1699,   226,  2774,  4087,   274,  1117,  1117,
-     486,  1117,  1117,  2122,   134,  3536,   466,  1142,  3697,   386,
-     607,  1836,   389,    17,    18,  3948,  1142,   377,   640,   199,
-     119,   432,  4523,   122,   379,  1151,    17,    18,  1154,  3384,
-     419,    17,    18,   963,  3078,  3285,   449,   659,  2629,  3353,
-    2631,  2632,  1645,   386,  2631,  2632,   389,  2182,  1174,  1184,
-    2014,  1151,  2708,  2212,  3136,  2737,  2703,  3353,  1184,   133,
-    3014,   386,   659,   241,   389,  2404,   386,   486,  2212,   389,
-    2752,   186,   377,  2208,  1301,    17,    18,  4030,   372,   377,
-    2351,  3961,  3962,  1718,  2048,  2049,    27,  4588,  3968,  3545,
-     355,  3971,  3972,  4692,  4055,  3353,  2743,  3353,  1224,   259,
-      17,    18,    17,    18,   284,  3436,   219,  3963,  3988,  3440,
-    3966,  1338,   377,  1239,    17,    18,    17,    18,   421,   166,
-     419,   455,  4002,  2573,  4833,  1352,  4006,  4007,  4008,  4009,
-    4010,    17,    18,   175,  2479,   391,  2695,   526,  2564,   640,
-    3996,  3997,  3998,   386,   640,   455,   389,   432,  4004,   631,
-     386,  2485,  2486,   389,  4173,  4011,  1383,  4144,   659,   495,
-      17,    18,  1288,   659,   495,   295,  4153,   367,   377,   385,
-     636,   657,   129,   146,  1932,  1301,   486,   289,   419,   253,
-     565,    17,    18,    13,   478,    13,  2868,   344,   400,   369,
-    1312,  2873,   581,    17,    18,  2842,   243,   486,  2273,   486,
-    2847,    17,    18,   363,   232,   665,   234,  2173,  2855,  2856,
-     659,    55,  1338,  3232,  2861,   563,   108,  1343,  2594,   166,
-    2186,   657,    66,  2189,  2190,   636,  1352,  3246,  3247,  1456,
-    2569,  1357,  1358,   622,    17,    18,   193,   349,   657,  3258,
-    2065,  4569,   590,   495,   629,   386,   659,   659,   389,   243,
-    2885,  4184,  1952,   556,  2478,   370,  1382,  1383,   659,  4498,
-     559,  4500,   462,   640,  2488,   222,    17,    18,   129,   386,
-      17,    18,   389,  4234,   321,  1401,  4237,   580,  4606,  4607,
-    3034,   636,   659,  1409,  1374,   526,  1421,  3356,  1414,   480,
-    1416,   503,   219,   603,   494,  1421,   243,   640,   386,   659,
-    1527,   389,   243,   386,  4903,   537,   389,   386,   427,   645,
-     389,  1437,    17,    18,   645,   640,   659,   147,  4646,   147,
-     640,   368,  1448,   186,   651,  2701,   129,    17,    18,   665,
-    1456,   658,  1422,   565,   659,   292,  1471,   264,   386,   659,
-     581,   389,  1468,   386,   609,  1471,   389,   657,   564,    17,
-      18,  2737,  2052,  2701,   659,  3026,  3027,  3028,   331,  2248,
-    4450,   659,    17,    18,  1961,   486,   479,   533,   657,   529,
-     657,  1497,  1498,   965,   368,  1501,   556,    17,    18,   559,
-     321,   622,   386,   559,  1510,   389,   546,  2145,  1478,  1650,
-     193,    17,    18,   645,  1520,   386,   224,   640,   389,   657,
-     386,  1527,  1528,   389,   640,  4295,    17,    18,    17,    18,
-    4531,  1537,  4525,  2548,   371,  3945,   659,  4176,  1645,  4178,
-     245,   368,   658,  1549,  1550,   537,   134,   565,  1563,   254,
-    1565,   292,  2136,  4712,  1560,  1561,  1562,  1563,  1564,  1565,
-     284,  1668,   486,  2332,   386,  3224,  3225,   389,  1574,  1575,
-     659,  1577,  4447,  2342,   367,  1581,    17,    18,  1685,   237,
-    1560,  1561,  1562,  2066,  1564,  2066,    46,  1602,   583,   386,
+    2342,  1579,  1678,  2903,  2379,   146,  2116,  3118,  2266,  2757,
+    2725,   157,   151,   151,  3543,   151,   151,   137,  2759,   139,
+    2699,  1599,  2763,  2342,    13,  3861,  2900,  2901,  3447,  1607,
+    1608,  3560,  2906,  2774,  2908,  2634,  1738,  3108,  3448,    20,
+    3218,    18,  3250,    13,  2643,  2786,   824,   825,   826,  1035,
+    3228,    17,    18,  3914,    17,    18,  3373,    54,   836,    17,
+      18,    21,  1154,    17,    18,    75,  2342,  3620,    20,  2866,
+    2867,    18,    50,    22,  1060,    37,  4145,    17,    18,    22,
+      20,    31,    20,  3720,  2342,  2105,  2873,  2748,  2749,    39,
+    1194,  1195,  1196,  1061,    37,   118,    33,    39,    63,  2248,
+    1108,  1109,   116,  2258,    21,  2332,   136,  1211,    51,    34,
+      67,    91,    83,    62,    63,  3381,    17,    18,  3068,    62,
+      63,   198,    27,   201,    39,  2464,   196,    49,   132,   204,
+    3225,    27,  4135,   158,    87,    17,    18,  3666,    66,    70,
+    1244,   204,   243,  1247,  1152,   326,    73,    73,    17,    18,
+     277,    20,    17,    18,    37,   278,    59,   212,    17,    18,
+     164,  4354,   379,    84,  1268,  1269,    46,   237,  1272,    12,
+      17,    18,   381,   152,   218,   377,    13,   402,   138,   371,
+     201,   277,   375,   164,  3646,  1289,  1290,   164,  3948,   237,
+      66,  2681,   405,   261,  4628,    89,    17,    18,   457,   379,
+     150,   313,    83,    17,    18,  2866,  2867,    20,    17,    18,
+     471,    61,    22,    17,    18,   437,   376,   247,   241,   280,
+     846,   138,   237,   146,    13,   377,   132,    37,   495,   284,
+     251,     9,    17,    18,    13,    21,   408,    13,  3857,   132,
+     869,    51,    17,    18,   404,   172,  3357,   202,   965,    17,
+      18,   278,    62,    63,   367,   408,   372,    13,   164,    17,
+      18,   446,   502,    13,   387,   258,   537,   368,   586,   151,
+     166,   164,   530,   928,   929,    17,    18,   932,   597,  3062,
+     222,   223,  1688,   631,   136,   241,    17,    18,   632,   633,
+      55,    17,    18,    17,    18,   313,   631,   219,  2079,  4160,
+     241,    66,   259,   198,   585,     9,   564,   222,   223,   964,
+     634,   164,  3436,   661,   659,   427,  3440,   661,    17,    18,
+     567,   197,   667,   264,   198,   572,   661,    17,    18,    33,
+    4166,  3114,  1738,   183,   447,   275,   201,   187,   243,    72,
+     512,   660,   527,    72,   419,   170,   617,   243,   198,   667,
+     976,   232,   138,   234,   601,  2845,   419,  2752,   147,   512,
+     387,   601,   478,    17,    18,   380,   387,  1084,   147,   294,
+     592,   147,   164,  1357,  3927,    17,    18,  3930,  3931,  1224,
+     647,  1626,   263,    69,   237,  1111,  1525,  1113,  1114,  1115,
+    1116,   147,   504,  2060,  1239,   463,  3082,  3083,  3084,  4833,
+     546,   295,   661,   643,  1543,   565,   667,   455,   331,    54,
+     623,   557,  3187,   191,   475,    75,   321,  1401,   495,   636,
+     386,   567,   568,   389,  4184,   321,   572,   537,   386,   575,
+     313,   389,   386,   680,   659,   389,   491,  1054,   565,   432,
+     541,  1350,  3620,   589,   287,   400,   386,   427,  1166,   389,
+     590,  1174,    17,    18,  3632,   601,   636,   153,   667,   661,
+     652,   388,   388,   609,   367,   462,   576,   511,   661,  4662,
+    3648,  3649,   368,   619,   597,   355,  2752,   201,   659,  3550,
+     330,  2114,   295,  3554,   559,   386,   278,  2640,   389,  4108,
+      17,    18,  3954,   639,  2752,  4498,   559,  4500,  3295,  1678,
+    3182,   432,   629,   613,   386,  3520,   616,   389,   468,   661,
+     620,  1166,   440,  1497,  1678,   494,   662,   386,   664,   284,
+     389,   386,  3617,   624,   389,    17,    18,   386,   481,   454,
+     389,  2873,   183,   629,   680,  1941,   691,  1382,   608,   386,
+    2810,   417,   389,  3558,  1322,   691,  2248,   693,   503,  1201,
+    1202,   468,    22,  1537,  2873,  3352,   702,   479,  4627,   705,
+    1919,  1339,   708,  2065,  2266,   386,  3353,    37,   389,   715,
+     647,  1930,   386,   603,  1933,   389,  1228,   386,   428,  3529,
+     389,    51,   386,   661,  1236,   389,  1238,  1573,  2737,   546,
+    1576,   541,    62,    63,  1580,  2750,  1582,  2873,  1250,  1251,
+    1252,   386,   455,   628,   389,  2694,  1258,  2065,   622,  2187,
+    4139,   386,   562,  2633,   389,  2873,   639,   864,   386,   432,
+    4173,   389,   768,   565,  1610,  1611,  1612,   598,   386,   576,
+    2332,   389,  1724,  4162,   584,  1358,  2975,  1605,   576,   576,
+    2342,  2868,  1409,   621,   386,   541,   595,   389,  1752,   659,
+     565,   616,   595,   631,   631,   386,  1718,   609,   389,  1667,
+     386,   665,   386,   389,   661,   389,   647,   504,   589,  1913,
+     659,   621,    17,    18,   640,  3533,  4537,   640,  4539,  4540,
+      17,    18,   640,   829,   665,   831,   640,   386,   665,   659,
+     389,  3352,   652,   835,  2349,  4012,   386,   659,   664,   389,
+     640,  4120,   660,  2040,  4341,   630,   660,   661,   609,   647,
+     856,   857,   858,  3979,   860,   861,   862,  4127,   864,  4138,
+     866,   661,   598,   863,  1498,  1448,   872,   867,   624,  1352,
+    3938,  1498,   386,   148,  1838,   389,   631,   857,  1842,   640,
+    3230,   578,   862,    27,   386,  1468,   866,   389,  4277,  3927,
+     631,   603,  3930,  3931,   504,  3887,   661,  1374,   640,   665,
+     661,   421,  1866,   909,  3942,   661,  3256,  3257,  1015,   924,
+    1017,   640,   665,  1020,  1021,   640,  2557,   428,   924,  1688,
+     926,   640,  2556,   925,   930,   595,  2645,   661,  3899,  1036,
+     486,  2458,  2995,   640,  4655,  4656,   661,  2886,  4659,  2888,
+     625,   660,   661,  1577,   537,  3876,  3877,   962,   537,   619,
+    1577,   661,   665,   968,   661,   961,   962,   462,   504,   640,
+    3215,   386,   968,   636,   389,  3540,   640,  1108,  1109,  1738,
+    1117,   640,  3607,  1559,   647,  2526,   640,   629,   226,   660,
+     661,   466,  2248,  4679,  3526,   955,  3049,   661,    54,   659,
+    3536,   660,   661,    17,    18,   640,   660,   661,     6,   386,
+     295,  1478,   389,  1009,    11,   640,   132,  3767,   130,  1015,
+     183,  1017,   640,   665,  1020,  1021,   661,   387,   134,  1646,
+      17,    18,   640,    20,  2973,   660,   661,    67,   164,  4750,
+    1036,  3765,   660,   661,   386,    12,   556,   389,   640,  3578,
+    3774,   111,   660,   661,  1527,   708,  1527,    17,    18,   640,
+    3662,  4747,    60,   288,   640,   377,   640,   108,   660,   661,
+     580,   871,  1648,  1649,  3285,   404,  2332,  3642,  3285,   344,
+     661,   154,   377,  1079,  1660,   661,  2342,  4069,   659,  3215,
+    1682,   640,    17,    18,  1054,   401,  1056,   377,  3696,   377,
+     640,  3550,   480,  3106,  3107,  3554,  3697,  3215,  1104,   243,
+     432,  1103,   661,   659,   533,  1105,  1106,   663,   183,  1110,
+      83,   661,  1118,  1699,  4055,  2774,  4087,    24,  1117,  1117,
+     559,  1117,  1117,  2122,   258,   377,   640,  1142,    17,    18,
+     252,  1836,   659,   449,  4523,  4173,  1142,   432,   640,    27,
+     119,  3078,   278,   122,   152,  1151,   289,   661,  1154,  3384,
+     661,  3353,   486,   963,   389,  3285,   133,   368,  2629,   661,
+    2631,  2632,  1645,   129,  2631,  2632,  3136,  2182,  1174,  1184,
+    2014,  1151,  2708,  2212,  3353,  2737,  2703,   321,  1184,   295,
+    3014,   386,   667,  4665,   389,  2404,   332,    83,  2212,   386,
+    2752,   136,   389,  2208,  1301,    17,    18,   204,   861,  4588,
+    2351,  3961,  3962,  1718,  2048,  2049,   349,    13,  3968,  3545,
+     486,  3971,  3972,  4692,   134,   640,  2743,  3353,  1224,   259,
+      17,    18,    17,    18,   368,   201,   565,   193,  3988,  3963,
+     166,  1338,  3966,  1239,   196,  3353,   661,    17,    18,    17,
+      18,   486,  4002,  2573,   370,  1352,  4006,  4007,  4008,  4009,
+    4010,    17,    18,   640,  2479,   428,  2564,  2695,   133,   232,
+       0,   234,  3996,  3997,  3998,   595,    17,    18,   175,    75,
+    4004,  2485,  2486,   631,   661,   237,  1383,  4011,    17,    18,
+      17,    18,  1288,   186,   486,   615,   616,   292,   640,   537,
+     263,   661,    13,  4234,  1932,  1301,  4237,   367,   432,   631,
+     164,   367,   247,   661,   224,    35,  2868,   243,   391,   661,
+    1312,  2873,   434,    17,    18,  2842,  3232,   565,    17,    18,
+    2847,  2273,   557,   363,  3936,   659,   292,  2173,  2855,  2856,
+    3246,  3247,  1338,   186,  2861,   237,   115,  1343,  2594,   661,
+    2186,   636,  3258,  2189,  2190,   661,  1352,   243,   136,  1456,
+    2569,  1357,  1358,   428,   245,   243,   661,   365,  4840,  4841,
+    2065,  4569,   386,   254,    44,   389,   371,   136,   495,  1952,
+    2885,   661,    52,   661,  2478,   295,  1382,  1383,   253,   654,
+     655,   656,   657,   659,  2488,   361,    17,    18,   129,   386,
+      17,    18,   389,   295,   537,  1401,   462,   541,  4606,  4607,
+    3034,    17,    18,  1409,  1374,   371,  1421,  3356,  1414,   661,
+    1416,   284,   419,   624,   659,  1421,   386,   563,   663,   389,
+    1527,   543,   414,   431,  4903,   433,   147,   647,   494,    17,
+      18,  1437,   368,   321,   607,   640,   506,   161,  4646,    17,
+      18,   129,  1448,   640,   590,  2701,   225,   171,    17,    18,
+    1456,   386,  1422,   278,   389,   660,  1471,   659,  4450,   247,
+      17,    18,  1468,   647,   661,  1471,   362,   370,   486,  2052,
+    4525,  2737,   368,  2701,   174,  3026,  3027,  3028,   247,  2248,
+     624,   129,    17,    18,  1961,   740,   741,    17,    18,   529,
+     586,  1497,  1498,   629,   198,  1501,   369,   386,    17,    18,
+     389,   392,   201,   224,  1510,   193,   546,  2145,  1478,  1650,
+     455,   364,   365,   609,  1520,    17,    18,   370,   215,   526,
+     647,  1527,  1528,    37,   254,  4295,   428,   486,  3945,   665,
+    4531,  1537,   607,  2548,   222,  2978,   129,  4176,  1645,  4178,
+     667,   486,   438,  1549,  1550,   193,   133,   277,  1563,    63,
+    1565,   292,  2136,   565,  1560,  1561,  1562,  1563,  1564,  1565,
+     815,  1668,   387,  2332,   386,  3224,  3225,   389,  1574,  1575,
+    3940,  1577,  4447,  2342,   581,  1581,    17,    18,  1685,  4634,
+    1560,  1561,  1562,  2066,  1564,  2066,   661,  1602,   647,   386,
      569,   386,   389,   572,   389,  1575,  1602,   637,  4368,  4369,
-    1707,  1581,  2868,   386,   599,   386,   389,  2873,   389,   292,
-    1580,   313,  1084,   129,   541,   652,   653,   654,   655,   640,
-     386,   364,   365,   389,  3095,   537,  2204,   370,  4170,  2215,
-     371,  3580,   191,  2219,  2220,   129,   224,   295,   659,  1645,
-    1646,  4634,     0,   640,    13,   568,   664,   129,   241,   386,
-     495,  4665,   389,  3215,   447,  4373,   657,  1672,   414,  2503,
-     661,   658,  1668,  1669,  1670,  1671,  1672,   541,  2865,  2708,
-     386,   264,   640,   389,  1380,  2674,   215,   640,   164,  1685,
-     645,   640,   386,   279,  2708,   389,   282,   392,   371,  2204,
-     386,   659,    13,   389,  1709,   155,   659,   624,   645,   193,
-     659,  1707,  1708,  1709,  3231,   617,  3233,   295,   267,    17,
-      18,   193,   640,  3240,   541,   215,  3078,   640,  1724,   133,
-    4359,  1691,   261,   386,    45,   427,   389,  3254,   222,   586,
-     565,   659,   659,   657,  3261,  3262,  2887,  3112,   232,  1745,
-     234,  1747,    17,    18,   586,   631,  3645,  3274,  3275,  3276,
-     624,   588,   609,  3280,  3281,   386,   640,  4054,   389,   386,
-    3078,   565,   389,    17,    18,     9,  2991,   174,  2612,   640,
-     428,    17,    18,   659,   640,   659,   292,    98,   147,    13,
-    2702,    13,   103,   645,    17,    18,    17,    18,   659,    33,
-     245,  3353,   658,  3320,  3321,  3322,  1937,   624,   292,   254,
-     645,   386,   504,    25,   389,    17,    18,  3063,   367,  4351,
-     292,   502,   520,   521,  2658,   523,   386,   525,   640,   389,
-     665,   658,   657,   665,  2823,    27,  4840,  4841,    17,    18,
-    1836,  1837,   659,   429,   542,  3063,   665,   659,   386,  4697,
-     583,   389,  4700,   640,  2482,   640,  1953,   588,   387,  1555,
-    1556,   386,    17,    18,   389,   371,   599,   640,  3055,   640,
-     664,  3495,   659,  2375,   659,   628,   386,    13,  2380,   389,
-     609,   565,    17,    18,   640,    20,   659,   371,   659,   495,
-     386,    83,  2394,   389,    18,    17,    18,     6,   657,   371,
-     616,  1897,   658,   619,  2035,   386,   665,   386,   389,  2526,
-     389,   198,  2529,   640,   201,   588,   215,    17,    18,  2831,
-     601,   455,  4569,   147,  3441,   147,  2428,    17,    18,   658,
-     659,   658,    17,    18,   640,  1940,    17,    18,    17,    18,
-      17,    18,   235,  1939,  1940,   256,   640,   392,    17,    18,
-    3767,    60,   658,   136,   640,   386,  1952,  1953,   389,  4606,
-    4607,   586,   643,   658,   658,    17,    18,   495,  3617,  2066,
-    1966,   142,   658,  4821,   235,  1971,    17,    18,  2737,    13,
-    1976,  2549,   115,  1979,  2081,  1990,  1991,   640,  1993,  2613,
-      17,    18,   184,  2495,  1990,  1991,  2613,  1993,  2566,  4646,
-     287,  1961,   219,  4632,  4633,   658,  3282,    17,    18,    17,
-      18,   147,  2017,   546,  3260,   215,  2021,   129,  2014,   640,
-     331,  2017,  2119,   640,   557,  2021,   381,  2500,   292,  2500,
-      17,    18,   251,   198,    83,   556,  3312,   658,   559,   645,
-     665,   658,  3260,   152,  2549,  2050,  2051,   264,  3697,    17,
-      18,   243,  2048,  2049,  2050,  2051,  2052,    17,    18,   665,
-    2565,  2566,    17,    18,   247,   640,  2071,  2072,  2073,  2065,
-    2066,    17,    18,    17,    18,  2071,  2072,  2073,    17,    18,
-     640,   193,   588,   658,   395,  2081,  2046,  2679,   386,    50,
-    3573,   389,   225,   201,   740,   741,   609,  3353,   658,  2104,
-    2096,   622,   640,  3075,   588,  2679,   105,   371,  2104,  2868,
-     222,    17,    18,   147,  2873,   640,   588,   645,  2114,  3031,
-     658,   386,   287,  2119,   389,   614,    44,    17,    18,   321,
-     640,   632,   633,   658,    52,   364,   365,   665,   658,   659,
-    2136,    83,   386,  3148,   640,   389,   659,   494,   658,   505,
-     386,  3968,   665,   389,  3971,  3972,  3360,   295,   659,   640,
-    2156,   640,   658,   386,   556,   386,   389,   559,   389,   815,
-     362,  3988,  3161,    17,    18,   658,   368,   658,   631,   658,
-     292,  3546,  2172,  2188,   386,  3389,  3390,   389,   631,  4006,
-     224,  2151,  2188,  2153,   243,   651,   505,  2702,  3041,  3042,
-    3043,  3044,   658,   514,   658,   659,   659,   386,  3412,   640,
-     389,   486,   136,  4344,   606,   244,   659,  4348,    17,    18,
-     609,  2217,  2218,  3057,    81,  2221,   663,   658,   658,   659,
-     876,   386,   261,   201,   389,  1402,    17,    18,  1405,    20,
-     235,  1408,   553,  3430,   273,   244,    17,    18,  2218,    20,
-     492,   386,   658,   659,   389,   241,   365,    17,    18,   371,
-     393,   213,   261,   241,   386,   241,  2271,   389,  2836,  2366,
-     659,   404,   455,  2233,   273,  2271,   665,  2273,   411,   299,
-     300,  2378,  2242,  2243,  3530,    34,   386,  1071,   559,   389,
-     232,   665,   234,  1077,  1078,   315,   386,   627,   628,   389,
-     630,   386,   632,   486,   389,   386,   559,   386,   389,   386,
-     389,   201,   389,   362,    18,   658,   659,   386,  3154,   368,
-     389,   263,   431,   247,   433,   604,  2831,   658,   659,   658,
-     659,  2836,   526,  3579,   386,   174,    85,   389,    18,   659,
-     197,   657,   640,   658,   659,   386,   158,  2343,   389,   541,
-    2346,   658,   659,  3629,    20,     6,   355,   201,   576,   386,
-     658,  3579,   389,   162,   658,   659,   318,   319,    17,    18,
-    2366,   323,   324,   325,  2471,   640,   386,   510,   386,   389,
-     657,   389,  2378,  3078,   241,   658,   659,  3663,  4519,   438,
-     658,   659,   659,   658,   657,  4526,   640,   657,  3674,   386,
-     657,  3677,   389,  2500,   640,  2502,  3318,   264,    27,  3026,
-    3027,  3028,   657,   162,   658,  4468,   657,   640,   386,   640,
-     603,   389,   658,   179,   444,   445,   386,   658,   659,   389,
-      61,   386,   624,  4644,   389,   658,  4643,   658,   640,   105,
-     386,   470,   386,   389,   148,   389,   568,   386,   658,   659,
-     389,   657,  3639,   658,   659,   565,   658,   665,  3082,  3083,
-    3084,   640,   658,   659,    83,  3082,  3083,  3084,   148,   658,
-     659,   470,   657,   606,   657,  2471,   588,   657,  1124,   658,
-     386,   658,   659,   389,  2986,   640,   520,   521,   522,   523,
-     524,   525,   541,   657,  3086,   657,   386,   657,   164,   389,
-    2496,    62,    63,   658,  2500,   640,  2502,  2503,   542,   658,
-     659,   158,   159,   542,   658,   659,   658,   659,   640,   658,
-     659,  4038,   179,  4040,  2621,  4042,  3031,   568,   658,   659,
-    2526,   455,   198,  2529,  3523,   556,  3041,  3042,  3043,  3044,
-     640,  3165,   386,   542,   593,   389,   658,   166,  3165,   215,
-     640,   657,   183,   657,   220,   640,   187,  3562,   658,   640,
-     417,   640,   486,   640,   657,   184,   148,   198,   658,  4086,
-    3575,   640,  2568,   658,   657,   624,   541,   658,   244,   658,
-     418,   658,  4043,   657,    39,   251,  4043,   386,   640,   658,
-     389,   658,   659,   657,  3353,   261,   657,  4751,  2594,   640,
-     658,   659,  2598,   127,   657,   386,   658,   273,   389,  3750,
-    3856,   657,   278,   640,   657,   386,  2612,  2613,   389,   658,
-     659,   287,  4753,  4754,   243,  2621,   386,  2724,  2725,   389,
-     640,   658,   640,  2629,   657,  2631,  2632,   148,  3856,   474,
-     344,   658,   659,  3219,   658,   659,  3238,  3223,   658,  4803,
-     658,   657,  4806,   640,   657,    66,  2652,    12,  2654,   609,
-     658,   659,  2658,   662,   344,   414,   129,   122,   657,   132,
-      81,   658,   640,   657,   129,  4324,  4325,   658,   659,   603,
-     640,   474,    93,  2679,  4838,   640,   657,   436,   657,   355,
-    3785,   657,  2652,   657,   640,  2656,   640,   384,   658,   330,
-     657,   640,   321,   658,  3950,  2701,   230,   658,   659,   658,
-     659,   377,   658,   377,   658,  2711,  2721,  2722,   576,   658,
-    2716,   387,   557,   472,   657,  2721,  2722,   562,  2724,  2725,
-     193,   186,  3950,   657,   640,   658,   659,   657,   193,   377,
-    4793,   657,   129,   362,   657,   132,  2716,    35,   657,   368,
-     640,   659,   658,   419,   658,   659,   658,   659,  4467,   222,
-     115,   657,   344,    37,   657,  3244,   657,   222,   223,   657,
-     297,   606,   299,   300,   657,  4292,  4293,  4294,   133,  2739,
-    2740,  2741,  2742,   532,  2744,  2745,   197,   622,   315,    63,
-     658,   659,   203,   497,   498,   657,   640,   428,   658,   659,
-     162,    20,   658,   659,   470,   657,   193,  2803,   657,    28,
-     334,   658,   659,  3318,   338,  4019,   657,   497,   498,   174,
-     657,   345,  2818,   237,   658,   659,  4207,  4208,   494,   292,
-     241,  4183,   129,   344,  2830,   222,   657,   292,  2834,  4220,
-     657,   640,   657,  4331,   657,   119,  4227,   657,   122,   204,
-     657,  4904,   657,   264,    73,   657,   130,  4238,  4239,   640,
-     148,   658,   659,   657,    83,   657,  2997,   148,   115,   640,
-     658,   659,   657,    63,   657,   149,   542,   657,    83,   657,
-     640,   658,   659,  2843,  2844,   657,  2846,   657,  2848,  2849,
-    2850,  2851,  2852,  2853,  2854,   486,   193,  2857,  3400,   657,
-    2860,   356,   426,   494,  2864,   292,   658,   659,   371,  3043,
-    3044,   366,  3536,   132,   657,   370,   371,   444,   445,  3536,
-     658,   659,   541,   657,  3021,   222,   657,   174,  1991,   119,
-    1993,   597,   122,   288,   657,  3978,  3979,   658,   659,  3982,
-     130,   658,   659,   609,   648,   649,   650,   651,   652,   653,
-     654,   655,   657,  3455,   512,   658,   659,   204,  4001,   149,
-     484,   166,   657,   629,  4007,   631,   254,   657,   648,   649,
-     650,   651,   652,   653,   654,   655,   658,   659,   252,   645,
-    3572,   658,   659,   657,   371,   657,   497,   498,   207,   277,
-     401,  3088,   658,   659,   657,   292,   662,   663,  3572,   658,
-     659,   657,   168,   657,   194,   624,   417,   657,  2071,  2072,
-    2073,  3488,  3489,   232,    52,   234,   658,   659,  3014,   663,
-    3016,  4064,   613,   614,   658,  3021,   129,   666,  3033,  3025,
-    3026,  3027,  3028,   658,   659,   658,   659,  3033,   243,   205,
-     659,   658,   659,  3619,  3040,   264,  3622,  3623,   289,  4401,
-    1276,  1277,  3831,  3832,    52,   659,   344,   384,   377,   201,
-    3056,  3057,   252,   344,   419,   377,   657,  3063,   650,   651,
-     652,   653,   654,   655,   371,   480,   364,   365,   597,    50,
-     278,    66,  3078,   357,   129,   201,  3082,  3083,  3084,   652,
-     193,   257,  3088,  4302,   494,   665,    81,    17,    18,  3095,
-     173,  4589,   626,   269,   515,   657,   505,   198,    93,   537,
-     565,  4206,   556,   537,   569,   512,   289,   572,   642,   222,
-     198,   165,   659,  4640,  3120,   588,  4221,    92,   583,   659,
-     378,   552,   658,   588,   164,   132,   591,   492,   649,   650,
-     651,   652,   653,   654,   655,   364,   365,   664,   193,   118,
-     129,   370,  3249,   441,     6,   383,   117,   362,   377,   129,
-    3120,     4,   132,   368,   354,   485,  4353,   357,   622,  3165,
-    4213,   526,   419,  3178,  3170,   664,  3181,   222,   254,  4222,
-     659,   401,  3178,    59,   162,  3181,  3182,   598,  4231,   292,
-     447,   659,   358,  4236,   665,   650,   651,  4109,   417,    73,
-    3170,   588,   557,   123,   124,   125,   126,   127,    13,   497,
-     498,   628,   197,   658,   193,   658,   497,   498,   203,   147,
-    4466,   518,  3218,   193,   659,   513,    10,   665,   502,   658,
-    3229,  3227,  3228,   438,   665,   658,  3235,   657,  3234,   658,
-     277,   377,    28,   222,   434,   166,   664,   292,  4466,   665,
-      39,   115,   222,  3249,  3250,   289,   241,   289,   289,  3255,
-    3259,   289,    52,   289,  3260,  3270,  3265,   622,   371,  3837,
-     289,   490,  3271,  3272,  3270,   659,  3236,  3237,  4283,   264,
-     659,   645,  4469,   556,   657,   235,  3282,    73,   231,   284,
-     659,   588,   201,  3289,  3290,   294,   663,    83,   572,  3295,
-     402,   659,   659,   666,  3264,   576,   576,   227,   228,   229,
-     230,   401,   559,   292,   576,   659,  3312,   645,   198,   659,
-     629,   603,   292,   254,   659,   659,   371,   601,   665,    73,
-     659,   537,  3837,   122,   581,  3295,   541,   191,   129,   203,
-     129,   132,   254,   554,   652,   255,   132,   188,  3924,   105,
-     198,   205,  4264,   659,   173,  3351,   537,   509,   406,  3355,
-     648,   649,   650,   651,   652,   653,   654,   655,   179,   650,
-     651,   652,   653,   654,   655,   622,   115,   241,   129,   598,
-     204,   132,   572,   143,   659,   657,   174,   405,   593,   658,
-      56,   659,   371,  4488,  4489,   628,  4491,   186,   105,   608,
-     604,   371,   193,   659,   193,   201,   658,   658,   658,   658,
-     652,   601,   658,   267,   334,   269,   336,   337,   338,   624,
-     658,  4608,   658,   658,   201,   345,  4415,   659,    83,   651,
-     657,   222,   417,   222,   223,   174,    91,   658,   597,   495,
-     658,   658,   193,  3540,   658,  4691,   232,   659,   234,   659,
-     658,   658,   137,  3449,   659,   658,   658,  2229,  2230,  4554,
-     657,  3457,    86,   118,    88,   204,   386,   655,  4036,   389,
-     657,   222,   148,  4691,  2246,   657,   659,    83,   264,   645,
-     646,   647,  4669,  2255,  2256,   588,   657,   659,   244,   658,
-     565,    97,   659,   565,   565,   576,   233,  3457,   233,   242,
-     657,   292,   241,   292,   251,   261,   426,   361,   132,   659,
-    4553,   166,  4555,  3509,    12,   548,   657,   273,    13,  4431,
-     213,  4616,   201,  4618,  4619,  4437,   659,    81,   177,   565,
-     515,  4036,   156,  4522,  3530,  3531,   475,   244,  3534,   659,
-    3536,   292,   215,   588,  3540,  3642,   665,   496,   198,   288,
-     198,   657,   657,   275,   261,  2327,  2328,  2329,  2330,  4531,
-     659,   659,   416,   483,   484,   665,   273,   356,   192,  3565,
-    4779,   665,    20,   665,   201,   658,  3572,  3573,   364,   365,
-     371,   370,   371,  3579,   370,   427,   241,   602,  3584,   659,
-     494,   377,   659,  3598,   198,   659,   377,   377,   353,   355,
-     526,   526,  3598,   526,  4109,  4594,   485,   471,   526,   588,
-     526,   377,   198,   598,  3613,   131,   657,  3577,   588,   659,
-     371,   377,   568,   645,  3620,   645,   288,   604,   492,   645,
-     665,   417,  3624,  3629,  4880,   645,  3632,   645,   645,  4848,
-     645,   645,   105,   197,   645,  4891,  3642,   609,   355,  4895,
-    3646,   515,  3648,  3649,  4900,   645,   645,   105,   645,   645,
-     266,   645,  4880,   645,   645,   320,  3662,  3663,   344,   645,
-     377,   645,   645,  4891,   162,   414,   250,  4895,  3674,   645,
-     419,  3677,  4900,  3643,   339,   645,   645,   241,   645,   250,
-     658,   658,  3652,   665,    14,   559,   659,   645,   562,  3704,
-     658,   486,   658,   658,   490,  3701,   626,   362,  3704,  4306,
-     264,   658,   645,  3709,   470,   659,   164,   658,  3714,     7,
-     640,   641,   642,   658,   658,  3721,   576,   665,   665,   576,
-     576,   636,   471,  3729,   598,   659,   342,   284,    89,    50,
-    3736,   576,   606,   657,   657,   645,   657,   148,   196,   657,
-     198,  3721,   645,   492,   384,   201,   201,   201,   659,  4264,
-     659,   367,   177,   470,   261,   261,    50,   215,   390,   220,
-     341,   395,   220,   565,   258,   432,   565,  4872,   565,   371,
-     569,   244,   659,   572,   104,   335,   542,     7,   657,   237,
-     197,   645,   646,   647,   583,   377,   244,   588,   261,   588,
-     118,   118,   591,   251,    81,   401,   401,   401,   576,  4427,
-     273,   143,   598,   261,  3911,   439,   136,   557,   557,  4731,
-     262,   497,   498,   562,   430,   273,   262,   557,   401,   143,
-     278,   401,   152,    50,   401,   542,   450,   588,   403,   287,
-     663,   401,   581,   401,   401,   657,   215,   401,   657,   657,
-    3846,   657,   665,   254,   174,  3851,   657,   652,   178,   657,
-    3856,   650,   651,   417,   252,   252,   659,   606,  3828,   432,
-     190,   665,   384,   377,   237,   658,   658,   279,   652,   658,
-     658,   657,   401,   622,   659,   658,   541,   658,  4485,   658,
-     350,   658,   355,   213,   657,   657,   123,   124,   125,   126,
-     127,   658,   557,   454,   665,   659,   659,   355,   658,  4898,
-     201,   261,   261,   387,    58,  3911,   658,  3913,  3914,   432,
-     526,   241,  3918,   659,    68,   658,  4431,   247,   645,   377,
-     659,  3927,  4437,   630,  3930,  3931,   466,   657,    82,   387,
-    3936,  4853,  3938,   344,   118,  3905,  3942,   401,   235,   148,
-      94,    95,    96,   665,  3950,   264,   264,  4054,  3954,   657,
-    3956,   576,   217,   659,   663,   659,  4878,   287,   658,   113,
-     657,   419,   648,   649,   650,   651,   652,   653,   654,   655,
-     658,    50,   488,  4114,    83,   631,  2758,   658,   658,  2761,
-    2762,   468,  2764,   275,   182,  2767,  2768,   287,    97,  2771,
-     227,   228,   229,   230,  2776,   213,   565,   470,   155,  2781,
-    2782,  2783,  2784,  2785,   271,   659,   658,  2789,  2790,   658,
-    2792,   659,   470,   261,   486,   261,  2798,  2799,  2800,  2801,
-    4026,   512,  2804,  2805,   377,  2807,   635,   657,   657,   264,
-     658,   658,   141,   659,   657,   264,   494,  4043,   659,   659,
-     631,   658,   657,    58,    20,   254,   415,    83,  4054,   240,
-     198,   377,   377,    68,  4024,   198,   198,   658,    28,   568,
-      30,   278,   371,   658,   658,   658,    63,    82,   658,   542,
-     252,   658,   658,   658,   266,   341,   658,   427,    18,    94,
-      95,    96,   658,   631,   542,   659,   497,   498,   384,  2871,
-     420,  4693,    62,    63,   657,    65,   251,   334,   113,   336,
-     337,   338,   658,    73,   659,   609,   665,    75,   345,   609,
-     440,   657,   419,    83,   658,   481,  4263,   659,   448,   657,
-      20,    91,   658,   609,   179,   132,   456,   132,   559,  4135,
-     657,   413,   657,   657,  4140,   344,    87,   665,  4144,   597,
-     504,   151,   132,    37,   659,    37,   371,  4153,   118,   181,
-     608,   609,   341,   144,  4160,   658,   486,   266,   565,   565,
-     565,   264,   132,   559,   657,   135,   613,  4173,   280,   499,
-     500,   629,   609,   631,   609,  4190,   251,   658,   377,   333,
-     659,   383,   657,  4192,  4190,   317,   619,   645,   528,   426,
-     658,   619,  4198,   177,   475,   465,   166,   351,   658,  4340,
-     658,   659,   659,    64,   662,   663,   384,   658,   603,   547,
-      50,    50,   161,    50,   657,   657,  4731,   466,   657,  4826,
-     371,   551,   251,   657,   377,   657,  4228,   657,    15,   603,
-     132,   264,    20,   342,  4240,   370,  4242,   648,   649,   650,
-     651,   652,   653,   654,   655,   264,   483,   484,   140,  4255,
-     631,   581,   645,  4255,   531,   364,   365,   200,   367,   177,
-     143,   567,   232,   143,   234,   657,    50,   166,    28,    50,
-      30,   241,    50,   603,   166,   605,   198,   169,   248,   657,
-     398,   658,   658,   366,   371,   657,  4301,   657,   497,   498,
-     657,   614,  4399,   263,   657,  4301,   658,   163,  4304,   657,
-     657,   657,    62,    63,   659,    65,   548,   658,   548,   658,
-     464,    12,   287,    73,   206,    66,   657,   384,   333,    66,
-     657,   430,    50,    83,    50,   657,   657,   141,   482,   658,
-     198,    91,   151,     5,   226,   377,   351,   659,  4853,  4345,
-     232,   583,   234,   377,   658,   658,   384,   384,   440,   603,
-     320,   593,   475,   136,   659,   658,   233,   157,   118,   658,
-     264,    50,   477,  4878,   237,   371,   657,   494,   610,   339,
-     659,   936,   132,  2509,  2656,   135,  4042,  2862,  4038,  4040,
-    4513,  1056,   624,    37,  1109,  3211,  4158,  4511,  4630,   626,
-     544,  4800,  1133,  4399,  4796,  4338,  4583,   289,   611,  4032,
-      52,  2064,  1976,  3014,   641,   642,   166,   561,  3838,  4411,
-    2294,   697,  3041,  2566,  2565,  1941,  4529,   526,  1694,  4350,
-    2567,   313,  2817,  1182,   394,  2268,   396,  4433,  4434,  3672,
-    4400,  3051,  3850,  3056,   404,  3509,  4599,  1453,  4695,   648,
-     649,   650,   651,   652,   653,   654,   655,  3853,  4302,  4848,
-    4787,  4826,  4485,  4167,   696,  2212,  2810,  3239,  3289,  3918,
-    4466,  4861,  2818,  4673,  3292,  3381,  3708,   482,  3979,  4386,
-    3252,  4411,   232,  4012,   234,  4693,  4399,  2724,   720,  3437,
-    4051,   241,  2961,   725,  3440,  4626,   140,  3432,   248,  4802,
-      84,    84,  4498,  4753,  4500,  4754,  4174,  4635,  4526,  4519,
-    4345,  4221,  4609,   263,  2817,  3285,   476,  1146,  1619,  4196,
-    2698,  1083,   166,  2588,  4687,   169,  3937,   277,  2273,  2050,
-    1709,   763,  2556,  3033,  1735,  3496,   418,  2617,  2465,   544,
-     993,  4537,  4673,  4539,  4540,   427,  3457,  4426,   780,  1006,
-    4546,  2110,  1100,  4671,  2374,  4515,   561,  2997,  1239,  2370,
-     442,  2979,   206,  2639,  3548,  4503,  2644,  4327,  4791,  3812,
-     320,  3736,  4792,  4569,   534,   535,   536,  1211,   460,  2489,
-    3442,   541,   226,  3950,  1639,  1639,  3095,  4583,   232,   339,
-     234,  4583,   824,   825,   826,   827,  4142,   557,  3281,  4454,
-     560,  4795,  3088,  4599,   836,  4141,  4141,  2343,    84,  4569,
-    1471,  1421,  2550,  4609,  2593,  4712,  3856,  3525,  4691,   579,
-    3524,   622,   504,  3579,  4629,   507,   716,  1745,  2183,  2692,
-    2184,   610,  1568,  4629,   610,  1117,   109,   597,  1964,   871,
-    3956,  1479,  4602,  4603,   394,   289,   396,  4090,  3499,  4312,
-    4646,  4846,  4864,  4895,   404,   537,  4900,  4495,   813,  4655,
-    4656,  3530,  1520,  4659,  4795,  2677,  4401,  3572,  4799,   313,
-    1894,   609,   609,  2139,   556,  2021,  2670,   559,  2669,  1499,
-     912,  1645,   601,  1411,  4290,  4297,  4646,  2612,  4785,  2529,
-    3016,  4687,  3297,   602,   646,  4691,   928,   929,   646,   659,
-     932,   646,   980,  1109,   987,  1647,  1109,    -1,    -1,  1109,
-      -1,    -1,    -1,    -1,    -1,    -1,  4712,    -1,    -1,    -1,
-     952,    -1,    -1,    -1,    -1,    -1,   476,    -1,    -1,    -1,
+    1707,  1581,  2868,    46,   292,   541,   386,  2873,   386,   389,
+    1580,   389,   133,   586,   393,   622,   640,   486,    13,   115,
+     386,   876,   588,   389,  3095,   404,  2204,    13,  4170,  2215,
+     371,  3580,   411,  2219,  2220,   386,   609,   661,   389,  1645,
+    1646,   659,   201,   640,   292,   541,   608,   386,    25,   386,
+     389,   495,   389,  3215,   666,  4373,  3099,  1672,   603,  2503,
+    4030,   385,  1668,  1669,  1670,  1671,  1672,   455,  2865,  2708,
+     640,   201,   667,  4697,   191,  2674,  4700,    83,   174,  1685,
+     583,   565,   386,   371,  2708,   389,   455,   386,   624,  2204,
+     389,   661,    17,    18,  1709,   254,   599,   593,   486,   292,
+     659,  1707,  1708,  1709,  3231,   640,  3233,   659,   204,    17,
+      18,   441,   155,  3240,   659,   667,  3078,   486,  1724,   628,
+    4359,  1691,  1380,   371,   144,   661,   661,  3254,   624,  3645,
+     583,   510,   253,   215,  3261,  3262,  2887,  3112,   219,  1745,
+     160,  1747,    17,    18,   613,   614,   599,  3274,  3275,  3276,
+     267,   640,   147,  3280,  3281,   386,   565,  4054,   389,   386,
+    3078,   147,   389,    17,    18,   432,  2991,   219,  2612,   660,
+     386,   565,   661,   389,   586,    17,    18,    18,   371,   261,
+    2702,   215,   666,   264,    17,    18,   453,   455,    17,    18,
+     659,  3353,   495,  3320,  3321,  3322,  1937,  4821,   386,   520,
+     521,   389,   523,   647,   525,    17,    18,  3063,   386,  4351,
+     565,   389,   264,   279,  2658,   603,   282,   386,   640,    13,
+     389,   542,   489,   667,  2823,   235,   232,   606,   234,   386,
+    1836,  1837,   389,   235,   603,  3063,    17,    18,   495,   661,
+     564,   215,   129,   640,  2482,   640,  1953,   588,    17,    18,
+     367,   386,    17,    18,   389,   667,   386,   263,  3055,   389,
+     640,  3495,   640,  2375,   661,   659,   661,   386,  2380,  1124,
+     389,   659,   565,   142,   640,    17,    18,    17,    18,    17,
+      18,   661,  2394,   661,   386,    17,    18,   389,   198,   640,
+     659,  1897,   204,    90,  2035,   661,   381,  1555,  1556,  2526,
+     588,   640,  2529,   640,   659,   387,   193,    17,    18,  2831,
+     661,    34,  4569,   251,  3441,   112,  2428,   254,    17,    18,
+      17,    18,   661,   419,   661,  1940,    17,    18,    17,    18,
+      17,    18,  1071,  1939,  1940,   222,   640,   274,  1077,  1078,
+     588,   640,    17,    18,   647,   386,  1952,  1953,   389,  4606,
+    4607,   198,   568,   147,   201,   232,   660,   234,  3617,  2066,
+    1966,   660,    85,   429,   667,  1971,   659,    12,  2737,   546,
+    1976,  2549,   660,  1979,  2081,  1990,  1991,   287,  1993,  2613,
+     557,    17,    18,  2495,  1990,  1991,  2613,  1993,  2566,  4646,
+     647,  1961,   245,  4632,  4633,   588,    50,    17,    18,    17,
+      18,   254,  2017,   201,  3260,   292,  2021,  4144,  2014,   640,
+     667,  2017,  2119,   640,   614,  2021,  4153,  2500,   653,  2500,
+      17,    18,   162,   494,   640,   660,    81,   199,   556,   660,
+     224,   559,  3260,   660,  2549,  2050,  2051,   505,  3697,   162,
+     287,   505,  2048,  2049,  2050,  2051,  2052,    17,    18,   660,
+    2565,  2566,   640,    17,    18,   295,  2071,  2072,  2073,  2065,
+    2066,   386,   640,   559,   389,  2071,  2072,  2073,    17,    18,
+     115,   640,   660,   364,   365,  2081,  2046,  2679,   386,   653,
+    3573,   389,   660,   640,   371,   581,   660,  3353,   133,  2104,
+    2096,   660,   486,  3075,   622,  2679,   105,  4751,  2104,  2868,
+      17,    18,   665,   660,  2873,   640,   235,   419,  2114,  3031,
+     640,   386,   284,  2119,   389,   241,    17,    18,   609,   492,
+    1991,   640,  1993,   241,   556,   660,   622,   559,   556,   174,
+    2136,   559,   386,  3148,    81,   389,   127,  3767,   640,   392,
+     616,   660,   197,   619,   386,  1402,  3360,   389,  1405,  4803,
+    2156,  1408,  4806,   386,   660,   661,   389,   386,   660,   204,
+     389,   559,  3161,    17,    18,    17,    18,    17,    18,   660,
+     661,  3546,  2172,  2188,   386,  3389,  3390,   389,   606,  1136,
+    1137,  2151,  2188,  2153,  4838,   241,   241,  2702,  3041,  3042,
+    3043,  3044,    62,    63,   148,    17,    18,   369,  3412,   640,
+    2071,  2072,  2073,    73,   667,   386,    17,    18,   389,   264,
+     609,  2217,  2218,  3057,   526,  2221,   129,   386,   174,   660,
+     389,   386,    17,    18,   389,   604,  1183,   660,   661,    17,
+      18,   518,   559,  3430,   526,   244,    17,    18,  2218,   230,
+     661,    17,    18,   288,   386,   659,   386,   389,   386,   389,
+     197,   389,   261,   158,   386,   576,  2271,   389,  2836,  2366,
+     609,     6,   661,  2233,   273,  2271,   659,  2273,   667,   581,
+     659,  2378,  2242,  2243,  3530,   659,   386,   660,   661,   389,
+     193,    17,    18,    18,    20,   660,   661,   386,   179,   386,
+     389,   414,   389,   556,   241,   386,   559,   386,   389,   386,
+     389,   588,   389,    18,   660,   661,   659,    66,  3154,   222,
+     622,   386,   661,   436,   389,   640,  2831,   264,   667,   660,
+     661,  2836,    81,  3579,   660,   661,   520,   521,   522,   523,
+     524,   525,   640,   659,    93,   660,   486,  2343,  3968,   659,
+    2346,  3971,  3972,   334,   494,  3282,   355,   338,   542,   472,
+     386,  3579,   660,   389,   345,   659,   568,   659,  3988,   622,
+    2366,   659,   417,   659,  2471,   640,   386,   661,   386,   389,
+     659,   389,  2378,  3078,   419,  3312,  4006,   627,   628,   292,
+     630,   659,   632,   659,   556,   660,   640,   559,   659,   386,
+     344,   659,   389,  2500,   659,  2502,  3318,   659,   640,  3026,
+    3027,  3028,   660,   661,  4344,  4468,   660,   640,  4348,   532,
+     781,   640,   565,   148,   660,   661,   386,   179,   660,   389,
+     201,   659,   386,  4644,   659,   389,  4643,   660,   640,   660,
+     661,   660,   803,   148,   659,   426,   568,   386,   197,   659,
+     389,   659,  3639,   659,   203,   816,   817,   492,  3082,  3083,
+    3084,   244,    17,    18,   401,  3082,  3083,  3084,   371,   640,
+     659,   470,   667,   613,   614,  2471,    62,    63,   261,   386,
+     417,   640,   389,   659,  2986,   640,   660,   661,   541,   660,
+     273,   526,   241,   659,  3086,   386,   660,   661,   389,   659,
+    2496,   660,   191,   484,  2500,   660,  2502,  2503,   640,   474,
+     640,   659,   640,   660,   661,   264,   205,   659,   640,   659,
+     659,  4038,   557,  4040,  2621,  4042,  3031,   609,   660,   384,
+    2526,   418,   660,  2529,  3523,   659,  3041,  3042,  3043,  3044,
+     640,  3165,   386,   542,   386,   389,   386,   389,  3165,   389,
+     659,   640,   659,   640,   660,   661,   659,  3562,   659,   640,
+     660,   640,   659,   640,   660,   661,   660,   661,   659,  4086,
+    3575,   660,  2568,   660,   386,   640,   659,   389,   267,   660,
+     269,   660,  4043,   660,   659,   386,  4043,   622,   389,  4519,
+     660,   661,   557,   659,  3353,   660,  4526,   562,  2594,   659,
+     129,   386,  2598,   132,   389,   660,   661,   659,   386,  3750,
+    3856,   389,   660,   661,   640,   386,  2612,  2613,   389,   344,
+     386,    27,   659,   389,    86,  2621,    88,  2724,  2725,   659,
+     640,   659,   640,  2629,   660,  2631,  2632,   659,  3856,   344,
+     659,   606,   659,  3219,   659,   626,  3238,  3223,   158,   159,
+     660,   474,   660,   640,   660,   661,  2652,   622,  2654,   659,
+     386,   642,  2658,   389,   193,   664,   660,   661,   417,   659,
+     132,   659,   361,   660,   659,  4324,  4325,    83,   129,   659,
+     640,   132,   659,  2679,    83,   588,   640,   470,   660,   661,
+    3785,   659,  2652,   222,   156,  2656,    17,    18,   659,    61,
+     660,   640,  3629,   659,  3950,  2701,   660,   659,   652,   653,
+     654,   655,   656,   657,   659,  2711,  2721,  2722,   299,   300,
+    2716,   660,   660,   661,   659,  2721,  2722,   416,  2724,  2725,
+     192,   659,  3950,   640,   315,   659,  3663,   659,    83,   659,
+    4793,   659,   193,   660,   661,    35,  2716,  3674,   659,   640,
+    3677,   659,    97,   660,    27,   660,   661,   660,  4467,   542,
+     166,   659,    13,   292,   168,  3244,   515,   166,    66,   660,
+     659,   222,   497,   498,   659,  4292,  4293,  4294,   184,  2739,
+    2740,  2741,  2742,    81,  2744,  2745,   660,   661,   660,   661,
+     660,   661,   497,   498,    45,    93,   640,   659,   640,   556,
+     640,   205,   123,   124,   125,   126,   127,  2803,   660,   661,
+      83,    20,   659,  3318,   659,  4019,   660,   377,   660,   377,
+     660,   183,  2818,  4753,  4754,   187,   659,   297,   640,   299,
+     300,  4183,   660,   661,  2830,   659,   198,   243,  2834,   640,
+     659,   292,   371,  4331,   243,   315,   105,    98,   660,   598,
+     661,  4904,   103,   257,   162,   640,  3978,  3979,   148,   660,
+    3982,   576,   640,   444,   445,   269,  2997,   660,   661,   640,
+     660,   661,   660,   661,   640,   660,   660,   661,   237,  4001,
+     660,   661,   660,  2843,  2844,  4007,  2846,   512,  2848,  2849,
+    2850,  2851,  2852,  2853,  2854,    52,   105,  2857,  3400,   197,
+    2860,   148,   660,   661,  2864,   203,   227,   228,   229,   230,
+     665,   184,  3536,   660,   640,   321,   660,   661,   668,  3536,
+     371,   266,   660,   661,  3021,   650,   651,   652,   653,   654,
+     655,   656,   657,   395,  1276,  1277,   660,   661,   660,   661,
+     660,   661,  4064,   241,    52,   650,   651,   652,   653,   654,
+     655,   656,   657,  3455,   358,   164,   362,   289,   647,   648,
+     649,   661,   368,   362,   254,   384,   264,   377,   330,   368,
+     243,   201,   660,   661,   444,   445,   377,   439,   660,   661,
+    3572,   660,   661,   660,   661,   244,   480,   277,   597,   198,
+      50,  3088,   660,   661,   148,   660,   661,   342,  3572,   660,
+     661,   278,   261,   660,   661,   256,   215,   254,   660,   661,
+     201,   220,   654,   334,   273,   336,   337,   338,  3014,   494,
+    3016,   667,   367,   505,   345,  3021,   660,   661,  3033,  3025,
+    3026,  3027,  3028,   660,   661,   244,   173,  3033,   659,   438,
+     660,   661,   251,  3619,  3040,   198,  3622,  3623,   321,  4401,
+     660,   661,   261,   537,   344,   556,   129,   660,   661,   588,
+    3056,  3057,  3043,  3044,   273,   386,   428,  3063,   389,   278,
+    3488,  3489,   512,   537,   364,   365,  3831,  3832,   287,   289,
+     331,   165,  3078,   198,    92,   430,  3082,  3083,  3084,   362,
+     661,  4213,  3088,  4302,   661,   368,   355,   344,   378,  3095,
+    4222,  4589,   552,   401,   660,   426,   164,   132,   118,  4231,
+       6,  4206,   666,   383,  4236,   117,     4,   485,   377,   417,
+     193,    37,   622,  4640,  3120,   666,  4221,   254,   661,   401,
+     162,    59,   447,   661,    73,   541,   667,   588,    13,   628,
+     660,   660,   541,   147,   395,    83,   355,    63,   129,   222,
+      10,   441,  3249,    91,   661,   667,   660,  4207,  4208,   232,
+    3120,   234,   483,   484,   660,   660,  4353,   277,   377,  3165,
+    4220,   659,   377,  3178,  3170,   667,  3181,  4227,   387,   166,
+     118,   526,  3178,   289,   667,  3181,  3182,   666,  4238,  4239,
+     344,   289,   289,   289,   593,    52,   289,  4109,   289,   647,
+    3170,   661,   661,   119,   556,   659,   122,   497,   498,   235,
+     419,   470,   193,   231,   130,   284,   661,   515,   624,   292,
+    4466,   201,  3218,   513,   294,   624,    28,   665,   166,   402,
+    3229,  3227,  3228,   149,   661,   213,  3235,   576,  3234,   661,
+     576,   222,   668,   647,   648,   649,   401,   576,  4466,   661,
+     497,   498,   647,  3249,  3250,   661,   198,   629,   661,  3255,
+    3259,   470,   661,   514,  3260,  3270,  3265,   661,   541,  3837,
+     603,    73,  3271,  3272,  3270,   254,  3236,  3237,  4283,   667,
+     661,    83,  4469,   542,    73,   494,  3282,   661,   537,   254,
+     654,   255,   554,  3289,  3290,   188,   198,   173,   371,  3295,
+     598,   661,   553,   241,  3264,   626,   537,   509,   179,   129,
+     204,   292,   132,   174,   406,   143,  3312,   659,   661,   640,
+     641,   642,   405,   129,   661,   660,   132,    56,   628,   604,
+     132,   661,  3837,   542,   608,  3295,   252,   201,   660,   201,
+     318,   319,   660,   497,   498,   323,   324,   325,  3924,   129,
+     609,   624,  4264,   660,   660,  3351,   660,   654,   660,  3355,
+     650,   651,   652,   653,   654,   655,   656,   657,   660,   660,
+     148,   653,   661,   193,   659,   661,   129,   660,   597,   132,
+     661,   660,   320,   659,    20,   129,   495,   193,   597,   660,
+     371,   660,    28,  4488,  4489,   660,  4491,   660,   659,   148,
+     609,   339,   222,   650,   651,   652,   653,   654,   655,   656,
+     657,   657,   660,   193,    14,   660,   222,   659,   659,   137,
+     629,  4608,   631,   660,   362,   661,  4415,   661,   661,   565,
+     232,  4553,   234,  4555,   565,   565,   576,    73,   647,   233,
+     193,   357,   222,  3540,   242,  4691,   233,    83,   251,   193,
+     661,   660,   661,  3449,   548,   664,   665,  2229,  2230,  4554,
+     659,  3457,   264,    12,   659,    13,   213,   201,  4036,   222,
+     565,   661,   292,  4691,  2246,   177,   254,   475,   222,   661,
+     215,   496,  4669,  2255,  2256,   198,   292,   105,   667,   198,
+     659,   659,   275,   667,   661,   661,   132,  3457,   652,   653,
+     654,   655,   656,   657,   104,   667,   667,   201,   660,   427,
+     661,    39,   292,  3509,   602,   588,   661,   494,   198,  4431,
+     661,  4616,   377,  4618,  4619,  4437,    20,   377,   353,   526,
+     526,  4036,   526,  4522,  3530,  3531,   136,   526,  3534,   292,
+    3536,   526,   485,   377,  3540,  3642,   198,   131,   292,   568,
+     661,   371,   152,   604,   105,  2327,  2328,  2329,  2330,  4531,
+     659,   647,   364,   365,   288,   371,   344,   647,   370,  3565,
+    4779,   207,   647,   647,   174,   377,  3572,  3573,   178,   148,
+     647,   647,   647,  3579,   647,   647,   502,   162,  3584,   609,
+     190,   371,   647,  3598,   122,   344,   232,   647,   234,   647,
+     647,   129,  3598,   541,  4109,  4594,   647,   588,   647,   647,
+     647,   105,   647,   213,  3613,   417,   647,  3577,   371,   557,
+     647,   667,   250,   647,  3620,   647,   244,   371,   264,   250,
+     647,   660,  3624,  3629,  4880,   486,  3632,   660,   647,  4848,
+     661,   241,   647,   261,     7,  4891,  3642,   247,    39,  4895,
+    3646,   667,  3648,  3649,  4900,   273,   572,   660,   186,   660,
+     660,   660,  4880,   576,   576,   193,  3662,  3663,   660,   660,
+     164,   105,   660,  4891,   667,   661,   576,  4895,  3674,   661,
+      63,  3677,  4900,  3643,   667,   601,   636,   287,   490,   284,
+      89,    50,  3652,   244,   222,   223,   659,   659,   647,  3704,
+     659,   659,   196,   576,   198,  3701,   647,   384,  3704,  4306,
+     261,   201,   201,  3709,   201,   661,   661,   177,  3714,   497,
+     498,   215,   273,   261,   261,  3721,   220,   390,   364,   365,
+      50,   122,   220,  3729,   370,   341,   119,   355,   129,   122,
+    3736,   377,   565,   237,   565,   258,   432,   130,   497,   498,
+     244,  3721,   661,   335,   371,     7,   659,   251,   197,  4264,
+     118,   377,   118,    58,   292,    81,   149,   261,   588,   401,
+     401,   401,   576,    68,   143,   344,   262,  4872,   557,   273,
+     262,   417,   588,   557,   278,    50,   401,    82,   143,   401,
+     401,   401,   450,   287,   403,   186,   598,   401,   401,    94,
+      95,    96,   193,   659,   355,   659,   665,   659,   588,  4427,
+     244,   194,   659,   215,  3911,   654,   659,   659,   113,  4731,
+     420,   667,   252,   252,   660,   660,   377,   261,   356,   660,
+     660,   222,   223,   659,   661,   588,   432,   661,   366,   273,
+     440,   660,   370,   371,   588,   667,   660,   660,   448,   660,
+    3846,   115,   470,   384,   490,  3851,   456,   654,   659,   659,
+    3856,   355,   377,   237,   660,   279,   661,   401,  3828,   252,
+     350,   454,   650,   651,   652,   653,   654,   655,   656,   657,
+     661,   667,   201,   377,   660,   261,   486,   387,  4485,   261,
+     660,   660,   432,   387,   661,   647,   661,   630,   466,   499,
+     500,   292,   651,   652,   653,   654,   655,   656,   657,  4898,
+     118,   659,   235,   264,   264,  3911,   401,  3913,  3914,   470,
+     659,   355,  3918,   576,   542,   419,  4431,   667,   497,   498,
+     217,  3927,  4437,   661,  3930,  3931,   661,   660,   665,   203,
+    3936,  4853,  3938,   377,   659,  3905,  3942,    50,   660,   488,
+     660,   551,   631,   660,  3950,   182,   468,  4054,  3954,   287,
+    3956,   275,   598,   213,   565,   356,  4878,   155,   271,   661,
+     660,   354,   660,   261,   357,   486,   470,   241,   661,   370,
+     371,   581,   261,  4114,   377,   512,  2758,   635,   659,  2761,
+    2762,   542,  2764,   659,   661,  2767,  2768,   264,   660,  2771,
+     494,   660,   659,   603,  2776,   605,   264,   115,   631,  2781,
+    2782,  2783,  2784,  2785,   661,   661,   659,  2789,  2790,   660,
+    2792,    20,    83,   415,   377,   377,  2798,  2799,  2800,  2801,
+    4026,   240,  2804,  2805,   198,  2807,   470,   565,   333,   198,
+     198,   569,   568,   278,   572,   371,   660,  4043,   542,    63,
+     252,   434,   660,   660,   266,   583,   351,   341,  4054,   427,
+     588,   660,   660,   591,  4024,    18,   174,   660,    28,   660,
+      30,   660,   660,   660,   384,   661,   631,   251,   659,    75,
+     660,   650,   651,   652,   653,   654,   655,   656,   657,   661,
+     667,   609,   609,   659,   419,   660,   204,   661,   659,  2871,
+     481,  4693,   660,   597,    20,    65,   609,   179,   542,   132,
+     132,   559,   659,   413,   608,   609,   659,   123,   124,   125,
+     126,   127,   667,    83,   652,   653,  4263,   659,    87,   504,
+     151,    91,   132,   241,    37,   629,   661,   631,   371,  4135,
+      83,   341,   181,   144,  4140,   565,   660,   565,  4144,   565,
+     264,   559,   659,   647,    97,    37,   613,  4153,   118,   280,
+     609,   251,   609,   660,  4160,   661,   660,   661,   383,   464,
+     664,   665,   132,   377,   565,   135,   659,  4173,   569,   660,
+     288,   572,   317,   619,   619,  4190,   528,   482,   177,   572,
+     475,   465,   583,  4192,  4190,   660,   660,   588,   141,   661,
+     591,    64,  4198,   384,   547,   603,   166,   471,    50,  4340,
+      50,   161,    50,   659,   659,   466,   659,   371,   601,   659,
+     251,   227,   228,   229,   230,   377,  4731,   659,   492,  4826,
+      15,   659,   603,   132,   264,   264,  4228,    20,   370,   531,
+     647,   631,   200,   177,  4240,   567,  4242,   143,   143,   544,
+     659,   515,   166,    50,    50,    28,    50,    30,   140,  4255,
+     198,   652,   653,  4255,   659,   398,   561,   366,   614,   371,
+     163,   660,   232,   660,   234,   659,   661,   659,   548,   659,
+     659,   241,   659,   287,   166,    12,   659,   169,   248,    62,
+      63,    66,    65,   660,   660,   559,  4301,   659,   562,   660,
+      73,   384,  4399,   263,    66,  4301,   414,    50,  4304,    50,
+      83,   419,   659,   661,   659,   659,   548,   141,    91,   659,
+     198,   660,   151,   266,   206,     5,   377,   377,   334,   660,
+     336,   337,   338,    58,   598,   384,   660,   384,   136,   345,
+     440,   603,   606,    68,   226,   118,   475,   660,  4853,  4345,
+     232,   583,   234,   661,   233,   660,   157,    82,   264,   132,
+     320,   593,   135,   471,    50,   477,   237,   494,   371,    94,
+      95,    96,   661,  4878,   936,  2509,   659,  2862,   610,   339,
+    2656,  4042,  4038,  4040,   492,  4513,  1056,  3211,   113,  1109,
+    4158,  4511,   624,   166,  4630,  4800,  1133,  4796,  4338,   342,
+    4583,  4032,    52,  4399,   611,  2064,  1976,   289,  3838,  3014,
+    2294,   697,  3041,  2565,  2567,  2566,  1182,  1941,  4350,  4411,
+     426,   364,   365,  4529,   367,  2268,  1694,  2817,  3672,  3051,
+    3850,   313,  3056,  3509,   394,  4599,   396,  4433,  4434,  1453,
+    4400,  4695,  3853,  4302,   404,  4848,  4787,  4826,  4485,   557,
+    2212,  4167,  2810,  4712,   562,  3918,  3289,  3292,  2818,   232,
+    4861,   234,  4673,  3381,   696,  3708,  3979,  3239,   241,  4386,
+    4466,  4012,  4411,   581,  4693,   248,  4399,   483,   484,  2724,
+    3252,  4051,  2961,  3437,  3432,  3440,  4802,   430,   720,    84,
+     263,    84,  4753,   725,  4754,  4626,  4174,  4635,   606,  4526,
+    4519,  4345,  4498,  4221,  4500,  2817,  3285,  1083,  1146,  2273,
+    4196,  4687,  4609,  2698,   622,    37,   476,  1619,  1735,  2588,
+    3937,  1709,  2556,  2050,  3496,  3033,  4426,  2617,  1006,  2465,
+    1100,   763,   993,  2110,  3457,  4671,   418,  2374,  2370,  1239,
+    2997,  4537,  4673,  4539,  4540,   427,  2644,   320,   780,  3548,
+    4546,  2639,  2979,  4503,  4791,  4515,  3736,  4327,  4792,  3812,
+     442,  1211,  2489,  3950,  3095,  3442,   339,  1639,  1639,  4142,
+    4454,  3281,  4795,  4569,   534,   535,   536,  4141,   460,  4141,
+    2343,   541,  3088,   526,    84,  1471,  2550,  4583,  1421,  2593,
+    3524,  4583,   824,   825,   826,   827,  3856,   557,  3525,  3579,
+     560,  1745,  4691,  4599,   836,   622,   716,  2183,   333,  4569,
+    2184,  1568,   610,  4609,  2692,  4712,  1117,   610,   140,   579,
+     626,   394,   504,   396,  4629,   507,   351,   109,  3956,  4090,
+    1964,   404,  3499,  4629,  1479,   641,   642,   597,  4846,   871,
+    4312,   813,  4602,  4603,   166,  4495,  4864,   169,  4895,  4900,
+    4646,  4401,  1520,  2677,  3530,   537,  3572,   609,   609,  4655,
+    4656,  2139,  1894,  4659,  4795,  2670,  2669,  2021,  4799,  1645,
+    1499,   601,  2612,   980,   556,  1411,  4290,   559,  2529,  3016,
+     912,  4297,  3297,   602,   206,   987,  4646,  1109,  4785,   150,
+     646,  4687,   646,  1647,  1109,  4691,   928,   929,   646,  1109,
+     932,    -1,    -1,   476,   226,    -1,    -1,    -1,    -1,    -1,
+     232,    -1,   234,    -1,    -1,    -1,  4712,    -1,    -1,    -1,
+     952,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,   964,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,  4703,  4704,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  4750,    -1,    -1,    -1,    -1,    -1,
-     150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    4901,    -1,    -1,    -1,   418,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   427,   534,   535,   536,    -1,    -1,  4785,
-    4887,   541,    -1,    -1,    -1,  4791,  4792,    -1,   442,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   557,    -1,    -1,
-     560,    -1,    -1,    -1,    -1,    -1,   460,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   579,
+      -1,    -1,    -1,    -1,  4750,    -1,    -1,   482,    -1,    -1,
+      -1,   534,   535,   536,    -1,    -1,    -1,   289,   541,    -1,
+    4901,    -1,    -1,    -1,    -1,   236,    -1,   238,    -1,    -1,
+      -1,    -1,    -1,    -1,   557,    -1,    -1,   560,    -1,  4785,
+    4887,   313,    -1,    -1,    -1,  4791,  4792,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   579,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   544,
+      -1,    -1,    -1,    -1,   597,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   296,   561,   298,   299,   300,
+     301,   302,    -1,   304,   305,   306,   307,   308,   309,   310,
+     311,   312,    -1,   314,   315,   316,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   236,   597,   238,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     504,    -1,    -1,   507,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,  4880,    -1,    -1,    -1,   661,    -1,
+      -1,  4887,    -1,    -1,    -1,  4891,   418,    -1,  4858,  4895,
+      -1,    -1,    -1,    -1,  4900,   427,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  4880,    -1,    -1,    -1,    -1,    -1,
-      -1,  4887,    -1,   537,    -1,  4891,    -1,    -1,  4858,  4895,
-      -1,    -1,    -1,    -1,  4900,    -1,   296,   657,   298,   299,
-     300,   301,   302,    -1,   304,   305,   306,   307,   308,   309,
-     310,   311,   312,    -1,   314,   315,   316,    -1,    -1,    -1,
-    1162,    -1,    -1,  1165,  1166,    -1,    -1,    -1,    -1,    -1,
+     442,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    1162,    -1,    -1,  1165,  1166,    -1,    -1,    -1,   460,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1190,  1191,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1199,  1200,  1201,
     1202,  1203,  1204,  1205,  1206,  1207,  1208,  1209,  1210,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1219,  1220,    -1,
+      -1,    -1,   504,   444,   445,   507,    -1,  1219,  1220,    -1,
     1222,  1223,    -1,    -1,    -1,  1227,  1228,    -1,    -1,  1231,
     1232,  1233,  1234,    -1,  1236,  1237,  1238,    -1,    -1,    -1,
-      -1,    -1,    -1,  1245,  1246,    -1,  1248,  1249,  1250,  1251,
+      -1,    -1,    -1,  1245,  1246,   537,  1248,  1249,  1250,  1251,
     1252,    -1,    -1,  1255,  1256,  1257,  1258,  1259,  1260,  1261,
     1262,  1263,  1264,  1265,    -1,  1267,    -1,    -1,  1270,  1271,
       -1,    -1,    -1,  1275,    -1,    -1,    -1,  1279,  1280,  1281,
-      -1,    -1,    -1,    -1,   444,   445,    -1,    -1,    -1,  1291,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1291,
     1292,  1293,    -1,    -1,    -1,    -1,    -1,    -1,  1300,    -1,
       -1,    -1,    -1,    -1,    -1,  1307,  1308,  1309,  1310,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,  1318,  1319,  1320,    -1,
@@ -11993,120 +12006,120 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
-      -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
+      28,    -1,    30,    -1,    65,    66,    -1,    -1,    -1,    -1,
       71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    83,  1425,    -1,    -1,    -1,    -1,    -1,    -1,
-      91,    -1,    -1,    -1,    -1,    -1,    13,    -1,    -1,  1441,
-     101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
-      37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      91,    -1,    -1,    -1,    62,    63,    -1,    65,    -1,  1441,
+     101,    -1,    -1,    -1,    -1,    73,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    83,    -1,   118,    -1,    -1,
+      -1,    -1,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   132,    -1,    -1,   135,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   144,   145,    62,    63,    -1,    -1,    -1,
-      -1,   152,    -1,    -1,    -1,    -1,    -1,    74,    -1,   160,
-      -1,    -1,    -1,   164,    -1,   166,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   144,   145,    -1,    -1,    -1,    -1,    -1,
+     118,   152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   160,
+      -1,    -1,    -1,   164,   132,   166,    -1,   135,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,   176,    -1,    -1,  1520,    -1,
-      -1,    -1,    -1,   100,    -1,   102,    -1,   104,    -1,    -1,
-      -1,    -1,    -1,  1535,    -1,   196,    -1,    -1,    -1,   116,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    1552,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   232,    -1,   234,    -1,    -1,    -1,    -1,   239,    -1,
-     241,    -1,    -1,    -1,    -1,    -1,    -1,   248,   165,   166,
-      -1,    -1,    -1,   170,    -1,    -1,   173,    -1,    -1,    -1,
-      -1,    -1,   263,    -1,    -1,    -1,    -1,  1609,    -1,    -1,
+      -1,    -1,    -1,  1535,    -1,   196,    -1,    -1,   166,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   202,   287,   204,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   212,    -1,   214,    -1,    -1,
+    1552,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   232,    -1,   234,    -1,   320,
-      -1,    -1,    -1,   240,   241,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,    -1,
-      -1,    -1,   343,    -1,    -1,   262,    -1,    -1,    -1,    -1,
+      -1,   232,    -1,   234,    -1,    -1,    -1,    -1,   239,    -1,
+     241,    -1,    -1,    -1,    -1,    -1,    -1,   248,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   284,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,  1718,    -1,    -1,    -1,
-      -1,   382,    -1,     6,    -1,    -1,   387,    -1,    -1,    12,
-      -1,    14,    -1,   394,    -1,   396,   313,    -1,    -1,    -1,
-     401,    -1,    -1,   404,    -1,    28,    -1,    30,    -1,    -1,
+      -1,    -1,   263,    -1,   232,    -1,   234,  1609,    -1,    -1,
+      -1,    -1,    13,   241,    -1,    -1,    -1,    -1,    -1,    -1,
+     248,    -1,    -1,    -1,    -1,    26,   287,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   263,    37,    38,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   277,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   320,
+      -1,    62,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    74,    -1,    -1,    -1,    -1,   339,    -1,
+      -1,    -1,   343,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   320,    -1,    -1,    -1,    -1,    -1,    -1,   100,
+      -1,   102,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   339,    -1,    -1,    -1,   116,  1718,    -1,    -1,    -1,
+      -1,   382,    -1,    -1,    -1,    -1,   387,    -1,    -1,    -1,
+      -1,    -1,    -1,   394,    -1,   396,    -1,   138,   139,    -1,
+     401,    -1,    -1,   404,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,  1758,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   435,    -1,    -1,    60,    -1,    -1,
-      -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,   449,   450,
+      -1,    -1,    -1,    -1,   165,   166,   394,    -1,   396,   170,
+      -1,    -1,   173,    -1,   435,    -1,   404,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   449,   450,
      451,   452,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      83,    -1,    -1,    -1,   381,    -1,    -1,    -1,    91,    -1,
-      -1,    -1,    -1,    -1,    -1,   476,    -1,    -1,   101,    -1,
+      -1,   202,    -1,   204,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   212,    -1,   214,    -1,   476,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     407,    -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,
-      -1,   418,   419,    -1,    -1,   422,   423,    -1,    -1,   132,
-      -1,    -1,   135,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   144,    -1,    -1,    -1,    -1,   443,    -1,    -1,   152,
-    1872,  1873,  1874,   534,   535,   536,    -1,   160,    -1,    -1,
-     541,    -1,    -1,   166,    -1,  1887,    -1,    -1,    -1,    -1,
+      -1,   232,    -1,   234,    -1,    -1,    -1,    -1,    -1,   240,
+     241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   476,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    1872,  1873,  1874,   534,   535,   536,    -1,    -1,    -1,    -1,
+     541,    -1,    -1,   284,    -1,  1887,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   557,    -1,    -1,   560,
+      -1,    -1,    -1,    -1,    -1,    -1,   534,   535,   536,    -1,
+      -1,  1913,   313,   541,    -1,    -1,    -1,  1919,   579,    -1,
+    1922,    -1,  1924,   584,    -1,    -1,    -1,    -1,  1930,   557,
+    1932,  1933,   560,    -1,  4476,  4477,   597,    -1,  4480,  4481,
+    4482,  4483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   579,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  1964,    -1,    -1,    -1,    -1,    -1,    -1,   597,
+      -1,    -1,    -1,   624,  4516,    -1,    -1,    -1,    -1,    -1,
+     381,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1913,    -1,   196,   491,    -1,    -1,  1919,   579,    -1,
-    1922,    -1,  1924,   584,    -1,    -1,    -1,   504,  1930,    -1,
-    1932,  1933,    -1,    -1,  4476,  4477,   597,    -1,  4480,  4481,
-    4482,  4483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   232,
-      -1,   234,    -1,    -1,    -1,    -1,    -1,    -1,   241,    -1,
-     537,    -1,  1964,    -1,   541,   248,    -1,    -1,    28,    -1,
-      30,    -1,    -1,   624,  4516,    -1,    -1,    -1,    -1,    -1,
-     263,    -1,   559,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   665,    -1,   407,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,   419,    -1,
+      -1,   422,   423,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   659,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   443,  2045,    -1,   696,    -1,    -1,    -1,    -1,
+      -1,    -1,  2054,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  4604,  4605,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  4613,    -1,    -1,   725,    -1,    -1,    -1,    -1,    -1,
+      -1,  2083,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     491,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   504,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   763,    -1,  2116,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   780,
+      -1,    -1,    -1,    -1,    -1,  2137,   537,    -1,    -1,    -1,
+     541,    -1,    -1,  2145,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  2154,    -1,    -1,    -1,    -1,    -1,   559,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   663,    -1,   287,    65,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   827,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    91,    -1,    -1,    -1,    -1,    -1,   320,    -1,    -1,
-     617,    -1,    -1,  2045,    -1,   696,    -1,    -1,   625,    -1,
-      -1,    -1,  2054,    -1,    -1,    -1,   339,    -1,   118,    -1,
-     343,    -1,  4604,  4605,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  4613,   132,    -1,   725,   135,    -1,    -1,    -1,    -1,
-      -1,  2083,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   387,    -1,   166,    -1,    -1,    -1,
-      -1,   394,   763,   396,  2116,    -1,    -1,    -1,    -1,    -1,
-      -1,   404,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   780,
-      -1,    -1,    -1,    -1,    -1,  2137,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  2145,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  2154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   450,    -1,    -1,
-      -1,    -1,   232,    -1,   234,    -1,   827,    -1,    -1,    -1,
-      -1,   241,    -1,    -1,    -1,    -1,    -1,    -1,   248,    -1,
-      -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  2204,   263,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,  2204,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   617,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   625,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   912,    -1,    -1,    -1,    -1,  2268,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   534,   535,   536,    -1,    -1,    -1,    -1,   541,    -1,
-     320,   912,    -1,    -1,    -1,    -1,  2268,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   557,    -1,    -1,   560,    -1,   339,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2290,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   579,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   952,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   597,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   394,    -1,   396,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   404,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     2352,    -1,    -1,    -1,  2356,    -1,    -1,    -1,    -1,  2361,
     2362,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2370,    -1,
     2372,    -1,  2374,  2375,  2376,  2377,    -1,    -1,  2380,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2390,  2391,
       -1,  2393,  2394,    -1,  2396,  2397,  2398,  2399,    -1,  2401,
       -1,    -1,  2404,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  2413,    -1,    -1,    -1,    -1,   476,    -1,  2420,    -1,
+      -1,  2413,    -1,    -1,    -1,    -1,    -1,    -1,  2420,    -1,
     2422,    -1,  2424,  2425,    -1,  2427,  2428,    -1,    -1,    -1,
     2432,  2433,  2434,    -1,    -1,    -1,  2438,  2439,  2440,    -1,
     2442,    -1,  2444,    -1,  2446,    -1,  2448,    -1,  2450,    -1,
       -1,    -1,    -1,  2455,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    2472,    -1,    -1,    -1,   534,   535,   536,  2479,    -1,    -1,
-    2482,   541,    -1,    -1,    -1,    -1,  2488,    -1,    -1,  2491,
-      -1,    -1,    -1,  2495,    -1,    -1,    -1,   557,    -1,    -1,
-     560,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1162,    -1,    -1,  1165,    -1,    -1,    -1,    -1,   579,
+    2472,    -1,    -1,    -1,    -1,    -1,    -1,  2479,    -1,    -1,
+    2482,    -1,    -1,    -1,    -1,    -1,  2488,    -1,    -1,  2491,
+      -1,    -1,    -1,  2495,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1162,    -1,    -1,  1165,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   597,    -1,  1190,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1190,
     1191,    -1,    -1,    -1,    -1,    -1,    -1,  2549,  1199,  1200,
       -1,    -1,  1203,  1204,  1205,  1206,  1207,  1208,  1209,  1210,
       -1,    -1,    -1,  2565,  2566,  2567,    -1,  2569,  1219,  1220,
@@ -12183,7 +12196,7 @@ static const yytype_int16 yycheck[] =
       -1,  1922,    -1,  1924,    -1,    -1,    -1,    -1,    -1,    -1,
      630,    -1,    -1,  3285,    -1,    -1,    -1,    -1,   638,    -1,
       -1,    -1,    -1,    -1,   644,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   657,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   659,
      119,    -1,    -1,   122,    -1,    -1,  3318,    -1,    -1,    -1,
       -1,   130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -12258,7 +12271,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,   630,   104,    -1,    -1,    -1,
       -1,    -1,    -1,   638,  4036,    -1,    -1,    -1,    -1,   644,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     128,    -1,   657,    -1,    -1,    -1,    -1,    -1,   136,    -1,
+     128,    -1,    -1,    -1,   659,    -1,    -1,    -1,   136,    -1,
      138,   139,    -1,    -1,    -1,    -1,    -1,  4069,    -1,    -1,
       -1,  4073,    -1,   151,   152,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -12285,67 +12298,67 @@ static const yytype_int16 yycheck[] =
       -1,    -1,  2943,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4302,  2952,    -1,  2954,   382,  2956,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,  4317,    -1,  4319,    -1,    -1,
-      -1,   399,    -1,   401,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   414,    -1,    -1,    -1,
+      -1,   399,    -1,   401,    -1,    -1,    -1,    -1,    -1,     6,
+      -1,    -1,    -1,    -1,    -1,    12,   414,    14,    -1,    -1,
       -1,    -1,  4344,    -1,    -1,    -1,  4348,   425,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    28,    -1,    30,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   447,
       -1,    -1,   450,    -1,   452,    -1,    -1,   455,    -1,    -1,
-     458,   459,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     458,   459,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,
       -1,   469,    -1,    -1,   472,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   480,    -1,    -1,    -1,    -1,    -1,   486,  4411,
-      -1,    -1,    -1,    -1,    -1,    -1,   494,    -1,    -1,    -1,
-      -1,   499,   500,   501,    -1,    -1,    -1,    -1,    -1,  4431,
+      -1,    -1,   480,    -1,    -1,    -1,    83,    -1,   486,  4411,
+      -1,    -1,    -1,    -1,    91,    -1,   494,    -1,    -1,    -1,
+      -1,   499,   500,   501,   101,    -1,    -1,    -1,    -1,  4431,
       -1,    -1,    -1,    -1,    -1,  4437,    -1,    -1,  3089,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4450,    -1,
-      -1,    -1,    -1,    -1,   532,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   540,    -1,    -1,  3116,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  3136,    -1,    -1,    -1,    -1,
+      -1,   118,    -1,    -1,    -1,    -1,    -1,    -1,  4450,    -1,
+      -1,    -1,    -1,    -1,   532,   132,    -1,    -1,   135,    -1,
+      -1,    -1,   540,    -1,    -1,  3116,    -1,   144,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   152,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   160,    -1,  3136,    -1,    -1,    -1,   166,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   584,    -1,    -1,    -1,
-      -1,    -1,  4514,    -1,    -1,    -1,    -1,  4519,   596,    -1,
+      -1,    -1,  4514,    -1,    -1,    -1,    -1,  4519,   596,   196,
       -1,    -1,   600,    -1,  4526,   603,    -1,    -1,    -1,    -1,
      608,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     638,    -1,    -1,    -1,    -1,    -1,   644,    -1,    -1,    -1,
-      -1,    -1,    -1,  4575,    -1,    -1,    -1,    -1,    -1,   657,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   232,    -1,   234,    -1,    -1,
+     638,    -1,    -1,    -1,   241,    -1,   644,    -1,    -1,    -1,
+      -1,   248,    -1,  4575,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   659,    -1,    -1,    -1,    -1,   263,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,  4635,    -1,    -1,    -1,    -1,    -1,  4641,
+      -1,    -1,    -1,   320,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   339,    -1,    -1,    -1,   343,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,  4684,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4692,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  3363,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  4723,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4731,
+     387,    -1,  3363,    -1,    -1,    -1,    -1,   394,    -1,   396,
+      -1,  4723,    -1,    -1,    -1,    -1,    -1,   404,    -1,  4731,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,  3393,    -1,    -1,    -1,  3397,  3398,    -1,  4751,
       -1,  4753,  4754,    -1,    -1,    -1,    -1,    -1,  3409,    -1,
       -1,    -1,    -1,  3414,    -1,    -1,  3417,    -1,  3419,  3420,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4779,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   450,    -1,    -1,    -1,  4779,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   476,
       -1,  4803,    -1,    -1,  4806,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,  4838,    -1,    -1,  3490,
       -1,    -1,    -1,    -1,    -1,    -1,  4848,    -1,    -1,    -1,
-      -1,  4853,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  4853,    -1,    -1,    -1,    -1,    -1,   534,   535,   536,
+      -1,    -1,    -1,    -1,   541,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,  3524,    -1,    -1,  4878,    -1,    -1,    -1,
+     557,    -1,    -1,   560,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  4903,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  4903,   579,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3561,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     597,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -12521,75 +12534,208 @@ static const yytype_int16 yycheck[] =
      613,   614,    -1,    -1,   617,   618,    -1,   620,   621,   622,
      623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
       -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,   642,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   650,   651,    -1,
-      -1,    -1,    -1,   656,   657,    -1,    -1,   660,   661,    -1,
-      -1,   664,   665,     5,    -1,     7,     8,     9,    10,    11,
-      12,    13,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,
-      22,    -1,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    -1,    34,    -1,    -1,    37,    38,    39,    40,    41,
-      42,    43,    -1,    45,    46,    47,    -1,    49,    -1,    51,
-      52,    -1,    -1,    55,    56,    57,    58,    59,    -1,    61,
-      62,    63,    64,    65,    -1,    67,    68,    69,    70,    71,
-      72,    -1,    74,    75,    76,    77,    78,    79,    80,    -1,
-      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
-      92,    -1,    94,    95,    96,    97,    98,    -1,   100,   101,
-     102,   103,    -1,    -1,   106,   107,   108,   109,   110,   111,
-      -1,   113,   114,   115,    -1,   117,   118,   119,   120,   121,
-     122,    -1,    -1,    -1,    -1,   127,   128,   129,    -1,    -1,
-     132,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,
-     142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,
-      -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,
-     162,   163,    -1,   165,   166,   167,    -1,   169,   170,    -1,
-     172,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
-     182,   183,   184,   185,   186,   187,   188,    -1,   190,   191,
-     192,   193,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,
-     202,    -1,   204,    -1,   206,   207,   208,   209,   210,   211,
-     212,    -1,   214,    -1,   216,   217,   218,   219,    -1,   221,
-     222,   223,    -1,   225,   226,    -1,    -1,    -1,   230,   231,
-     232,   233,   234,   235,    -1,    -1,   238,   239,   240,    -1,
-      -1,   243,    -1,    -1,    -1,   247,   248,   249,   250,    -1,
-      -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,
-      -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,
-      -1,   273,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,
-     282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,
-     292,    -1,    -1,    -1,   296,   297,   298,   299,   300,   301,
-     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
-      -1,   313,   314,   315,   316,   317,   318,   319,   320,   321,
-     322,   323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,
-     332,   333,   334,   335,    -1,    -1,   338,   339,   340,   341,
-      -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
-     352,   353,   354,    -1,   356,   357,    -1,    -1,   360,   361,
-     362,   363,   364,   365,   366,   367,   368,    -1,   370,   371,
-     372,    -1,   374,   375,   376,   377,   378,   379,   380,   381,
-      -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   393,   394,   395,    -1,   397,   398,    -1,   400,    -1,
-     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
-     412,    -1,   414,   415,   416,    -1,   418,    -1,   420,   421,
-     422,   423,   424,    -1,   426,   427,   428,    -1,    -1,   431,
-      -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,
-     442,   443,   444,   445,   446,    -1,   448,   449,    -1,   451,
-     452,   453,   454,   455,   456,    -1,   458,    -1,   460,   461,
-      -1,   463,   464,    -1,   466,    -1,   468,    -1,   470,   471,
-     472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
-     482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,   491,
-     492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,
-     502,   503,   504,   505,   506,   507,    -1,   509,   510,   511,
-     512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,
-     522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,
-     532,   533,    -1,    -1,    -1,   537,   538,   539,   540,   541,
-      -1,   543,   544,   545,   546,   547,   548,   549,   550,   551,
-     552,   553,   554,   555,   556,   557,    -1,    -1,   560,   561,
-     562,   563,    -1,   565,   566,   567,    -1,   569,   570,   571,
-     572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,
-     582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
-     592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,
-     602,    -1,   604,    -1,   606,   607,    -1,    -1,   610,   611,
-     612,   613,   614,    -1,    -1,   617,   618,    -1,   620,   621,
-     622,   623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,
-      -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,
-     642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   650,   651,
-      -1,    -1,    -1,    -1,   656,   657,    -1,    -1,   660,   661,
-      -1,    -1,   664,   665,     5,    -1,     7,     8,     9,    10,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   652,
+     653,    -1,    -1,    -1,    -1,   658,   659,    -1,    -1,   662,
+     663,    -1,    -1,   666,   667,     5,    -1,     7,     8,     9,
+      10,    11,    12,    13,    -1,    15,    -1,    -1,    -1,    19,
+      -1,    -1,    22,    -1,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    -1,    34,    -1,    -1,    37,    38,    39,
+      40,    41,    42,    43,    -1,    45,    46,    47,    -1,    49,
+      -1,    51,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    61,    62,    63,    64,    65,    -1,    67,    68,    69,
+      70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
+      80,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
+      -1,    91,    92,    -1,    94,    95,    96,    97,    98,    -1,
+     100,   101,   102,   103,    -1,    -1,   106,   107,   108,   109,
+     110,   111,    -1,   113,   114,   115,    -1,   117,   118,   119,
+     120,   121,   122,    -1,    -1,    -1,    -1,   127,   128,   129,
+      -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,
+     140,    -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,
+      -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,
+     160,    -1,   162,   163,    -1,   165,   166,   167,    -1,   169,
+     170,    -1,   172,   173,   174,   175,   176,   177,   178,   179,
+      -1,   181,   182,   183,   184,   185,   186,   187,   188,    -1,
+     190,   191,   192,   193,    -1,   195,    -1,    -1,    -1,   199,
+     200,    -1,   202,    -1,   204,    -1,   206,   207,   208,   209,
+     210,   211,   212,    -1,   214,    -1,   216,   217,   218,   219,
+      -1,   221,   222,   223,    -1,   225,   226,    -1,    -1,    -1,
+     230,   231,   232,   233,   234,   235,    -1,    -1,   238,   239,
+     240,    -1,    -1,   243,    -1,    -1,    -1,   247,   248,   249,
+     250,    -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,
+      -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,
+      -1,   271,    -1,   273,   274,   275,    -1,    -1,    -1,    -1,
+      -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,   289,
+      -1,    -1,   292,    -1,    -1,    -1,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,    -1,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,   322,   323,   324,   325,    -1,    -1,    -1,    -1,
+     330,   331,   332,   333,   334,   335,    -1,    -1,   338,   339,
+     340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
+     350,   351,   352,   353,   354,    -1,   356,   357,    -1,    -1,
+     360,   361,   362,   363,   364,   365,   366,   367,   368,    -1,
+     370,   371,   372,    -1,   374,   375,   376,   377,   378,   379,
+     380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   393,   394,   395,    -1,   397,   398,    -1,
+     400,    -1,   402,   403,   404,   405,   406,   407,   408,   409,
+     410,   411,   412,    -1,   414,   415,   416,    -1,   418,    -1,
+     420,   421,   422,   423,   424,    -1,   426,   427,   428,    -1,
+      -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,   439,
+      -1,    -1,   442,   443,   444,   445,   446,    -1,   448,   449,
+      -1,   451,   452,   453,   454,   455,   456,    -1,   458,    -1,
+     460,   461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,
+     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
+     480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,
+     490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,
+     500,    -1,   502,   503,   504,   505,   506,   507,    -1,   509,
+     510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,
+      -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,
+      -1,   531,   532,   533,    -1,    -1,    -1,   537,   538,   539,
+     540,   541,    -1,   543,   544,   545,   546,   547,   548,   549,
+     550,   551,   552,   553,   554,   555,   556,   557,    -1,    -1,
+     560,   561,   562,   563,    -1,   565,   566,   567,    -1,   569,
+     570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,
+     580,    -1,   582,   583,   584,   585,   586,   587,   588,   589,
+     590,   591,   592,   593,    -1,   595,   596,    -1,    -1,   599,
+      -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,
+     610,   611,   612,   613,   614,    -1,    -1,   617,   618,    -1,
+     620,   621,   622,   623,   624,   625,   626,   627,    -1,    -1,
+      -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,
+      -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   652,   653,    -1,    -1,    -1,    -1,   658,   659,
+      -1,    -1,   662,   663,    -1,    -1,   666,   667,     5,    -1,
+       7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
+      -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
+      37,    38,    39,    40,    41,    42,    43,    -1,    45,    46,
+      47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    56,
+      57,    58,    59,    -1,    61,    62,    63,    64,    65,    -1,
+      67,    68,    69,    70,    71,    72,    -1,    74,    75,    76,
+      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
+      87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
+      97,    98,    -1,   100,   101,   102,   103,    -1,    -1,   106,
+     107,   108,   109,   110,   111,    -1,   113,   114,   115,    -1,
+     117,   118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,
+     127,   128,   129,    -1,    -1,   132,   133,    -1,   135,    -1,
+      -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
+      -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
+      -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
+     167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
+     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
+     187,   188,    -1,   190,   191,   192,   193,    -1,   195,    -1,
+      -1,    -1,   199,   200,   201,   202,    -1,   204,    -1,   206,
+     207,   208,   209,   210,   211,   212,    -1,   214,    -1,   216,
+     217,   218,   219,    -1,   221,   222,   223,    -1,   225,   226,
+      -1,    -1,    -1,   230,   231,   232,   233,   234,   235,    -1,
+      -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
+     247,   248,   249,   250,    -1,    -1,   253,    -1,   255,   256,
+      -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
+     267,   268,    -1,    -1,   271,    -1,   273,   274,   275,    -1,
+      -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
+      -1,   288,   289,    -1,    -1,   292,    -1,    -1,    -1,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
+     317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
+      -1,    -1,    -1,   330,   331,   332,   333,   334,   335,    -1,
+      -1,   338,   339,   340,   341,    -1,   343,   344,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,   354,    -1,   356,
+     357,    -1,    -1,   360,   361,   362,   363,   364,   365,   366,
+     367,   368,    -1,   370,   371,   372,    -1,   374,   375,   376,
+      -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
+     397,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
+     407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
+      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
+     427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
+     437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
+      -1,   448,   449,    -1,   451,   452,   453,   454,   455,   456,
+      -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,   466,
+      -1,   468,    -1,   470,   471,   472,   473,   474,   475,   476,
+     477,   478,   479,   480,   481,   482,    -1,   484,   485,    -1,
+      -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,
+      -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,   506,
+     507,    -1,   509,   510,   511,   512,   513,   514,    -1,    -1,
+      -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
+     527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
+     537,   538,   539,   540,   541,    -1,   543,   544,   545,   546,
+     547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
+     557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
+     567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
+      -1,   578,   579,   580,    -1,   582,   583,   584,   585,   586,
+     587,   588,   589,   590,   591,   592,   593,    -1,   595,   596,
+      -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,
+     607,    -1,    -1,   610,   611,   612,   613,   614,    -1,    -1,
+     617,   618,    -1,   620,   621,   622,   623,   624,   625,   626,
+     627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
+     637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   652,   653,    -1,    -1,    -1,
+      -1,   658,   659,    -1,    -1,   662,   663,    -1,    -1,   666,
+     667,     5,    -1,     7,     8,     9,    10,    11,    12,    -1,
+      -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,    -1,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
+      34,    -1,    -1,    37,    38,    39,    40,    41,    42,    43,
+      -1,    45,    46,    47,    -1,    49,    -1,    51,    52,    -1,
+      -1,    55,    56,    57,    58,    59,    -1,    61,    62,    63,
+      64,    65,    -1,    67,    68,    69,    70,    71,    72,    -1,
+      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
+      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
+      94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
+      -1,    -1,   106,   107,   108,   109,   110,   111,    -1,   113,
+     114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
+      -1,    -1,    -1,   127,   128,   129,    -1,    -1,   132,   133,
+      -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,
+     144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,
+     154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,
+      -1,   165,   166,   167,    -1,   169,   170,    -1,   172,   173,
+     174,   175,   176,   177,   178,   179,    -1,   181,   182,   183,
+     184,   185,   186,   187,   188,    -1,   190,   191,   192,   193,
+      -1,   195,    -1,    -1,    -1,   199,   200,   201,   202,    -1,
+     204,    -1,   206,   207,   208,   209,   210,   211,   212,    -1,
+     214,    -1,   216,   217,   218,   219,    -1,   221,   222,   223,
+      -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,   233,
+     234,   235,    -1,    -1,   238,   239,   240,    -1,    -1,   243,
+      -1,    -1,    -1,   247,   248,   249,   250,    -1,    -1,   253,
+      -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,
+      -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,   273,
+     274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,
+     284,    -1,   286,    -1,   288,   289,    -1,    -1,   292,    -1,
+      -1,    -1,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,    -1,   313,
+     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
+     324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,
+     334,   335,    -1,    -1,   338,   339,   340,   341,    -1,   343,
+     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
+     354,    -1,   356,   357,    -1,    -1,   360,   361,   362,   363,
+     364,   365,   366,   367,   368,    -1,   370,   371,   372,    -1,
+     374,   375,   376,    -1,   378,   379,   380,   381,    -1,   383,
+     384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,
+     394,   395,    -1,   397,   398,    -1,   400,    -1,   402,   403,
+     404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
+     414,   415,   416,    -1,   418,    -1,   420,   421,   422,   423,
+     424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,
+      -1,   435,   436,   437,   438,   439,    -1,    -1,   442,   443,
+     444,   445,   446,    -1,   448,   449,    -1,   451,   452,   453,
+     454,   455,   456,    -1,   458,    -1,   460,   461,    -1,   463,
+     464,    -1,   466,    -1,   468,    -1,   470,   471,   472,   473,
+     474,   475,   476,   477,   478,   479,   480,   481,   482,    -1,
+     484,   485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,
+      -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,
+     504,   505,   506,   507,    -1,   509,   510,   511,   512,   513,
+     514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,
+     524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,
+      -1,    -1,    -1,   537,   538,   539,   540,   541,    -1,   543,
+     544,   545,   546,   547,   548,   549,   550,   551,   552,   553,
+     554,   555,   556,   557,    -1,    -1,   560,   561,   562,   563,
+      -1,   565,   566,   567,    -1,   569,   570,   571,   572,    -1,
+      -1,    -1,    -1,    -1,   578,   579,   580,    -1,   582,   583,
+     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
+      -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,
+     604,    -1,   606,   607,    -1,    -1,   610,   611,   612,   613,
+     614,    -1,    -1,   617,   618,    -1,   620,   621,   622,   623,
+     624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,
+     634,   635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   652,   653,
+      -1,    -1,    -1,    -1,   658,   659,    -1,    -1,   662,   663,
+      -1,    -1,   666,   667,     5,    -1,     7,     8,     9,    10,
       11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
       -1,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
       31,    32,    -1,    34,    -1,    -1,    37,    38,    39,    40,
@@ -12653,141 +12799,9 @@ static const yytype_int16 yycheck[] =
      611,   612,   613,   614,    -1,    -1,   617,   618,    -1,   620,
      621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
       -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
-      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   650,
-     651,    -1,    -1,    -1,    -1,   656,   657,    -1,    -1,   660,
-     661,    -1,    -1,   664,   665,     5,    -1,     7,     8,     9,
-      10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,
-      -1,    -1,    22,    -1,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    -1,    34,    -1,    -1,    37,    38,    39,
-      40,    41,    42,    43,    -1,    45,    46,    47,    -1,    49,
-      -1,    51,    52,    -1,    -1,    55,    56,    57,    58,    59,
-      -1,    61,    62,    63,    64,    65,    -1,    67,    68,    69,
-      70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
-      80,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
-      -1,    91,    92,    -1,    94,    95,    96,    97,    98,    -1,
-     100,   101,   102,   103,    -1,    -1,   106,   107,   108,   109,
-     110,   111,    -1,   113,   114,   115,    -1,   117,   118,   119,
-     120,   121,   122,    -1,    -1,    -1,    -1,   127,   128,   129,
-      -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,
-     140,    -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,
-      -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,
-     160,    -1,   162,   163,    -1,   165,   166,   167,    -1,   169,
-     170,    -1,   172,   173,   174,   175,   176,   177,   178,   179,
-      -1,   181,   182,   183,   184,   185,   186,   187,   188,    -1,
-     190,   191,   192,   193,    -1,   195,    -1,    -1,    -1,   199,
-     200,   201,   202,    -1,   204,    -1,   206,   207,   208,   209,
-     210,   211,   212,    -1,   214,    -1,   216,   217,   218,   219,
-      -1,   221,   222,   223,    -1,   225,   226,    -1,    -1,    -1,
-     230,   231,   232,   233,   234,   235,    -1,    -1,   238,   239,
-     240,    -1,    -1,   243,    -1,    -1,    -1,   247,   248,   249,
-     250,    -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,
-      -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,
-      -1,   271,    -1,   273,   274,   275,    -1,    -1,    -1,    -1,
-      -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,   289,
-      -1,    -1,   292,    -1,    -1,    -1,   296,   297,   298,   299,
-     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
-     310,   311,    -1,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,   322,   323,   324,   325,    -1,    -1,    -1,    -1,
-     330,   331,   332,   333,   334,   335,    -1,    -1,   338,   339,
-     340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
-     350,   351,   352,   353,   354,    -1,   356,   357,    -1,    -1,
-     360,   361,   362,   363,   364,   365,   366,   367,   368,    -1,
-     370,   371,   372,    -1,   374,   375,   376,    -1,   378,   379,
-     380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   393,   394,   395,    -1,   397,   398,    -1,
-     400,    -1,   402,   403,   404,   405,   406,   407,   408,   409,
-     410,   411,   412,    -1,   414,   415,   416,    -1,   418,    -1,
-     420,   421,   422,   423,   424,    -1,   426,   427,   428,    -1,
-      -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,   439,
-      -1,    -1,   442,   443,   444,   445,   446,    -1,   448,   449,
-      -1,   451,   452,   453,   454,   455,   456,    -1,   458,    -1,
-     460,   461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,
-     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
-     480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,
-     490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,
-     500,    -1,   502,   503,   504,   505,   506,   507,    -1,   509,
-     510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,
-      -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,
-      -1,   531,   532,   533,    -1,    -1,    -1,   537,   538,   539,
-     540,   541,    -1,   543,   544,   545,   546,   547,   548,   549,
-     550,   551,   552,   553,   554,   555,   556,   557,    -1,    -1,
-     560,   561,   562,   563,    -1,   565,   566,   567,    -1,   569,
-     570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,
-     580,    -1,   582,   583,   584,   585,   586,   587,   588,   589,
-     590,   591,   592,   593,    -1,   595,   596,    -1,    -1,   599,
-      -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,
-     610,   611,   612,   613,   614,    -1,    -1,   617,   618,    -1,
-     620,   621,   622,   623,   624,   625,   626,   627,    -1,    -1,
-      -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,
-      -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     650,   651,    -1,    -1,    -1,    -1,   656,   657,    -1,    -1,
-     660,   661,    -1,    -1,   664,   665,     5,    -1,     7,     8,
-       9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
-      19,    -1,    -1,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    -1,    34,    -1,    -1,    37,    38,
-      39,    40,    41,    42,    43,    -1,    45,    46,    47,    -1,
-      49,    -1,    51,    52,    -1,    -1,    55,    56,    57,    58,
-      59,    -1,    61,    62,    63,    64,    65,    -1,    67,    68,
-      69,    70,    71,    72,    -1,    74,    75,    76,    77,    78,
-      79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
-      89,    -1,    91,    92,    -1,    94,    95,    96,    97,    98,
-      -1,   100,   101,   102,   103,    -1,    -1,   106,   107,   108,
-     109,   110,   111,    -1,   113,   114,   115,    -1,   117,   118,
-     119,   120,   121,   122,    -1,    -1,    -1,    -1,   127,   128,
-     129,    -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,
-      -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
-      -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
-      -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
-     169,   170,    -1,   172,   173,   174,   175,   176,   177,   178,
-     179,    -1,   181,   182,   183,   184,   185,   186,   187,   188,
-      -1,   190,   191,   192,   193,    -1,   195,    -1,    -1,    -1,
-     199,   200,   201,   202,    -1,   204,    -1,   206,   207,   208,
-     209,   210,   211,   212,    -1,   214,    -1,   216,   217,   218,
-     219,    -1,   221,   222,   223,    -1,   225,   226,    -1,    -1,
-      -1,   230,   231,   232,   233,   234,   235,    -1,    -1,   238,
-     239,   240,    -1,    -1,   243,    -1,    -1,    -1,   247,   248,
-     249,   250,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
-     259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,   273,   274,   275,    -1,    -1,    -1,
-      -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
-     289,    -1,    -1,   292,    -1,    -1,    -1,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,    -1,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,    -1,    -1,    -1,
-      -1,   330,   331,   332,   333,   334,   335,    -1,    -1,   338,
-     339,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
-     349,   350,   351,   352,   353,   354,    -1,   356,   357,    -1,
-      -1,   360,   361,   362,   363,   364,   365,   366,   367,   368,
-      -1,   370,   371,   372,    -1,   374,   375,   376,    -1,   378,
-     379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   393,   394,   395,    -1,   397,   398,
-      -1,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
-     409,   410,   411,   412,    -1,   414,   415,   416,    -1,   418,
-      -1,   420,   421,   422,   423,   424,    -1,   426,   427,   428,
-      -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,
-     439,    -1,    -1,   442,   443,   444,   445,   446,    -1,   448,
-     449,    -1,   451,   452,   453,   454,   455,   456,    -1,   458,
-      -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,   468,
-      -1,   470,   471,   472,   473,   474,   475,   476,   477,   478,
-     479,   480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,
-     489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,
-      -1,   500,    -1,   502,   503,   504,   505,   506,   507,    -1,
-     509,   510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,
-      -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,
-      -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,   538,
-     539,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
-     549,   550,   551,   552,   553,   554,   555,   556,   557,    -1,
-      -1,   560,   561,   562,   563,    -1,   565,   566,   567,    -1,
-     569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
-     579,   580,    -1,   582,   583,   584,   585,   586,   587,   588,
-     589,   590,   591,   592,   593,    -1,   595,   596,    -1,    -1,
-     599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,
-      -1,   610,   611,   612,   613,   614,    -1,    -1,   617,   618,
-      -1,   620,   621,   622,   623,   624,   625,   626,   627,    -1,
-      -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,
-     639,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   650,   651,    -1,    -1,    -1,    -1,   656,   657,    -1,
-      -1,   660,   661,    -1,    -1,   664,   665,     5,    -1,     7,
+      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   652,   653,    -1,    -1,    -1,    -1,   658,   659,    -1,
+      -1,   662,   663,    -1,    -1,   666,   667,     5,    -1,     7,
        8,     9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,
       -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    -1,    34,    -1,    -1,    37,
@@ -12852,140 +12866,8 @@ static const yytype_int16 yycheck[] =
      618,    -1,   620,   621,   622,   623,   624,   625,   626,   627,
       -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,
      638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   650,   651,    -1,    -1,    -1,    -1,   656,   657,
-      -1,    -1,   660,   661,    -1,    -1,   664,   665,     5,    -1,
-       7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
-      -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
-      37,    38,    39,    40,    41,    42,    43,    -1,    45,    46,
-      47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    56,
-      57,    58,    59,    -1,    61,    62,    63,    64,    65,    -1,
-      67,    68,    69,    70,    71,    72,    -1,    74,    75,    76,
-      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
-      87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
-      97,    98,    -1,   100,   101,   102,   103,    -1,    -1,   106,
-     107,   108,   109,   110,   111,    -1,   113,   114,   115,    -1,
-     117,   118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,
-     127,   128,   129,    -1,    -1,   132,   133,    -1,   135,    -1,
-      -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
-      -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
-      -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
-     167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
-     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
-     187,   188,    -1,   190,   191,   192,   193,    -1,   195,    -1,
-      -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,
-     207,   208,   209,   210,   211,   212,    -1,   214,    -1,   216,
-     217,   218,   219,    -1,   221,   222,   223,    -1,   225,   226,
-      -1,    -1,    -1,   230,   231,   232,   233,   234,   235,    -1,
-      -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
-     247,   248,   249,   250,    -1,    -1,   253,    -1,   255,   256,
-      -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
-     267,   268,    -1,    -1,   271,    -1,   273,   274,   275,    -1,
-      -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
-      -1,   288,   289,    -1,    -1,   292,    -1,    -1,    -1,   296,
-     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
-     317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
-      -1,    -1,    -1,   330,   331,   332,   333,   334,   335,    -1,
-      -1,   338,   339,   340,   341,    -1,   343,   344,   345,   346,
-     347,   348,   349,   350,   351,   352,   353,   354,    -1,   356,
-     357,    -1,    -1,   360,   361,   362,   363,   364,   365,   366,
-     367,   368,    -1,   370,   371,   372,    -1,   374,   375,   376,
-      -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
-     397,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
-     407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
-      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
-     427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
-     437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
-      -1,   448,   449,    -1,   451,   452,   453,   454,   455,   456,
-      -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,   466,
-      -1,   468,    -1,   470,   471,   472,   473,   474,   475,   476,
-     477,   478,   479,   480,   481,   482,    -1,   484,   485,    -1,
-      -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,
-      -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,   506,
-     507,    -1,   509,   510,   511,   512,   513,   514,    -1,    -1,
-      -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
-     527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
-     537,   538,   539,   540,   541,    -1,   543,   544,   545,   546,
-     547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
-     557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
-     567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
-      -1,   578,   579,   580,    -1,   582,   583,   584,   585,   586,
-     587,   588,   589,   590,   591,   592,   593,    -1,   595,   596,
-      -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,
-     607,    -1,    -1,   610,   611,   612,   613,   614,    -1,    -1,
-     617,   618,    -1,   620,   621,   622,   623,   624,   625,   626,
-     627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
-     637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   650,   651,    -1,    -1,    -1,    -1,   656,
-     657,    -1,    -1,   660,   661,    -1,    -1,   664,   665,     5,
-      -1,     7,     8,     9,    10,    11,    12,    13,    -1,    15,
-      -1,    -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    -1,    34,    -1,
-      -1,    37,    38,    39,    40,    41,    42,    43,    -1,    45,
-      46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,
-      56,    57,    58,    59,    -1,    61,    62,    63,    64,    65,
-      -1,    67,    68,    69,    70,    71,    72,    -1,    74,    75,
-      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
-      86,    87,    88,    89,    -1,    91,    92,    -1,    94,    95,
-      96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
-     106,   107,   108,   109,   110,   111,    -1,   113,   114,   115,
-      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
-      -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,   135,
-      -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,
-     146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,
-     156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,
-     166,   167,    -1,   169,   170,    -1,   172,   173,   174,   175,
-     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
-     186,   187,   188,    -1,   190,   191,   192,   193,    -1,   195,
-      -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,
-     206,   207,   208,   209,   210,   211,   212,    -1,   214,    -1,
-     216,   217,   218,   219,    -1,   221,   222,   223,    -1,   225,
-     226,    -1,    -1,    -1,   230,   231,   232,   233,   234,   235,
-      -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,
-      -1,   247,   248,   249,   250,    -1,    -1,   253,    -1,   255,
-     256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,
-     266,   267,   268,    -1,    -1,   271,    -1,   273,   274,   275,
-      -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,
-     286,    -1,   288,   289,    -1,    -1,   292,    -1,    -1,    -1,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,    -1,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
-      -1,    -1,    -1,    -1,   330,   331,   332,   333,   334,   335,
-      -1,    -1,   338,   339,   340,   341,    -1,   343,   344,   345,
-     346,   347,   348,   349,   350,   351,   352,   353,   354,    -1,
-     356,   357,    -1,    -1,   360,   361,   362,   363,   364,    -1,
-     366,   367,   368,    -1,   370,   371,   372,    -1,   374,   375,
-     376,    -1,   378,   379,   380,   381,    -1,   383,   384,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,
-      -1,   397,   398,    -1,   400,    -1,   402,   403,   404,   405,
-     406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
-     416,    -1,   418,    -1,   420,   421,   422,   423,   424,    -1,
-     426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,
-     436,   437,   438,   439,    -1,    -1,   442,   443,   444,   445,
-     446,    -1,   448,   449,    -1,   451,   452,   453,   454,   455,
-     456,    -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,
-     466,    -1,   468,    -1,   470,   471,   472,   473,   474,   475,
-     476,   477,   478,   479,   480,   481,   482,    -1,   484,   485,
-      -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,
-     496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,
-     506,   507,    -1,   509,   510,   511,   512,   513,   514,    -1,
-      -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,
-      -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,
-      -1,   537,   538,   539,   540,   541,    -1,   543,   544,   545,
-     546,   547,   548,   549,   550,   551,   552,   553,   554,   555,
-     556,   557,    -1,    -1,   560,   561,   562,   563,    -1,   565,
-     566,   567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,
-      -1,    -1,   578,   579,   580,    -1,   582,   583,   584,   585,
-     586,   587,   588,   589,   590,   591,   592,   593,    -1,   595,
-     596,    -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,
-     606,   607,    -1,    -1,   610,   611,   612,   613,   614,    -1,
-      -1,   617,   618,    -1,   620,   621,   622,   623,   624,   625,
-     626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,
-      -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   650,   651,    -1,    -1,    -1,    -1,
-     656,   657,    -1,    -1,   660,   661,    -1,    -1,   664,   665,
+      -1,    -1,    -1,    -1,   652,   653,    -1,    -1,    -1,    -1,
+     658,   659,    -1,    -1,   662,   663,    -1,    -1,   666,   667,
        5,    -1,     7,     8,     9,    10,    11,    12,    -1,    -1,
       15,    -1,    -1,    -1,    19,    -1,    -1,    22,    -1,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
@@ -13050,142 +12932,10 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   617,   618,    -1,   620,   621,   622,   623,   624,
      625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
      635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   650,   651,    -1,    -1,    -1,
-      -1,   656,   657,    -1,    -1,   660,   661,    -1,    -1,   664,
-     665,     5,    -1,     7,     8,     9,    10,    11,    12,    -1,
-      -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,    -1,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
-      34,    -1,    -1,    37,    38,    39,    40,    41,    42,    43,
-      -1,    45,    46,    47,    -1,    49,    -1,    51,    52,    -1,
-      -1,    55,    56,    57,    58,    59,    -1,    61,    62,    63,
-      64,    65,    -1,    67,    68,    69,    70,    71,    72,    -1,
-      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
-      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
-      94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
-      -1,    -1,   106,   107,   108,   109,   110,   111,    -1,   113,
-     114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
-      -1,    -1,    -1,   127,   128,   129,    -1,    -1,   132,   133,
-      -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,
-     144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,
-     154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,
-      -1,   165,   166,   167,    -1,   169,   170,    -1,   172,   173,
-     174,   175,   176,   177,   178,   179,    -1,   181,   182,   183,
-     184,   185,   186,   187,   188,    -1,   190,   191,   192,   193,
-      -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,
-     204,    -1,   206,   207,   208,   209,   210,   211,   212,    -1,
-     214,    -1,   216,   217,   218,   219,    -1,   221,   222,   223,
-      -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,   233,
-     234,   235,    -1,    -1,   238,   239,   240,    -1,    -1,   243,
-      -1,    -1,    -1,   247,   248,   249,   250,    -1,    -1,   253,
-      -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,
-      -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,   273,
-     274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,
-     284,    -1,   286,    -1,   288,   289,    -1,    -1,   292,    -1,
-      -1,    -1,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,    -1,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
-     324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,
-     334,   335,    -1,    -1,   338,   339,   340,   341,    -1,   343,
-     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
-     354,    -1,   356,   357,    -1,    -1,   360,   361,   362,   363,
-     364,   365,   366,   367,   368,    -1,   370,   371,   372,    -1,
-     374,   375,   376,    -1,   378,   379,   380,   381,    -1,   383,
-     384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,
-     394,   395,    -1,   397,   398,    -1,   400,    -1,   402,   403,
-     404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
-     414,   415,   416,    -1,   418,    -1,   420,   421,   422,   423,
-     424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,
-      -1,   435,   436,   437,   438,   439,    -1,    -1,   442,   443,
-     444,   445,   446,    -1,   448,   449,    -1,   451,   452,   453,
-     454,   455,   456,    -1,   458,    -1,   460,   461,    -1,   463,
-     464,    -1,   466,    -1,   468,    -1,   470,   471,   472,   473,
-     474,   475,   476,   477,   478,   479,   480,   481,   482,    -1,
-     484,   485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,
-      -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,
-     504,   505,   506,   507,    -1,   509,   510,   511,   512,   513,
-     514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,
-     524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,
-      -1,    -1,    -1,   537,   538,   539,   540,   541,    -1,   543,
-     544,   545,   546,   547,   548,   549,   550,   551,   552,   553,
-     554,   555,   556,   557,    -1,    -1,   560,   561,   562,   563,
-      -1,   565,   566,   567,    -1,   569,   570,   571,   572,    -1,
-      -1,    -1,    -1,    -1,   578,   579,   580,    -1,   582,   583,
-     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
-      -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,
-     604,    -1,   606,   607,    -1,    -1,   610,   611,   612,   613,
-     614,    -1,    -1,   617,   618,    -1,   620,   621,   622,   623,
-     624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,
-     634,   635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   650,   651,    -1,    -1,
-      -1,    -1,   656,   657,    -1,    -1,   660,   661,    -1,    -1,
-     664,   665,     5,    -1,     7,     8,     9,    10,    11,    12,
-      -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,
-      -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      -1,    34,    -1,    -1,    37,    38,    39,    40,    41,    42,
-      43,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
-      -1,    -1,    55,    56,    57,    58,    59,    -1,    61,    62,
-      63,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
-      -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
-      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
-      -1,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
-     103,    -1,    -1,   106,   107,   108,   109,   110,   111,    -1,
-     113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
-      -1,    -1,    -1,    -1,   127,   128,   129,    -1,    -1,   132,
-     133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,
-     143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,
-      -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,
-     163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
-     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
-     183,   184,   185,   186,   187,   188,    -1,   190,   191,   192,
-     193,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
-      -1,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
-      -1,   214,    -1,   216,   217,   218,   219,    -1,   221,   222,
-     223,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
-     233,   234,   235,    -1,    -1,   238,   239,   240,    -1,    -1,
-     243,    -1,    -1,    -1,   247,   248,   249,   250,    -1,    -1,
-     253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
-     263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
-     273,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
-      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,   292,
-      -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
-     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
-     323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
-     333,   334,   335,    -1,    -1,   338,   339,   340,   341,    -1,
-     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
-     353,   354,    -1,   356,   357,    -1,    -1,   360,   361,   362,
-     363,   364,   365,   366,   367,   368,    -1,   370,   371,   372,
-      -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
-     383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     393,   394,   395,    -1,   397,   398,    -1,   400,    -1,   402,
-     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
-      -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
-     423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
-      -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,   442,
-     443,   444,   445,   446,    -1,   448,   449,    -1,   451,   452,
-     453,   454,   455,   456,    -1,   458,    -1,   460,   461,    -1,
-     463,   464,    -1,   466,    -1,   468,    -1,   470,   471,   472,
-     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
-      -1,   484,   485,    -1,    -1,    -1,   489,   490,   491,   492,
-      -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,
-     503,   504,   505,   506,   507,    -1,   509,   510,   511,   512,
-     513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,
-      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,
-     533,    -1,    -1,    -1,   537,   538,   539,   540,   541,    -1,
-     543,   544,   545,   546,   547,   548,   549,   550,   551,   552,
-     553,   554,   555,   556,   557,    -1,    -1,   560,   561,   562,
-     563,    -1,   565,   566,   567,    -1,   569,   570,   571,   572,
-      -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,   582,
-     583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
-     593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
-      -1,   604,    -1,   606,   607,    -1,    -1,   610,   611,   612,
-     613,   614,    -1,    -1,   617,   618,    -1,   620,   621,   622,
-     623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
-      -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,   642,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   650,   651,    -1,
-      -1,    -1,    -1,   656,   657,    -1,    -1,   660,   661,    -1,
-      -1,   664,   665,     5,    -1,     7,     8,     9,    10,    11,
-      12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   652,   653,    -1,
+      -1,    -1,    -1,   658,   659,    -1,    -1,   662,   663,    -1,
+      -1,   666,   667,     5,    -1,     7,     8,     9,    10,    11,
+      12,    13,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,
       22,    -1,    24,    25,    26,    27,    28,    29,    30,    31,
       32,    -1,    34,    -1,    -1,    37,    38,    39,    40,    41,
       42,    43,    -1,    45,    46,    47,    -1,    49,    -1,    51,
@@ -13220,7 +12970,7 @@ static const yytype_int16 yycheck[] =
      332,   333,   334,   335,    -1,    -1,   338,   339,   340,   341,
       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
      352,   353,   354,    -1,   356,   357,    -1,    -1,   360,   361,
-     362,   363,   364,   365,   366,   367,   368,    -1,   370,   371,
+     362,   363,   364,    -1,   366,   367,   368,    -1,   370,   371,
      372,    -1,   374,   375,   376,    -1,   378,   379,   380,   381,
       -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   393,   394,   395,    -1,   397,   398,    -1,   400,    -1,
@@ -13248,141 +12998,9 @@ static const yytype_int16 yycheck[] =
      612,   613,   614,    -1,    -1,   617,   618,    -1,   620,   621,
      622,   623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,
       -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,
-     642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   650,   651,
-      -1,    -1,    -1,    -1,   656,   657,    -1,    -1,   660,   661,
-      -1,    -1,   664,   665,     5,    -1,     7,     8,     9,    10,
-      11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
-      -1,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    -1,    34,    -1,    -1,    37,    38,    39,    40,
-      41,    42,    43,    -1,    45,    46,    47,    -1,    49,    -1,
-      51,    52,    -1,    -1,    55,    56,    57,    58,    59,    -1,
-      61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
-      71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
-      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
-      91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
-     101,   102,   103,    -1,    -1,   106,   107,   108,   109,   110,
-     111,    -1,   113,   114,   115,    -1,   117,   118,   119,   120,
-     121,   122,    -1,    -1,    -1,    -1,   127,   128,   129,    -1,
-      -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
-      -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
-     151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
-      -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
-      -1,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
-     181,   182,   183,   184,   185,   186,   187,   188,    -1,   190,
-     191,   192,   193,    -1,   195,    -1,    -1,    -1,   199,   200,
-      -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
-     211,   212,    -1,   214,    -1,   216,   217,   218,   219,    -1,
-     221,   222,   223,    -1,   225,   226,    -1,    -1,    -1,   230,
-     231,   232,   233,   234,   235,    -1,    -1,   238,   239,   240,
-      -1,    -1,   243,    -1,    -1,    -1,   247,   248,   249,   250,
-      -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
-      -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
-     271,    -1,   273,   274,   275,    -1,    -1,    -1,    -1,    -1,
-     281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
-      -1,   292,    -1,    -1,    -1,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,    -1,   313,   314,   315,   316,   317,   318,   319,   320,
-     321,   322,   323,   324,   325,   326,    -1,    -1,    -1,   330,
-     331,   332,   333,   334,   335,    -1,    -1,   338,   339,   340,
-     341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
-     351,   352,   353,   354,    -1,   356,   357,    -1,    -1,   360,
-     361,   362,   363,   364,    -1,   366,   367,   368,    -1,   370,
-     371,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
-     381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   393,   394,   395,    -1,   397,   398,    -1,   400,
-      -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
-     411,   412,    -1,   414,   415,   416,    -1,   418,    -1,   420,
-     421,   422,   423,   424,    -1,   426,   427,   428,    -1,    -1,
-     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,
-      -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
-     451,   452,   453,   454,   455,   456,    -1,   458,    -1,   460,
-     461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,   470,
-     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
-     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
-     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
-      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
-     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
-     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
-     531,   532,   533,    -1,    -1,    -1,   537,   538,   539,   540,
-     541,    -1,   543,   544,   545,   546,   547,   548,   549,   550,
-     551,   552,   553,   554,   555,   556,   557,    -1,    -1,   560,
-     561,   562,   563,    -1,   565,   566,   567,    -1,   569,   570,
-     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
-      -1,   582,   583,   584,   585,   586,   587,   588,   589,   590,
-     591,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
-      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,   610,
-     611,   612,   613,   614,    -1,    -1,   617,   618,    -1,   620,
-     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
-      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
-      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   650,
-     651,    -1,    -1,    -1,    -1,   656,   657,    -1,    -1,   660,
-     661,    -1,    -1,   664,   665,     5,    -1,     7,     8,     9,
-      10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,
-      -1,    -1,    22,    -1,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    -1,    34,    -1,    -1,    37,    38,    39,
-      40,    41,    42,    43,    -1,    45,    46,    47,    -1,    49,
-      -1,    51,    52,    -1,    -1,    55,    56,    57,    58,    59,
-      -1,    61,    62,    63,    64,    65,    -1,    67,    68,    69,
-      70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
-      80,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
-      -1,    91,    92,    -1,    94,    95,    96,    97,    98,    -1,
-     100,   101,   102,   103,    -1,    -1,   106,   107,   108,   109,
-     110,   111,    -1,   113,   114,   115,    -1,   117,   118,   119,
-     120,   121,   122,    -1,    -1,    -1,    -1,   127,   128,   129,
-      -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,
-     140,    -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,
-      -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,
-     160,    -1,   162,   163,    -1,   165,   166,   167,    -1,   169,
-     170,    -1,   172,   173,   174,   175,   176,   177,   178,   179,
-      -1,   181,   182,   183,   184,   185,   186,   187,   188,    -1,
-     190,   191,   192,   193,    -1,   195,    -1,    -1,    -1,   199,
-     200,    -1,   202,    -1,   204,    -1,   206,   207,   208,   209,
-     210,   211,   212,    -1,   214,    -1,   216,   217,   218,   219,
-      -1,   221,   222,   223,    -1,   225,   226,    -1,    -1,    -1,
-     230,   231,   232,   233,   234,   235,    -1,    -1,   238,   239,
-     240,    -1,    -1,   243,    -1,    -1,    -1,   247,   248,   249,
-     250,    -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,
-      -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,
-      -1,   271,    -1,   273,   274,   275,    -1,    -1,    -1,    -1,
-      -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,   289,
-      -1,    -1,   292,    -1,    -1,    -1,   296,   297,   298,   299,
-     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
-     310,   311,    -1,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,   322,   323,   324,   325,    -1,    -1,    -1,    -1,
-     330,   331,   332,   333,   334,   335,    -1,    -1,   338,   339,
-     340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
-     350,   351,   352,   353,   354,    -1,   356,   357,    -1,    -1,
-     360,   361,   362,   363,   364,    -1,   366,   367,   368,    -1,
-     370,   371,   372,    -1,   374,   375,   376,    -1,   378,   379,
-     380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   393,   394,   395,    -1,   397,   398,    -1,
-     400,    -1,   402,   403,   404,   405,   406,   407,   408,   409,
-     410,   411,   412,    -1,   414,   415,   416,    -1,   418,    -1,
-     420,   421,   422,   423,   424,    -1,   426,   427,   428,    -1,
-      -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,   439,
-      -1,    -1,   442,   443,   444,   445,   446,    -1,   448,   449,
-      -1,   451,   452,   453,   454,   455,   456,    -1,   458,    -1,
-     460,   461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,
-     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
-     480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,
-     490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,
-     500,    -1,   502,   503,   504,   505,   506,   507,    -1,   509,
-     510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,
-      -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,
-      -1,   531,   532,   533,    -1,    -1,    -1,   537,   538,   539,
-     540,   541,    -1,   543,   544,   545,   546,   547,   548,   549,
-     550,   551,   552,   553,   554,   555,   556,   557,    -1,    -1,
-     560,   561,   562,   563,    -1,   565,   566,   567,    -1,   569,
-     570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,
-     580,    -1,   582,   583,   584,   585,   586,   587,   588,   589,
-     590,   591,   592,   593,    -1,   595,   596,    -1,    -1,   599,
-      -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,
-     610,   611,   612,   613,   614,    -1,    -1,   617,   618,    -1,
-     620,   621,   622,   623,   624,   625,   626,   627,    -1,    -1,
-      -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,
-      -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     650,   651,    -1,    -1,    -1,    -1,   656,   657,    -1,    -1,
-     660,   661,    -1,    -1,   664,   665,     5,    -1,     7,     8,
+     642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     652,   653,    -1,    -1,    -1,    -1,   658,   659,    -1,    -1,
+     662,   663,    -1,    -1,   666,   667,     5,    -1,     7,     8,
        9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
       19,    -1,    -1,    22,    -1,    24,    25,    26,    27,    28,
       29,    30,    31,    32,    -1,    34,    -1,    -1,    37,    38,
@@ -13418,7 +13036,7 @@ static const yytype_int16 yycheck[] =
       -1,   330,   331,   332,   333,   334,   335,    -1,    -1,   338,
      339,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
      349,   350,   351,   352,   353,   354,    -1,   356,   357,    -1,
-      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
+      -1,   360,   361,   362,   363,   364,   365,   366,   367,   368,
       -1,   370,   371,   372,    -1,   374,   375,   376,    -1,   378,
      379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,   393,   394,   395,    -1,   397,   398,
@@ -13447,598 +13065,546 @@ static const yytype_int16 yycheck[] =
       -1,   620,   621,   622,   623,   624,   625,   626,   627,    -1,
       -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,
      639,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   650,   651,    -1,    -1,    -1,    -1,   656,   657,    -1,
-      -1,   660,   661,    -1,    -1,   664,   665,     5,    -1,     7,
-       8,     9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,
-      -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    -1,    34,    -1,    -1,    37,
-      38,    39,    40,    41,    42,    43,    -1,    45,    46,    47,
-      -1,    49,    -1,    51,    52,    -1,    -1,    55,    56,    57,
-      58,    59,    -1,    61,    62,    63,    64,    65,    -1,    67,
-      68,    69,    70,    71,    72,    -1,    74,    75,    76,    77,
-      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
-      88,    89,    -1,    91,    92,    -1,    94,    95,    96,    97,
-      98,    -1,   100,   101,   102,   103,    -1,    -1,   106,   107,
-     108,   109,   110,   111,    -1,   113,   114,   115,    -1,   117,
-     118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,   127,
-     128,   129,    -1,    -1,   132,   133,    -1,   135,    -1,    -1,
-      -1,    -1,   140,    -1,   142,   143,   144,   145,   146,    -1,
-      -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,
-      -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,   167,
-      -1,   169,   170,    -1,   172,   173,   174,   175,   176,   177,
-     178,   179,    -1,   181,   182,   183,   184,   185,   186,   187,
-     188,    -1,   190,   191,   192,   193,    -1,   195,    -1,    -1,
-      -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,   207,
-     208,   209,   210,   211,   212,    -1,   214,    -1,   216,   217,
-     218,   219,    -1,   221,   222,   223,    -1,   225,   226,    -1,
-      -1,    -1,   230,   231,   232,   233,   234,   235,    -1,    -1,
-     238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,   247,
-     248,   249,   250,    -1,    -1,   253,    -1,   255,   256,    -1,
-     258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,
-     268,    -1,    -1,   271,    -1,   273,   274,   275,    -1,    -1,
-      -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,
-     288,   289,    -1,    -1,   292,    -1,    -1,    -1,   296,   297,
-     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
-     308,   309,   310,   311,    -1,   313,   314,   315,   316,   317,
-     318,   319,   320,   321,   322,   323,   324,   325,    -1,    -1,
-      -1,    -1,   330,   331,   332,   333,   334,   335,    -1,    -1,
-     338,   339,   340,   341,    -1,   343,   344,   345,   346,   347,
-     348,   349,   350,   351,   352,   353,   354,    -1,   356,   357,
-      -1,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
-     368,    -1,   370,   371,   372,    -1,   374,   375,   376,    -1,
-     378,   379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,   397,
-     398,    -1,   400,    -1,   402,   403,   404,   405,   406,   407,
-     408,   409,   410,   411,   412,    -1,   414,   415,   416,    -1,
-     418,    -1,   420,   421,   422,   423,   424,    -1,   426,   427,
-     428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,
-     438,   439,    -1,    -1,   442,   443,   444,   445,   446,    -1,
-     448,   449,    -1,   451,   452,   453,   454,   455,   456,    -1,
-     458,    -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,
-     468,    -1,   470,   471,   472,   473,   474,   475,   476,   477,
-     478,   479,   480,   481,   482,    -1,   484,   485,    -1,    -1,
-      -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,
-      -1,    -1,   500,    -1,   502,   503,   504,   505,   506,   507,
-      -1,   509,   510,   511,   512,   513,   514,    -1,    -1,    -1,
-      -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,
-      -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,
-     538,   539,   540,   541,    -1,   543,   544,   545,   546,   547,
-     548,   549,   550,   551,   552,   553,   554,   555,   556,   557,
-      -1,    -1,   560,   561,   562,   563,    -1,   565,   566,   567,
-      -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,
-     578,   579,   580,    -1,   582,   583,   584,   585,   586,   587,
-     588,   589,   590,   591,   592,   593,    -1,   595,   596,    -1,
-      -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,
-      -1,    -1,   610,   611,   612,   613,   614,    -1,    -1,   617,
-     618,    -1,   620,   621,   622,   623,   624,   625,   626,   627,
-      -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,
-     638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   650,   651,    -1,    -1,    -1,    -1,   656,   657,
-      -1,    -1,   660,   661,    -1,    -1,   664,   665,     5,    -1,
-       7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
-      -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
-      -1,    38,    39,    -1,    -1,    42,    -1,    -1,    45,    46,
-      47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
-      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    -1,
-      67,    68,    69,    70,    71,    72,    -1,    74,    75,    76,
-      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
-      87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
-      97,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
-      -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
-     117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
-     127,   128,   129,    -1,    -1,    -1,   133,    -1,   135,    -1,
-      -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
-      -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
-      -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
-     167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
-     177,   178,    -1,    -1,   181,   182,   183,   184,    -1,   186,
-     187,   188,    -1,   190,   191,   192,   193,    -1,   195,    -1,
-      -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,
-     207,   208,   209,   210,   211,   212,    -1,   214,    -1,    -1,
-     217,   218,   219,    -1,   221,   222,   223,    -1,   225,   226,
-      -1,    -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,
-      -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
-      -1,   248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,
-      -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
-     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,    -1,
-      -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
-      -1,   288,   289,    -1,    -1,   292,    -1,    -1,    -1,   296,
-     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
-      -1,   318,   319,   320,   321,    -1,   323,   324,   325,    -1,
-      -1,    -1,    -1,   330,   331,   332,   333,   334,   335,    -1,
-      -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,   346,
-     347,   348,   349,   350,   351,   352,   353,   354,    -1,   356,
-     357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,
-     367,   368,    -1,   370,   371,   372,    -1,   374,   375,   376,
-      -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
-      -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
-     407,   408,   409,   410,   411,    -1,    -1,   414,   415,   416,
-      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
-     427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
-     437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
-      -1,   448,   449,    -1,   451,   452,   453,    -1,    -1,   456,
-      -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,   466,
-      -1,   468,    -1,    -1,   471,   472,   473,   474,   475,   476,
-     477,   478,   479,   480,   481,   482,    -1,   484,   485,    -1,
-      -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,
-      -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,   506,
-     507,    -1,   509,   510,   511,   512,   513,   514,    -1,    -1,
-      -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
-     527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
-     537,    -1,    -1,   540,   541,    -1,   543,   544,   545,   546,
-     547,   548,    -1,    -1,   551,   552,   553,   554,    -1,   556,
-     557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
-     567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
-      -1,   578,   579,   580,    -1,    -1,   583,   584,   585,   586,
-     587,   588,   589,   590,   591,   592,   593,    -1,   595,   596,
-      -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,
-     607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
-     617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
-     627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
-     637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,
-      -1,    -1,     5,    -1,     7,     8,     9,    10,    11,    12,
-      -1,    -1,    15,    -1,    -1,    -1,    19,   664,   665,    22,
-      -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,
-      -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
-      -1,    -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,
-      -1,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
-      -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
-      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
-      93,    94,    95,    96,    97,    98,    -1,   100,    -1,    -1,
-     103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,    -1,
-     113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
-      -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,    -1,
-     133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,
-     143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,
-      -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,
-     163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
-     173,   174,   175,   176,   177,   178,    -1,    -1,   181,   182,
-     183,   184,    -1,    -1,   187,   188,    -1,   190,   191,   192,
-      -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
-     203,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
-      -1,   214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,
-      -1,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
-     233,   234,    -1,    -1,    -1,   238,   239,   240,   241,    -1,
-     243,    -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,
-     253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
-     263,   264,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
-      -1,   274,   275,    -1,   277,    -1,    -1,    -1,   281,   282,
-      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,
-      -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
-     313,   314,   315,   316,    -1,   318,   319,   320,   321,    -1,
-     323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
-     333,   334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,
-     343,    -1,   345,   346,   347,   348,   349,   350,   351,   352,
-     353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,
-     363,    -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,
-      -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
-     383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     393,   394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,
-     403,   404,   405,   406,   407,   408,   409,   410,   411,    -1,
-      -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
-     423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
-      -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,   442,
-     443,   444,   445,   446,    -1,   448,   449,    -1,   451,   452,
-     453,    -1,    -1,   456,    -1,   458,    -1,   460,   461,    -1,
-     463,   464,    -1,   466,    -1,   468,    -1,    -1,   471,   472,
-     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
-      -1,   484,   485,   486,    -1,    -1,   489,   490,   491,   492,
-      -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,
-     503,   504,   505,   506,   507,    -1,   509,   510,   511,   512,
-     513,   514,   515,    -1,    -1,    -1,    -1,    -1,   521,   522,
-      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,
-     533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,
-     543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
-     553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
-     563,    -1,    -1,   566,   567,    -1,   569,   570,   571,   572,
-      -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
-      -1,   584,   585,   586,   587,    -1,   589,   590,    -1,   592,
-     593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
-      -1,   604,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,
-      -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
-     623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
-      -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,   642,
-      -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
-      11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
-      -1,    22,   665,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
-      -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
-      51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
-      61,    62,    -1,    64,    65,    -1,    67,    68,    69,    70,
-      71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
-      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
-      91,    92,    93,    94,    95,    96,    97,    98,    -1,   100,
-      -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
-     111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
-      -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
-      -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
-      -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
-     151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
-      -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
-      -1,   172,   173,   174,   175,   176,   177,   178,    -1,    -1,
-     181,   182,   183,   184,    -1,    -1,   187,   188,    -1,   190,
-     191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,
-      -1,   202,   203,   204,    -1,   206,   207,   208,   209,   210,
-     211,   212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,
-     221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
-     231,   232,   233,   234,    -1,    -1,    -1,   238,   239,   240,
-     241,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,
-      -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
-      -1,    -1,   263,   264,    -1,   266,   267,   268,    -1,    -1,
-     271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,
-     281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
-      -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,    -1,   313,   314,   315,   316,    -1,   318,   319,   320,
-     321,    -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,
-     331,   332,   333,   334,   335,    -1,    -1,   338,   339,    -1,
-     341,    -1,   343,    -1,   345,   346,   347,   348,   349,   350,
-     351,   352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,
-     361,   362,   363,    -1,    -1,    -1,   367,   368,    -1,    -1,
-      -1,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
-     381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   393,   394,   395,    -1,    -1,   398,    -1,   400,
-      -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
-     411,    -1,    -1,   414,   415,   416,    -1,   418,    -1,   420,
-     421,   422,   423,   424,    -1,   426,   427,   428,    -1,    -1,
-     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,
-      -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
-     451,   452,   453,    -1,    -1,   456,    -1,   458,    -1,   460,
-     461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,    -1,
-     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
-     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
-     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
-      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
-     511,   512,   513,   514,   515,    -1,    -1,    -1,    -1,    -1,
-     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
-     531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
-     541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
-     551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
-     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
-     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
-      -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
-      -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
-      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
-      -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
-     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
-      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
-      -1,   642,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,
-       9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
-      19,    -1,    -1,    22,   665,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
-      -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
-      49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,
-      59,    -1,    61,    62,    -1,    64,    65,    -1,    67,    68,
-      69,    70,    71,    72,    -1,    74,    75,    76,    77,    78,
-      79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
-      89,    -1,    91,    92,    -1,    94,    95,    96,    97,    98,
-      -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
-      -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
-     119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
-      -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,
-      -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
-      -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
-      -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
-     169,   170,    -1,   172,   173,   174,   175,   176,   177,   178,
-      -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,   188,
-      -1,   190,   191,   192,    -1,    -1,   195,    -1,    -1,    -1,
-     199,   200,    -1,   202,    -1,   204,    -1,   206,   207,   208,
-     209,   210,   211,   212,    -1,   214,    -1,    -1,   217,   218,
-     219,    -1,   221,    -1,    -1,    -1,   225,   226,    -1,    -1,
-      -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,   238,
-     239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
-     249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
-     259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
-      -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
-     289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,    -1,   313,   314,   315,   316,    -1,   318,
-     319,   320,   321,    -1,   323,   324,   325,    -1,    -1,    -1,
-      -1,   330,   331,   332,   333,   334,   335,    -1,    -1,   338,
-     339,    -1,   341,    -1,   343,    -1,   345,   346,   347,   348,
-     349,   350,   351,   352,   353,   354,    -1,    -1,   357,    -1,
-      -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,   368,
-      -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,   378,
-     379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,   398,
-      -1,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
-     409,   410,   411,    -1,    -1,   414,   415,   416,    -1,   418,
-      -1,   420,   421,   422,   423,   424,    -1,   426,   427,   428,
-      -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,
-     439,    -1,    -1,   442,   443,   444,   445,   446,    -1,   448,
-     449,    -1,   451,   452,   453,    -1,    -1,   456,    -1,   458,
-      -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,   468,
-      -1,    -1,   471,   472,   473,   474,   475,   476,   477,   478,
-     479,   480,   481,   482,    -1,   484,   485,   486,    -1,    -1,
-     489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,
-      -1,   500,    -1,   502,   503,   504,   505,   506,   507,    -1,
-     509,   510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,
-      -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,
-      -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
-      -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
-      -1,    -1,   551,   552,   553,   554,    -1,   556,   557,    -1,
-      -1,   560,   561,   562,   563,    -1,    -1,   566,   567,    -1,
-     569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
-     579,   580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,
-     589,   590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,
-     599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,
-      -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,
-      -1,    -1,   621,   622,   623,   624,   625,   626,   627,    -1,
-      -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,
-     639,    -1,    -1,   642,    -1,    -1,    -1,    -1,     5,    -1,
-       7,     8,     9,    10,    11,    12,    -1,    -1,    15,   658,
-      -1,    -1,    19,    -1,    -1,    22,   665,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
-      -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
-      47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
-      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    -1,
-      67,    68,    69,    70,    71,    72,    -1,    74,    75,    76,
-      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
-      87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
-      97,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
-      -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
-     117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
-     127,   128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
-      -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
-      -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
-      -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
-     167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
-     177,   178,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
-     187,   188,    -1,   190,   191,   192,    -1,    -1,   195,    -1,
-      -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,
-     207,   208,   209,   210,   211,   212,    -1,   214,    -1,    -1,
-     217,   218,   219,    -1,   221,    -1,    -1,    -1,   225,   226,
-      -1,    -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,
-      -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
-      -1,   248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,
-      -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
-     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,    -1,
-      -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
-      -1,   288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,
-     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
-      -1,   318,   319,   320,   321,    -1,   323,   324,   325,    -1,
-      -1,    -1,    -1,   330,   331,   332,   333,   334,   335,    -1,
-      -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,   346,
-     347,   348,   349,   350,   351,   352,   353,   354,    -1,    -1,
-     357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,
-     367,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
-      -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
-      -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
-     407,   408,   409,   410,   411,    -1,    -1,   414,   415,   416,
-      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
-     427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
-     437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
-      -1,   448,   449,    -1,   451,   452,   453,    -1,    -1,   456,
-      -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,   466,
-      -1,   468,    -1,    -1,   471,   472,   473,   474,   475,   476,
-     477,   478,   479,   480,   481,   482,    -1,   484,   485,    -1,
-      -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,
-      -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,   506,
-     507,    -1,   509,   510,   511,   512,   513,   514,    -1,    -1,
-      -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
-     527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
-     537,    -1,    -1,   540,   541,    -1,   543,   544,   545,   546,
-     547,   548,    -1,    -1,   551,   552,   553,   554,    -1,   556,
-     557,    -1,    -1,   560,   561,   562,   563,    -1,    -1,   566,
-     567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
-      -1,   578,   579,   580,    -1,    -1,    -1,   584,   585,   586,
-     587,    -1,   589,   590,    -1,   592,   593,    -1,   595,   596,
-      -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,
-     607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
-     617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
-     627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
-     637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,
-      -1,    -1,     5,    -1,     7,     8,     9,    10,    11,    12,
-      -1,   658,    15,    -1,    -1,    -1,    19,   664,   665,    22,
+      -1,    -1,    -1,   652,   653,    -1,    -1,    -1,    -1,   658,
+     659,    -1,    -1,   662,   663,    -1,    -1,   666,   667,     5,
+      -1,     7,     8,     9,    10,    11,    12,    -1,    -1,    15,
+      -1,    -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    -1,    34,    -1,
+      -1,    37,    38,    39,    40,    41,    42,    43,    -1,    45,
+      46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,
+      56,    57,    58,    59,    -1,    61,    62,    63,    64,    65,
+      -1,    67,    68,    69,    70,    71,    72,    -1,    74,    75,
+      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
+      86,    87,    88,    89,    -1,    91,    92,    -1,    94,    95,
+      96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
+     106,   107,   108,   109,   110,   111,    -1,   113,   114,   115,
+      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
+      -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,   135,
+      -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,
+     146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,
+     156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,
+     166,   167,    -1,   169,   170,    -1,   172,   173,   174,   175,
+     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
+     186,   187,   188,    -1,   190,   191,   192,   193,    -1,   195,
+      -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,
+     206,   207,   208,   209,   210,   211,   212,    -1,   214,    -1,
+     216,   217,   218,   219,    -1,   221,   222,   223,    -1,   225,
+     226,    -1,    -1,    -1,   230,   231,   232,   233,   234,   235,
+      -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,
+      -1,   247,   248,   249,   250,    -1,    -1,   253,    -1,   255,
+     256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,
+     266,   267,   268,    -1,    -1,   271,    -1,   273,   274,   275,
+      -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,
+     286,    -1,   288,   289,    -1,    -1,   292,    -1,    -1,    -1,
+     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
+     306,   307,   308,   309,   310,   311,    -1,   313,   314,   315,
+     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
+      -1,    -1,    -1,    -1,   330,   331,   332,   333,   334,   335,
+      -1,    -1,   338,   339,   340,   341,    -1,   343,   344,   345,
+     346,   347,   348,   349,   350,   351,   352,   353,   354,    -1,
+     356,   357,    -1,    -1,   360,   361,   362,   363,   364,   365,
+     366,   367,   368,    -1,   370,   371,   372,    -1,   374,   375,
+     376,    -1,   378,   379,   380,   381,    -1,   383,   384,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,
+      -1,   397,   398,    -1,   400,    -1,   402,   403,   404,   405,
+     406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
+     416,    -1,   418,    -1,   420,   421,   422,   423,   424,    -1,
+     426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,
+     436,   437,   438,   439,    -1,    -1,   442,   443,   444,   445,
+     446,    -1,   448,   449,    -1,   451,   452,   453,   454,   455,
+     456,    -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,
+     466,    -1,   468,    -1,   470,   471,   472,   473,   474,   475,
+     476,   477,   478,   479,   480,   481,   482,    -1,   484,   485,
+      -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,
+     496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,
+     506,   507,    -1,   509,   510,   511,   512,   513,   514,    -1,
+      -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,
+      -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,
+      -1,   537,   538,   539,   540,   541,    -1,   543,   544,   545,
+     546,   547,   548,   549,   550,   551,   552,   553,   554,   555,
+     556,   557,    -1,    -1,   560,   561,   562,   563,    -1,   565,
+     566,   567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,
+      -1,    -1,   578,   579,   580,    -1,   582,   583,   584,   585,
+     586,   587,   588,   589,   590,   591,   592,   593,    -1,   595,
+     596,    -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,
+     606,   607,    -1,    -1,   610,   611,   612,   613,   614,    -1,
+      -1,   617,   618,    -1,   620,   621,   622,   623,   624,   625,
+     626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,
+      -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   652,   653,    -1,    -1,
+      -1,    -1,   658,   659,    -1,    -1,   662,   663,    -1,    -1,
+     666,   667,     5,    -1,     7,     8,     9,    10,    11,    12,
+      -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,
       -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,
-      -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
-      -1,    -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,
-      -1,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
+      -1,    34,    -1,    -1,    37,    38,    39,    40,    41,    42,
+      43,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
+      -1,    -1,    55,    56,    57,    58,    59,    -1,    61,    62,
+      63,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
       -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
-      -1,    94,    95,    96,    97,    98,    -1,   100,    -1,    -1,
-     103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,    -1,
-     113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
-      -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,    -1,
+      -1,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
+     103,    -1,    -1,   106,   107,   108,   109,   110,   111,    -1,
+     113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
+      -1,    -1,    -1,    -1,   127,   128,   129,    -1,    -1,   132,
      133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,
      143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,
       -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,
      163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
-     173,   174,   175,   176,   177,   178,    -1,    -1,   181,   182,
-     183,   184,    -1,    -1,   187,   188,    -1,   190,   191,   192,
-      -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
+     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
+     183,   184,   185,   186,   187,   188,    -1,   190,   191,   192,
+     193,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
       -1,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
-      -1,   214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,
-      -1,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
-     233,   234,    -1,    -1,    -1,   238,   239,   240,    -1,    -1,
-     243,    -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,
-     253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
-     263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
-      -1,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
-      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,
-      -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
-     313,   314,   315,   316,    -1,   318,   319,   320,   321,    -1,
-     323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
-     333,   334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,
-     343,    -1,   345,   346,   347,   348,   349,   350,   351,   352,
-     353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,
-     363,    -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,
-      -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
-     383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     393,   394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,
-     403,   404,   405,   406,   407,   408,   409,   410,   411,    -1,
-      -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
-     423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
-      -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,   442,
-     443,   444,   445,   446,    -1,   448,   449,    -1,   451,   452,
-     453,    -1,    -1,   456,    -1,   458,    -1,   460,   461,    -1,
-     463,   464,    -1,   466,    -1,   468,    -1,    -1,   471,   472,
-     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
-      -1,   484,   485,    -1,    -1,    -1,   489,   490,   491,   492,
-      -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,
-     503,   504,   505,   506,   507,    -1,   509,   510,   511,   512,
-     513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,
-      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,
-     533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,
-     543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
-     553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
-     563,    -1,    -1,   566,   567,    -1,   569,   570,   571,   572,
-      -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
-      -1,   584,   585,   586,   587,    -1,   589,   590,    -1,   592,
-     593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
-      -1,   604,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,
-      -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
-     623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
-      -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,   642,
-      -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,
-       9,    10,    11,    12,   657,    -1,    15,    -1,    -1,    -1,
-      19,    -1,   665,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
-      -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
-      49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,
-      59,    -1,    61,    62,    -1,    64,    65,    -1,    67,    68,
-      69,    70,    71,    72,    -1,    74,    75,    76,    77,    78,
-      79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
-      89,    -1,    91,    92,    -1,    94,    95,    96,    97,    98,
-      -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
-      -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
-     119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
-      -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,
-      -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
-      -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
-      -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
-     169,   170,    -1,   172,   173,   174,   175,   176,   177,   178,
-      -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,   188,
-      -1,   190,   191,   192,    -1,    -1,   195,    -1,    -1,    -1,
-     199,   200,    -1,   202,    -1,   204,    -1,   206,   207,   208,
-     209,   210,   211,   212,    -1,   214,    -1,    -1,   217,   218,
-     219,    -1,   221,    -1,    -1,    -1,   225,   226,    -1,    -1,
-      -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,   238,
-     239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
-     249,    -1,   251,    -1,   253,    -1,   255,   256,    -1,   258,
-     259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
-      -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
-     289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,    -1,   313,   314,   315,   316,    -1,   318,
-     319,   320,   321,    -1,   323,   324,   325,    -1,    -1,    -1,
-      -1,   330,   331,   332,   333,   334,   335,    -1,    -1,   338,
-     339,    -1,   341,    -1,   343,    -1,   345,   346,   347,   348,
-     349,   350,   351,   352,   353,   354,    -1,    -1,   357,    -1,
-      -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,   368,
-      -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,   378,
-     379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,   398,
-      -1,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
-     409,   410,   411,    -1,    -1,   414,   415,   416,    -1,   418,
-      -1,   420,   421,   422,   423,   424,    -1,   426,   427,   428,
-      -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,
-     439,    -1,    -1,   442,   443,   444,   445,   446,    -1,   448,
-     449,    -1,   451,   452,   453,    -1,    -1,   456,    -1,   458,
-      -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,   468,
-      -1,    -1,   471,   472,   473,   474,   475,   476,   477,   478,
-     479,   480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,
-     489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,
-      -1,   500,    -1,   502,   503,   504,   505,   506,   507,    -1,
-     509,   510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,
-      -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,
-      -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
-      -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
-      -1,    -1,   551,   552,   553,   554,    -1,   556,   557,    -1,
-      -1,   560,   561,   562,   563,    -1,    -1,   566,   567,    -1,
-     569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
-     579,   580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,
-     589,   590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,
-     599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,
-      -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,
-      -1,    -1,   621,   622,   623,   624,   625,   626,   627,    -1,
-      -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,
-     639,    -1,    -1,   642,    -1,    -1,    -1,    -1,     5,    -1,
+      -1,   214,    -1,   216,   217,   218,   219,    -1,   221,   222,
+     223,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
+     233,   234,   235,    -1,    -1,   238,   239,   240,    -1,    -1,
+     243,    -1,    -1,    -1,   247,   248,   249,   250,    -1,    -1,
+     253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
+     263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
+     273,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
+      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,   292,
+      -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
+     333,   334,   335,    -1,    -1,   338,   339,   340,   341,    -1,
+     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,   354,    -1,   356,   357,    -1,    -1,   360,   361,   362,
+     363,   364,   365,   366,   367,   368,    -1,   370,   371,   372,
+      -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
+     383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     393,   394,   395,    -1,   397,   398,    -1,   400,    -1,   402,
+     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
+      -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
+     423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
+      -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,   442,
+     443,   444,   445,   446,    -1,   448,   449,    -1,   451,   452,
+     453,   454,   455,   456,    -1,   458,    -1,   460,   461,    -1,
+     463,   464,    -1,   466,    -1,   468,    -1,   470,   471,   472,
+     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
+      -1,   484,   485,    -1,    -1,    -1,   489,   490,   491,   492,
+      -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,
+     503,   504,   505,   506,   507,    -1,   509,   510,   511,   512,
+     513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,
+      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,
+     533,    -1,    -1,    -1,   537,   538,   539,   540,   541,    -1,
+     543,   544,   545,   546,   547,   548,   549,   550,   551,   552,
+     553,   554,   555,   556,   557,    -1,    -1,   560,   561,   562,
+     563,    -1,   565,   566,   567,    -1,   569,   570,   571,   572,
+      -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,   582,
+     583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
+     593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
+      -1,   604,    -1,   606,   607,    -1,    -1,   610,   611,   612,
+     613,   614,    -1,    -1,   617,   618,    -1,   620,   621,   622,
+     623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
+      -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,   642,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   652,
+     653,    -1,    -1,    -1,    -1,   658,   659,    -1,    -1,   662,
+     663,    -1,    -1,   666,   667,     5,    -1,     7,     8,     9,
+      10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,
+      -1,    -1,    22,    -1,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    -1,    34,    -1,    -1,    37,    38,    39,
+      40,    41,    42,    43,    -1,    45,    46,    47,    -1,    49,
+      -1,    51,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    61,    62,    63,    64,    65,    -1,    67,    68,    69,
+      70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
+      80,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
+      -1,    91,    92,    -1,    94,    95,    96,    97,    98,    -1,
+     100,   101,   102,   103,    -1,    -1,   106,   107,   108,   109,
+     110,   111,    -1,   113,   114,   115,    -1,   117,   118,   119,
+     120,   121,   122,    -1,    -1,    -1,    -1,   127,   128,   129,
+      -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,
+     140,    -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,
+      -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,
+     160,    -1,   162,   163,    -1,   165,   166,   167,    -1,   169,
+     170,    -1,   172,   173,   174,   175,   176,   177,   178,   179,
+      -1,   181,   182,   183,   184,   185,   186,   187,   188,    -1,
+     190,   191,   192,   193,    -1,   195,    -1,    -1,    -1,   199,
+     200,    -1,   202,    -1,   204,    -1,   206,   207,   208,   209,
+     210,   211,   212,    -1,   214,    -1,   216,   217,   218,   219,
+      -1,   221,   222,   223,    -1,   225,   226,    -1,    -1,    -1,
+     230,   231,   232,   233,   234,   235,    -1,    -1,   238,   239,
+     240,    -1,    -1,   243,    -1,    -1,    -1,   247,   248,   249,
+     250,    -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,
+      -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,
+      -1,   271,    -1,   273,   274,   275,    -1,    -1,    -1,    -1,
+      -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,   289,
+      -1,    -1,   292,    -1,    -1,    -1,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,    -1,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,   322,   323,   324,   325,    -1,    -1,    -1,    -1,
+     330,   331,   332,   333,   334,   335,    -1,    -1,   338,   339,
+     340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
+     350,   351,   352,   353,   354,    -1,   356,   357,    -1,    -1,
+     360,   361,   362,   363,   364,   365,   366,   367,   368,    -1,
+     370,   371,   372,    -1,   374,   375,   376,    -1,   378,   379,
+     380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   393,   394,   395,    -1,   397,   398,    -1,
+     400,    -1,   402,   403,   404,   405,   406,   407,   408,   409,
+     410,   411,   412,    -1,   414,   415,   416,    -1,   418,    -1,
+     420,   421,   422,   423,   424,    -1,   426,   427,   428,    -1,
+      -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,   439,
+      -1,    -1,   442,   443,   444,   445,   446,    -1,   448,   449,
+      -1,   451,   452,   453,   454,   455,   456,    -1,   458,    -1,
+     460,   461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,
+     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
+     480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,
+     490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,
+     500,    -1,   502,   503,   504,   505,   506,   507,    -1,   509,
+     510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,
+      -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,
+      -1,   531,   532,   533,    -1,    -1,    -1,   537,   538,   539,
+     540,   541,    -1,   543,   544,   545,   546,   547,   548,   549,
+     550,   551,   552,   553,   554,   555,   556,   557,    -1,    -1,
+     560,   561,   562,   563,    -1,   565,   566,   567,    -1,   569,
+     570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,
+     580,    -1,   582,   583,   584,   585,   586,   587,   588,   589,
+     590,   591,   592,   593,    -1,   595,   596,    -1,    -1,   599,
+      -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,
+     610,   611,   612,   613,   614,    -1,    -1,   617,   618,    -1,
+     620,   621,   622,   623,   624,   625,   626,   627,    -1,    -1,
+      -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,
+      -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   652,   653,    -1,    -1,    -1,    -1,   658,   659,
+      -1,    -1,   662,   663,    -1,    -1,   666,   667,     5,    -1,
        7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
-      -1,    -1,    19,    -1,    -1,    22,   665,    24,    25,    26,
+      -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
       27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
-      -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
-      47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
-      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    -1,
+      37,    38,    39,    40,    41,    42,    43,    -1,    45,    46,
+      47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    56,
+      57,    58,    59,    -1,    61,    62,    63,    64,    65,    -1,
       67,    68,    69,    70,    71,    72,    -1,    74,    75,    76,
       77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
       87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
-      97,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
-      -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
-     117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
-     127,   128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
+      97,    98,    -1,   100,   101,   102,   103,    -1,    -1,   106,
+     107,   108,   109,   110,   111,    -1,   113,   114,   115,    -1,
+     117,   118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,
+     127,   128,   129,    -1,    -1,   132,   133,    -1,   135,    -1,
       -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
       -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
       -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
      167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
-     177,   178,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
-     187,   188,    -1,   190,   191,   192,    -1,    -1,   195,    -1,
+     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
+     187,   188,    -1,   190,   191,   192,   193,    -1,   195,    -1,
       -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,
-     207,   208,   209,   210,   211,   212,    -1,   214,    -1,    -1,
-     217,   218,   219,    -1,   221,    -1,    -1,    -1,   225,   226,
-      -1,    -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,
+     207,   208,   209,   210,   211,   212,    -1,   214,    -1,   216,
+     217,   218,   219,    -1,   221,   222,   223,    -1,   225,   226,
+      -1,    -1,    -1,   230,   231,   232,   233,   234,   235,    -1,
       -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
-      -1,   248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,
+     247,   248,   249,   250,    -1,    -1,   253,    -1,   255,   256,
       -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
-     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,    -1,
+     267,   268,    -1,    -1,   271,    -1,   273,   274,   275,    -1,
       -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
-      -1,   288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,
+      -1,   288,   289,    -1,    -1,   292,    -1,    -1,    -1,   296,
      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
      307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
-      -1,   318,   319,   320,   321,    -1,   323,   324,   325,    -1,
+     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
       -1,    -1,    -1,   330,   331,   332,   333,   334,   335,    -1,
-      -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,   346,
-     347,   348,   349,   350,   351,   352,   353,   354,    -1,    -1,
-     357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,
-     367,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
+      -1,   338,   339,   340,   341,    -1,   343,   344,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,   354,    -1,   356,
+     357,    -1,    -1,   360,   361,   362,   363,   364,    -1,   366,
+     367,   368,    -1,   370,   371,   372,    -1,   374,   375,   376,
       -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
-      -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
-     407,   408,   409,   410,   411,    -1,    -1,   414,   415,   416,
+     397,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
+     407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
       -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
      427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
      437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
-      -1,   448,   449,    -1,   451,   452,   453,    -1,    -1,   456,
+      -1,   448,   449,    -1,   451,   452,   453,   454,   455,   456,
       -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,   466,
-      -1,   468,    -1,    -1,   471,   472,   473,   474,   475,   476,
+      -1,   468,    -1,   470,   471,   472,   473,   474,   475,   476,
      477,   478,   479,   480,   481,   482,    -1,   484,   485,    -1,
       -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,
       -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,   506,
      507,    -1,   509,   510,   511,   512,   513,   514,    -1,    -1,
       -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
      527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
-     537,    -1,    -1,   540,   541,    -1,   543,   544,   545,   546,
-     547,   548,    -1,    -1,   551,   552,   553,   554,    -1,   556,
-     557,    -1,    -1,   560,   561,   562,   563,    -1,    -1,   566,
+     537,   538,   539,   540,   541,    -1,   543,   544,   545,   546,
+     547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
+     557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
      567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
-      -1,   578,   579,   580,    -1,    -1,    -1,   584,   585,   586,
-     587,    -1,   589,   590,    -1,   592,   593,    -1,   595,   596,
+      -1,   578,   579,   580,    -1,   582,   583,   584,   585,   586,
+     587,   588,   589,   590,   591,   592,   593,    -1,   595,   596,
       -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,
-     607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
-     617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
+     607,    -1,    -1,   610,   611,   612,   613,   614,    -1,    -1,
+     617,   618,    -1,   620,   621,   622,   623,   624,   625,   626,
      627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
      637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   652,     5,    -1,     7,     8,
-       9,    10,    11,    12,    -1,    -1,    15,    -1,   665,    -1,
-      19,    -1,    -1,    22,    -1,    24,    25,    26,    27,    28,
+      -1,    -1,    -1,    -1,    -1,   652,   653,    -1,    -1,    -1,
+      -1,   658,   659,    -1,    -1,   662,   663,    -1,    -1,   666,
+     667,     5,    -1,     7,     8,     9,    10,    11,    12,    -1,
+      -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,    -1,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
+      34,    -1,    -1,    37,    38,    39,    40,    41,    42,    43,
+      -1,    45,    46,    47,    -1,    49,    -1,    51,    52,    -1,
+      -1,    55,    56,    57,    58,    59,    -1,    61,    62,    63,
+      64,    65,    -1,    67,    68,    69,    70,    71,    72,    -1,
+      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
+      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
+      94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
+      -1,    -1,   106,   107,   108,   109,   110,   111,    -1,   113,
+     114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
+      -1,    -1,    -1,   127,   128,   129,    -1,    -1,   132,   133,
+      -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,
+     144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,
+     154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,
+      -1,   165,   166,   167,    -1,   169,   170,    -1,   172,   173,
+     174,   175,   176,   177,   178,   179,    -1,   181,   182,   183,
+     184,   185,   186,   187,   188,    -1,   190,   191,   192,   193,
+      -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,
+     204,    -1,   206,   207,   208,   209,   210,   211,   212,    -1,
+     214,    -1,   216,   217,   218,   219,    -1,   221,   222,   223,
+      -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,   233,
+     234,   235,    -1,    -1,   238,   239,   240,    -1,    -1,   243,
+      -1,    -1,    -1,   247,   248,   249,   250,    -1,    -1,   253,
+      -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,
+      -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,   273,
+     274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,
+     284,    -1,   286,    -1,   288,   289,    -1,    -1,   292,    -1,
+      -1,    -1,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,    -1,   313,
+     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
+     324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,
+     334,   335,    -1,    -1,   338,   339,   340,   341,    -1,   343,
+     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
+     354,    -1,   356,   357,    -1,    -1,   360,   361,   362,   363,
+     364,    -1,   366,   367,   368,    -1,   370,   371,   372,    -1,
+     374,   375,   376,    -1,   378,   379,   380,   381,    -1,   383,
+     384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,
+     394,   395,    -1,   397,   398,    -1,   400,    -1,   402,   403,
+     404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
+     414,   415,   416,    -1,   418,    -1,   420,   421,   422,   423,
+     424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,
+      -1,   435,   436,   437,   438,   439,    -1,    -1,   442,   443,
+     444,   445,   446,    -1,   448,   449,    -1,   451,   452,   453,
+     454,   455,   456,    -1,   458,    -1,   460,   461,    -1,   463,
+     464,    -1,   466,    -1,   468,    -1,   470,   471,   472,   473,
+     474,   475,   476,   477,   478,   479,   480,   481,   482,    -1,
+     484,   485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,
+      -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,
+     504,   505,   506,   507,    -1,   509,   510,   511,   512,   513,
+     514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,
+     524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,
+      -1,    -1,    -1,   537,   538,   539,   540,   541,    -1,   543,
+     544,   545,   546,   547,   548,   549,   550,   551,   552,   553,
+     554,   555,   556,   557,    -1,    -1,   560,   561,   562,   563,
+      -1,   565,   566,   567,    -1,   569,   570,   571,   572,    -1,
+      -1,    -1,    -1,    -1,   578,   579,   580,    -1,   582,   583,
+     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
+      -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,
+     604,    -1,   606,   607,    -1,    -1,   610,   611,   612,   613,
+     614,    -1,    -1,   617,   618,    -1,   620,   621,   622,   623,
+     624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,
+     634,   635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   652,   653,
+      -1,    -1,    -1,    -1,   658,   659,    -1,    -1,   662,   663,
+      -1,    -1,   666,   667,     5,    -1,     7,     8,     9,    10,
+      11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
+      -1,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    -1,    34,    -1,    -1,    37,    38,    39,    40,
+      41,    42,    43,    -1,    45,    46,    47,    -1,    49,    -1,
+      51,    52,    -1,    -1,    55,    56,    57,    58,    59,    -1,
+      61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
+      71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
+      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
+      91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
+     101,   102,   103,    -1,    -1,   106,   107,   108,   109,   110,
+     111,    -1,   113,   114,   115,    -1,   117,   118,   119,   120,
+     121,   122,    -1,    -1,    -1,    -1,   127,   128,   129,    -1,
+      -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
+      -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
+     151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
+      -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
+      -1,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
+     181,   182,   183,   184,   185,   186,   187,   188,    -1,   190,
+     191,   192,   193,    -1,   195,    -1,    -1,    -1,   199,   200,
+      -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
+     211,   212,    -1,   214,    -1,   216,   217,   218,   219,    -1,
+     221,   222,   223,    -1,   225,   226,    -1,    -1,    -1,   230,
+     231,   232,   233,   234,   235,    -1,    -1,   238,   239,   240,
+      -1,    -1,   243,    -1,    -1,    -1,   247,   248,   249,   250,
+      -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
+      -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
+     271,    -1,   273,   274,   275,    -1,    -1,    -1,    -1,    -1,
+     281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
+      -1,   292,    -1,    -1,    -1,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,    -1,   313,   314,   315,   316,   317,   318,   319,   320,
+     321,   322,   323,   324,   325,    -1,    -1,    -1,    -1,   330,
+     331,   332,   333,   334,   335,    -1,    -1,   338,   339,   340,
+     341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,   354,    -1,   356,   357,    -1,    -1,   360,
+     361,   362,   363,   364,    -1,   366,   367,   368,    -1,   370,
+     371,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
+     381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   393,   394,   395,    -1,   397,   398,    -1,   400,
+      -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
+     411,   412,    -1,   414,   415,   416,    -1,   418,    -1,   420,
+     421,   422,   423,   424,    -1,   426,   427,   428,    -1,    -1,
+     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,
+      -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
+     451,   452,   453,   454,   455,   456,    -1,   458,    -1,   460,
+     461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,   470,
+     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
+     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
+     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
+      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
+     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
+     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
+     531,   532,   533,    -1,    -1,    -1,   537,   538,   539,   540,
+     541,    -1,   543,   544,   545,   546,   547,   548,   549,   550,
+     551,   552,   553,   554,   555,   556,   557,    -1,    -1,   560,
+     561,   562,   563,    -1,   565,   566,   567,    -1,   569,   570,
+     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
+      -1,   582,   583,   584,   585,   586,   587,   588,   589,   590,
+     591,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
+      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,   610,
+     611,   612,   613,   614,    -1,    -1,   617,   618,    -1,   620,
+     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
+      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
+      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   652,   653,    -1,    -1,    -1,    -1,   658,   659,    -1,
+      -1,   662,   663,    -1,    -1,   666,   667,     5,    -1,     7,
+       8,     9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,
+      -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    -1,    34,    -1,    -1,    37,
+      38,    39,    40,    41,    42,    43,    -1,    45,    46,    47,
+      -1,    49,    -1,    51,    52,    -1,    -1,    55,    56,    57,
+      58,    59,    -1,    61,    62,    63,    64,    65,    -1,    67,
+      68,    69,    70,    71,    72,    -1,    74,    75,    76,    77,
+      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
+      88,    89,    -1,    91,    92,    -1,    94,    95,    96,    97,
+      98,    -1,   100,   101,   102,   103,    -1,    -1,   106,   107,
+     108,   109,   110,   111,    -1,   113,   114,   115,    -1,   117,
+     118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,   127,
+     128,   129,    -1,    -1,   132,   133,    -1,   135,    -1,    -1,
+      -1,    -1,   140,    -1,   142,   143,   144,   145,   146,    -1,
+      -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,
+      -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,   167,
+      -1,   169,   170,    -1,   172,   173,   174,   175,   176,   177,
+     178,   179,    -1,   181,   182,   183,   184,   185,   186,   187,
+     188,    -1,   190,   191,   192,   193,    -1,   195,    -1,    -1,
+      -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,   207,
+     208,   209,   210,   211,   212,    -1,   214,    -1,   216,   217,
+     218,   219,    -1,   221,   222,   223,    -1,   225,   226,    -1,
+      -1,    -1,   230,   231,   232,   233,   234,   235,    -1,    -1,
+     238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,   247,
+     248,   249,   250,    -1,    -1,   253,    -1,   255,   256,    -1,
+     258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,
+     268,    -1,    -1,   271,    -1,   273,   274,   275,    -1,    -1,
+      -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,
+     288,   289,    -1,    -1,   292,    -1,    -1,    -1,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,    -1,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,   322,   323,   324,   325,    -1,    -1,
+      -1,    -1,   330,   331,   332,   333,   334,   335,    -1,    -1,
+     338,   339,   340,   341,    -1,   343,   344,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,   354,    -1,   356,   357,
+      -1,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
+     368,    -1,   370,   371,   372,    -1,   374,   375,   376,    -1,
+     378,   379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,   397,
+     398,    -1,   400,    -1,   402,   403,   404,   405,   406,   407,
+     408,   409,   410,   411,   412,    -1,   414,   415,   416,    -1,
+     418,    -1,   420,   421,   422,   423,   424,    -1,   426,   427,
+     428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,
+     438,   439,    -1,    -1,   442,   443,   444,   445,   446,    -1,
+     448,   449,    -1,   451,   452,   453,   454,   455,   456,    -1,
+     458,    -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,
+     468,    -1,   470,   471,   472,   473,   474,   475,   476,   477,
+     478,   479,   480,   481,   482,    -1,   484,   485,    -1,    -1,
+      -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,
+      -1,    -1,   500,    -1,   502,   503,   504,   505,   506,   507,
+      -1,   509,   510,   511,   512,   513,   514,    -1,    -1,    -1,
+      -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,
+      -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,
+     538,   539,   540,   541,    -1,   543,   544,   545,   546,   547,
+     548,   549,   550,   551,   552,   553,   554,   555,   556,   557,
+      -1,    -1,   560,   561,   562,   563,    -1,   565,   566,   567,
+      -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,
+     578,   579,   580,    -1,   582,   583,   584,   585,   586,   587,
+     588,   589,   590,   591,   592,   593,    -1,   595,   596,    -1,
+      -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,
+      -1,    -1,   610,   611,   612,   613,   614,    -1,    -1,   617,
+     618,    -1,   620,   621,   622,   623,   624,   625,   626,   627,
+      -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,
+     638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   652,   653,    -1,    -1,    -1,    -1,
+     658,   659,    -1,    -1,   662,   663,    -1,    -1,   666,   667,
+       5,    -1,     7,     8,     9,    10,    11,    12,    -1,    -1,
+      15,    -1,    -1,    -1,    19,    -1,    -1,    22,    -1,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
+      -1,    -1,    -1,    38,    39,    -1,    -1,    42,    -1,    -1,
+      45,    46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,
+      55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,    64,
+      65,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
+      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
+      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    94,
+      95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
+      -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
+      -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
+      -1,    -1,   127,   128,   129,    -1,    -1,    -1,   133,    -1,
+     135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
+     145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
+     155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
+     165,   166,   167,    -1,   169,   170,    -1,   172,   173,   174,
+     175,   176,   177,   178,    -1,    -1,   181,   182,   183,   184,
+      -1,   186,   187,   188,    -1,   190,   191,   192,   193,    -1,
+     195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,
+      -1,   206,   207,   208,   209,   210,   211,   212,    -1,   214,
+      -1,    -1,   217,   218,   219,    -1,   221,   222,   223,    -1,
+     225,   226,    -1,    -1,    -1,   230,   231,   232,   233,   234,
+      -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,
+      -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,    -1,
+     255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,
+      -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,   274,
+     275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
+      -1,   286,    -1,   288,   289,    -1,    -1,   292,    -1,    -1,
+      -1,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,    -1,   313,   314,
+     315,   316,    -1,   318,   319,   320,   321,    -1,   323,   324,
+     325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,   334,
+     335,    -1,    -1,   338,   339,    -1,   341,    -1,   343,    -1,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
+      -1,   356,   357,    -1,    -1,   360,   361,   362,   363,    -1,
+      -1,    -1,   367,   368,    -1,   370,   371,   372,    -1,   374,
+     375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,
+     395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,   404,
+     405,   406,   407,   408,   409,   410,   411,    -1,    -1,   414,
+     415,   416,    -1,   418,    -1,   420,   421,   422,   423,   424,
+      -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,
+     435,   436,   437,   438,   439,    -1,    -1,   442,   443,   444,
+     445,   446,    -1,   448,   449,    -1,   451,   452,   453,    -1,
+      -1,   456,    -1,   458,    -1,   460,   461,    -1,   463,   464,
+      -1,   466,    -1,   468,    -1,    -1,   471,   472,   473,   474,
+     475,   476,   477,   478,   479,   480,   481,   482,    -1,   484,
+     485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,
+      -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,
+     505,   506,   507,    -1,   509,   510,   511,   512,   513,   514,
+      -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,
+      -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,
+      -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,   544,
+     545,   546,   547,   548,    -1,    -1,   551,   552,   553,   554,
+      -1,   556,   557,    -1,    -1,   560,   561,   562,   563,    -1,
+     565,   566,   567,    -1,   569,   570,   571,   572,    -1,    -1,
+      -1,    -1,    -1,   578,   579,   580,    -1,    -1,   583,   584,
+     585,   586,   587,   588,   589,   590,   591,   592,   593,    -1,
+     595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,   604,
+      -1,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,   614,
+      -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
+     625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
+     635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,
+       9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
+      19,   666,   667,    22,    -1,    24,    25,    26,    27,    28,
       29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
       -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
       49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,
       59,    -1,    61,    62,    -1,    64,    65,    -1,    67,    68,
       69,    70,    71,    72,    -1,    74,    75,    76,    77,    78,
       79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
-      89,    -1,    91,    92,    -1,    94,    95,    96,    97,    98,
+      89,    -1,    91,    92,    93,    94,    95,    96,    97,    98,
       -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
       -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
@@ -14049,14 +13615,14 @@ static const yytype_int16 yycheck[] =
      169,   170,    -1,   172,   173,   174,   175,   176,   177,   178,
       -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,   188,
       -1,   190,   191,   192,    -1,    -1,   195,    -1,    -1,    -1,
-     199,   200,    -1,   202,    -1,   204,    -1,   206,   207,   208,
+     199,   200,    -1,   202,   203,   204,    -1,   206,   207,   208,
      209,   210,   211,   212,    -1,   214,    -1,    -1,   217,   218,
      219,    -1,   221,    -1,    -1,    -1,   225,   226,    -1,    -1,
       -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,   238,
-     239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
+     239,   240,   241,    -1,   243,    -1,    -1,    -1,    -1,   248,
      249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
-     259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
+     259,    -1,    -1,    -1,   263,   264,    -1,   266,   267,   268,
+      -1,    -1,   271,    -1,    -1,   274,   275,    -1,   277,    -1,
       -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
      289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
@@ -14077,10 +13643,10 @@ static const yytype_int16 yycheck[] =
      449,    -1,   451,   452,   453,    -1,    -1,   456,    -1,   458,
       -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,   468,
       -1,    -1,   471,   472,   473,   474,   475,   476,   477,   478,
-     479,   480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,
+     479,   480,   481,   482,    -1,   484,   485,   486,    -1,    -1,
      489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,
       -1,   500,    -1,   502,   503,   504,   505,   506,   507,    -1,
-     509,   510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,
+     509,   510,   511,   512,   513,   514,   515,    -1,    -1,    -1,
       -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,
       -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
       -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
@@ -14094,15 +13660,15 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   621,   622,   623,   624,   625,   626,   627,    -1,
       -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,
      639,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,
-       5,    -1,     7,     8,     9,    10,    11,    12,   657,    -1,
-      15,    -1,    -1,    -1,    19,    -1,   665,    22,    -1,    24,
+       5,    -1,     7,     8,     9,    10,    11,    12,    -1,    -1,
+      15,    -1,    -1,    -1,    19,    -1,    -1,    22,   667,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
       -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,
       45,    46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,
       55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,    64,
       65,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
       75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
-      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    94,
+      85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
       95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
       -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
       -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
@@ -14113,13 +13679,13 @@ static const yytype_int16 yycheck[] =
      165,   166,   167,    -1,   169,   170,    -1,   172,   173,   174,
      175,   176,   177,   178,    -1,    -1,   181,   182,   183,   184,
       -1,    -1,   187,   188,    -1,   190,   191,   192,    -1,    -1,
-     195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,
+     195,    -1,    -1,    -1,   199,   200,    -1,   202,   203,   204,
       -1,   206,   207,   208,   209,   210,   211,   212,    -1,   214,
       -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,    -1,
      225,   226,    -1,    -1,    -1,   230,   231,   232,   233,   234,
-      -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,
+      -1,    -1,    -1,   238,   239,   240,   241,    -1,   243,    -1,
       -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,    -1,
-     255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,
+     255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,   264,
       -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,   274,
      275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
       -1,   286,    -1,   288,   289,    -1,    -1,    -1,    -1,    -1,
@@ -14145,7 +13711,7 @@ static const yytype_int16 yycheck[] =
      485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,
       -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,
      505,   506,   507,    -1,   509,   510,   511,   512,   513,   514,
-      -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,
+     515,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,
       -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,
       -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,   544,
      545,   546,   547,   548,    -1,    -1,   551,   552,   553,   554,
@@ -14159,8 +13725,8 @@ static const yytype_int16 yycheck[] =
      625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
      635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,
       -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
-      11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,   664,
-     665,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
+      11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
+      -1,    22,   667,    24,    25,    26,    27,    28,    29,    30,
       31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
       -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
       51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
@@ -14205,90 +13771,26 @@ static const yytype_int16 yycheck[] =
       -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
      451,   452,   453,    -1,    -1,   456,    -1,   458,    -1,   460,
      461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,    -1,
-     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
-     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
-     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
-      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
-     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
-     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
-     531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
-     541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
-     551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
-     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
-     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
-      -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
-      -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
-      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
-      -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
-     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
-      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
-      -1,   642,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,
-       9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
-      19,    -1,    -1,    22,   665,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
-      -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
-      49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,
-      59,    -1,    61,    62,    -1,    64,    65,    -1,    67,    68,
-      69,    70,    71,    72,    -1,    74,    75,    76,    77,    78,
-      79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
-      89,    -1,    91,    92,    -1,    94,    95,    96,    97,    98,
-      -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
-      -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
-     119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
-      -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,
-      -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
-      -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
-      -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
-     169,   170,    -1,   172,   173,   174,   175,   176,   177,   178,
-      -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,   188,
-      -1,   190,   191,   192,    -1,    -1,   195,    -1,    -1,    -1,
-     199,   200,    -1,   202,    -1,   204,    -1,   206,   207,   208,
-     209,   210,   211,   212,    -1,   214,    -1,    -1,   217,   218,
-     219,    -1,   221,    -1,    -1,    -1,   225,   226,    -1,    -1,
-      -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,   238,
-     239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
-     249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
-     259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
-      -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
-     289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,    -1,   313,   314,   315,   316,    -1,   318,
-     319,   320,   321,    -1,   323,   324,   325,    -1,    -1,    -1,
-      -1,   330,   331,   332,   333,   334,   335,    -1,    -1,   338,
-     339,    -1,   341,    -1,   343,    -1,   345,   346,   347,   348,
-     349,   350,   351,   352,   353,   354,    -1,    -1,   357,    -1,
-      -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,   368,
-      -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,   378,
-     379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,   398,
-      -1,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
-     409,   410,   411,    -1,    -1,   414,   415,   416,    -1,   418,
-      -1,   420,   421,   422,   423,   424,    -1,   426,   427,   428,
-      -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,
-     439,    -1,    -1,   442,   443,   444,   445,   446,    -1,   448,
-     449,    -1,   451,   452,   453,    -1,    -1,   456,    -1,   458,
-      -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,   468,
-      -1,    -1,   471,   472,   473,   474,   475,   476,   477,   478,
-     479,   480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,
-     489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,
-      -1,   500,    -1,   502,   503,   504,   505,   506,   507,    -1,
-     509,   510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,
-      -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,
-      -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
-      -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
-      -1,    -1,   551,   552,   553,   554,    -1,   556,   557,    -1,
-      -1,   560,   561,   562,   563,    -1,    -1,   566,   567,    -1,
-     569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
-     579,   580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,
-     589,   590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,
-     599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,
-      -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,
-      -1,    -1,   621,   622,   623,   624,   625,   626,   627,    -1,
-      -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,
-     639,    -1,    -1,   642,    -1,    -1,    -1,    -1,     5,    -1,
-       7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
-      -1,    -1,    19,    -1,    -1,    22,   665,    24,    25,    26,
+     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
+     481,   482,    -1,   484,   485,   486,    -1,    -1,   489,   490,
+     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
+      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
+     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
+     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
+     531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
+     541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
+     551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
+     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
+     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
+      -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
+      -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
+      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
+      -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
+     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
+      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
+      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,
+       7,     8,     9,    10,    11,    12,    -1,    -1,    15,   660,
+      -1,    -1,    19,    -1,    -1,    22,   667,    24,    25,    26,
       27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
       -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
       47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
@@ -14351,8 +13853,73 @@ static const yytype_int16 yycheck[] =
      617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
      627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
      637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,
-       5,    -1,     7,     8,     9,    10,    11,    12,    -1,    -1,
-      15,    -1,    -1,    -1,    19,    -1,    -1,    22,   665,    24,
+      -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
+      11,    12,    -1,   660,    15,    -1,    -1,    -1,    19,   666,
+     667,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
+      -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
+      51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
+      61,    62,    -1,    64,    65,    -1,    67,    68,    69,    70,
+      71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
+      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
+      91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
+      -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
+     111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
+      -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
+      -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
+      -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
+     151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
+      -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
+      -1,   172,   173,   174,   175,   176,   177,   178,    -1,    -1,
+     181,   182,   183,   184,    -1,    -1,   187,   188,    -1,   190,
+     191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,
+      -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
+     211,   212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,
+     221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
+     231,   232,   233,   234,    -1,    -1,    -1,   238,   239,   240,
+      -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,
+      -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
+      -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
+     271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,
+     281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
+      -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,    -1,   313,   314,   315,   316,    -1,   318,   319,   320,
+     321,    -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,
+     331,   332,   333,   334,   335,    -1,    -1,   338,   339,    -1,
+     341,    -1,   343,    -1,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,
+     361,   362,   363,    -1,    -1,    -1,   367,   368,    -1,    -1,
+      -1,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
+     381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   393,   394,   395,    -1,    -1,   398,    -1,   400,
+      -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
+     411,    -1,    -1,   414,   415,   416,    -1,   418,    -1,   420,
+     421,   422,   423,   424,    -1,   426,   427,   428,    -1,    -1,
+     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,
+      -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
+     451,   452,   453,    -1,    -1,   456,    -1,   458,    -1,   460,
+     461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,    -1,
+     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
+     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
+     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
+      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
+     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
+     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
+     531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
+     541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
+     551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
+     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
+     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
+      -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
+      -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
+      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
+      -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
+     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
+      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
+      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       5,    -1,     7,     8,     9,    10,    11,    12,   659,    -1,
+      15,    -1,    -1,    -1,    19,    -1,   667,    22,    -1,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
       -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,
       45,    46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,
@@ -14375,7 +13942,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,    -1,
      225,   226,    -1,    -1,    -1,   230,   231,   232,   233,   234,
       -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,
-      -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,    -1,
+      -1,    -1,    -1,   248,   249,    -1,   251,    -1,   253,    -1,
      255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,
       -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,   274,
      275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
@@ -14415,137 +13982,9 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
      625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
      635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,
-      -1,    -1,     5,    -1,     7,     8,     9,    10,    11,    12,
-      -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,
-     665,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,
-      -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
-      -1,    -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,
-      63,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
-      -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
-      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
-      -1,    94,    95,    96,    97,    98,    -1,   100,    -1,    -1,
-     103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,    -1,
-     113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
-      -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,   132,
-     133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,
-     143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,
-      -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,
-     163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
-     173,   174,   175,   176,   177,   178,    -1,    -1,   181,   182,
-     183,   184,    -1,    -1,   187,   188,    -1,   190,   191,   192,
-      -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
-      -1,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
-      -1,   214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,
-      -1,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
-     233,   234,    -1,    -1,    -1,   238,   239,   240,    -1,    -1,
-     243,    -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,
-     253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
-     263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
-      -1,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
-      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,
-      -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
-     313,   314,   315,   316,    -1,   318,   319,   320,   321,    -1,
-     323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
-     333,   334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,
-     343,    -1,   345,   346,   347,   348,   349,   350,   351,   352,
-     353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,
-     363,    -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,
-      -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
-     383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     393,   394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,
-     403,   404,   405,   406,   407,   408,   409,   410,   411,    -1,
-      -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
-     423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
-      -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,   442,
-     443,   444,   445,   446,    -1,   448,   449,    -1,   451,   452,
-     453,    -1,    -1,   456,    -1,   458,    -1,   460,   461,    -1,
-     463,   464,    -1,   466,    -1,   468,    -1,    -1,   471,   472,
-     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
-      -1,   484,   485,    -1,    -1,    -1,   489,   490,   491,   492,
-      -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,
-     503,   504,   505,   506,   507,    -1,   509,   510,   511,   512,
-     513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,
-      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,
-     533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,
-     543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
-     553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
-     563,    -1,    -1,   566,   567,    -1,   569,   570,   571,   572,
-      -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
-      -1,   584,   585,   586,   587,    -1,   589,   590,    -1,   592,
-     593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
-      -1,   604,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,
-      -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
-     623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
-      -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,   642,
-      -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,    11,
-      12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,
-      22,   664,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,
-      42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,
-      52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,    61,
-      62,    -1,    64,    65,    -1,    67,    68,    69,    70,    71,
-      72,    -1,    74,    75,    76,    77,    78,    79,    80,    -1,
-      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
-      92,    -1,    94,    95,    96,    97,    98,    -1,   100,    -1,
-      -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,
-      -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,
-     122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,
-      -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,
-     142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,
-      -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,
-     162,   163,    -1,   165,   166,   167,    -1,   169,   170,    -1,
-     172,   173,   174,   175,   176,   177,   178,    -1,    -1,   181,
-     182,   183,   184,    -1,    -1,   187,   188,    -1,   190,   191,
-     192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,
-     202,    -1,   204,    -1,   206,   207,   208,   209,   210,   211,
-     212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,   221,
-      -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,   231,
-     232,   233,   234,    -1,    -1,    -1,   238,   239,   240,    -1,
-      -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,    -1,
-      -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,
-      -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,
-      -1,    -1,   274,   275,   276,    -1,    -1,    -1,    -1,   281,
-     282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,
-      -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,   301,
-     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
-      -1,   313,   314,   315,   316,    -1,   318,   319,   320,   321,
-      -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,
-     332,   333,   334,   335,    -1,    -1,   338,   339,    -1,   341,
-      -1,   343,    -1,   345,   346,   347,   348,   349,   350,   351,
-     352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,
-     362,   363,    -1,    -1,    -1,   367,   368,    -1,    -1,    -1,
-     372,    -1,   374,   375,   376,    -1,   378,   379,   380,   381,
-      -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   393,   394,   395,    -1,    -1,   398,    -1,   400,    -1,
-     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
-      -1,    -1,   414,   415,   416,    -1,   418,    -1,   420,   421,
-     422,   423,   424,    -1,   426,   427,   428,    -1,    -1,   431,
-      -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,
-     442,   443,   444,   445,   446,    -1,   448,   449,    -1,   451,
-     452,   453,    -1,    -1,   456,    -1,   458,    -1,   460,   461,
-      -1,   463,   464,    -1,   466,    -1,   468,    -1,    -1,   471,
-     472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
-     482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,   491,
-     492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,
-     502,   503,   504,   505,   506,   507,    -1,   509,   510,   511,
-     512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,
-     522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,
-     532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,
-      -1,   543,   544,   545,   546,   547,   548,    -1,    -1,   551,
-     552,   553,   554,    -1,   556,   557,    -1,    -1,   560,   561,
-     562,   563,    -1,   565,   566,   567,    -1,   569,   570,   571,
-     572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,
-      -1,    -1,   584,   585,   586,   587,    -1,   589,   590,    -1,
-     592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,
-     602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,    -1,
-      -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,
-     622,   623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,
-      -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,
-     642,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
+      -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
       11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
-      -1,    22,   664,    24,    25,    26,    27,    28,    29,    30,
+      -1,    22,   667,    24,    25,    26,    27,    28,    29,    30,
       31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
       -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
       51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
@@ -14570,7 +14009,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,
       -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
       -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
-     271,    -1,    -1,   274,   275,   276,    -1,    -1,    -1,    -1,
+     271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,
      281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
       -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,
      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
@@ -14599,7 +14038,7 @@ static const yytype_int16 yycheck[] =
      531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
      541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
      551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
-     561,   562,   563,    -1,   565,   566,   567,    -1,   569,   570,
+     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
      571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
       -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
       -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
@@ -14607,84 +14046,150 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
      621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
       -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
-      -1,   642,    -1,    -1,    -1,     5,    -1,     7,     8,     9,
-      10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,
-      -1,    -1,    22,   664,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,
-      -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,
-      -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,
-      -1,    61,    62,    -1,    64,    65,    -1,    67,    68,    69,
-      70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
-      80,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
-      -1,    91,    92,    -1,    94,    95,    96,    97,    98,    -1,
-     100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,
-      -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,
-      -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,
-      -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,
-     140,    -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,
-      -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,
-     160,    -1,   162,   163,    -1,   165,   166,   167,    -1,   169,
-     170,    -1,   172,   173,   174,   175,   176,   177,   178,    -1,
-      -1,   181,   182,   183,   184,    -1,    -1,   187,   188,    -1,
-     190,   191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,
-     200,    -1,   202,    -1,   204,    -1,   206,   207,   208,   209,
-     210,   211,   212,    -1,   214,    -1,    -1,   217,   218,   219,
-      -1,   221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,
-     230,   231,   232,   233,   234,    -1,    -1,    -1,   238,   239,
-     240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,
-      -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,
-      -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,
-      -1,   271,    -1,    -1,   274,   275,   276,    -1,    -1,    -1,
-      -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,   289,
-      -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,
-     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
-     310,   311,    -1,   313,   314,   315,   316,    -1,   318,   319,
-     320,   321,    -1,   323,   324,   325,    -1,    -1,    -1,    -1,
-     330,   331,   332,   333,   334,   335,    -1,    -1,   338,   339,
-      -1,   341,    -1,   343,    -1,   345,   346,   347,   348,   349,
-     350,   351,   352,   353,   354,    -1,    -1,   357,    -1,    -1,
-     360,   361,   362,   363,    -1,    -1,    -1,   367,   368,    -1,
-      -1,    -1,   372,    -1,   374,   375,   376,    -1,   378,   379,
-     380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   393,   394,   395,    -1,    -1,   398,    -1,
-     400,    -1,   402,   403,   404,   405,   406,   407,   408,   409,
-     410,   411,    -1,    -1,   414,   415,   416,    -1,   418,    -1,
-     420,   421,   422,   423,   424,    -1,   426,   427,   428,    -1,
-      -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,   439,
-      -1,    -1,   442,   443,   444,   445,   446,    -1,   448,   449,
-      -1,   451,   452,   453,    -1,    -1,   456,    -1,   458,    -1,
-     460,   461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,
-      -1,   471,   472,   473,   474,   475,   476,   477,   478,   479,
-     480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,
-     490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,
-     500,    -1,   502,   503,   504,   505,   506,   507,    -1,   509,
-     510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,
-      -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,
-      -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,
-     540,   541,    -1,   543,   544,   545,   546,   547,   548,    -1,
-      -1,   551,   552,   553,   554,    -1,   556,   557,    -1,    -1,
-     560,   561,   562,   563,    -1,   565,   566,   567,    -1,   569,
-     570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,
-     580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,
-     590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,
-      -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,
-      -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,
-      -1,   621,   622,   623,   624,   625,   626,   627,    -1,    -1,
-      -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,
-      -1,    -1,   642,    -1,    -1,    -1,     5,    -1,     7,     8,
+      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   654,     5,    -1,     7,     8,     9,    10,
+      11,    12,    -1,    -1,    15,    -1,   667,    -1,    19,    -1,
+      -1,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
+      -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
+      51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
+      61,    62,    -1,    64,    65,    -1,    67,    68,    69,    70,
+      71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
+      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
+      91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
+      -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
+     111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
+      -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
+      -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
+      -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
+     151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
+      -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
+      -1,   172,   173,   174,   175,   176,   177,   178,    -1,    -1,
+     181,   182,   183,   184,    -1,    -1,   187,   188,    -1,   190,
+     191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,
+      -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
+     211,   212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,
+     221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
+     231,   232,   233,   234,    -1,    -1,    -1,   238,   239,   240,
+      -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,
+      -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
+      -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
+     271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,
+     281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
+      -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,    -1,   313,   314,   315,   316,    -1,   318,   319,   320,
+     321,    -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,
+     331,   332,   333,   334,   335,    -1,    -1,   338,   339,    -1,
+     341,    -1,   343,    -1,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,
+     361,   362,   363,    -1,    -1,    -1,   367,   368,    -1,    -1,
+      -1,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
+     381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   393,   394,   395,    -1,    -1,   398,    -1,   400,
+      -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
+     411,    -1,    -1,   414,   415,   416,    -1,   418,    -1,   420,
+     421,   422,   423,   424,    -1,   426,   427,   428,    -1,    -1,
+     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,
+      -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
+     451,   452,   453,    -1,    -1,   456,    -1,   458,    -1,   460,
+     461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,    -1,
+     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
+     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
+     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
+      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
+     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
+     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
+     531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
+     541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
+     551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
+     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
+     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
+      -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
+      -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
+      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
+      -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
+     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
+      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
+      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       5,    -1,     7,     8,     9,    10,    11,    12,   659,    -1,
+      15,    -1,    -1,    -1,    19,    -1,   667,    22,    -1,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
+      -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,
+      45,    46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,
+      55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,    64,
+      65,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
+      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
+      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    94,
+      95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
+      -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
+      -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
+      -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
+     135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
+     145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
+     155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
+     165,   166,   167,    -1,   169,   170,    -1,   172,   173,   174,
+     175,   176,   177,   178,    -1,    -1,   181,   182,   183,   184,
+      -1,    -1,   187,   188,    -1,   190,   191,   192,    -1,    -1,
+     195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,
+      -1,   206,   207,   208,   209,   210,   211,   212,    -1,   214,
+      -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,    -1,
+     225,   226,    -1,    -1,    -1,   230,   231,   232,   233,   234,
+      -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,
+      -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,    -1,
+     255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,
+      -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,   274,
+     275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
+      -1,   286,    -1,   288,   289,    -1,    -1,    -1,    -1,    -1,
+      -1,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,    -1,   313,   314,
+     315,   316,    -1,   318,   319,   320,   321,    -1,   323,   324,
+     325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,   334,
+     335,    -1,    -1,   338,   339,    -1,   341,    -1,   343,    -1,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
+      -1,    -1,   357,    -1,    -1,   360,   361,   362,   363,    -1,
+      -1,    -1,   367,   368,    -1,    -1,    -1,   372,    -1,   374,
+     375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,
+     395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,   404,
+     405,   406,   407,   408,   409,   410,   411,    -1,    -1,   414,
+     415,   416,    -1,   418,    -1,   420,   421,   422,   423,   424,
+      -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,
+     435,   436,   437,   438,   439,    -1,    -1,   442,   443,   444,
+     445,   446,    -1,   448,   449,    -1,   451,   452,   453,    -1,
+      -1,   456,    -1,   458,    -1,   460,   461,    -1,   463,   464,
+      -1,   466,    -1,   468,    -1,    -1,   471,   472,   473,   474,
+     475,   476,   477,   478,   479,   480,   481,   482,    -1,   484,
+     485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,
+      -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,
+     505,   506,   507,    -1,   509,   510,   511,   512,   513,   514,
+      -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,
+      -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,
+      -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,   544,
+     545,   546,   547,   548,    -1,    -1,   551,   552,   553,   554,
+      -1,   556,   557,    -1,    -1,   560,   561,   562,   563,    -1,
+      -1,   566,   567,    -1,   569,   570,   571,   572,    -1,    -1,
+      -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,   584,
+     585,   586,   587,    -1,   589,   590,    -1,   592,   593,    -1,
+     595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,   604,
+      -1,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,   614,
+      -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
+     625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
+     635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,
        9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
-      19,    -1,    -1,    22,   664,    24,    25,    26,    27,    28,
+      19,   666,   667,    22,    -1,    24,    25,    26,    27,    28,
       29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
       -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
       49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,
-      59,    -1,    61,    62,    63,    64,    65,    -1,    67,    68,
+      59,    -1,    61,    62,    -1,    64,    65,    -1,    67,    68,
       69,    70,    71,    72,    -1,    74,    75,    76,    77,    78,
       79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
       89,    -1,    91,    92,    -1,    94,    95,    96,    97,    98,
       -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
       -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
-      -1,    -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,
       -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
       -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
       -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
@@ -14735,73 +14240,138 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,
       -1,    -1,   621,   622,   623,   624,   625,   626,   627,    -1,
       -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,
-     639,    -1,    -1,   642,    -1,    -1,    -1,     5,    -1,     7,
-       8,     9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,
-      -1,    19,    -1,    -1,    22,   664,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,
-      38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,
-      -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,
-      58,    59,    -1,    61,    62,    -1,    64,    65,    -1,    67,
-      68,    69,    70,    71,    72,    -1,    74,    75,    76,    77,
-      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
-      98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,
-     108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,
-     118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,
-     128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,
-      -1,    -1,   140,    -1,   142,   143,   144,   145,   146,    -1,
-      -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,
-      -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,   167,
-      -1,   169,   170,    -1,   172,   173,   174,   175,   176,   177,
-     178,    -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,
-     188,    -1,   190,   191,   192,    -1,    -1,   195,    -1,    -1,
-      -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,   207,
-     208,   209,   210,   211,   212,    -1,   214,    -1,    -1,   217,
-     218,   219,    -1,   221,    -1,    -1,    -1,   225,   226,    -1,
-      -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,
-     238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,
-     248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,
-     258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,
-     268,    -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,
-      -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,
-     288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,
-     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
-     308,   309,   310,   311,    -1,   313,   314,   315,   316,    -1,
-     318,   319,   320,   321,    -1,   323,   324,   325,    -1,    -1,
-      -1,    -1,   330,   331,   332,   333,   334,   335,    -1,    -1,
-     338,   339,    -1,   341,    -1,   343,    -1,   345,   346,   347,
-     348,   349,   350,   351,   352,   353,   354,    -1,    -1,   357,
-      -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,
-     368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,
-     378,   379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,
-     398,    -1,   400,    -1,   402,   403,   404,   405,   406,   407,
-     408,   409,   410,   411,    -1,    -1,   414,   415,   416,    -1,
-     418,    -1,   420,   421,   422,   423,   424,    -1,   426,   427,
-     428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,
-     438,   439,    -1,    -1,   442,   443,   444,   445,   446,    -1,
-     448,   449,    -1,   451,   452,   453,    -1,    -1,   456,    -1,
-     458,    -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,
-     468,    -1,    -1,   471,   472,   473,   474,   475,   476,   477,
-     478,   479,   480,   481,   482,    -1,   484,   485,    -1,    -1,
-      -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,
-      -1,    -1,   500,    -1,   502,   503,   504,   505,   506,   507,
-      -1,   509,   510,   511,   512,   513,   514,    -1,    -1,    -1,
-      -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,
-      -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,
-      -1,    -1,   540,   541,    -1,   543,   544,   545,   546,   547,
-     548,    -1,    -1,   551,   552,   553,   554,    -1,   556,   557,
-      -1,    -1,   560,   561,   562,   563,    -1,    -1,   566,   567,
-      -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,
-     578,   579,   580,    -1,    -1,    -1,   584,   585,   586,   587,
-      -1,   589,   590,    -1,   592,   593,    -1,   595,   596,    -1,
-      -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,
-      -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,
-      -1,    -1,    -1,   621,   622,   623,   624,   625,   626,   627,
-      -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,
-     638,   639,    -1,    -1,   642,    -1,    -1,    -1,     5,    -1,
+     639,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,
+       5,    -1,     7,     8,     9,    10,    11,    12,    -1,    -1,
+      15,    -1,    -1,    -1,    19,    -1,    -1,    22,   667,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
+      -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,
+      45,    46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,
+      55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,    64,
+      65,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
+      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
+      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    94,
+      95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
+      -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
+      -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
+      -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
+     135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
+     145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
+     155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
+     165,   166,   167,    -1,   169,   170,    -1,   172,   173,   174,
+     175,   176,   177,   178,    -1,    -1,   181,   182,   183,   184,
+      -1,    -1,   187,   188,    -1,   190,   191,   192,    -1,    -1,
+     195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,
+      -1,   206,   207,   208,   209,   210,   211,   212,    -1,   214,
+      -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,    -1,
+     225,   226,    -1,    -1,    -1,   230,   231,   232,   233,   234,
+      -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,
+      -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,    -1,
+     255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,
+      -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,   274,
+     275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
+      -1,   286,    -1,   288,   289,    -1,    -1,    -1,    -1,    -1,
+      -1,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,    -1,   313,   314,
+     315,   316,    -1,   318,   319,   320,   321,    -1,   323,   324,
+     325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,   334,
+     335,    -1,    -1,   338,   339,    -1,   341,    -1,   343,    -1,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
+      -1,    -1,   357,    -1,    -1,   360,   361,   362,   363,    -1,
+      -1,    -1,   367,   368,    -1,    -1,    -1,   372,    -1,   374,
+     375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,
+     395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,   404,
+     405,   406,   407,   408,   409,   410,   411,    -1,    -1,   414,
+     415,   416,    -1,   418,    -1,   420,   421,   422,   423,   424,
+      -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,
+     435,   436,   437,   438,   439,    -1,    -1,   442,   443,   444,
+     445,   446,    -1,   448,   449,    -1,   451,   452,   453,    -1,
+      -1,   456,    -1,   458,    -1,   460,   461,    -1,   463,   464,
+      -1,   466,    -1,   468,    -1,    -1,   471,   472,   473,   474,
+     475,   476,   477,   478,   479,   480,   481,   482,    -1,   484,
+     485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,
+      -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,
+     505,   506,   507,    -1,   509,   510,   511,   512,   513,   514,
+      -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,
+      -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,
+      -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,   544,
+     545,   546,   547,   548,    -1,    -1,   551,   552,   553,   554,
+      -1,   556,   557,    -1,    -1,   560,   561,   562,   563,    -1,
+      -1,   566,   567,    -1,   569,   570,   571,   572,    -1,    -1,
+      -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,   584,
+     585,   586,   587,    -1,   589,   590,    -1,   592,   593,    -1,
+     595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,   604,
+      -1,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,   614,
+      -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
+     625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
+     635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,
+      -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
+      11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
+      -1,    22,   667,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
+      -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
+      51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
+      61,    62,    -1,    64,    65,    -1,    67,    68,    69,    70,
+      71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
+      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
+      91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
+      -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
+     111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
+      -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
+      -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
+      -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
+     151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
+      -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
+      -1,   172,   173,   174,   175,   176,   177,   178,    -1,    -1,
+     181,   182,   183,   184,    -1,    -1,   187,   188,    -1,   190,
+     191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,
+      -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
+     211,   212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,
+     221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
+     231,   232,   233,   234,    -1,    -1,    -1,   238,   239,   240,
+      -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,
+      -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
+      -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
+     271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,
+     281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
+      -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,    -1,   313,   314,   315,   316,    -1,   318,   319,   320,
+     321,    -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,
+     331,   332,   333,   334,   335,    -1,    -1,   338,   339,    -1,
+     341,    -1,   343,    -1,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,
+     361,   362,   363,    -1,    -1,    -1,   367,   368,    -1,    -1,
+      -1,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
+     381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   393,   394,   395,    -1,    -1,   398,    -1,   400,
+      -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
+     411,    -1,    -1,   414,   415,   416,    -1,   418,    -1,   420,
+     421,   422,   423,   424,    -1,   426,   427,   428,    -1,    -1,
+     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,
+      -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
+     451,   452,   453,    -1,    -1,   456,    -1,   458,    -1,   460,
+     461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,    -1,
+     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
+     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
+     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
+      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
+     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
+     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
+     531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
+     541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
+     551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
+     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
+     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
+      -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
+      -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
+      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
+      -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
+     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
+      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
+      -1,   642,    -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,
        7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
-      -1,    -1,    19,    -1,    -1,    22,   664,    24,    25,    26,
+      -1,    -1,    19,    -1,    -1,    22,   667,    24,    25,    26,
       27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
       -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
       47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
@@ -14863,73 +14433,74 @@ static const yytype_int16 yycheck[] =
      607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
      617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
      627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
-     637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,     5,
-      -1,     7,     8,     9,    10,    11,    12,    -1,    -1,    15,
-      -1,    -1,    -1,    19,    -1,    -1,    -1,   664,    24,    25,
-      26,    27,    28,    29,    30,    31,    -1,    -1,    34,    -1,
-      -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,
-      46,    47,    -1,    49,    -1,    -1,    -1,    -1,    -1,    55,
-      56,    -1,    58,    59,    -1,    61,    -1,    -1,    -1,    -1,
-      -1,    67,    68,    69,    70,    71,    72,    -1,    74,    75,
-      -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    -1,
-      86,    87,    88,    89,    -1,    91,    92,    -1,    94,    95,
-      96,    -1,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,
-     106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,
-      -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,
-      -1,   127,    -1,    -1,    -1,    -1,    -1,   133,    -1,   135,
-      -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,
-     146,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   154,   155,
-     156,    -1,    -1,    -1,   160,    -1,    -1,   163,    -1,   165,
-     166,   167,    -1,   169,   170,    -1,   172,   173,   174,   175,
-     176,    -1,    -1,    -1,    -1,   181,   182,   183,   184,    -1,
-      -1,   187,   188,   189,   190,   191,   192,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   200,    -1,   202,    -1,   204,    -1,
-     206,   207,   208,   209,   210,    -1,   212,    -1,   214,    -1,
-      -1,    -1,   218,   219,    -1,    -1,    -1,    -1,    -1,    -1,
-     226,    -1,    -1,    -1,   230,   231,   232,   233,   234,   235,
-      -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,
-      -1,    -1,   248,    -1,    -1,    -1,    -1,   253,    -1,   255,
-     256,    -1,   258,   259,   260,    -1,    -1,   263,    -1,    -1,
-      -1,   267,   268,    -1,    -1,   271,   272,    -1,   274,   275,
-      -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,
-     286,    -1,   288,   289,    -1,    -1,    -1,    -1,   294,    -1,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,    -1,   313,   314,   315,
-     316,    -1,   318,   319,   320,   321,    -1,   323,   324,   325,
-      -1,    -1,    -1,    -1,   330,   331,   332,   333,   334,   335,
-      -1,    -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,
-     346,   347,   348,   349,   350,   351,   352,   353,   354,    -1,
-      -1,   357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,
-      -1,    -1,   368,    -1,    -1,    -1,   372,    -1,   374,   375,
-     376,    -1,   378,   379,   380,   381,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   394,   395,
-      -1,    -1,    -1,    -1,   400,    -1,   402,   403,   404,   405,
-     406,   407,   408,   409,   410,    -1,    -1,    -1,    -1,   415,
-     416,    -1,   418,    -1,   420,   421,   422,   423,   424,    -1,
-     426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,
-     436,   437,   438,   439,    -1,    -1,   442,   443,   444,   445,
-     446,    -1,   448,    -1,    -1,   451,    -1,   453,   454,    -1,
-     456,    -1,    -1,    -1,   460,    -1,    -1,   463,   464,    -1,
-     466,   467,   468,    -1,    -1,   471,    -1,   473,   474,   475,
-     476,   477,   478,   479,    -1,   481,   482,    -1,   484,    -1,
-      -1,    -1,    -1,   489,   490,   491,    -1,    -1,    -1,    -1,
-     496,    -1,    -1,    -1,    -1,    -1,    -1,   503,    -1,    -1,
-     506,   507,    -1,   509,    -1,   511,    -1,   513,   514,    -1,
-      -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,
-      -1,   527,    -1,    -1,    -1,   531,    -1,   533,    -1,    -1,
-      -1,   537,    -1,    -1,    -1,   541,    -1,   543,   544,   545,
-     546,   547,   548,    -1,    -1,   551,   552,   553,   554,    -1,
-     556,   557,    -1,    -1,   560,   561,   562,   563,    -1,    -1,
-     566,   567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,
-      -1,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,   585,
-     586,   587,    -1,   589,   590,    -1,   592,   593,    -1,    -1,
-      -1,    -1,    -1,   599,    -1,    -1,   602,    -1,    -1,    -1,
-     606,   607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,
-      -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,   625,
-     626,   627,    -1,    -1,   630,    -1,    -1,    -1,   634,    -1,
-      -1,   637,    -1,   639,    -1,     5,   642,     7,     8,     9,
+     637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,
+      -1,    -1,     5,    -1,     7,     8,     9,    10,    11,    12,
+      -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,
+     667,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,
+      -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
+      -1,    -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,
+      63,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
+      -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
+      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
+      -1,    94,    95,    96,    97,    98,    -1,   100,    -1,    -1,
+     103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,    -1,
+     113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
+      -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,   132,
+     133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,
+     143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,
+      -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,
+     163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
+     173,   174,   175,   176,   177,   178,    -1,    -1,   181,   182,
+     183,   184,    -1,    -1,   187,   188,    -1,   190,   191,   192,
+      -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
+      -1,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
+      -1,   214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,
+      -1,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
+     233,   234,    -1,    -1,    -1,   238,   239,   240,    -1,    -1,
+     243,    -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,
+     253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
+     263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
+      -1,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
+      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,
+      -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
+     313,   314,   315,   316,    -1,   318,   319,   320,   321,    -1,
+     323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
+     333,   334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,
+     343,    -1,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,
+     363,    -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,
+      -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
+     383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     393,   394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,
+     403,   404,   405,   406,   407,   408,   409,   410,   411,    -1,
+      -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
+     423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
+      -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,   442,
+     443,   444,   445,   446,    -1,   448,   449,    -1,   451,   452,
+     453,    -1,    -1,   456,    -1,   458,    -1,   460,   461,    -1,
+     463,   464,    -1,   466,    -1,   468,    -1,    -1,   471,   472,
+     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
+      -1,   484,   485,    -1,    -1,    -1,   489,   490,   491,   492,
+      -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,
+     503,   504,   505,   506,   507,    -1,   509,   510,   511,   512,
+     513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,
+      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,
+     533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,
+     543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
+     553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
+     563,    -1,    -1,   566,   567,    -1,   569,   570,   571,   572,
+      -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
+      -1,   584,   585,   586,   587,    -1,   589,   590,    -1,   592,
+     593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
+      -1,   604,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,
+      -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
+     623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
+      -1,   634,   635,    -1,   637,   638,   639,    -1,    -1,   642,
+      -1,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,
       10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,
-      -1,    -1,    22,   659,    24,    25,    26,    27,    28,    29,
+      -1,    -1,    22,   666,    24,    25,    26,    27,    28,    29,
       30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,
       -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,
       -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,
@@ -14937,7 +14508,7 @@ static const yytype_int16 yycheck[] =
       70,    71,    72,    -1,    74,    75,    76,    77,    78,    79,
       80,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
       -1,    91,    92,    -1,    94,    95,    96,    97,    98,    -1,
-     100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,   109,
+     100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,
       -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,
       -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,
       -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,
@@ -14991,8 +14562,73 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,
       -1,   621,   622,   623,   624,   625,   626,   627,    -1,    -1,
       -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,
-      -1,     5,   642,     7,     8,     9,    10,    11,    12,    -1,
-      -1,    15,    -1,    -1,    -1,    19,    -1,   657,    22,    -1,
+      -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,     5,    -1,
+       7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
+      -1,    -1,    19,    -1,    -1,    22,   666,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
+      -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
+      47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
+      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    -1,
+      67,    68,    69,    70,    71,    72,    -1,    74,    75,    76,
+      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
+      87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
+      97,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
+      -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
+     117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
+     127,   128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
+      -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
+      -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
+      -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
+     167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
+     177,   178,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
+     187,   188,    -1,   190,   191,   192,    -1,    -1,   195,    -1,
+      -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,
+     207,   208,   209,   210,   211,   212,    -1,   214,    -1,    -1,
+     217,   218,   219,    -1,   221,    -1,    -1,    -1,   225,   226,
+      -1,    -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,
+      -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
+      -1,   248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,
+      -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
+     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,   276,
+      -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
+      -1,   288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
+      -1,   318,   319,   320,   321,    -1,   323,   324,   325,    -1,
+      -1,    -1,    -1,   330,   331,   332,   333,   334,   335,    -1,
+      -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,   354,    -1,    -1,
+     357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,
+     367,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
+      -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
+      -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
+     407,   408,   409,   410,   411,    -1,    -1,   414,   415,   416,
+      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
+     427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
+     437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
+      -1,   448,   449,    -1,   451,   452,   453,    -1,    -1,   456,
+      -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,   466,
+      -1,   468,    -1,    -1,   471,   472,   473,   474,   475,   476,
+     477,   478,   479,   480,   481,   482,    -1,   484,   485,    -1,
+      -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,
+      -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,   506,
+     507,    -1,   509,   510,   511,   512,   513,   514,    -1,    -1,
+      -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
+     527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
+     537,    -1,    -1,   540,   541,    -1,   543,   544,   545,   546,
+     547,   548,    -1,    -1,   551,   552,   553,   554,    -1,   556,
+     557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
+     567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
+      -1,   578,   579,   580,    -1,    -1,    -1,   584,   585,   586,
+     587,    -1,   589,   590,    -1,   592,   593,    -1,   595,   596,
+      -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,
+     607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
+     617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
+     627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
+     637,   638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,
+      -1,     5,    -1,     7,     8,     9,    10,    11,    12,    -1,
+      -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,   666,
       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
       34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,
       -1,    45,    46,    47,    -1,    49,    -1,    51,    52,    -1,
@@ -15018,7 +14654,328 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,
       -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,
       -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,
-     274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,
+     274,   275,   276,    -1,    -1,    -1,    -1,   281,   282,    -1,
+     284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,    -1,
+      -1,    -1,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,    -1,   313,
+     314,   315,   316,    -1,   318,   319,   320,   321,    -1,   323,
+     324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,
+     334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,   343,
+      -1,   345,   346,   347,   348,   349,   350,   351,   352,   353,
+     354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,   363,
+      -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,    -1,
+     374,   375,   376,    -1,   378,   379,   380,   381,    -1,   383,
+     384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,
+     394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,
+     404,   405,   406,   407,   408,   409,   410,   411,    -1,    -1,
+     414,   415,   416,    -1,   418,    -1,   420,   421,   422,   423,
+     424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,
+      -1,   435,   436,   437,   438,   439,    -1,    -1,   442,   443,
+     444,   445,   446,    -1,   448,   449,    -1,   451,   452,   453,
+      -1,    -1,   456,    -1,   458,    -1,   460,   461,    -1,   463,
+     464,    -1,   466,    -1,   468,    -1,    -1,   471,   472,   473,
+     474,   475,   476,   477,   478,   479,   480,   481,   482,    -1,
+     484,   485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,
+      -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,
+     504,   505,   506,   507,    -1,   509,   510,   511,   512,   513,
+     514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,
+     524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,
+      -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,
+     544,   545,   546,   547,   548,    -1,    -1,   551,   552,   553,
+     554,    -1,   556,   557,    -1,    -1,   560,   561,   562,   563,
+      -1,   565,   566,   567,    -1,   569,   570,   571,   572,    -1,
+      -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,
+     584,   585,   586,   587,    -1,   589,   590,    -1,   592,   593,
+      -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,
+     604,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,
+     614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,
+     624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,
+     634,   635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,
+      -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
+      11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
+      -1,    22,   666,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
+      -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
+      51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
+      61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
+      71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
+      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
+      91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
+      -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
+     111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
+      -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
+      -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
+      -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
+     151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
+      -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
+      -1,   172,   173,   174,   175,   176,   177,   178,    -1,    -1,
+     181,   182,   183,   184,    -1,    -1,   187,   188,    -1,   190,
+     191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,
+      -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
+     211,   212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,
+     221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
+     231,   232,   233,   234,    -1,    -1,    -1,   238,   239,   240,
+      -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,
+      -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
+      -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
+     271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,
+     281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
+      -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,    -1,   313,   314,   315,   316,    -1,   318,   319,   320,
+     321,    -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,
+     331,   332,   333,   334,   335,    -1,    -1,   338,   339,    -1,
+     341,    -1,   343,    -1,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,
+     361,   362,   363,    -1,    -1,    -1,   367,   368,    -1,    -1,
+      -1,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
+     381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   393,   394,   395,    -1,    -1,   398,    -1,   400,
+      -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
+     411,    -1,    -1,   414,   415,   416,    -1,   418,    -1,   420,
+     421,   422,   423,   424,    -1,   426,   427,   428,    -1,    -1,
+     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,
+      -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
+     451,   452,   453,    -1,    -1,   456,    -1,   458,    -1,   460,
+     461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,    -1,
+     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
+     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
+     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
+      -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
+     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
+     521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
+     531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
+     541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
+     551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
+     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
+     571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
+      -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
+      -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
+      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
+      -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
+     621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
+      -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
+      -1,   642,    -1,    -1,    -1,    -1,    -1,     5,    -1,     7,
+       8,     9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,
+      -1,    19,    -1,    -1,    22,   666,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,
+      38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,
+      -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,
+      58,    59,    -1,    61,    62,    -1,    64,    65,    -1,    67,
+      68,    69,    70,    71,    72,    -1,    74,    75,    76,    77,
+      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
+      98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,
+     108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,
+     118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,
+     128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,
+      -1,    -1,   140,    -1,   142,   143,   144,   145,   146,    -1,
+      -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,
+      -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,   167,
+      -1,   169,   170,    -1,   172,   173,   174,   175,   176,   177,
+     178,    -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,
+     188,    -1,   190,   191,   192,    -1,    -1,   195,    -1,    -1,
+      -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,   207,
+     208,   209,   210,   211,   212,    -1,   214,    -1,    -1,   217,
+     218,   219,    -1,   221,    -1,    -1,    -1,   225,   226,    -1,
+      -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,
+     238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,
+     248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,
+     258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,
+     268,    -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,
+      -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,
+     288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,    -1,   313,   314,   315,   316,    -1,
+     318,   319,   320,   321,    -1,   323,   324,   325,    -1,    -1,
+      -1,    -1,   330,   331,   332,   333,   334,   335,    -1,    -1,
+     338,   339,    -1,   341,    -1,   343,    -1,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,   354,    -1,    -1,   357,
+      -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,
+     368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,
+     378,   379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,
+     398,    -1,   400,    -1,   402,   403,   404,   405,   406,   407,
+     408,   409,   410,   411,    -1,    -1,   414,   415,   416,    -1,
+     418,    -1,   420,   421,   422,   423,   424,    -1,   426,   427,
+     428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,
+     438,   439,    -1,    -1,   442,   443,   444,   445,   446,    -1,
+     448,   449,    -1,   451,   452,   453,    -1,    -1,   456,    -1,
+     458,    -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,
+     468,    -1,    -1,   471,   472,   473,   474,   475,   476,   477,
+     478,   479,   480,   481,   482,    -1,   484,   485,    -1,    -1,
+      -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,
+      -1,    -1,   500,    -1,   502,   503,   504,   505,   506,   507,
+      -1,   509,   510,   511,   512,   513,   514,    -1,    -1,    -1,
+      -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,
+      -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,
+      -1,    -1,   540,   541,    -1,   543,   544,   545,   546,   547,
+     548,    -1,    -1,   551,   552,   553,   554,    -1,   556,   557,
+      -1,    -1,   560,   561,   562,   563,    -1,    -1,   566,   567,
+      -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,
+     578,   579,   580,    -1,    -1,    -1,   584,   585,   586,   587,
+      -1,   589,   590,    -1,   592,   593,    -1,   595,   596,    -1,
+      -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,
+      -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,
+      -1,    -1,    -1,   621,   622,   623,   624,   625,   626,   627,
+      -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,
+     638,   639,    -1,    -1,   642,    -1,    -1,    -1,    -1,    -1,
+       5,    -1,     7,     8,     9,    10,    11,    12,    -1,    -1,
+      15,    -1,    -1,    -1,    19,    -1,    -1,    22,   666,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
+      -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,
+      45,    46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,
+      55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,    64,
+      65,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
+      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
+      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    94,
+      95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
+      -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
+      -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
+      -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
+     135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
+     145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
+     155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
+     165,   166,   167,    -1,   169,   170,    -1,   172,   173,   174,
+     175,   176,   177,   178,    -1,    -1,   181,   182,   183,   184,
+      -1,    -1,   187,   188,    -1,   190,   191,   192,    -1,    -1,
+     195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,
+      -1,   206,   207,   208,   209,   210,   211,   212,    -1,   214,
+      -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,    -1,
+     225,   226,    -1,    -1,    -1,   230,   231,   232,   233,   234,
+      -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,
+      -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,    -1,
+     255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,
+      -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,   274,
+     275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
+      -1,   286,    -1,   288,   289,    -1,    -1,    -1,    -1,    -1,
+      -1,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,    -1,   313,   314,
+     315,   316,    -1,   318,   319,   320,   321,    -1,   323,   324,
+     325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,   334,
+     335,    -1,    -1,   338,   339,    -1,   341,    -1,   343,    -1,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
+      -1,    -1,   357,    -1,    -1,   360,   361,   362,   363,    -1,
+      -1,    -1,   367,   368,    -1,    -1,    -1,   372,    -1,   374,
+     375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,
+     395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,   404,
+     405,   406,   407,   408,   409,   410,   411,    -1,    -1,   414,
+     415,   416,    -1,   418,    -1,   420,   421,   422,   423,   424,
+      -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,
+     435,   436,   437,   438,   439,    -1,    -1,   442,   443,   444,
+     445,   446,    -1,   448,   449,    -1,   451,   452,   453,    -1,
+      -1,   456,    -1,   458,    -1,   460,   461,    -1,   463,   464,
+      -1,   466,    -1,   468,    -1,    -1,   471,   472,   473,   474,
+     475,   476,   477,   478,   479,   480,   481,   482,    -1,   484,
+     485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,
+      -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,
+     505,   506,   507,    -1,   509,   510,   511,   512,   513,   514,
+      -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,
+      -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,
+      -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,   544,
+     545,   546,   547,   548,    -1,    -1,   551,   552,   553,   554,
+      -1,   556,   557,    -1,    -1,   560,   561,   562,   563,    -1,
+      -1,   566,   567,    -1,   569,   570,   571,   572,    -1,    -1,
+      -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,   584,
+     585,   586,   587,    -1,   589,   590,    -1,   592,   593,    -1,
+     595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,   604,
+      -1,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,   614,
+      -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
+     625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
+     635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,    -1,
+      -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,    11,
+      12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,
+      -1,   666,    24,    25,    26,    27,    28,    29,    30,    31,
+      -1,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,
+      42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,    -1,
+      -1,    -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,
+      -1,    -1,    -1,    -1,    -1,    67,    68,    69,    70,    71,
+      72,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
+      82,    -1,    84,    -1,    86,    87,    88,    89,    -1,    91,
+      92,    -1,    94,    95,    96,    -1,    98,    -1,   100,    -1,
+      -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,
+      -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,
+     122,    -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,
+      -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,
+     142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,
+      -1,   163,    -1,   165,   166,   167,    -1,   169,   170,    -1,
+     172,   173,   174,   175,   176,    -1,    -1,    -1,    -1,   181,
+     182,   183,   184,    -1,    -1,   187,   188,   189,   190,   191,
+     192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   200,    -1,
+     202,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
+     212,    -1,   214,    -1,    -1,    -1,   218,   219,    -1,    -1,
+      -1,    -1,    -1,    -1,   226,    -1,    -1,    -1,   230,   231,
+     232,   233,   234,   235,    -1,    -1,   238,   239,   240,    -1,
+      -1,   243,    -1,    -1,    -1,    -1,   248,    -1,    -1,    -1,
+      -1,   253,    -1,   255,   256,    -1,   258,   259,   260,    -1,
+      -1,   263,    -1,    -1,    -1,   267,   268,    -1,    -1,   271,
+     272,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,
+     282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,
+      -1,    -1,   294,    -1,   296,   297,   298,   299,   300,   301,
+     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
+      -1,   313,   314,   315,   316,    -1,   318,   319,   320,   321,
+      -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,
+     332,   333,   334,   335,    -1,    -1,   338,   339,    -1,   341,
+      -1,   343,    -1,   345,   346,   347,   348,   349,   350,   351,
+     352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,
+     362,   363,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,
+     372,    -1,   374,   375,   376,    -1,   378,   379,   380,   381,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   394,   395,    -1,    -1,    -1,    -1,   400,    -1,
+     402,   403,   404,   405,   406,   407,   408,   409,   410,    -1,
+      -1,    -1,    -1,   415,   416,    -1,   418,    -1,   420,   421,
+     422,   423,   424,    -1,   426,   427,   428,    -1,    -1,   431,
+      -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,
+     442,   443,   444,   445,   446,    -1,   448,    -1,    -1,   451,
+      -1,   453,   454,    -1,   456,    -1,    -1,    -1,   460,    -1,
+      -1,   463,   464,    -1,   466,   467,   468,    -1,    -1,   471,
+      -1,   473,   474,   475,   476,   477,   478,   479,    -1,   481,
+     482,    -1,   484,    -1,    -1,    -1,    -1,   489,   490,   491,
+      -1,    -1,    -1,    -1,   496,    -1,    -1,    -1,    -1,    -1,
+      -1,   503,    -1,    -1,   506,   507,    -1,   509,    -1,   511,
+      -1,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,
+     522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,
+      -1,   533,    -1,    -1,    -1,   537,    -1,    -1,    -1,   541,
+      -1,   543,   544,   545,   546,   547,   548,    -1,    -1,   551,
+     552,   553,   554,    -1,   556,   557,    -1,    -1,   560,   561,
+     562,   563,    -1,    -1,   566,   567,    -1,   569,   570,   571,
+     572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,
+      -1,    -1,    -1,   585,   586,   587,    -1,   589,   590,    -1,
+     592,   593,    -1,    -1,    -1,    -1,    -1,   599,    -1,    -1,
+     602,    -1,    -1,    -1,   606,   607,    -1,    -1,    -1,    -1,
+      -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,
+     622,   623,   624,   625,   626,   627,    -1,    -1,   630,    -1,
+      -1,    -1,   634,    -1,    -1,   637,    -1,   639,    -1,    -1,
+     642,     5,    -1,     7,     8,     9,    10,    11,    12,    -1,
+      -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,   661,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
+      34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,
+      -1,    45,    46,    47,    -1,    49,    -1,    51,    52,    -1,
+      -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,
+      64,    65,    -1,    67,    68,    69,    70,    71,    72,    -1,
+      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
+      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
+      94,    95,    96,    97,    98,    -1,   100,    -1,    -1,   103,
+      -1,    -1,   106,    -1,   108,   109,    -1,   111,    -1,   113,
+      -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,
+      -1,    -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,
+      -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,
+     144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,
+     154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,
+      -1,   165,   166,   167,    -1,   169,   170,    -1,   172,   173,
+     174,   175,   176,   177,   178,    -1,    -1,   181,   182,   183,
+     184,    -1,    -1,   187,   188,    -1,   190,   191,   192,    -1,
+      -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,
+     204,    -1,   206,   207,   208,   209,   210,   211,   212,    -1,
+     214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,
+      -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,   233,
+     234,    -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,
+      -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,
+      -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,
+      -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,
+     274,   275,   276,    -1,    -1,    -1,    -1,   281,   282,    -1,
      284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,    -1,
       -1,    -1,   296,   297,   298,   299,   300,   301,   302,   303,
      304,   305,   306,   307,   308,   309,   310,   311,    -1,   313,
@@ -15047,7 +15004,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,
      544,   545,   546,   547,   548,    -1,    -1,   551,   552,   553,
      554,    -1,   556,   557,    -1,    -1,   560,   561,   562,   563,
-      -1,    -1,   566,   567,    -1,   569,   570,   571,   572,    -1,
+      -1,   565,   566,   567,    -1,   569,   570,   571,   572,    -1,
       -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,
      584,   585,   586,   587,    -1,   589,   590,    -1,   592,   593,
       -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,
@@ -15055,8 +15012,8 @@ static const yytype_int16 yycheck[] =
      614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,
      624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,
      634,   635,    -1,   637,   638,   639,    -1,     5,   642,     7,
-       8,     9,    10,    11,    12,    -1,    -1,    15,   652,    -1,
-      -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,    27,
+       8,     9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,
+      -1,    19,    -1,    -1,    22,   659,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,
       38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,
       -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,
@@ -15119,7 +15076,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,   621,   622,   623,   624,   625,   626,   627,
       -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,
      638,   639,    -1,     5,   642,     7,     8,     9,    10,    11,
-      12,    -1,    -1,    15,   652,    -1,    -1,    19,    -1,    -1,
+      12,    -1,    -1,    15,    -1,    -1,   654,    19,    -1,    -1,
       22,    -1,    24,    25,    26,    27,    28,    29,    30,    31,
       32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,
       42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,
@@ -15183,7 +15140,7 @@ static const yytype_int16 yycheck[] =
      622,   623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,
       -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,     5,
      642,     7,     8,     9,    10,    11,    12,    -1,    -1,    15,
-     652,    -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,
+      -1,    -1,   654,    19,    -1,    -1,    22,    -1,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    -1,    34,    -1,
       -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,
       46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,
@@ -15246,9 +15203,9 @@ static const yytype_int16 yycheck[] =
       -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,   625,
      626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,
       -1,   637,   638,   639,    -1,     5,   642,     7,     8,     9,
-      10,    11,    12,    -1,    -1,    15,   652,    -1,    -1,    19,
+      10,    11,    12,    -1,    -1,    15,    -1,    -1,   654,    19,
       -1,    -1,    22,    -1,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    -1,    34,    -1,    -1,    37,    38,    -1,
+      30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,
       -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,
       -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,
       -1,    61,    62,    -1,    64,    65,    -1,    67,    68,    69,
@@ -15258,7 +15215,7 @@ static const yytype_int16 yycheck[] =
      100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,
       -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,
       -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,
-      -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,
      140,    -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,
       -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,
      160,    -1,   162,   163,    -1,   165,   166,   167,    -1,   169,
@@ -15272,7 +15229,7 @@ static const yytype_int16 yycheck[] =
      240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,
       -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,
       -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,
-      -1,   271,    -1,    -1,   274,   275,   276,    -1,    -1,    -1,
+      -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,
       -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,   289,
       -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,
      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
@@ -15294,14 +15251,14 @@ static const yytype_int16 yycheck[] =
      460,   461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,
       -1,   471,   472,   473,   474,   475,   476,   477,   478,   479,
      480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,
-     490,   491,   492,    -1,    -1,   495,   496,    -1,    -1,    -1,
+     490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,
      500,    -1,   502,   503,   504,   505,   506,   507,    -1,   509,
      510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,
       -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,
       -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,
      540,   541,    -1,   543,   544,   545,   546,   547,   548,    -1,
       -1,   551,   552,   553,   554,    -1,   556,   557,    -1,    -1,
-     560,   561,   562,   563,    -1,   565,   566,   567,    -1,   569,
+     560,   561,   562,   563,    -1,    -1,   566,   567,    -1,   569,
      570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,
      580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,
      590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,
@@ -15309,8 +15266,199 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,
       -1,   621,   622,   623,   624,   625,   626,   627,    -1,    -1,
       -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,
-      -1,    -1,   642,    -1,     5,   645,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    -1,    -1,    -1,    19,    -1,
+      -1,     5,   642,     7,     8,     9,    10,    11,    12,    -1,
+      -1,    15,    -1,    -1,   654,    19,    -1,    -1,    22,    -1,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
+      34,    -1,    -1,    37,    38,    -1,    -1,    -1,    42,    -1,
+      -1,    45,    46,    47,    -1,    49,    -1,    51,    52,    -1,
+      -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,
+      64,    65,    -1,    67,    68,    69,    70,    71,    72,    -1,
+      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
+      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
+      94,    95,    96,    97,    98,    -1,   100,    -1,    -1,   103,
+      -1,    -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,
+      -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,
+      -1,    -1,    -1,   127,   128,    -1,    -1,    -1,   132,   133,
+      -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,
+     144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,
+     154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,
+      -1,   165,   166,   167,    -1,   169,   170,    -1,   172,   173,
+     174,   175,   176,   177,   178,    -1,    -1,   181,   182,   183,
+     184,    -1,    -1,   187,   188,    -1,   190,   191,   192,    -1,
+      -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,
+     204,    -1,   206,   207,   208,   209,   210,   211,   212,    -1,
+     214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,
+      -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,   233,
+     234,    -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,
+      -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,
+      -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,
+      -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,
+     274,   275,   276,    -1,    -1,    -1,    -1,   281,   282,    -1,
+     284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,    -1,
+      -1,    -1,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,    -1,   313,
+     314,   315,   316,    -1,   318,   319,   320,   321,    -1,   323,
+     324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,   333,
+     334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,   343,
+      -1,   345,   346,   347,   348,   349,   350,   351,   352,   353,
+     354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,   363,
+      -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,    -1,
+     374,   375,   376,    -1,   378,   379,   380,   381,    -1,   383,
+     384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,
+     394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,
+     404,   405,   406,   407,   408,   409,   410,   411,    -1,    -1,
+     414,   415,   416,    -1,   418,    -1,   420,   421,   422,   423,
+     424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,
+      -1,   435,   436,   437,   438,   439,    -1,    -1,   442,   443,
+     444,   445,   446,    -1,   448,   449,    -1,   451,   452,   453,
+      -1,    -1,   456,    -1,   458,    -1,   460,   461,    -1,   463,
+     464,    -1,   466,    -1,   468,    -1,    -1,   471,   472,   473,
+     474,   475,   476,   477,   478,   479,   480,   481,   482,    -1,
+     484,   485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,
+      -1,   495,   496,    -1,    -1,    -1,   500,    -1,   502,   503,
+     504,   505,   506,   507,    -1,   509,   510,   511,   512,   513,
+     514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,
+     524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,
+      -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,
+     544,   545,   546,   547,   548,    -1,    -1,   551,   552,   553,
+     554,    -1,   556,   557,    -1,    -1,   560,   561,   562,   563,
+      -1,   565,   566,   567,    -1,   569,   570,   571,   572,    -1,
+      -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,
+     584,   585,   586,   587,    -1,   589,   590,    -1,   592,   593,
+      -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,
+     604,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,
+     614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,
+     624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,
+     634,   635,    -1,   637,   638,   639,    -1,    -1,   642,    -1,
+      -1,    -1,     5,   647,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,
+      -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,
+      -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
+      -1,    -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,
+      -1,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
+      -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
+      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
+      -1,    94,    95,    96,    97,    98,    -1,   100,    -1,    -1,
+     103,   104,    -1,   106,    -1,   108,    -1,   110,   111,    -1,
+     113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
+      -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,    -1,
+     133,    -1,   135,   136,    -1,    -1,    -1,   140,    -1,   142,
+     143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,   152,
+      -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,
+     163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
+     173,   174,   175,   176,   177,   178,    -1,    -1,   181,   182,
+     183,   184,    -1,    -1,   187,   188,    -1,   190,   191,   192,
+      -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
+      -1,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,
+      -1,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
+     233,   234,    -1,    -1,    -1,   238,   239,   240,   241,    -1,
+     243,    -1,    -1,    -1,   247,   248,   249,    -1,    -1,    -1,
+     253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
+     263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
+      -1,   274,   275,   276,    -1,    -1,    -1,    -1,   281,   282,
+      -1,   284,    -1,   286,   287,   288,   289,    -1,    -1,    -1,
+      -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
+     313,   314,   315,   316,    -1,   318,   319,   320,   321,    -1,
+     323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
+     333,   334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,
+     343,    -1,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,
+     363,    -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,
+      -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
+     383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     393,   394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,
+     403,   404,   405,   406,   407,   408,   409,   410,   411,    -1,
+      -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
+     423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
+      -1,    -1,   435,   436,   437,   438,   439,   440,    -1,   442,
+     443,   444,   445,   446,    -1,   448,   449,    -1,   451,   452,
+     453,    -1,    -1,   456,    -1,   458,    -1,   460,   461,    -1,
+     463,   464,    -1,   466,    -1,   468,    -1,    -1,   471,   472,
+     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
+      -1,   484,   485,   486,    -1,    -1,   489,   490,   491,   492,
+      -1,    -1,    -1,   496,    -1,    -1,   499,   500,    -1,   502,
+     503,   504,   505,   506,   507,    -1,   509,   510,   511,   512,
+     513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,
+      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,
+     533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,
+     543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
+     553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
+     563,    -1,   565,   566,   567,    -1,   569,   570,   571,   572,
+      -1,    -1,    -1,    -1,    -1,   578,   579,   580,   581,    -1,
+      -1,   584,   585,   586,   587,    -1,   589,   590,    -1,   592,
+     593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
+     603,   604,   605,   606,   607,    -1,    -1,    -1,    -1,    -1,
+      -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
+     623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
+      -1,   634,   635,    -1,   637,   638,   639,    -1,     5,   642,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    -1,
+      -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
+      -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
+      47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
+      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    -1,
+      67,    68,    69,    70,    71,    72,    -1,    74,    75,    76,
+      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
+      87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
+      97,    98,    -1,   100,    -1,    -1,   103,   104,    -1,   106,
+      -1,   108,    -1,   110,   111,    -1,   113,    -1,    -1,    -1,
+     117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
+     127,   128,    -1,    -1,    -1,    -1,   133,    -1,   135,   136,
+      -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
+      -1,    -1,    -1,    -1,   151,   152,    -1,   154,   155,   156,
+      -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
+     167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
+     177,   178,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
+     187,   188,    -1,   190,   191,   192,    -1,    -1,   195,    -1,
+      -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,    -1,    -1,
+     217,   218,   219,    -1,   221,    -1,    -1,    -1,   225,   226,
+      -1,    -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,
+      -1,   238,   239,   240,   241,    -1,   243,    -1,    -1,    -1,
+     247,   248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,
+      -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
+     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,   276,
+      -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
+     287,   288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
+      -1,   318,   319,   320,   321,    -1,   323,   324,   325,    -1,
+      -1,    -1,    -1,   330,   331,   332,   333,   334,   335,    -1,
+      -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,   354,    -1,    -1,
+     357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,
+     367,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
+      -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
+      -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
+     407,   408,   409,   410,   411,    -1,    -1,   414,   415,   416,
+      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
+     427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
+     437,   438,   439,   440,    -1,   442,   443,   444,   445,   446,
+      -1,   448,   449,    -1,   451,   452,   453,    -1,    -1,   456,
+      -1,   458,    -1,   460,   461,    -1,   463,   464,    -1,   466,
+      -1,   468,    -1,    -1,   471,   472,   473,   474,   475,   476,
+     477,   478,   479,   480,   481,   482,    -1,   484,   485,   486,
+      -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,
+      -1,    -1,   499,   500,    -1,   502,   503,   504,   505,   506,
+     507,    -1,   509,   510,   511,   512,   513,   514,    -1,    -1,
+      -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
+     527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
+     537,    -1,    -1,   540,   541,    -1,   543,   544,   545,   546,
+     547,   548,    -1,    -1,   551,   552,   553,   554,    -1,   556,
+     557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
+     567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
+      -1,   578,   579,   580,   581,    -1,    -1,   584,   585,   586,
+     587,    -1,   589,   590,    -1,   592,   593,    -1,   595,   596,
+      -1,    -1,   599,    -1,    -1,   602,   603,   604,   605,   606,
+     607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
+     617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
+     627,    -1,    -1,    -1,    -1,    -1,    -1,   634,   635,    -1,
+     637,   638,   639,    -1,     5,   642,     7,     8,     9,    10,
+      11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
       -1,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
       31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
       -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
@@ -15319,61 +15467,61 @@ static const yytype_int16 yycheck[] =
       71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
       91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
-      -1,    -1,   103,   104,    -1,   106,    -1,   108,    -1,   110,
+      -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
      111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
-      -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
-      -1,    -1,   133,    -1,   135,   136,    -1,    -1,    -1,   140,
+      -1,   122,    -1,    -1,    -1,    -1,   127,   128,   129,    -1,
+      -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
       -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
-     151,   152,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
+     151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
       -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
       -1,   172,   173,   174,   175,   176,   177,   178,    -1,    -1,
      181,   182,   183,   184,    -1,    -1,   187,   188,    -1,   190,
-     191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,
+     191,   192,   193,    -1,   195,    -1,    -1,    -1,   199,   200,
       -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,    -1,    -1,   217,   218,   219,    -1,
-     221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
+     211,   212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,
+     221,   222,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
      231,   232,   233,   234,    -1,    -1,    -1,   238,   239,   240,
-     241,    -1,   243,    -1,    -1,    -1,   247,   248,   249,    -1,
+      -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,
       -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
       -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
-     271,    -1,    -1,   274,   275,   276,    -1,    -1,    -1,    -1,
-     281,   282,    -1,   284,    -1,   286,   287,   288,   289,    -1,
-      -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,
+     271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,
+     281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
+      -1,   292,    -1,    -1,    -1,   296,   297,   298,   299,   300,
      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
      311,    -1,   313,   314,   315,   316,    -1,   318,   319,   320,
      321,    -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,
      331,   332,   333,   334,   335,    -1,    -1,   338,   339,    -1,
      341,    -1,   343,    -1,   345,   346,   347,   348,   349,   350,
      351,   352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,
-     361,   362,   363,    -1,    -1,    -1,   367,   368,    -1,    -1,
-      -1,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
+     361,   362,   363,   364,   365,    -1,   367,   368,    -1,    -1,
+     371,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
      381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,   393,   394,   395,    -1,    -1,   398,    -1,   400,
       -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
      411,    -1,    -1,   414,   415,   416,    -1,   418,    -1,   420,
      421,   422,   423,   424,    -1,   426,   427,   428,    -1,    -1,
-     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,   440,
+     431,    -1,    -1,    -1,   435,   436,   437,   438,   439,    -1,
       -1,   442,   443,   444,   445,   446,    -1,   448,   449,    -1,
      451,   452,   453,    -1,    -1,   456,    -1,   458,    -1,   460,
      461,    -1,   463,   464,    -1,   466,    -1,   468,    -1,    -1,
      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
-     481,   482,    -1,   484,   485,   486,    -1,    -1,   489,   490,
-     491,   492,    -1,    -1,    -1,   496,    -1,    -1,   499,   500,
+     481,   482,    -1,   484,   485,    -1,    -1,    -1,   489,   490,
+     491,   492,    -1,    -1,    -1,   496,    -1,    -1,    -1,   500,
       -1,   502,   503,   504,   505,   506,   507,    -1,   509,   510,
-     511,   512,   513,   514,    -1,    -1,    -1,    -1,    -1,    -1,
+     511,   512,   513,   514,    -1,    -1,   517,   518,   519,    -1,
      521,   522,    -1,   524,    -1,    -1,   527,    -1,    -1,    -1,
      531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
      541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
      551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
-     561,   562,   563,    -1,   565,   566,   567,    -1,   569,   570,
+     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
      571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
-     581,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
+      -1,    -1,    -1,   584,   585,   586,   587,   588,   589,   590,
       -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
-      -1,   602,   603,   604,   605,   606,   607,    -1,    -1,    -1,
+      -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
       -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
      621,   622,   623,   624,   625,   626,   627,    -1,    -1,    -1,
       -1,    -1,    -1,   634,   635,    -1,   637,   638,   639,    -1,
-       5,   642,     7,     8,     9,    10,    11,    12,    13,    14,
+       5,   642,     7,     8,     9,    10,    11,    12,    -1,    -1,
       15,    -1,    -1,    -1,    19,    -1,    -1,    22,    -1,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
       -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,
@@ -15382,26 +15530,26 @@ static const yytype_int16 yycheck[] =
       65,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
       75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    94,
-      95,    96,    97,    98,    -1,   100,    -1,    -1,   103,   104,
-      -1,   106,    -1,   108,    -1,   110,   111,    -1,   113,    -1,
+      95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
+      -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
       -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
-      -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
-     135,   136,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
-     145,   146,    -1,    -1,    -1,    -1,   151,   152,    -1,   154,
+      -1,    -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,
+     135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
+     145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
      155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
      165,   166,   167,    -1,   169,   170,    -1,   172,   173,   174,
      175,   176,   177,   178,    -1,    -1,   181,   182,   183,   184,
-      -1,    -1,   187,   188,    -1,   190,   191,   192,    -1,    -1,
+      -1,    -1,   187,   188,    -1,   190,   191,   192,   193,    -1,
      195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,
-      -1,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-      -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,    -1,
+      -1,   206,   207,   208,   209,   210,   211,   212,    -1,   214,
+      -1,    -1,   217,   218,   219,    -1,   221,   222,    -1,    -1,
      225,   226,    -1,    -1,    -1,   230,   231,   232,   233,   234,
-      -1,    -1,    -1,   238,   239,   240,   241,    -1,   243,    -1,
-      -1,    -1,   247,   248,   249,    -1,    -1,    -1,   253,    -1,
+      -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,
+      -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,    -1,
      255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,
       -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,   274,
-     275,   276,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
-      -1,   286,   287,   288,   289,    -1,    -1,    -1,    -1,    -1,
+     275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
+      -1,   286,    -1,   288,   289,    -1,    -1,   292,    -1,    -1,
       -1,   296,   297,   298,   299,   300,   301,   302,   303,   304,
      305,   306,   307,   308,   309,   310,   311,    -1,   313,   314,
      315,   316,    -1,   318,   319,   320,   321,    -1,   323,   324,
@@ -15409,20 +15557,20 @@ static const yytype_int16 yycheck[] =
      335,    -1,    -1,   338,   339,    -1,   341,    -1,   343,    -1,
      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
       -1,    -1,   357,    -1,    -1,   360,   361,   362,   363,    -1,
-      -1,    -1,   367,   368,    -1,    -1,    -1,   372,    -1,   374,
+      -1,    -1,   367,   368,    -1,    -1,   371,   372,    -1,   374,
      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,
      395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,   404,
      405,   406,   407,   408,   409,   410,   411,    -1,    -1,   414,
      415,   416,    -1,   418,    -1,   420,   421,   422,   423,   424,
       -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,
-     435,   436,   437,   438,   439,   440,    -1,   442,   443,   444,
+     435,   436,   437,   438,   439,    -1,    -1,   442,   443,   444,
      445,   446,    -1,   448,   449,    -1,   451,   452,   453,    -1,
       -1,   456,    -1,   458,    -1,   460,   461,    -1,   463,   464,
       -1,   466,    -1,   468,    -1,    -1,   471,   472,   473,   474,
      475,   476,   477,   478,   479,   480,   481,   482,    -1,   484,
-     485,   486,    -1,    -1,   489,   490,   491,   492,    -1,    -1,
-      -1,   496,    -1,    -1,   499,   500,    -1,   502,   503,   504,
+     485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,
+      -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,
      505,   506,   507,    -1,   509,   510,   511,   512,   513,   514,
       -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,
       -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,
@@ -15430,10 +15578,10 @@ static const yytype_int16 yycheck[] =
      545,   546,   547,   548,    -1,    -1,   551,   552,   553,   554,
       -1,   556,   557,    -1,    -1,   560,   561,   562,   563,    -1,
      565,   566,   567,    -1,   569,   570,   571,   572,    -1,    -1,
-      -1,    -1,    -1,   578,   579,   580,   581,    -1,    -1,   584,
-     585,   586,   587,    -1,   589,   590,    -1,   592,   593,    -1,
-     595,   596,    -1,    -1,   599,    -1,    -1,   602,   603,   604,
-     605,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,   614,
+      -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,   584,
+     585,   586,   587,   588,   589,   590,    -1,   592,   593,    -1,
+     595,   596,    -1,    -1,   599,    -1,    -1,   602,    -1,   604,
+      -1,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,   614,
       -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
      625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
      635,    -1,   637,   638,   639,    -1,     5,   642,     7,     8,
@@ -15449,7 +15597,7 @@ static const yytype_int16 yycheck[] =
       -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
       -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
-     129,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,
+     129,    -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,
       -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
       -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
       -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
@@ -15472,7 +15620,7 @@ static const yytype_int16 yycheck[] =
       -1,   330,   331,   332,   333,   334,   335,    -1,    -1,   338,
      339,    -1,   341,    -1,   343,    -1,   345,   346,   347,   348,
      349,   350,   351,   352,   353,   354,    -1,    -1,   357,    -1,
-      -1,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
+      -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,   368,
       -1,    -1,   371,   372,    -1,   374,   375,   376,    -1,   378,
      379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,   398,
@@ -15487,12 +15635,12 @@ static const yytype_int16 yycheck[] =
      479,   480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,
      489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,
       -1,   500,    -1,   502,   503,   504,   505,   506,   507,    -1,
-     509,   510,   511,   512,   513,   514,    -1,    -1,   517,   518,
-     519,    -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,
+     509,   510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,
+      -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,
       -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
       -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
       -1,    -1,   551,   552,   553,   554,    -1,   556,   557,    -1,
-      -1,   560,   561,   562,   563,    -1,    -1,   566,   567,    -1,
+      -1,   560,   561,   562,   563,    -1,   565,   566,   567,    -1,
      569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
      579,   580,    -1,    -1,    -1,   584,   585,   586,   587,   588,
      589,   590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,
@@ -15574,25 +15722,25 @@ static const yytype_int16 yycheck[] =
       77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
       87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
       97,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
-      -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
+      -1,   108,   109,   110,   111,    -1,   113,    -1,    -1,    -1,
      117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
-     127,   128,   129,    -1,    -1,   132,   133,    -1,   135,    -1,
+     127,   128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
       -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
       -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
       -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
      167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
      177,   178,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
-     187,   188,    -1,   190,   191,   192,   193,    -1,   195,    -1,
+     187,   188,    -1,   190,   191,   192,    -1,    -1,   195,    -1,
       -1,    -1,   199,   200,    -1,   202,    -1,   204,    -1,   206,
      207,   208,   209,   210,   211,   212,    -1,   214,    -1,    -1,
-     217,   218,   219,    -1,   221,   222,    -1,    -1,   225,   226,
+     217,   218,   219,    -1,   221,    -1,    -1,    -1,   225,   226,
       -1,    -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,
       -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
       -1,   248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,
       -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
-     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,    -1,
+     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,   276,
       -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
-      -1,   288,   289,    -1,    -1,   292,    -1,    -1,    -1,   296,
+      -1,   288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,
      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
      307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
       -1,   318,   319,   320,   321,    -1,   323,   324,   325,    -1,
@@ -15600,7 +15748,7 @@ static const yytype_int16 yycheck[] =
       -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,   346,
      347,   348,   349,   350,   351,   352,   353,   354,    -1,    -1,
      357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,
-     367,   368,    -1,    -1,   371,   372,    -1,   374,   375,   376,
+     367,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
       -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
       -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
@@ -15622,7 +15770,7 @@ static const yytype_int16 yycheck[] =
      557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
      567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
       -1,   578,   579,   580,    -1,    -1,    -1,   584,   585,   586,
-     587,   588,   589,   590,    -1,   592,   593,    -1,   595,   596,
+     587,    -1,   589,   590,    -1,   592,   593,    -1,   595,   596,
       -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,
      607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
      617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
@@ -15630,7 +15778,7 @@ static const yytype_int16 yycheck[] =
      637,   638,   639,    -1,     5,   642,     7,     8,     9,    10,
       11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
       -1,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
+      31,    32,    -1,    34,    -1,    -1,    37,    38,    -1,    -1,
       -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
       51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
       61,    62,    -1,    64,    65,    -1,    67,    68,    69,    70,
@@ -15639,24 +15787,24 @@ static const yytype_int16 yycheck[] =
       91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
       -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
      111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
-      -1,   122,    -1,    -1,    -1,    -1,   127,   128,   129,    -1,
+      -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
       -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
       -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
      151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
       -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
       -1,   172,   173,   174,   175,   176,   177,   178,    -1,    -1,
      181,   182,   183,   184,    -1,    -1,   187,   188,    -1,   190,
-     191,   192,   193,    -1,   195,    -1,    -1,    -1,   199,   200,
+     191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,
       -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
      211,   212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,
-     221,   222,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
+     221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
      231,   232,   233,   234,    -1,    -1,    -1,   238,   239,   240,
       -1,    -1,   243,    -1,    -1,    -1,    -1,   248,   249,    -1,
       -1,    -1,   253,    -1,   255,   256,    -1,   258,   259,    -1,
       -1,    -1,   263,    -1,    -1,   266,   267,   268,    -1,    -1,
-     271,    -1,    -1,   274,   275,    -1,    -1,    -1,    -1,    -1,
+     271,    -1,    -1,   274,   275,   276,    -1,    -1,    -1,    -1,
      281,   282,    -1,   284,    -1,   286,    -1,   288,   289,    -1,
-      -1,   292,    -1,    -1,    -1,   296,   297,   298,   299,   300,
+      -1,    -1,    -1,    -1,    -1,   296,   297,   298,   299,   300,
      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
      311,    -1,   313,   314,   315,   316,    -1,   318,   319,   320,
      321,    -1,   323,   324,   325,    -1,    -1,    -1,    -1,   330,
@@ -15664,7 +15812,7 @@ static const yytype_int16 yycheck[] =
      341,    -1,   343,    -1,   345,   346,   347,   348,   349,   350,
      351,   352,   353,   354,    -1,    -1,   357,    -1,    -1,   360,
      361,   362,   363,    -1,    -1,    -1,   367,   368,    -1,    -1,
-     371,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
+      -1,   372,    -1,   374,   375,   376,    -1,   378,   379,   380,
      381,    -1,   383,   384,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,   393,   394,   395,    -1,    -1,   398,    -1,   400,
       -1,   402,   403,   404,   405,   406,   407,   408,   409,   410,
@@ -15685,7 +15833,7 @@ static const yytype_int16 yycheck[] =
      551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
      561,   562,   563,    -1,   565,   566,   567,    -1,   569,   570,
      571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
-      -1,    -1,    -1,   584,   585,   586,   587,   588,   589,   590,
+      -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
       -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
       -1,   602,    -1,   604,    -1,   606,   607,    -1,    -1,    -1,
       -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
@@ -15694,14 +15842,14 @@ static const yytype_int16 yycheck[] =
        5,   642,     7,     8,     9,    10,    11,    12,    -1,    -1,
       15,    -1,    -1,    -1,    19,    -1,    -1,    22,    -1,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
-      -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,
+      -1,    -1,    -1,    38,    39,    -1,    -1,    42,    -1,    -1,
       45,    46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,
       55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,    64,
       65,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
       75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    94,
       95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
-      -1,   106,    -1,   108,   109,   110,   111,    -1,   113,    -1,
+      -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
       -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
       -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
      135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
@@ -15712,13 +15860,13 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   187,   188,    -1,   190,   191,   192,    -1,    -1,
      195,    -1,    -1,    -1,   199,   200,    -1,   202,    -1,   204,
       -1,   206,   207,   208,   209,   210,   211,   212,    -1,   214,
-      -1,    -1,   217,   218,   219,    -1,   221,    -1,    -1,    -1,
+      -1,    -1,   217,   218,   219,    -1,   221,   222,   223,    -1,
      225,   226,    -1,    -1,    -1,   230,   231,   232,   233,   234,
       -1,    -1,    -1,   238,   239,   240,    -1,    -1,   243,    -1,
       -1,    -1,    -1,   248,   249,    -1,    -1,    -1,   253,    -1,
      255,   256,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,
       -1,   266,   267,   268,    -1,    -1,   271,    -1,    -1,   274,
-     275,   276,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
+     275,    -1,    -1,    -1,    -1,    -1,   281,   282,    -1,   284,
       -1,   286,    -1,   288,   289,    -1,    -1,    -1,    -1,    -1,
       -1,   296,   297,   298,   299,   300,   301,   302,   303,   304,
      305,   306,   307,   308,   309,   310,   311,    -1,   313,   314,
@@ -15757,7 +15905,7 @@ static const yytype_int16 yycheck[] =
      635,    -1,   637,   638,   639,    -1,     5,   642,     7,     8,
        9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
       19,    -1,    -1,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    -1,    34,    -1,    -1,    37,    38,
+      29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
       -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
       49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,
       59,    -1,    61,    62,    -1,    64,    65,    -1,    67,    68,
@@ -15767,7 +15915,7 @@ static const yytype_int16 yycheck[] =
       -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
       -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
-      -1,    -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,
       -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
       -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
       -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
@@ -15781,9 +15929,9 @@ static const yytype_int16 yycheck[] =
      239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
      249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
      259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,    -1,   274,   275,   276,    -1,    -1,
+      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
       -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
-     289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
+     289,    -1,    -1,   292,    -1,    -1,    -1,   296,   297,   298,
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
      309,   310,   311,    -1,   313,   314,   315,   316,    -1,   318,
      319,   320,   321,    -1,   323,   324,   325,    -1,    -1,    -1,
@@ -15791,9 +15939,9 @@ static const yytype_int16 yycheck[] =
      339,    -1,   341,    -1,   343,    -1,   345,   346,   347,   348,
      349,   350,   351,   352,   353,   354,    -1,    -1,   357,    -1,
       -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,   368,
-      -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,   378,
+      -1,    -1,   371,   372,    -1,   374,   375,   376,    -1,   378,
      379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,   398,
+      -1,    -1,    -1,    -1,   393,   394,   395,    -1,   397,   398,
       -1,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
      409,   410,   411,    -1,    -1,   414,   415,   416,    -1,   418,
       -1,   420,   421,   422,   423,   424,    -1,   426,   427,   428,
@@ -15810,9 +15958,9 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
       -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
       -1,    -1,   551,   552,   553,   554,    -1,   556,   557,    -1,
-      -1,   560,   561,   562,   563,    -1,   565,   566,   567,    -1,
+      -1,   560,   561,   562,   563,    -1,    -1,   566,   567,    -1,
      569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
-     579,   580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,
+     579,   580,    -1,    -1,    -1,   584,   585,   586,   587,   588,
      589,   590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,
      599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,
       -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,
@@ -15821,7 +15969,7 @@ static const yytype_int16 yycheck[] =
      639,    -1,     5,   642,     7,     8,     9,    10,    11,    12,
       -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,
       -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      -1,    34,    -1,    -1,    -1,    38,    39,    -1,    -1,    42,
+      -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,
       -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
       -1,    -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,
       -1,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
@@ -15839,14 +15987,14 @@ static const yytype_int16 yycheck[] =
      183,   184,    -1,    -1,   187,   188,    -1,   190,   191,   192,
       -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
       -1,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
-      -1,   214,    -1,    -1,   217,   218,   219,    -1,   221,   222,
-     223,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
+      -1,   214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,
+      -1,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
      233,   234,    -1,    -1,    -1,   238,   239,   240,    -1,    -1,
      243,    -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,
      253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
      263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
       -1,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
-      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,
+      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,   292,
       -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
      303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
      313,   314,   315,   316,    -1,   318,   319,   320,   321,    -1,
@@ -15854,10 +16002,10 @@ static const yytype_int16 yycheck[] =
      333,   334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,
      343,    -1,   345,   346,   347,   348,   349,   350,   351,   352,
      353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,
-     363,    -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,
+     363,    -1,    -1,    -1,   367,   368,    -1,    -1,   371,   372,
       -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
      383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     393,   394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,
+     393,   394,   395,    -1,   397,   398,    -1,   400,    -1,   402,
      403,   404,   405,   406,   407,   408,   409,   410,   411,    -1,
       -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
      423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
@@ -15874,9 +16022,9 @@ static const yytype_int16 yycheck[] =
      533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,
      543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
      553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
-     563,    -1,   565,   566,   567,    -1,   569,   570,   571,   572,
+     563,    -1,    -1,   566,   567,    -1,   569,   570,   571,   572,
       -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
-      -1,   584,   585,   586,   587,    -1,   589,   590,    -1,   592,
+      -1,   584,   585,   586,   587,   588,   589,   590,    -1,   592,
      593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
       -1,   604,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,
       -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
@@ -15885,7 +16033,7 @@ static const yytype_int16 yycheck[] =
        7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
       -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
       27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
-      -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
+      37,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
       47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
       -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    -1,
       67,    68,    69,    70,    71,    72,    -1,    74,    75,    76,
@@ -15894,7 +16042,7 @@ static const yytype_int16 yycheck[] =
       97,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
       -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
      117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
-     127,   128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
+     127,   128,    -1,    -1,    -1,   132,   133,    -1,   135,    -1,
       -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
       -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
       -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
@@ -15908,9 +16056,9 @@ static const yytype_int16 yycheck[] =
       -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
       -1,   248,   249,    -1,    -1,    -1,   253,    -1,   255,   256,
       -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,   266,
-     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,    -1,
+     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,   276,
       -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
-      -1,   288,   289,    -1,    -1,   292,    -1,    -1,    -1,   296,
+      -1,   288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,
      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
      307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
       -1,   318,   319,   320,   321,    -1,   323,   324,   325,    -1,
@@ -15918,10 +16066,10 @@ static const yytype_int16 yycheck[] =
       -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,   346,
      347,   348,   349,   350,   351,   352,   353,   354,    -1,    -1,
      357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,
-     367,   368,    -1,    -1,   371,   372,    -1,   374,   375,   376,
+     367,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
       -1,   378,   379,   380,   381,    -1,   383,   384,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
-     397,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
+      -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
      407,   408,   409,   410,   411,    -1,    -1,   414,   415,   416,
       -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
      427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
@@ -15937,10 +16085,10 @@ static const yytype_int16 yycheck[] =
      527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
      537,    -1,    -1,   540,   541,    -1,   543,   544,   545,   546,
      547,   548,    -1,    -1,   551,   552,   553,   554,    -1,   556,
-     557,    -1,    -1,   560,   561,   562,   563,    -1,    -1,   566,
+     557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
      567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
       -1,   578,   579,   580,    -1,    -1,    -1,   584,   585,   586,
-     587,   588,   589,   590,    -1,   592,   593,    -1,   595,   596,
+     587,    -1,   589,   590,    -1,   592,   593,    -1,   595,   596,
       -1,    -1,   599,    -1,    -1,   602,    -1,   604,    -1,   606,
      607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
      617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
@@ -16012,16 +16160,16 @@ static const yytype_int16 yycheck[] =
        5,   642,     7,     8,     9,    10,    11,    12,    -1,    -1,
       15,    -1,    -1,    -1,    19,    -1,    -1,    22,    -1,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    -1,    34,
-      -1,    -1,    37,    38,    -1,    -1,    -1,    42,    -1,    -1,
+      -1,    -1,    -1,    38,    -1,    -1,    -1,    42,    -1,    -1,
       45,    46,    47,    -1,    49,    -1,    51,    52,    -1,    -1,
       55,    -1,    -1,    58,    59,    -1,    61,    62,    -1,    64,
       65,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
       75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    94,
       95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
-      -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
+      -1,   106,    -1,   108,   109,    -1,   111,    -1,   113,    -1,
       -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
-      -1,    -1,   127,   128,    -1,    -1,    -1,   132,   133,    -1,
+      -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
      135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
      145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
      155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
@@ -16073,7 +16221,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
      625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
      635,    -1,   637,   638,   639,    -1,     5,   642,     7,     8,
-       9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
+       9,    10,    11,    12,    13,    -1,    15,    -1,    -1,    -1,
       19,    -1,    -1,    22,    -1,    24,    25,    26,    27,    28,
       29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
       -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
@@ -16099,9 +16247,9 @@ static const yytype_int16 yycheck[] =
      239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
      249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
      259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
+      -1,    -1,   271,    -1,    -1,   274,   275,   276,    -1,    -1,
       -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
-     289,    -1,    -1,   292,    -1,    -1,    -1,   296,   297,   298,
+     289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
      309,   310,   311,    -1,   313,   314,   315,   316,    -1,   318,
      319,   320,   321,    -1,   323,   324,   325,    -1,    -1,    -1,
@@ -16109,9 +16257,9 @@ static const yytype_int16 yycheck[] =
      339,    -1,   341,    -1,   343,    -1,   345,   346,   347,   348,
      349,   350,   351,   352,   353,   354,    -1,    -1,   357,    -1,
       -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,   368,
-      -1,    -1,   371,   372,    -1,   374,   375,   376,    -1,   378,
+      -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,   378,
      379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   393,   394,   395,    -1,   397,   398,
+      -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,   398,
       -1,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
      409,   410,   411,    -1,    -1,   414,   415,   416,    -1,   418,
       -1,   420,   421,   422,   423,   424,    -1,   426,   427,   428,
@@ -16128,9 +16276,9 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
       -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
       -1,    -1,   551,   552,   553,   554,    -1,   556,   557,    -1,
-      -1,   560,   561,   562,   563,    -1,    -1,   566,   567,    -1,
+      -1,   560,   561,   562,   563,    -1,   565,   566,   567,    -1,
      569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
-     579,   580,    -1,    -1,    -1,   584,   585,   586,   587,   588,
+     579,   580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,
      589,   590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,
      599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,
       -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,
@@ -16146,7 +16294,7 @@ static const yytype_int16 yycheck[] =
       -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
       -1,    94,    95,    96,    97,    98,    -1,   100,    -1,    -1,
-     103,    -1,    -1,   106,    -1,   108,   109,    -1,   111,    -1,
+     103,    -1,    -1,   106,    -1,   108,    -1,   110,   111,    -1,
      113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
       -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,    -1,
      133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,
@@ -16200,7 +16348,7 @@ static const yytype_int16 yycheck[] =
       -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
      623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
       -1,   634,   635,    -1,   637,   638,   639,    -1,     5,   642,
-       7,     8,     9,    10,    11,    12,    13,    -1,    15,    -1,
+       7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
       -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
       27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
       -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
@@ -16212,7 +16360,7 @@ static const yytype_int16 yycheck[] =
       97,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
       -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
      117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
-     127,   128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
+     127,   128,    -1,    -1,    -1,   132,   133,    -1,   135,    -1,
       -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
       -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
       -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
@@ -16266,14 +16414,14 @@ static const yytype_int16 yycheck[] =
      637,   638,   639,    -1,     5,   642,     7,     8,     9,    10,
       11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
       -1,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    -1,    34,    -1,    -1,    -1,    38,    -1,    -1,
+      31,    32,    -1,    34,    -1,    -1,    37,    38,    -1,    -1,
       -1,    42,    -1,    -1,    45,    46,    47,    -1,    49,    -1,
       51,    52,    -1,    -1,    55,    -1,    -1,    58,    59,    -1,
       61,    62,    -1,    64,    65,    -1,    67,    68,    69,    70,
       71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
       91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
-      -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,   110,
+      -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
      111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
       -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
       -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
@@ -16339,7 +16487,7 @@ static const yytype_int16 yycheck[] =
       95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
       -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
       -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
-      -1,    -1,   127,   128,    -1,    -1,    -1,   132,   133,    -1,
+      -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
      135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
      145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
      155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
@@ -16392,8 +16540,8 @@ static const yytype_int16 yycheck[] =
      625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
      635,    -1,   637,   638,   639,    -1,     5,   642,     7,     8,
        9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
-      19,    -1,    -1,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    -1,    34,    -1,    -1,    37,    38,
+      19,    20,    -1,    22,    -1,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
       -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
       49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,
       59,    -1,    61,    62,    -1,    64,    65,    -1,    67,    68,
@@ -16417,7 +16565,7 @@ static const yytype_int16 yycheck[] =
      239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
      249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
      259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,    -1,   274,   275,   276,    -1,    -1,
+      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
       -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
      289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
@@ -16463,7 +16611,7 @@ static const yytype_int16 yycheck[] =
       -1,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
       -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
-      -1,    94,    95,    96,    97,    98,    -1,   100,    -1,    -1,
+      -1,    94,    95,    96,    97,    98,    99,   100,    -1,    -1,
      103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,    -1,
      113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
       -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,    -1,
@@ -16471,7 +16619,7 @@ static const yytype_int16 yycheck[] =
      143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,
       -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,
      163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
-     173,   174,   175,   176,   177,   178,    -1,    -1,   181,   182,
+     173,   174,   175,   176,   177,   178,    -1,   180,   181,   182,
      183,   184,    -1,    -1,   187,   188,    -1,   190,   191,   192,
       -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
       -1,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
@@ -16481,7 +16629,7 @@ static const yytype_int16 yycheck[] =
      243,    -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,
      253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
      263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
-      -1,   274,   275,   276,    -1,    -1,    -1,    -1,   281,   282,
+      -1,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
       -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,
       -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
      303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
@@ -16510,7 +16658,7 @@ static const yytype_int16 yycheck[] =
      533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,
      543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
      553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
-     563,    -1,   565,   566,   567,    -1,   569,   570,   571,   572,
+     563,    -1,    -1,   566,   567,    -1,   569,   570,   571,   572,
       -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
       -1,   584,   585,   586,   587,    -1,   589,   590,    -1,   592,
      593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
@@ -16519,7 +16667,7 @@ static const yytype_int16 yycheck[] =
      623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
       -1,   634,   635,    -1,   637,   638,   639,    -1,     5,   642,
        7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
-      -1,    -1,    19,    20,    -1,    22,    -1,    24,    25,    26,
+      -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
       27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
       -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
       47,    -1,    49,    -1,    51,    52,    -1,    -1,    55,    -1,
@@ -16569,11 +16717,11 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   489,   490,   491,   492,    -1,    -1,    -1,   496,
       -1,    -1,    -1,   500,    -1,   502,   503,   504,   505,   506,
      507,    -1,   509,   510,   511,   512,   513,   514,    -1,    -1,
-      -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
+      -1,   518,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
      527,    -1,    -1,    -1,   531,   532,   533,    -1,    -1,    -1,
      537,    -1,    -1,   540,   541,    -1,   543,   544,   545,   546,
      547,   548,    -1,    -1,   551,   552,   553,   554,    -1,   556,
-     557,    -1,    -1,   560,   561,   562,   563,    -1,   565,   566,
+     557,    -1,    -1,   560,   561,   562,   563,    -1,    -1,   566,
      567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
       -1,   578,   579,   580,    -1,    -1,    -1,   584,   585,   586,
      587,    -1,   589,   590,    -1,   592,   593,    -1,   595,   596,
@@ -16590,7 +16738,7 @@ static const yytype_int16 yycheck[] =
       61,    62,    -1,    64,    65,    -1,    67,    68,    69,    70,
       71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
-      91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
+      91,    92,    -1,    94,    95,    96,    97,    98,    -1,   100,
       -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
      111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
       -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
@@ -16598,10 +16746,10 @@ static const yytype_int16 yycheck[] =
       -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
      151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
       -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
-      -1,   172,   173,   174,   175,   176,   177,   178,    -1,   180,
+      -1,   172,   173,   174,   175,   176,   177,   178,    -1,    -1,
      181,   182,   183,   184,    -1,    -1,   187,   188,    -1,   190,
      191,   192,    -1,    -1,   195,    -1,    -1,    -1,   199,   200,
-      -1,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
+     201,   202,    -1,   204,    -1,   206,   207,   208,   209,   210,
      211,   212,    -1,   214,    -1,    -1,   217,   218,   219,    -1,
      221,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,   230,
      231,   232,   233,   234,    -1,    -1,    -1,   238,   239,   240,
@@ -16657,7 +16805,7 @@ static const yytype_int16 yycheck[] =
       95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
       -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
       -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
-      -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
+      -1,    -1,   127,   128,    -1,    -1,    -1,   132,   133,    -1,
      135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
      145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
      155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
@@ -16696,7 +16844,7 @@ static const yytype_int16 yycheck[] =
      485,    -1,    -1,    -1,   489,   490,   491,   492,    -1,    -1,
       -1,   496,    -1,    -1,    -1,   500,    -1,   502,   503,   504,
      505,   506,   507,    -1,   509,   510,   511,   512,   513,   514,
-      -1,    -1,    -1,   518,    -1,    -1,   521,   522,    -1,   524,
+      -1,    -1,    -1,    -1,    -1,    -1,   521,   522,    -1,   524,
       -1,    -1,   527,    -1,    -1,    -1,   531,   532,   533,    -1,
       -1,    -1,   537,    -1,    -1,   540,   541,    -1,   543,   544,
      545,   546,   547,   548,    -1,    -1,   551,   552,   553,   554,
@@ -16721,14 +16869,14 @@ static const yytype_int16 yycheck[] =
       -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
       -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
-      -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,
+      -1,    -1,    -1,   132,   133,    -1,   135,    -1,    -1,    -1,
       -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
       -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
       -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
      169,   170,    -1,   172,   173,   174,   175,   176,   177,   178,
       -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,   188,
       -1,   190,   191,   192,    -1,    -1,   195,    -1,    -1,    -1,
-     199,   200,   201,   202,    -1,   204,    -1,   206,   207,   208,
+     199,   200,    -1,   202,    -1,   204,    -1,   206,   207,   208,
      209,   210,   211,   212,    -1,   214,    -1,    -1,   217,   218,
      219,    -1,   221,    -1,    -1,    -1,   225,   226,    -1,    -1,
       -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,   238,
@@ -16848,7 +16996,7 @@ static const yytype_int16 yycheck[] =
       97,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
       -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
      117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
-     127,   128,    -1,    -1,    -1,   132,   133,    -1,   135,    -1,
+     127,   128,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
       -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
       -1,    -1,    -1,    -1,   151,    -1,    -1,   154,   155,   156,
       -1,    -1,    -1,   160,    -1,   162,   163,    -1,   165,   166,
@@ -16877,7 +17025,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
       -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
      407,   408,   409,   410,   411,    -1,    -1,   414,   415,   416,
-      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
+     417,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
      427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
      437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
       -1,   448,   449,    -1,   451,   452,   453,    -1,    -1,   456,
@@ -16912,7 +17060,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
      111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
       -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
-      -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
+      -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
       -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
      151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
       -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
@@ -16955,7 +17103,7 @@ static const yytype_int16 yycheck[] =
      531,   532,   533,    -1,    -1,    -1,   537,    -1,    -1,   540,
      541,    -1,   543,   544,   545,   546,   547,   548,    -1,    -1,
      551,   552,   553,   554,    -1,   556,   557,    -1,    -1,   560,
-     561,   562,   563,    -1,    -1,   566,   567,    -1,   569,   570,
+     561,   562,   563,    -1,   565,   566,   567,    -1,   569,   570,
      571,   572,    -1,    -1,    -1,    -1,    -1,   578,   579,   580,
       -1,    -1,    -1,   584,   585,   586,   587,    -1,   589,   590,
       -1,   592,   593,    -1,   595,   596,    -1,    -1,   599,    -1,
@@ -16975,7 +17123,7 @@ static const yytype_int16 yycheck[] =
       95,    96,    97,    98,    -1,   100,    -1,    -1,   103,    -1,
       -1,   106,    -1,   108,    -1,    -1,   111,    -1,   113,    -1,
       -1,    -1,   117,   118,   119,    -1,    -1,   122,    -1,    -1,
-      -1,    -1,   127,   128,    -1,    -1,    -1,    -1,   133,    -1,
+      -1,    -1,   127,   128,    -1,    -1,    -1,   132,   133,    -1,
      135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
      145,   146,    -1,    -1,    -1,    -1,   151,    -1,    -1,   154,
      155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
@@ -17004,7 +17152,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,
      395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,   404,
      405,   406,   407,   408,   409,   410,   411,    -1,    -1,   414,
-     415,   416,   417,   418,    -1,   420,   421,   422,   423,   424,
+     415,   416,    -1,   418,    -1,   420,   421,   422,   423,   424,
       -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,
      435,   436,   437,   438,   439,    -1,    -1,   442,   443,   444,
      445,   446,    -1,   448,   449,    -1,   451,   452,   453,    -1,
@@ -17027,7 +17175,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
      625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
      635,    -1,   637,   638,   639,    -1,     5,   642,     7,     8,
-       9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
+       9,    10,    11,    12,    13,    -1,    15,    -1,    -1,    -1,
       19,    -1,    -1,    22,    -1,    24,    25,    26,    27,    28,
       29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
       -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
@@ -17082,7 +17230,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
       -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
       -1,    -1,   551,   552,   553,   554,    -1,   556,   557,    -1,
-      -1,   560,   561,   562,   563,    -1,   565,   566,   567,    -1,
+      -1,   560,   561,   562,   563,    -1,    -1,   566,   567,    -1,
      569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
      579,   580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,
      589,   590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,
@@ -17154,7 +17302,7 @@ static const yytype_int16 yycheck[] =
       -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
      623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
       -1,   634,   635,    -1,   637,   638,   639,    -1,     5,   642,
-       7,     8,     9,    10,    11,    12,    13,    -1,    15,    -1,
+       7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
       -1,    -1,    19,    -1,    -1,    22,    -1,    24,    25,    26,
       27,    28,    29,    30,    31,    32,    -1,    34,    -1,    -1,
       -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
@@ -17195,7 +17343,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    -1,   393,   394,   395,    -1,
       -1,   398,    -1,   400,    -1,   402,   403,   404,   405,   406,
      407,   408,   409,   410,   411,    -1,    -1,   414,   415,   416,
-      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
+     417,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
      427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
      437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
       -1,   448,   449,    -1,   451,   452,   453,    -1,    -1,   456,
@@ -17230,7 +17378,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1,    -1,
      111,    -1,   113,    -1,    -1,    -1,   117,   118,   119,    -1,
       -1,   122,    -1,    -1,    -1,    -1,   127,   128,    -1,    -1,
-      -1,   132,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
+      -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
       -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
      151,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
       -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
@@ -17322,7 +17470,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   393,   394,
      395,    -1,    -1,   398,    -1,   400,    -1,   402,   403,   404,
      405,   406,   407,   408,   409,   410,   411,    -1,    -1,   414,
-     415,   416,   417,   418,    -1,   420,   421,   422,   423,   424,
+     415,   416,    -1,   418,    -1,   420,   421,   422,   423,   424,
       -1,   426,   427,   428,    -1,    -1,   431,    -1,    -1,    -1,
      435,   436,   437,   438,   439,    -1,    -1,   442,   443,   444,
      445,   446,    -1,   448,   449,    -1,   451,   452,   453,    -1,
@@ -17346,132 +17494,132 @@ static const yytype_int16 yycheck[] =
      625,   626,   627,    -1,    -1,    -1,    -1,    -1,    -1,   634,
      635,    -1,   637,   638,   639,    -1,     5,   642,     7,     8,
        9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
-      19,    -1,    -1,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    -1,    34,    -1,    -1,    -1,    38,
+      19,    -1,    -1,    -1,    -1,    24,    25,    26,    27,    28,
+      29,    30,    31,    -1,    -1,    34,    -1,    -1,    -1,    38,
       -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
-      49,    -1,    51,    52,    -1,    -1,    55,    -1,    -1,    58,
-      59,    -1,    61,    62,    -1,    64,    65,    -1,    67,    68,
-      69,    70,    71,    72,    -1,    74,    75,    76,    77,    78,
-      79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
-      89,    -1,    91,    92,    -1,    94,    95,    96,    97,    98,
+      49,    -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,
+      59,    -1,    61,    -1,    -1,    -1,    -1,    -1,    67,    68,
+      69,    70,    71,    72,    -1,    74,    75,    -1,    -1,    -1,
+      -1,    -1,    -1,    82,    -1,    84,    -1,    86,    87,    88,
+      89,    -1,    91,    92,    -1,    94,    95,    96,    -1,    98,
       -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
       -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,   118,
-     119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,   128,
+     119,    -1,    -1,   122,    -1,    -1,    -1,    -1,   127,    -1,
       -1,    -1,    -1,    -1,   133,    -1,   135,    -1,    -1,    -1,
       -1,   140,    -1,   142,   143,   144,   145,   146,    -1,    -1,
-      -1,    -1,   151,    -1,    -1,   154,   155,   156,    -1,    -1,
-      -1,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
-     169,   170,    -1,   172,   173,   174,   175,   176,   177,   178,
+      -1,    -1,    -1,    -1,    -1,   154,   155,   156,    -1,   158,
+     159,   160,    -1,   162,   163,    -1,   165,   166,   167,    -1,
+     169,   170,    -1,   172,   173,   174,   175,   176,    -1,    -1,
       -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,   188,
-      -1,   190,   191,   192,    -1,    -1,   195,    -1,    -1,    -1,
-     199,   200,    -1,   202,    -1,   204,    -1,   206,   207,   208,
-     209,   210,   211,   212,    -1,   214,    -1,    -1,   217,   218,
-     219,    -1,   221,    -1,    -1,    -1,   225,   226,    -1,    -1,
-      -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,   238,
+     189,   190,   191,   192,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   200,    -1,   202,    -1,   204,    -1,   206,   207,   208,
+     209,   210,    -1,   212,    -1,   214,    -1,    -1,    -1,   218,
+     219,    -1,    -1,    -1,    -1,    -1,    -1,   226,    -1,    -1,
+      -1,   230,   231,   232,   233,   234,   235,    -1,    -1,   238,
      239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
-     249,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
-     259,    -1,    -1,    -1,   263,    -1,    -1,   266,   267,   268,
-      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
+     259,   260,    -1,    -1,   263,    -1,    -1,    -1,   267,   268,
+      -1,    -1,   271,   272,    -1,   274,   275,    -1,    -1,    -1,
       -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
-     289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
+     289,    -1,    -1,    -1,    -1,   294,    -1,   296,   297,   298,
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
      309,   310,   311,    -1,   313,   314,   315,   316,    -1,   318,
      319,   320,   321,    -1,   323,   324,   325,    -1,    -1,    -1,
       -1,   330,   331,   332,   333,   334,   335,    -1,    -1,   338,
      339,    -1,   341,    -1,   343,    -1,   345,   346,   347,   348,
      349,   350,   351,   352,   353,   354,    -1,    -1,   357,    -1,
-      -1,   360,   361,   362,   363,    -1,    -1,    -1,   367,   368,
+      -1,   360,   361,   362,   363,    -1,    -1,    -1,    -1,   368,
       -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,   378,
-     379,   380,   381,    -1,   383,   384,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   393,   394,   395,    -1,    -1,   398,
+     379,   380,   381,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   394,   395,    -1,    -1,    -1,
       -1,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
-     409,   410,   411,    -1,    -1,   414,   415,   416,    -1,   418,
+     409,   410,    -1,    -1,    -1,    -1,   415,   416,    -1,   418,
       -1,   420,   421,   422,   423,   424,    -1,   426,   427,   428,
       -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,
      439,    -1,    -1,   442,   443,   444,   445,   446,    -1,   448,
-     449,    -1,   451,   452,   453,    -1,    -1,   456,    -1,   458,
-      -1,   460,   461,    -1,   463,   464,    -1,   466,    -1,   468,
-      -1,    -1,   471,   472,   473,   474,   475,   476,   477,   478,
-     479,   480,   481,   482,    -1,   484,   485,    -1,    -1,    -1,
-     489,   490,   491,   492,    -1,    -1,    -1,   496,    -1,    -1,
-      -1,   500,    -1,   502,   503,   504,   505,   506,   507,    -1,
-     509,   510,   511,   512,   513,   514,    -1,    -1,    -1,    -1,
+      -1,    -1,   451,    -1,   453,   454,    -1,   456,    -1,    -1,
+      -1,   460,    -1,    -1,   463,   464,    -1,   466,   467,   468,
+      -1,    -1,   471,    -1,   473,   474,   475,   476,   477,   478,
+     479,    -1,   481,   482,    -1,   484,    -1,    -1,    -1,    -1,
+     489,   490,   491,    -1,    -1,    -1,    -1,   496,    -1,    -1,
+      -1,    -1,    -1,    -1,   503,    -1,    -1,   506,   507,    -1,
+     509,    -1,   511,    -1,   513,   514,    -1,    -1,    -1,    -1,
       -1,    -1,   521,   522,    -1,   524,    -1,    -1,   527,    -1,
-      -1,    -1,   531,   532,   533,    -1,    -1,    -1,   537,    -1,
-      -1,   540,   541,    -1,   543,   544,   545,   546,   547,   548,
+      -1,    -1,   531,    -1,   533,    -1,    -1,    -1,   537,    -1,
+      -1,    -1,   541,    -1,   543,   544,   545,   546,   547,   548,
       -1,    -1,   551,   552,   553,   554,    -1,   556,   557,    -1,
       -1,   560,   561,   562,   563,    -1,    -1,   566,   567,    -1,
      569,   570,   571,   572,    -1,    -1,    -1,    -1,    -1,   578,
-     579,   580,    -1,    -1,    -1,   584,   585,   586,   587,    -1,
-     589,   590,    -1,   592,   593,    -1,   595,   596,    -1,    -1,
-     599,    -1,    -1,   602,    -1,   604,    -1,   606,   607,    -1,
+     579,   580,    -1,    -1,    -1,    -1,   585,   586,   587,    -1,
+     589,   590,    -1,   592,   593,    -1,    -1,    -1,    -1,    -1,
+     599,    -1,    -1,   602,    -1,    -1,    -1,   606,   607,    -1,
       -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,
       -1,    -1,   621,   622,   623,   624,   625,   626,   627,    -1,
-      -1,    -1,    -1,    -1,    -1,   634,   635,    -1,   637,   638,
+      -1,   630,    -1,    -1,    -1,   634,    -1,    -1,   637,    -1,
      639,    -1,     5,   642,     7,     8,     9,    10,    11,    12,
-      -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    22,
-      -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    -1,
+      -1,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
       -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,
-      -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,    52,
-      -1,    -1,    55,    -1,    -1,    58,    59,    -1,    61,    62,
-      -1,    64,    65,    -1,    67,    68,    69,    70,    71,    72,
-      -1,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
-      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
-      -1,    94,    95,    96,    97,    98,    -1,   100,    -1,    -1,
+      -1,    -1,    45,    46,    47,    -1,    49,    -1,    -1,    -1,
+      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    -1,
+      -1,    -1,    -1,    -1,    67,    68,    69,    70,    71,    72,
+      -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
+      -1,    84,    -1,    86,    87,    88,    89,    -1,    91,    92,
+      -1,    94,    95,    96,    -1,    98,    -1,   100,    -1,    -1,
      103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,    -1,
      113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
-      -1,    -1,    -1,    -1,   127,   128,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,
      133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,
-     143,   144,   145,   146,    -1,    -1,    -1,    -1,   151,    -1,
-      -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,   162,
+     143,   144,   145,   146,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   154,   155,   156,    -1,   158,    -1,   160,    -1,   162,
      163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
-     173,   174,   175,   176,   177,   178,    -1,    -1,   181,   182,
-     183,   184,    -1,    -1,   187,   188,    -1,   190,   191,   192,
-      -1,    -1,   195,    -1,    -1,    -1,   199,   200,    -1,   202,
-      -1,   204,    -1,   206,   207,   208,   209,   210,   211,   212,
-      -1,   214,    -1,    -1,   217,   218,   219,    -1,   221,    -1,
-      -1,    -1,   225,   226,    -1,    -1,    -1,   230,   231,   232,
-     233,   234,    -1,    -1,    -1,   238,   239,   240,    -1,    -1,
-     243,    -1,    -1,    -1,    -1,   248,   249,    -1,    -1,    -1,
-     253,    -1,   255,   256,    -1,   258,   259,    -1,    -1,    -1,
-     263,    -1,    -1,   266,   267,   268,    -1,    -1,   271,    -1,
+     173,   174,   175,   176,    -1,    -1,    -1,    -1,   181,   182,
+     183,   184,    -1,    -1,   187,   188,   189,   190,   191,   192,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   200,    -1,   202,
+      -1,   204,    -1,   206,   207,   208,   209,   210,    -1,   212,
+      -1,   214,    -1,    -1,    -1,   218,   219,    -1,    -1,    -1,
+      -1,    -1,    -1,   226,    -1,    -1,    -1,   230,   231,   232,
+     233,   234,   235,    -1,    -1,   238,   239,   240,    -1,    -1,
+     243,    -1,    -1,    -1,    -1,   248,    -1,    -1,    -1,    -1,
+     253,    -1,   255,   256,    -1,   258,   259,   260,    -1,    -1,
+     263,    -1,    -1,    -1,   267,   268,    -1,    -1,   271,   272,
       -1,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
       -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,
-      -1,    -1,    -1,   296,   297,   298,   299,   300,   301,   302,
+      -1,   294,    -1,   296,   297,   298,   299,   300,   301,   302,
      303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
      313,   314,   315,   316,    -1,   318,   319,   320,   321,    -1,
      323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
      333,   334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,
      343,    -1,   345,   346,   347,   348,   349,   350,   351,   352,
      353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,
-     363,    -1,    -1,    -1,   367,   368,    -1,    -1,    -1,   372,
+     363,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,   372,
       -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
-     383,   384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     393,   394,   395,    -1,    -1,   398,    -1,   400,    -1,   402,
-     403,   404,   405,   406,   407,   408,   409,   410,   411,    -1,
-      -1,   414,   415,   416,    -1,   418,    -1,   420,   421,   422,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   394,   395,    -1,    -1,    -1,    -1,   400,    -1,   402,
+     403,   404,   405,   406,   407,   408,   409,   410,    -1,    -1,
+      -1,    -1,   415,   416,    -1,   418,    -1,   420,   421,   422,
      423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
       -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,   442,
-     443,   444,   445,   446,    -1,   448,   449,    -1,   451,   452,
-     453,    -1,    -1,   456,    -1,   458,    -1,   460,   461,    -1,
-     463,   464,    -1,   466,    -1,   468,    -1,    -1,   471,   472,
-     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
-      -1,   484,   485,    -1,    -1,    -1,   489,   490,   491,   492,
-      -1,    -1,    -1,   496,    -1,    -1,    -1,   500,    -1,   502,
-     503,   504,   505,   506,   507,    -1,   509,   510,   511,   512,
+     443,   444,   445,   446,    -1,   448,    -1,    -1,   451,    -1,
+     453,   454,    -1,   456,    -1,    -1,    -1,   460,    -1,    -1,
+     463,   464,    -1,   466,   467,   468,    -1,    -1,   471,    -1,
+     473,   474,   475,   476,   477,   478,   479,    -1,   481,   482,
+      -1,   484,    -1,    -1,    -1,    -1,   489,   490,   491,    -1,
+      -1,    -1,    -1,   496,    -1,    -1,    -1,    -1,    -1,    -1,
+     503,    -1,    -1,   506,   507,    -1,   509,    -1,   511,    -1,
      513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,
-      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,   532,
-     533,    -1,    -1,    -1,   537,    -1,    -1,   540,   541,    -1,
+      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,    -1,
+     533,    -1,    -1,    -1,   537,    -1,    -1,    -1,   541,    -1,
      543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
      553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
      563,    -1,    -1,   566,   567,    -1,   569,   570,   571,   572,
       -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
-      -1,   584,   585,   586,   587,    -1,   589,   590,    -1,   592,
-     593,    -1,   595,   596,    -1,    -1,   599,    -1,    -1,   602,
-      -1,   604,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   585,   586,   587,    -1,   589,   590,    -1,   592,
+     593,    -1,    -1,    -1,    -1,    -1,   599,    -1,    -1,   602,
+      -1,    -1,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,
       -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
-     623,   624,   625,   626,   627,    -1,    -1,    -1,    -1,    -1,
-      -1,   634,   635,    -1,   637,   638,   639,    -1,     5,   642,
+     623,   624,   625,   626,   627,   628,    -1,   630,    -1,    -1,
+      -1,   634,    -1,    -1,   637,    -1,   639,    -1,     5,   642,
        7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
       -1,    -1,    19,    -1,    -1,    -1,    -1,    24,    25,    26,
       27,    28,    29,    30,    31,    -1,    -1,    34,    -1,    -1,
@@ -17487,7 +17635,7 @@ static const yytype_int16 yycheck[] =
      127,    -1,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
       -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,   154,   155,   156,
-      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
+      -1,   158,    -1,   160,    -1,   162,   163,    -1,   165,   166,
      167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
       -1,    -1,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
      187,   188,   189,   190,   191,   192,    -1,    -1,    -1,    -1,
@@ -17534,7 +17682,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   599,    -1,    -1,   602,    -1,    -1,    -1,   606,
      607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
      617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
-     627,    -1,    -1,   630,    -1,    -1,    -1,   634,    -1,    -1,
+     627,   628,    -1,   630,    -1,    -1,    -1,   634,    -1,    -1,
      637,    -1,   639,    -1,     5,   642,     7,     8,     9,    10,
       11,    12,    -1,    -1,    15,    -1,    -1,    -1,    19,    -1,
       -1,    -1,    -1,    24,    25,    26,    27,    28,    29,    30,
@@ -17550,7 +17698,7 @@ static const yytype_int16 yycheck[] =
       -1,   122,    -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,
       -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
       -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   154,   155,   156,    -1,   158,    -1,   160,
+      -1,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
       -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
       -1,   172,   173,   174,   175,   176,    -1,    -1,    -1,    -1,
      181,   182,   183,   184,    -1,    -1,   187,   188,   189,   190,
@@ -17597,7 +17745,7 @@ static const yytype_int16 yycheck[] =
       -1,   592,   593,    -1,    -1,    -1,    -1,    -1,   599,    -1,
       -1,   602,    -1,    -1,    -1,   606,   607,    -1,    -1,    -1,
       -1,    -1,    -1,   614,    -1,    -1,   617,    -1,    -1,    -1,
-     621,   622,   623,   624,   625,   626,   627,   628,    -1,   630,
+     621,   622,   623,   624,   625,   626,   627,    -1,    -1,   630,
       -1,    -1,    -1,   634,    -1,    -1,   637,    -1,   639,    -1,
        5,   642,     7,     8,     9,    10,    11,    12,    -1,    -1,
       15,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    24,
@@ -17614,7 +17762,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,   133,    -1,
      135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
      145,   146,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   154,
-     155,   156,    -1,   158,    -1,   160,    -1,   162,   163,    -1,
+     155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
      165,   166,   167,    -1,   169,   170,    -1,   172,   173,   174,
      175,   176,    -1,    -1,    -1,    -1,   181,   182,   183,   184,
       -1,    -1,   187,   188,   189,   190,   191,   192,    -1,    -1,
@@ -17661,7 +17809,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,   599,    -1,    -1,   602,    -1,    -1,
       -1,   606,   607,    -1,    -1,    -1,    -1,    -1,    -1,   614,
       -1,    -1,   617,    -1,    -1,    -1,   621,   622,   623,   624,
-     625,   626,   627,   628,    -1,   630,    -1,    -1,    -1,   634,
+     625,   626,   627,    -1,    -1,   630,    -1,    -1,    -1,   634,
       -1,    -1,   637,    -1,   639,    -1,     5,   642,     7,     8,
        9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
       19,    -1,    -1,    -1,    -1,    24,    25,    26,    27,    28,
@@ -17869,7 +18017,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   133,    -1,   135,    -1,    -1,    -1,    -1,   140,
       -1,   142,   143,   144,   145,   146,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,   154,   155,   156,    -1,    -1,    -1,   160,
-      -1,   162,   163,    -1,   165,   166,   167,    -1,   169,   170,
+      -1,    -1,   163,    -1,   165,   166,   167,    -1,   169,   170,
       -1,   172,   173,   174,   175,   176,    -1,    -1,    -1,    -1,
      181,   182,   183,   184,    -1,    -1,   187,   188,   189,   190,
      191,   192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   200,
@@ -17932,7 +18080,7 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,   133,    -1,
      135,    -1,    -1,    -1,    -1,   140,    -1,   142,   143,   144,
      145,   146,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   154,
-     155,   156,    -1,    -1,    -1,   160,    -1,   162,   163,    -1,
+     155,   156,    -1,    -1,    -1,   160,    -1,    -1,   163,    -1,
      165,   166,   167,    -1,   169,   170,    -1,   172,   173,   174,
      175,   176,    -1,    -1,    -1,    -1,   181,   182,   183,   184,
       -1,    -1,   187,   188,   189,   190,   191,   192,    -1,    -1,
@@ -17983,11 +18131,11 @@ static const yytype_int16 yycheck[] =
       -1,    -1,   637,    -1,   639,    -1,     5,   642,     7,     8,
        9,    10,    11,    12,    -1,    -1,    15,    -1,    -1,    -1,
       19,    -1,    -1,    -1,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    -1,    -1,    34,    -1,    -1,    -1,    38,
+      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    38,
       -1,    -1,    -1,    42,    -1,    -1,    45,    46,    47,    -1,
-      49,    -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,
+      49,    -1,    -1,    -1,    -1,    -1,    55,    -1,    -1,    58,
       59,    -1,    61,    -1,    -1,    -1,    -1,    -1,    67,    68,
-      69,    70,    71,    72,    -1,    74,    75,    -1,    -1,    -1,
+      69,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    -1,
       -1,    -1,    -1,    82,    -1,    84,    -1,    86,    87,    88,
       89,    -1,    91,    92,    -1,    94,    95,    96,    -1,    98,
       -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,
@@ -17999,17 +18147,17 @@ static const yytype_int16 yycheck[] =
       -1,   160,    -1,    -1,   163,    -1,   165,   166,   167,    -1,
      169,   170,    -1,   172,   173,   174,   175,   176,    -1,    -1,
       -1,    -1,   181,   182,   183,   184,    -1,    -1,   187,   188,
-     189,   190,   191,   192,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   190,   191,   192,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   200,    -1,   202,    -1,   204,    -1,   206,   207,   208,
      209,   210,    -1,   212,    -1,   214,    -1,    -1,    -1,   218,
      219,    -1,    -1,    -1,    -1,    -1,    -1,   226,    -1,    -1,
-      -1,   230,   231,   232,   233,   234,   235,    -1,    -1,   238,
+      -1,   230,   231,   232,   233,   234,    -1,    -1,    -1,   238,
      239,   240,    -1,    -1,   243,    -1,    -1,    -1,    -1,   248,
       -1,    -1,    -1,    -1,   253,    -1,   255,   256,    -1,   258,
-     259,   260,    -1,    -1,   263,    -1,    -1,    -1,   267,   268,
-      -1,    -1,   271,   272,    -1,   274,   275,    -1,    -1,    -1,
+     259,    -1,    -1,    -1,   263,    -1,    -1,    -1,   267,   268,
+      -1,    -1,   271,    -1,    -1,   274,   275,    -1,    -1,    -1,
       -1,    -1,   281,   282,    -1,   284,    -1,   286,    -1,   288,
-     289,    -1,    -1,    -1,    -1,   294,    -1,   296,   297,   298,
+     289,    -1,    -1,    -1,    -1,    -1,    -1,   296,   297,   298,
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
      309,   310,   311,    -1,   313,   314,   315,   316,    -1,   318,
      319,   320,   321,    -1,   323,   324,   325,    -1,    -1,    -1,
@@ -18018,15 +18166,15 @@ static const yytype_int16 yycheck[] =
      349,   350,   351,   352,   353,   354,    -1,    -1,   357,    -1,
       -1,   360,   361,   362,   363,    -1,    -1,    -1,    -1,   368,
       -1,    -1,    -1,   372,    -1,   374,   375,   376,    -1,   378,
-     379,   380,   381,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     379,   380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,   394,   395,    -1,    -1,    -1,
       -1,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
      409,   410,    -1,    -1,    -1,    -1,   415,   416,    -1,   418,
       -1,   420,   421,   422,   423,   424,    -1,   426,   427,   428,
       -1,    -1,   431,    -1,    -1,    -1,   435,   436,   437,   438,
      439,    -1,    -1,   442,   443,   444,   445,   446,    -1,   448,
-      -1,    -1,   451,    -1,   453,   454,    -1,   456,    -1,    -1,
-      -1,   460,    -1,    -1,   463,   464,    -1,   466,   467,   468,
+      -1,    -1,   451,    -1,   453,    -1,    -1,   456,    -1,    -1,
+      -1,   460,    -1,    -1,   463,   464,    -1,   466,    -1,   468,
       -1,    -1,   471,    -1,   473,   474,   475,   476,   477,   478,
      479,    -1,   481,   482,    -1,   484,    -1,    -1,    -1,    -1,
      489,   490,   491,    -1,    -1,    -1,    -1,   496,    -1,    -1,
@@ -18043,135 +18191,8 @@ static const yytype_int16 yycheck[] =
      599,    -1,    -1,   602,    -1,    -1,    -1,   606,   607,    -1,
       -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,   617,    -1,
       -1,    -1,   621,   622,   623,   624,   625,   626,   627,    -1,
-      -1,   630,    -1,    -1,    -1,   634,    -1,    -1,   637,    -1,
-     639,    -1,     5,   642,     7,     8,     9,    10,    11,    12,
-      -1,    -1,    15,    -1,    -1,    -1,    19,    -1,    -1,    -1,
-      -1,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
-      -1,    34,    -1,    -1,    -1,    38,    -1,    -1,    -1,    42,
-      -1,    -1,    45,    46,    47,    -1,    49,    -1,    -1,    -1,
-      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    -1,
-      -1,    -1,    -1,    -1,    67,    68,    69,    70,    71,    72,
-      -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
-      -1,    84,    -1,    86,    87,    88,    89,    -1,    91,    92,
-      -1,    94,    95,    96,    -1,    98,    -1,   100,    -1,    -1,
-     103,    -1,    -1,   106,    -1,   108,    -1,    -1,   111,    -1,
-     113,    -1,    -1,    -1,   117,   118,   119,    -1,    -1,   122,
-      -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,
-     133,    -1,   135,    -1,    -1,    -1,    -1,   140,    -1,   142,
-     143,   144,   145,   146,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   154,   155,   156,    -1,    -1,    -1,   160,    -1,    -1,
-     163,    -1,   165,   166,   167,    -1,   169,   170,    -1,   172,
-     173,   174,   175,   176,    -1,    -1,    -1,    -1,   181,   182,
-     183,   184,    -1,    -1,   187,   188,   189,   190,   191,   192,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   200,    -1,   202,
-      -1,   204,    -1,   206,   207,   208,   209,   210,    -1,   212,
-      -1,   214,    -1,    -1,    -1,   218,   219,    -1,    -1,    -1,
-      -1,    -1,    -1,   226,    -1,    -1,    -1,   230,   231,   232,
-     233,   234,   235,    -1,    -1,   238,   239,   240,    -1,    -1,
-     243,    -1,    -1,    -1,    -1,   248,    -1,    -1,    -1,    -1,
-     253,    -1,   255,   256,    -1,   258,   259,   260,    -1,    -1,
-     263,    -1,    -1,    -1,   267,   268,    -1,    -1,   271,   272,
-      -1,   274,   275,    -1,    -1,    -1,    -1,    -1,   281,   282,
-      -1,   284,    -1,   286,    -1,   288,   289,    -1,    -1,    -1,
-      -1,   294,    -1,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,    -1,
-     313,   314,   315,   316,    -1,   318,   319,   320,   321,    -1,
-     323,   324,   325,    -1,    -1,    -1,    -1,   330,   331,   332,
-     333,   334,   335,    -1,    -1,   338,   339,    -1,   341,    -1,
-     343,    -1,   345,   346,   347,   348,   349,   350,   351,   352,
-     353,   354,    -1,    -1,   357,    -1,    -1,   360,   361,   362,
-     363,    -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,   372,
-      -1,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   394,   395,    -1,    -1,    -1,    -1,   400,    -1,   402,
-     403,   404,   405,   406,   407,   408,   409,   410,    -1,    -1,
-      -1,    -1,   415,   416,    -1,   418,    -1,   420,   421,   422,
-     423,   424,    -1,   426,   427,   428,    -1,    -1,   431,    -1,
-      -1,    -1,   435,   436,   437,   438,   439,    -1,    -1,   442,
-     443,   444,   445,   446,    -1,   448,    -1,    -1,   451,    -1,
-     453,   454,    -1,   456,    -1,    -1,    -1,   460,    -1,    -1,
-     463,   464,    -1,   466,   467,   468,    -1,    -1,   471,    -1,
-     473,   474,   475,   476,   477,   478,   479,    -1,   481,   482,
-      -1,   484,    -1,    -1,    -1,    -1,   489,   490,   491,    -1,
-      -1,    -1,    -1,   496,    -1,    -1,    -1,    -1,    -1,    -1,
-     503,    -1,    -1,   506,   507,    -1,   509,    -1,   511,    -1,
-     513,   514,    -1,    -1,    -1,    -1,    -1,    -1,   521,   522,
-      -1,   524,    -1,    -1,   527,    -1,    -1,    -1,   531,    -1,
-     533,    -1,    -1,    -1,   537,    -1,    -1,    -1,   541,    -1,
-     543,   544,   545,   546,   547,   548,    -1,    -1,   551,   552,
-     553,   554,    -1,   556,   557,    -1,    -1,   560,   561,   562,
-     563,    -1,    -1,   566,   567,    -1,   569,   570,   571,   572,
-      -1,    -1,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
-      -1,    -1,   585,   586,   587,    -1,   589,   590,    -1,   592,
-     593,    -1,    -1,    -1,    -1,    -1,   599,    -1,    -1,   602,
-      -1,    -1,    -1,   606,   607,    -1,    -1,    -1,    -1,    -1,
-      -1,   614,    -1,    -1,   617,    -1,    -1,    -1,   621,   622,
-     623,   624,   625,   626,   627,    -1,    -1,   630,    -1,    -1,
-      -1,   634,    -1,    -1,   637,    -1,   639,    -1,     5,   642,
-       7,     8,     9,    10,    11,    12,    -1,    -1,    15,    -1,
-      -1,    -1,    19,    -1,    -1,    -1,    -1,    24,    25,    26,
-      27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
-      -1,    38,    -1,    -1,    -1,    42,    -1,    -1,    45,    46,
-      47,    -1,    49,    -1,    -1,    -1,    -1,    -1,    55,    -1,
-      -1,    58,    59,    -1,    61,    -1,    -1,    -1,    -1,    -1,
-      67,    68,    69,    -1,    71,    72,    -1,    74,    75,    -1,
-      -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    -1,    86,
-      87,    88,    89,    -1,    91,    92,    -1,    94,    95,    96,
-      -1,    98,    -1,   100,    -1,    -1,   103,    -1,    -1,   106,
-      -1,   108,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
-     117,   118,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
-     127,    -1,    -1,    -1,    -1,    -1,   133,    -1,   135,    -1,
-      -1,    -1,    -1,   140,    -1,   142,   143,   144,   145,   146,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   154,   155,   156,
-      -1,    -1,    -1,   160,    -1,    -1,   163,    -1,   165,   166,
-     167,    -1,   169,   170,    -1,   172,   173,   174,   175,   176,
-      -1,    -1,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
-     187,   188,    -1,   190,   191,   192,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   200,    -1,   202,    -1,   204,    -1,   206,
-     207,   208,   209,   210,    -1,   212,    -1,   214,    -1,    -1,
-      -1,   218,   219,    -1,    -1,    -1,    -1,    -1,    -1,   226,
-      -1,    -1,    -1,   230,   231,   232,   233,   234,    -1,    -1,
-      -1,   238,   239,   240,    -1,    -1,   243,    -1,    -1,    -1,
-      -1,   248,    -1,    -1,    -1,    -1,   253,    -1,   255,   256,
-      -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,    -1,
-     267,   268,    -1,    -1,   271,    -1,    -1,   274,   275,    -1,
-      -1,    -1,    -1,    -1,   281,   282,    -1,   284,    -1,   286,
-      -1,   288,   289,    -1,    -1,    -1,    -1,    -1,    -1,   296,
-     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,    -1,   313,   314,   315,   316,
-      -1,   318,   319,   320,   321,    -1,   323,   324,   325,    -1,
-      -1,    -1,    -1,   330,   331,   332,   333,   334,   335,    -1,
-      -1,   338,   339,    -1,   341,    -1,   343,    -1,   345,   346,
-     347,   348,   349,   350,   351,   352,   353,   354,    -1,    -1,
-     357,    -1,    -1,   360,   361,   362,   363,    -1,    -1,    -1,
-      -1,   368,    -1,    -1,    -1,   372,    -1,   374,   375,   376,
-      -1,   378,   379,   380,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   394,   395,    -1,
-      -1,    -1,    -1,   400,    -1,   402,   403,   404,   405,   406,
-     407,   408,   409,   410,    -1,    -1,    -1,    -1,   415,   416,
-      -1,   418,    -1,   420,   421,   422,   423,   424,    -1,   426,
-     427,   428,    -1,    -1,   431,    -1,    -1,    -1,   435,   436,
-     437,   438,   439,    -1,    -1,   442,   443,   444,   445,   446,
-      -1,   448,    -1,    -1,   451,    -1,   453,    -1,    -1,   456,
-      -1,    -1,    -1,   460,    -1,    -1,   463,   464,    -1,   466,
-      -1,   468,    -1,    -1,   471,    -1,   473,   474,   475,   476,
-     477,   478,   479,    -1,   481,   482,    -1,   484,    -1,    -1,
-      -1,    -1,   489,   490,   491,    -1,    -1,    -1,    -1,   496,
-      -1,    -1,    -1,    -1,    -1,    -1,   503,    -1,    -1,   506,
-     507,    -1,   509,    -1,   511,    -1,   513,   514,    -1,    -1,
-      -1,    -1,    -1,    -1,   521,   522,    -1,   524,    -1,    -1,
-     527,    -1,    -1,    -1,   531,    -1,   533,    -1,    -1,    -1,
-     537,    -1,    -1,    -1,   541,    -1,   543,   544,   545,   546,
-     547,   548,    -1,    -1,   551,   552,   553,   554,    -1,   556,
-     557,    -1,    -1,   560,   561,   562,   563,    -1,    -1,   566,
-     567,    -1,   569,   570,   571,   572,    -1,    -1,    -1,    -1,
-      -1,   578,   579,   580,    -1,    -1,    -1,    -1,   585,   586,
-     587,    -1,   589,   590,    -1,   592,   593,    -1,    -1,    -1,
-      -1,    -1,   599,    -1,    -1,   602,    -1,    -1,    -1,   606,
-     607,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,    -1,
-     617,    -1,    -1,    -1,   621,   622,   623,   624,   625,   626,
-     627,    -1,    -1,    -1,    -1,    -1,    -1,   634,    -1,    -1,
-     637,    -1,   639,    -1,    -1,   642
+      -1,    -1,    -1,    -1,    -1,   634,    -1,    -1,   637,    -1,
+     639,    -1,    -1,   642
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -18184,16 +18205,16 @@ static const yytype_uint16 yystos[] =
      283,   287,   294,   382,   399,   401,   414,   425,   447,   450,
      452,   454,   455,   458,   459,   469,   472,   480,   486,   494,
      499,   500,   501,   532,   540,   584,   596,   600,   603,   608,
-     630,   638,   644,   657,   668,   671,   672,   673,   674,   675,
-     677,   682,   684,   697,   728,   756,   763,   764,   778,   779,
-     798,   817,   832,   892,   946,   984,  1065,  1110,  1113,  1123,
-    1128,  1134,  1147,  1150,  1156,  1159,  1164,  1171,  1183,  1184,
-    1360,  1362,  1374,  1377,  1402,  1410,  1423,  1430,  1444,  1448,
-    1449,  1453,  1467,  1475,  1479,  1484,  1485,  1486,  1540,  1571,
-    1577,  1579,  1586,  1589,  1623,  1625,  1631,  1632,  1633,  1634,
-    1687,  1695,  1696,  1697,    12,   115,   133,   204,   288,   419,
-     492,   557,  1066,  1656,  1657,  1658,  1659,   199,   284,   369,
-    1158,  1451,   364,   365,  1217,  1624,   565,   664,  1529,   241,
+     630,   638,   644,   659,   670,   673,   674,   675,   676,   677,
+     679,   684,   686,   699,   730,   758,   765,   766,   780,   781,
+     800,   819,   834,   894,   948,   986,  1067,  1112,  1115,  1125,
+    1130,  1136,  1149,  1152,  1158,  1161,  1166,  1173,  1185,  1186,
+    1362,  1364,  1376,  1379,  1404,  1412,  1425,  1432,  1446,  1450,
+    1451,  1455,  1469,  1477,  1481,  1486,  1487,  1488,  1542,  1573,
+    1579,  1581,  1588,  1591,  1625,  1627,  1633,  1634,  1635,  1636,
+    1689,  1697,  1698,  1699,    12,   115,   133,   204,   288,   419,
+     492,   557,  1068,  1658,  1659,  1660,  1661,   199,   284,   369,
+    1160,  1453,   364,   365,  1219,  1626,   565,   666,  1531,   241,
        5,     7,     8,     9,    10,    11,    12,    15,    19,    22,
       24,    25,    26,    27,    28,    29,    30,    31,    32,    34,
       38,    42,    45,    46,    47,    49,    51,    52,    55,    58,
@@ -18231,25 +18252,25 @@ static const yytype_uint16 yystos[] =
      580,   584,   585,   586,   587,   589,   590,   592,   593,   595,
      596,   599,   602,   604,   606,   607,   614,   617,   621,   622,
      623,   624,   625,   626,   627,   634,   635,   637,   638,   639,
-     642,   722,  1528,  1532,  1538,  1539,   799,   313,   556,   559,
-    1573,  1151,   634,  1627,   288,   389,   557,  1411,  1361,   115,
+     642,   724,  1530,  1534,  1540,  1541,   801,   313,   556,   559,
+    1575,  1153,   634,  1629,   288,   389,   557,  1413,  1363,   115,
      174,   204,   241,   288,   419,   471,   492,   557,   562,   581,
-     606,   622,  1373,  1532,  1158,   108,   765,   721,   665,  1525,
-    1527,  1532,   683,   780,  1375,   408,   512,  1480,   118,   241,
-     639,  1491,  1573,   833,  1158,   657,   893,  1532,  1476,   480,
-     606,  1573,  1158,   835,  1378,  1468,   518,   753,   757,   758,
-    1532,   721,  1627,  1532,  1189,  1191,  1192,  1193,   533,  1541,
-    1431,   757,    13,   504,   578,    13,   504,   559,  1425,   408,
-     512,  1578,  1403,  1532,   834,    34,    85,   162,   414,   436,
-     472,   532,  1689,   657,  1185,  1186,     0,   164,   669,   414,
-     115,   203,   471,   515,   598,   606,   703,   704,  1043,  1044,
-    1045,  1373,   183,   199,   402,  1450,  1451,  1525,  1532,   645,
-    1078,  1532,   645,   722,   215,   722,   276,  1529,  1532,  1534,
-     838,   839,   842,   865,  1532,  1102,  1103,  1072,  1205,  1656,
-     645,  1573,  1183,  1374,  1377,  1402,  1410,  1447,    25,  1627,
-    1534,  1165,   729,   665,   628,   800,   801,   804,   808,   695,
-     696,  1529,  1124,   622,  1148,  1573,    18,  1628,   215,   455,
-     840,   865,   237,   295,   428,  1421,  1422,     8,    22,    31,
+     606,   622,  1375,  1534,  1160,   108,   767,   723,   667,  1527,
+    1529,  1534,   685,   782,  1377,   408,   512,  1482,   118,   241,
+     639,  1493,  1575,   835,  1160,   659,   895,  1534,  1478,   480,
+     606,  1575,  1160,   837,  1380,  1470,   518,   755,   759,   760,
+    1534,   723,  1629,  1534,  1191,  1193,  1194,  1195,   533,  1543,
+    1433,   759,    13,   504,   578,    13,   504,   559,  1427,   408,
+     512,  1580,  1405,  1534,   836,    34,    85,   162,   414,   436,
+     472,   532,  1691,   659,  1187,  1188,     0,   164,   671,   414,
+     115,   203,   471,   515,   598,   606,   705,   706,  1045,  1046,
+    1047,  1375,   183,   199,   402,  1452,  1453,  1527,  1534,   647,
+    1080,  1534,   647,   724,   215,   724,   276,  1531,  1534,  1536,
+     840,   841,   844,   867,  1534,  1104,  1105,  1074,  1207,  1658,
+     647,  1575,  1185,  1376,  1379,  1404,  1412,  1449,    25,  1629,
+    1536,  1167,   731,   667,   628,   802,   803,   806,   810,   697,
+     698,  1531,  1126,   622,  1150,  1575,    18,  1630,   215,   455,
+     842,   867,   237,   295,   428,  1423,  1424,     8,    22,    31,
       37,    39,    40,    41,    43,    56,    57,    62,    63,    71,
       74,    76,    77,    78,    79,    80,    97,   101,   102,   107,
      109,   110,   114,   115,   120,   121,   122,   127,   129,   132,
@@ -18260,707 +18281,707 @@ static const yytype_uint16 yystos[] =
      426,   454,   455,   468,   470,   477,   478,   484,   538,   539,
      545,   549,   550,   555,   565,   569,   570,   571,   572,   582,
      583,   584,   588,   591,   606,   610,   611,   612,   613,   618,
-     620,   626,   627,   642,   650,   651,   656,   657,   660,   661,
-     664,   665,  1211,  1212,  1213,  1214,  1218,  1226,  1227,  1228,
-    1229,  1230,  1231,  1239,  1243,  1257,  1510,  1513,  1515,  1516,
-    1517,  1521,  1523,  1528,  1532,   235,  1372,  1372,  1372,   235,
-    1371,   215,  1372,  1372,  1372,   865,  1372,  1372,  1372,  1573,
-     678,  1454,   142,    13,    14,   104,   110,   136,   152,   174,
+     620,   626,   627,   642,   652,   653,   658,   659,   662,   663,
+     666,   667,  1213,  1214,  1215,  1216,  1220,  1228,  1229,  1230,
+    1231,  1232,  1233,  1241,  1245,  1259,  1512,  1515,  1517,  1518,
+    1519,  1523,  1525,  1530,  1534,   235,  1374,  1374,  1374,   235,
+    1373,   215,  1374,  1374,  1374,   867,  1374,  1374,  1374,  1575,
+     680,  1456,   142,    13,    14,   104,   110,   136,   152,   174,
      178,   190,   213,   241,   247,   287,   420,   424,   440,   448,
-     456,   486,   499,   500,   551,   581,   603,   605,  1534,  1590,
-    1594,  1595,  1597,  1599,  1600,  1532,   381,    70,   432,   665,
-    1534,   793,   794,   134,   224,   295,  1380,  1532,  1529,   218,
-     511,  1481,   251,  1487,  1572,    34,    70,   189,   260,   272,
-     381,   467,   742,   777,   778,   781,   782,   783,   785,   786,
-     787,   788,   790,   813,   815,   821,   828,  1528,  1533,  1539,
-    1573,   985,  1205,    50,   894,   201,    37,   313,  1436,  1477,
-    1532,   721,  1160,  1129,   742,   824,   134,   295,  1381,  1409,
-     313,   427,   504,  1469,  1470,   614,   754,   494,   759,     7,
-      13,   424,  1587,  1588,  1595,  1597,   576,  1628,  1190,   251,
-     387,  1324,  1325,  1354,  1355,    13,   147,   224,   520,   521,
-     522,   523,   524,   525,   542,  1198,  1199,  1200,  1652,  1542,
+     456,   486,   499,   500,   551,   581,   603,   605,  1536,  1592,
+    1596,  1597,  1599,  1601,  1602,  1534,   381,    70,   432,   667,
+    1536,   795,   796,   134,   224,   295,  1382,  1534,  1531,   218,
+     511,  1483,   251,  1489,  1574,    34,    70,   189,   260,   272,
+     381,   467,   744,   779,   780,   783,   784,   785,   787,   788,
+     789,   790,   792,   815,   817,   823,   830,  1530,  1535,  1541,
+    1575,   987,  1207,    50,   896,   201,    37,   313,  1438,  1479,
+    1534,   723,  1162,  1131,   744,   826,   134,   295,  1383,  1411,
+     313,   427,   504,  1471,  1472,   614,   756,   494,   761,     7,
+      13,   424,  1589,  1590,  1597,  1599,   576,  1630,  1192,   251,
+     387,  1326,  1327,  1356,  1357,    13,   147,   224,   520,   521,
+     522,   523,   524,   525,   542,  1200,  1201,  1202,  1654,  1544,
       62,    63,   132,   212,   284,   352,   404,   471,   491,   578,
-     664,  1008,  1532,  1545,  1557,  1561,  1562,    13,    26,    38,
+     666,  1010,  1534,  1547,  1559,  1563,  1564,    13,    26,    38,
       62,    74,   100,   102,   104,   116,   166,   170,   173,   202,
      204,   212,   214,   240,   241,   262,   284,   313,   381,   407,
      418,   419,   422,   423,   443,   491,   504,   541,   559,   625,
-    1008,  1042,  1432,  1436,  1437,  1439,  1448,  1528,  1558,   759,
-     505,   695,   432,   631,  1114,  1115,  1116,   505,   695,  1424,
-    1532,  1529,  1573,  1409,   822,  1211,    39,   222,   223,   565,
-    1511,  1512,  1530,  1688,  1688,  1688,  1688,  1688,  1185,   658,
-     486,   663,  1532,   235,   945,   945,   945,  1653,  1657,  1658,
-    1659,   492,   705,   241,   241,   241,   559,  1446,  1445,   332,
-     563,   590,  1068,   604,   109,  1534,  1535,  1536,  1594,  1070,
-     844,   866,  1532,  1069,  1074,     6,    60,   152,   365,   431,
-     433,   867,   559,   237,   380,  1104,  1105,  1106,   526,  1660,
-    1661,   174,  1071,  1534,  1135,   818,   659,  1166,  1167,  1168,
-    1169,  1525,   657,   730,  1532,   809,   158,   811,  1211,   808,
-     576,  1366,  1367,  1525,  1149,  1366,    59,   367,   367,   447,
-    1629,   843,   866,     6,   201,  1412,  1418,  1419,  1532,  1421,
-     657,   657,   657,  1226,   657,   657,   657,  1211,  1260,   657,
-     657,   657,   657,   657,   657,   657,   657,   657,   657,   657,
-     657,   657,   657,  1210,  1210,  1210,   657,  1209,   657,   657,
-     657,   565,   657,   657,   657,   657,   657,   657,   657,   657,
-     657,   657,   657,   657,   657,  1211,   657,   657,   657,   657,
-    1258,  1259,  1521,  1532,   657,   657,   657,   657,   657,   657,
-     657,   657,   657,  1211,  1209,   657,   657,   657,   657,   657,
-     657,   657,   657,   657,   657,   657,   657,   657,   657,   657,
-     657,   657,   657,  1209,   565,   657,   657,   657,   565,   657,
-     657,   657,   565,  1512,   657,  1210,  1209,  1209,   657,   657,
-     657,   657,   657,   657,  1226,  1226,  1226,  1211,  1647,  1648,
-    1532,  1244,  1532,    17,    18,   386,   389,   640,  1215,  1216,
-     168,   205,   257,   269,   358,   645,   646,   647,  1219,    35,
-     148,   254,   277,   344,   441,   497,   498,   513,   648,   649,
-     650,   651,   652,   653,   654,   655,  1217,  1226,    73,   388,
-     659,  1530,   657,   665,   179,  1532,   722,  1532,   179,  1532,
-     866,   722,   721,  1534,   876,  1437,   722,   721,  1365,  1372,
-     609,   679,    37,   140,   166,   169,   206,   226,   289,   313,
-     418,   427,   442,   460,   504,   507,   537,  1455,  1460,  1461,
-    1528,  1573,    90,   664,   766,   767,   768,   769,  1532,   418,
-    1598,   474,   474,   557,   562,   606,   622,  1210,   384,  1602,
-     556,   377,  1604,    69,   504,  1601,   116,   622,  1603,   576,
-     377,   659,    20,   645,  1310,  1311,  1580,  1532,   162,  1211,
-     237,  1101,   512,    91,   427,  1482,    52,    89,   295,  1493,
-    1525,  1574,  1575,   816,  1532,   201,   361,   791,  1533,  1533,
-    1532,   784,   162,   777,   663,   672,   827,   666,  1157,   658,
-    1211,   279,   282,   429,   895,   897,   664,   676,  1529,   289,
-    1161,  1535,  1537,  1162,  1163,  1525,   622,  1126,  1573,   602,
-     827,   251,  1368,  1382,  1383,  1525,  1472,    52,  1471,   659,
-    1530,    58,    68,    82,    94,    95,    96,   113,   333,   351,
-     482,   544,   561,   760,   762,   384,  1598,   377,   201,   377,
-     480,  1630,  1629,   597,  1635,  1636,  1356,    50,   278,  1329,
-    1330,  1331,   201,  1195,   198,   287,  1201,   652,  1202,  1203,
-    1205,  1200,   132,  1544,  1560,  1562,   494,   471,   665,    37,
-     132,   495,   645,  1009,  1010,  1393,  1534,   198,  1393,  1568,
-    1534,  1547,   664,  1534,    37,   132,  1012,  1013,  1534,   665,
-    1548,  1546,  1393,   505,   173,   277,   629,  1443,   657,   115,
-     174,   204,   419,   559,   581,   622,  1443,    13,   955,  1534,
-    1329,   201,   254,  1438,  1440,    72,   537,   198,   537,   556,
+    1010,  1044,  1434,  1438,  1439,  1441,  1450,  1530,  1560,   761,
+     505,   697,   432,   631,  1116,  1117,  1118,   505,   697,  1426,
+    1534,  1531,  1575,  1411,   824,  1213,    39,   222,   223,   565,
+    1513,  1514,  1532,  1690,  1690,  1690,  1690,  1690,  1187,   660,
+     486,   665,  1534,   235,   947,   947,   947,  1655,  1659,  1660,
+    1661,   492,   707,   241,   241,   241,   559,  1448,  1447,   332,
+     563,   590,  1070,   604,   109,  1536,  1537,  1538,  1596,  1072,
+     846,   868,  1534,  1071,  1076,     6,    60,   152,   365,   431,
+     433,   869,   559,   237,   380,  1106,  1107,  1108,   526,  1662,
+    1663,   174,  1073,  1536,  1137,   820,   661,  1168,  1169,  1170,
+    1171,  1527,   659,   732,  1534,   811,   158,   813,  1213,   810,
+     576,  1368,  1369,  1527,  1151,  1368,    59,   367,   367,   447,
+    1631,   845,   868,     6,   201,  1414,  1420,  1421,  1534,  1423,
+     659,   659,   659,  1228,   659,   659,   659,  1213,  1262,   659,
+     659,   659,   659,   659,   659,   659,   659,   659,   659,   659,
+     659,   659,   659,  1212,  1212,  1212,   659,  1211,   659,   659,
+     659,   565,   659,   659,   659,   659,   659,   659,   659,   659,
+     659,   659,   659,   659,   659,  1213,   659,   659,   659,   659,
+    1260,  1261,  1523,  1534,   659,   659,   659,   659,   659,   659,
+     659,   659,   659,  1213,  1211,   659,   659,   659,   659,   659,
+     659,   659,   659,   659,   659,   659,   659,   659,   659,   659,
+     659,   659,   659,  1211,   565,   659,   659,   659,   565,   659,
+     659,   659,   565,  1514,   659,  1212,  1211,  1211,   659,   659,
+     659,   659,   659,   659,  1228,  1228,  1228,  1213,  1649,  1650,
+    1534,  1246,  1534,    17,    18,   386,   389,   640,  1217,  1218,
+     168,   205,   257,   269,   358,   647,   648,   649,  1221,    35,
+     148,   254,   277,   344,   441,   497,   498,   513,   650,   651,
+     652,   653,   654,   655,   656,   657,  1219,  1228,    73,   388,
+     661,  1532,   659,   667,   179,  1534,   724,  1534,   179,  1534,
+     868,   724,   723,  1536,   878,  1439,   724,   723,  1367,  1374,
+     609,   681,    37,   140,   166,   169,   206,   226,   289,   313,
+     418,   427,   442,   460,   504,   507,   537,  1457,  1462,  1463,
+    1530,  1575,    90,   666,   768,   769,   770,   771,  1534,   418,
+    1600,   474,   474,   557,   562,   606,   622,  1212,   384,  1604,
+     556,   377,  1606,    69,   504,  1603,   116,   622,  1605,   576,
+     377,   661,    20,   647,  1312,  1313,  1582,  1534,   162,  1213,
+     237,  1103,   512,    91,   427,  1484,    52,    89,   295,  1495,
+    1527,  1576,  1577,   818,  1534,   201,   361,   793,  1535,  1535,
+    1534,   786,   162,   779,   665,   674,   829,   668,  1159,   660,
+    1213,   279,   282,   429,   897,   899,   666,   678,  1531,   289,
+    1163,  1537,  1539,  1164,  1165,  1527,   622,  1128,  1575,   602,
+     829,   251,  1370,  1384,  1385,  1527,  1474,    52,  1473,   661,
+    1532,    58,    68,    82,    94,    95,    96,   113,   333,   351,
+     482,   544,   561,   762,   764,   384,  1600,   377,   201,   377,
+     480,  1632,  1631,   597,  1637,  1638,  1358,    50,   278,  1331,
+    1332,  1333,   201,  1197,   198,   287,  1203,   654,  1204,  1205,
+    1207,  1202,   132,  1546,  1562,  1564,   494,   471,   667,    37,
+     132,   495,   647,  1011,  1012,  1395,  1536,   198,  1395,  1570,
+    1536,  1549,   666,  1536,    37,   132,  1014,  1015,  1536,   667,
+    1550,  1548,  1395,   505,   173,   277,   629,  1445,   659,   115,
+     174,   204,   419,   559,   581,   622,  1445,    13,   957,  1536,
+    1331,   201,   254,  1440,  1442,    72,   537,   198,   537,   556,
      512,    72,   537,    13,    45,    98,   103,   256,   331,   395,
-     514,   553,  1426,  1427,  1428,   695,   226,   537,   696,   537,
-    1329,  1443,  1440,   289,   165,    75,   421,   556,   580,   198,
-    1204,   537,   617,  1117,  1118,  1117,   379,   636,    92,   659,
-    1117,  1117,  1367,  1101,   827,   151,   659,   378,  1691,   552,
-    1692,   261,   463,  1690,   658,  1636,  1638,  1639,  1640,  1641,
-    1191,   164,   670,  1217,  1532,   721,   721,    11,   204,   419,
-     581,   709,  1205,  1655,  1661,  1669,  1674,  1675,  1676,  1682,
-     204,   709,  1654,  1661,  1669,  1676,  1682,  1656,   945,   945,
-     945,   945,   945,  1447,  1452,  1511,  1532,   132,   942,   943,
-     952,   953,  1017,   118,  1210,   664,   723,     6,   845,   723,
-     383,   117,   862,   862,   862,     4,  1525,  1106,   485,   622,
-     722,  1661,  1136,  1137,  1367,   819,   820,   664,   254,   659,
-     401,  1177,  1179,  1180,   731,   732,  1211,  1211,   742,   162,
-     802,   685,   183,   428,   659,  1125,  1366,    61,   183,   187,
-     198,   330,   428,  1152,  1153,  1154,    59,   447,   845,   862,
-    1369,  1370,  1525,  1526,  1532,   659,  1415,   665,  1420,  1211,
-    1211,    13,   147,  1251,  1312,  1251,  1251,  1251,   628,  1262,
-    1211,  1211,  1257,  1257,  1211,  1211,  1211,  1211,  1224,  1225,
-    1211,  1211,  1211,  1211,   147,  1251,  1312,   658,   129,   193,
-     222,   292,   371,   588,   658,  1338,  1341,  1342,   658,  1211,
-    1211,  1211,  1211,  1521,  1647,   123,   124,   125,   126,   127,
+     514,   553,  1428,  1429,  1430,   697,   226,   537,   698,   537,
+    1331,  1445,  1442,   289,   165,    75,   421,   556,   580,   198,
+    1206,   537,   617,  1119,  1120,  1119,   379,   636,    92,   661,
+    1119,  1119,  1369,  1103,   829,   151,   661,   378,  1693,   552,
+    1694,   261,   463,  1692,   660,  1638,  1640,  1641,  1642,  1643,
+    1193,   164,   672,  1219,  1534,   723,   723,    11,   204,   419,
+     581,   711,  1207,  1657,  1663,  1671,  1676,  1677,  1678,  1684,
+     204,   711,  1656,  1663,  1671,  1678,  1684,  1658,   947,   947,
+     947,   947,   947,  1449,  1454,  1513,  1534,   132,   944,   945,
+     954,   955,  1019,   118,  1212,   666,   725,     6,   847,   725,
+     383,   117,   864,   864,   864,     4,  1527,  1108,   485,   622,
+     724,  1663,  1138,  1139,  1369,   821,   822,   666,   254,   661,
+     401,  1179,  1181,  1182,   733,   734,  1213,  1213,   744,   162,
+     804,   687,   183,   428,   661,  1127,  1368,    61,   183,   187,
+     198,   330,   428,  1154,  1155,  1156,    59,   447,   847,   864,
+    1371,  1372,  1527,  1528,  1534,   661,  1417,   667,  1422,  1213,
+    1213,    13,   147,  1253,  1314,  1253,  1253,  1253,   628,  1264,
+    1213,  1213,  1259,  1259,  1213,  1213,  1213,  1213,  1226,  1227,
+    1213,  1213,  1213,  1213,   147,  1253,  1314,   660,   129,   193,
+     222,   292,   371,   588,   660,  1340,  1343,  1344,   660,  1213,
+    1213,  1213,  1213,  1523,  1649,   123,   124,   125,   126,   127,
      227,   228,   229,   230,   334,   336,   337,   338,   345,   426,
-     483,   484,   626,   641,   642,  1307,  1308,  1211,  1257,   119,
-     122,   569,   572,  1309,   147,  1246,  1211,  1211,  1211,  1211,
-    1307,  1257,  1211,  1257,  1259,    10,   659,   665,   147,  1251,
-    1211,  1211,   147,  1251,  1211,  1211,  1257,  1257,  1257,  1211,
-    1211,  1211,  1257,  1214,  1211,  1211,  1211,  1211,  1211,  1211,
-     658,  1211,  1251,  1251,  1211,  1211,   147,  1251,  1211,  1308,
-    1308,  1211,    48,   270,   577,  1211,  1211,   658,  1522,  1523,
-    1532,  1251,  1251,  1211,  1211,  1211,   658,   659,   658,   486,
-     657,  1644,  1645,  1211,   664,  1245,  1534,   665,  1211,  1211,
-    1211,  1213,   186,   370,   583,   599,  1217,    13,    19,  1213,
-    1220,  1214,  1214,   657,  1226,  1214,  1214,  1214,  1214,   277,
-    1214,  1214,   250,  1214,   250,  1214,  1214,  1214,  1214,  1214,
-      35,   254,   277,   441,  1534,  1226,  1211,  1232,  1532,   665,
-     377,   876,  1593,  1595,   368,   624,   877,   878,   166,  1537,
-    1609,  1366,  1363,   664,   680,   681,   289,   289,   289,   289,
-      52,   289,   695,   289,   659,  1204,  1456,   122,   569,   572,
-     761,   771,  1243,  1515,  1521,  1534,   659,   645,   556,   657,
-    1615,  1537,  1615,  1615,  1615,  1535,  1536,  1537,  1610,  1614,
-     204,   419,   559,  1596,   174,   178,   190,   420,   448,   456,
-     500,   551,  1600,  1532,   191,   361,  1532,  1581,  1582,   235,
-     568,  1382,  1529,   231,   606,  1211,  1483,  1172,   284,  1492,
-    1311,   659,   819,   201,  1532,  1211,   294,   663,    34,   294,
-     454,   630,  1366,  1206,    75,   657,   902,   903,   902,   903,
-     402,   905,   219,   264,  1534,    33,   576,  1478,   659,   576,
-     659,   576,  1127,  1366,   825,  1383,  1379,   401,  1276,  1277,
-     576,  1474,   695,  1470,   659,   645,   198,   659,  1537,  1536,
-    1611,   204,   419,  1596,  1532,    13,   147,  1643,   154,   391,
-    1349,  1350,  1357,  1326,  1201,   292,   371,   475,   588,  1332,
-    1333,  1513,  1532,   153,   486,   657,   661,  1197,  1263,  1264,
-    1265,  1266,  1267,  1278,  1279,  1291,   629,  1313,   603,   254,
-     659,  1211,  1519,  1532,   659,  1543,  1393,  1595,  1532,    73,
-    1015,  1211,  1537,   376,   404,   565,  1569,   258,   432,  1563,
-    1564,  1565,  1566,   212,   284,   491,  1559,  1393,  1532,   578,
-    1549,  1560,   659,  1551,    13,    37,   132,   377,  1211,  1570,
-     537,   254,  1441,  1204,  1204,   652,   945,   722,   722,   722,
-    1525,   722,  1525,   289,   349,   537,  1435,  1435,  1443,  1532,
-     722,  1443,  1536,  1438,  1443,  1529,   722,  1443,   255,   554,
-     188,   198,  1429,   659,   173,   537,  1438,  1525,  1440,  1438,
-    1438,  1211,  1443,  1443,  1443,  1112,   446,   527,  1119,  1120,
-    1111,   509,  1116,  1264,   823,  1511,   406,  1693,  1325,  1331,
-    1642,   179,   702,  1593,  1610,   204,  1675,   945,   945,  1205,
-     174,   945,  1661,  1534,  1532,  1532,  1532,  1525,   943,    73,
-    1008,   143,  1534,    83,    97,   266,   342,   367,   430,   526,
-     725,   727,   437,   592,   863,   864,   243,   859,   860,   861,
-     868,   876,   878,   657,  1529,    27,   321,   853,   854,   855,
-     868,   869,   870,   876,   878,   846,   847,   853,  1067,   133,
-     253,   945,  1073,   659,   405,  1138,   743,  1534,   132,  1170,
-    1532,  1168,  1525,   891,  1179,   241,   264,  1040,  1181,   658,
-     659,   810,    56,   628,   803,   805,   150,   236,   238,   296,
+     483,   484,   626,   641,   642,  1309,  1310,  1213,  1259,   119,
+     122,   569,   572,  1311,   147,  1248,  1213,  1213,  1213,  1213,
+    1309,  1259,  1213,  1259,  1261,    10,   661,   667,   147,  1253,
+    1213,  1213,   147,  1253,  1213,  1213,  1259,  1259,  1259,  1213,
+    1213,  1213,  1259,  1216,  1213,  1213,  1213,  1213,  1213,  1213,
+     660,  1213,  1253,  1253,  1213,  1213,   147,  1253,  1213,  1310,
+    1310,  1213,    48,   270,   577,  1213,  1213,   660,  1524,  1525,
+    1534,  1253,  1253,  1213,  1213,  1213,   660,   661,   660,   486,
+     659,  1646,  1647,  1213,   666,  1247,  1536,   667,  1213,  1213,
+    1213,  1215,   186,   370,   583,   599,  1219,    13,    19,  1215,
+    1222,  1216,  1216,   659,  1228,  1216,  1216,  1216,  1216,   277,
+    1216,  1216,   250,  1216,   250,  1216,  1216,  1216,  1216,  1216,
+      35,   254,   277,   441,  1536,  1228,  1213,  1234,  1534,   667,
+     377,   878,  1595,  1597,   368,   624,   879,   880,   166,  1539,
+    1611,  1368,  1365,   666,   682,   683,   289,   289,   289,   289,
+      52,   289,   697,   289,   661,  1206,  1458,   122,   569,   572,
+     763,   773,  1245,  1517,  1523,  1536,   661,   647,   556,   659,
+    1617,  1539,  1617,  1617,  1617,  1537,  1538,  1539,  1612,  1616,
+     204,   419,   559,  1598,   174,   178,   190,   420,   448,   456,
+     500,   551,  1602,  1534,   191,   361,  1534,  1583,  1584,   235,
+     568,  1384,  1531,   231,   606,  1213,  1485,  1174,   284,  1494,
+    1313,   661,   821,   201,  1534,  1213,   294,   665,    34,   294,
+     454,   630,  1368,  1208,    75,   659,   904,   905,   904,   905,
+     402,   907,   219,   264,  1536,    33,   576,  1480,   661,   576,
+     661,   576,  1129,  1368,   827,  1385,  1381,   401,  1278,  1279,
+     576,  1476,   697,  1472,   661,   647,   198,   661,  1539,  1538,
+    1613,   204,   419,  1598,  1534,    13,   147,  1645,   154,   391,
+    1351,  1352,  1359,  1328,  1203,   292,   371,   475,   588,  1334,
+    1335,  1515,  1534,   153,   486,   659,   663,  1199,  1265,  1266,
+    1267,  1268,  1269,  1280,  1281,  1293,   629,  1315,   603,   254,
+     661,  1213,  1521,  1534,   661,  1545,  1395,  1597,  1534,    73,
+    1017,  1213,  1539,   376,   404,   565,  1571,   258,   432,  1565,
+    1566,  1567,  1568,   212,   284,   491,  1561,  1395,  1534,   578,
+    1551,  1562,   661,  1553,    13,    37,   132,   377,  1213,  1572,
+     537,   254,  1443,  1206,  1206,   654,   947,   724,   724,   724,
+    1527,   724,  1527,   289,   349,   537,  1437,  1437,  1445,  1534,
+     724,  1445,  1538,  1440,  1445,  1531,   724,  1445,   255,   554,
+     188,   198,  1431,   661,   173,   537,  1440,  1527,  1442,  1440,
+    1440,  1213,  1445,  1445,  1445,  1114,   446,   527,  1121,  1122,
+    1113,   509,  1118,  1266,   825,  1513,   406,  1695,  1327,  1333,
+    1644,   179,   704,  1595,  1612,   204,  1677,   947,   947,  1207,
+     174,   947,  1663,  1536,  1534,  1534,  1534,  1527,   945,    73,
+    1010,   143,  1536,    83,    97,   266,   342,   367,   430,   526,
+     727,   729,   437,   592,   865,   866,   243,   861,   862,   863,
+     870,   878,   880,   659,  1531,    27,   321,   855,   856,   857,
+     870,   871,   872,   878,   880,   848,   849,   855,  1069,   133,
+     253,   947,  1075,   661,   405,  1140,   745,  1536,   132,  1172,
+    1534,  1170,  1527,   893,  1181,   241,   264,  1042,  1183,   660,
+     661,   812,    56,   628,   805,   807,   150,   236,   238,   296,
      298,   299,   300,   301,   302,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   314,   315,   316,   444,   445,   686,
-     687,   694,  1367,   198,  1155,   604,  1153,    83,   362,   438,
-     593,   856,   857,   858,   868,   872,   873,   874,   875,   876,
-     878,   608,   841,   659,  1416,  1276,   665,  1420,  1419,   201,
-     652,  1532,   659,   658,  1251,   658,  1252,   658,   658,   658,
-    1211,   158,   628,  1261,    20,   658,   609,   658,   658,   658,
-     659,   658,   659,   658,   659,   659,   659,   659,   609,   659,
-    1240,   658,   652,   658,   659,   659,   658,   658,   658,   658,
-     201,   659,   658,   659,  1242,   658,   659,   659,   659,   651,
-     658,   659,   658,   658,   657,  1521,  1532,  1251,   658,   658,
-     658,  1251,   658,   659,   658,   658,   658,   658,   658,   658,
-     659,   658,   254,   658,   659,   659,   658,   659,   659,   658,
-     658,   658,   659,   201,   659,  1251,   658,   658,   659,   659,
-     659,   658,   201,  1211,   201,  1211,   201,  1211,   201,   658,
-     659,   658,   658,   658,   658,   659,    20,   275,   659,  1031,
-     658,  1257,  1282,  1283,  1284,   657,  1187,  1188,   597,  1649,
-     662,  1559,   495,  1532,   186,   370,   583,   599,   657,    18,
-    1211,  1647,   172,  1317,  1214,  1211,  1211,  1214,   657,  1226,
-    1214,  1205,  1236,  1237,  1238,   657,   665,  1532,  1525,   877,
-     659,  1393,  1394,   659,    54,   462,  1107,  1366,  1534,   659,
-     137,  1463,   695,  1461,  1366,  1462,   769,   772,   773,   768,
-     372,   478,   770,  1532,  1616,  1617,   576,   233,   631,   659,
-    1592,   652,  1525,  1532,  1608,  1608,  1608,   191,   205,   267,
-     269,   361,   416,   645,   646,   647,  1583,  1585,  1313,   795,
-    1376,  1537,  1173,  1174,  1175,  1176,  1525,   242,   295,   432,
-     636,  1576,  1575,   251,   814,   829,   831,   830,   657,  1205,
-    1338,   548,   906,   896,    12,   898,  1211,  1529,  1537,  1537,
-    1163,  1525,  1366,   183,   428,   607,  1130,  1131,  1132,  1211,
-     486,   494,   613,   614,   657,   937,  1384,  1387,   657,   129,
-     193,   222,   292,   371,   588,  1337,    13,  1473,   762,   761,
-    1595,   213,   201,   659,  1608,  1608,  1608,  1637,   565,  1531,
-    1531,   664,  1351,  1352,  1353,  1534,  1211,  1327,  1520,   177,
-     475,   375,   659,  1290,  1532,   105,   244,   261,   273,   355,
-     470,   542,  1274,  1275,   659,  1525,  1290,  1314,   215,  1318,
-     496,  1203,  1206,  1206,   665,  1560,   198,  1570,   198,   132,
-    1014,  1016,  1534,  1393,   657,   657,   275,   379,   636,   659,
-     659,   665,   665,   665,  1562,  1211,  1563,  1550,  1552,  1553,
-    1529,   201,  1442,  1529,  1211,   658,  1532,   721,  1443,   427,
-    1329,  1428,  1441,  1443,  1438,  1525,  1443,  1443,   659,   602,
-    1121,   494,   742,   659,   198,  1694,  1329,   941,   942,   631,
-    1591,   945,   722,  1532,   722,   945,   945,   706,   586,   609,
-    1053,   377,   377,   698,  1394,  1394,   353,  1529,   526,   526,
-     526,   526,   526,   485,  1529,  1529,  1394,   659,   861,   115,
-     225,   393,   404,   411,   510,   606,   707,   708,  1394,  1394,
-     659,   855,   848,   849,   868,   869,   870,     6,    12,    14,
+     309,   310,   311,   312,   314,   315,   316,   444,   445,   688,
+     689,   696,  1369,   198,  1157,   604,  1155,    83,   362,   438,
+     593,   858,   859,   860,   870,   874,   875,   876,   877,   878,
+     880,   608,   843,   661,  1418,  1278,   667,  1422,  1421,   201,
+     654,  1534,   661,   660,  1253,   660,  1254,   660,   660,   660,
+    1213,   158,   628,  1263,    20,   660,   609,   660,   660,   660,
+     661,   660,   661,   660,   661,   661,   661,   661,   609,   661,
+    1242,   660,   654,   660,   661,   661,   660,   660,   660,   660,
+     201,   661,   660,   661,  1244,   660,   661,   661,   661,   653,
+     660,   661,   660,   660,   659,  1523,  1534,  1253,   660,   660,
+     660,  1253,   660,   661,   660,   660,   660,   660,   660,   660,
+     661,   660,   254,   660,   661,   661,   660,   661,   661,   660,
+     660,   660,   661,   201,   661,  1253,   660,   660,   661,   661,
+     661,   660,   201,  1213,   201,  1213,   201,  1213,   201,   660,
+     661,   660,   660,   660,   660,   661,    20,   275,   661,  1033,
+     660,  1259,  1284,  1285,  1286,   659,  1189,  1190,   597,  1651,
+     664,  1561,   495,  1534,   186,   370,   583,   599,   659,    18,
+    1213,  1649,   172,  1319,  1216,  1213,  1213,  1216,   659,  1228,
+    1216,  1207,  1238,  1239,  1240,   659,   667,  1534,  1527,   879,
+     661,  1395,  1396,   661,    54,   462,  1109,  1368,  1536,   661,
+     137,  1465,   697,  1463,  1368,  1464,   771,   774,   775,   770,
+     372,   478,   772,  1534,  1618,  1619,   576,   233,   631,   661,
+    1594,   654,  1527,  1534,  1610,  1610,  1610,   191,   205,   267,
+     269,   361,   416,   647,   648,   649,  1585,  1587,  1315,   797,
+    1378,  1539,  1175,  1176,  1177,  1178,  1527,   242,   295,   432,
+     636,  1578,  1577,   251,   816,   831,   833,   832,   659,  1207,
+    1340,   548,   908,   898,    12,   900,  1213,  1531,  1539,  1539,
+    1165,  1527,  1368,   183,   428,   607,  1132,  1133,  1134,  1213,
+     486,   494,   613,   614,   659,   939,  1386,  1389,   659,   129,
+     193,   222,   292,   371,   588,  1339,    13,  1475,   764,   763,
+    1597,   213,   201,   661,  1610,  1610,  1610,  1639,   565,  1533,
+    1533,   666,  1353,  1354,  1355,  1536,  1213,  1329,  1522,   177,
+     475,   375,   661,  1292,  1534,   105,   244,   261,   273,   355,
+     470,   542,  1276,  1277,   661,  1527,  1292,  1316,   215,  1320,
+     496,  1205,  1208,  1208,   667,  1562,   198,  1572,   198,   132,
+    1016,  1018,  1536,  1395,   659,   659,   275,   379,   636,   661,
+     661,   667,   667,   667,  1564,  1213,  1565,  1552,  1554,  1555,
+    1531,   201,  1444,  1531,  1213,   660,  1534,   723,  1445,   427,
+    1331,  1430,  1443,  1445,  1440,  1527,  1445,  1445,   661,   602,
+    1123,   494,   744,   661,   198,  1696,  1331,   943,   944,   631,
+    1593,   947,   724,  1534,   724,   947,   947,   708,   586,   609,
+    1055,   377,   377,   700,  1396,  1396,   353,  1531,   526,   526,
+     526,   526,   526,   485,  1531,  1531,  1396,   661,   863,   115,
+     225,   393,   404,   411,   510,   606,   709,   710,  1396,  1396,
+     661,   857,   850,   851,   870,   871,   872,     6,    12,    14,
       16,    28,    30,    60,    65,    66,    71,    83,    91,   101,
      118,   135,   144,   145,   152,   160,   166,   176,   196,   239,
      241,   248,   263,   287,   320,   339,   343,   382,   387,   394,
      396,   401,   404,   435,   449,   450,   451,   452,   476,   534,
-     535,   536,   541,   557,   560,   579,   584,   597,   889,   948,
-     950,   952,   953,  1079,  1083,  1085,  1088,  1094,  1095,  1096,
-    1098,  1099,  1321,  1528,  1525,   377,   717,  1075,  1137,   198,
-     131,   741,   744,  1178,   657,  1211,   568,   806,   805,   645,
-     645,   645,   645,   645,   645,   645,   645,   645,   645,   645,
-     645,   645,   645,   645,   645,   645,   645,   645,   645,   645,
-     645,   645,   659,   604,  1394,  1394,  1394,  1394,   659,   858,
-     288,   184,   850,   851,   852,   868,   869,   870,   871,   874,
-     875,   876,   878,  1370,  1532,   609,  1413,  1532,  1264,   665,
-    1420,   250,  1211,   658,  1211,   568,  1211,  1211,   162,    37,
+     535,   536,   541,   557,   560,   579,   584,   597,   891,   950,
+     952,   954,   955,  1081,  1085,  1087,  1090,  1096,  1097,  1098,
+    1100,  1101,  1323,  1530,  1527,   377,   719,  1077,  1139,   198,
+     131,   743,   746,  1180,   659,  1213,   568,   808,   807,   647,
+     647,   647,   647,   647,   647,   647,   647,   647,   647,   647,
+     647,   647,   647,   647,   647,   647,   647,   647,   647,   647,
+     647,   647,   661,   604,  1396,  1396,  1396,  1396,   661,   860,
+     288,   184,   852,   853,   854,   870,   871,   872,   873,   876,
+     877,   878,   880,  1372,  1534,   609,  1415,  1534,  1266,   667,
+    1422,   250,  1213,   660,  1213,   568,  1213,  1213,   162,    37,
       63,   119,   122,   130,   149,   252,   357,   502,   572,   601,
-    1253,  1009,  1225,  1211,  1224,  1257,  1211,  1211,  1009,  1253,
-    1257,   658,   250,   250,  1211,  1211,  1211,  1257,  1211,  1211,
-    1211,  1211,  1211,  1214,   658,   658,  1211,  1211,  1211,  1211,
-    1211,  1211,  1257,   250,  1211,  1211,  1211,   658,  1211,  1211,
-    1211,  1211,   201,  1211,   201,  1211,   201,  1211,  1211,  1211,
-      37,    63,  1026,  1027,  1028,  1029,  1030,  1338,  1337,   658,
-     658,  1194,  1195,  1196,  1650,  1651,  1652,  1187,   658,   486,
-    1643,  1534,  1211,  1647,  1213,   658,   659,   658,  1226,  1307,
-    1307,    18,  1211,  1647,  1317,  1211,   658,   659,  1256,  1257,
-    1532,  1364,  1595,   954,  1534,  1537,  1107,   681,   645,   198,
-     631,  1457,  1458,   645,   659,   658,   659,  1610,    50,   621,
-     631,  1612,     7,  1614,   665,   665,   576,   576,   576,  1584,
-    1329,   742,  1384,   659,  1177,  1179,  1531,   636,   284,    89,
-     789,   819,   821,   824,   822,   899,   900,   901,  1532,   911,
-    1214,    50,   657,   913,   903,   645,   657,   576,   201,  1133,
-    1131,   162,   938,  1385,   657,  1390,  1395,  1390,   658,   937,
-    1386,  1518,  1519,  1522,  1532,  1388,  1306,  1532,   645,   384,
-    1609,  1536,   201,   201,   201,  1184,  1358,  1534,   659,   659,
-      21,   138,  1328,  1333,  1334,   177,  1333,  1333,  1280,  1285,
-    1290,  1263,   261,   261,   390,  1292,   273,   470,  1274,  1292,
-    1263,  1265,  1276,  1287,  1288,  1211,    50,   220,  1315,   341,
-      20,  1207,  1529,  1532,   652,  1532,   671,  1537,   565,   565,
-     432,   453,   489,  1567,  1565,  1564,  1393,  1551,   659,  1555,
-    1557,  1561,   129,   193,   292,   371,   588,  1339,  1433,   170,
-     625,   371,  1442,  1313,  1438,  1120,   297,   694,  1122,  1405,
-    1406,  1522,   162,  1337,   335,     7,  1532,   657,   466,  1683,
-    1670,   722,   197,    49,   219,   479,  1059,  1059,   377,  1525,
-    1525,   277,   657,   880,   883,   947,   949,   950,  1016,  1010,
-     118,   118,   133,   253,   222,   292,   371,   588,   879,  1340,
-    1341,  1528,   861,  1529,  1529,  1529,  1529,  1337,  1529,  1529,
-     658,   659,   879,   879,   855,   659,   849,    81,    93,   401,
-     963,   973,   974,  1040,  1044,  1045,  1100,  1394,  1100,   401,
-    1394,  1394,  1100,  1394,   401,   401,  1394,  1394,   576,   143,
-    1394,   262,   557,   197,   401,   417,  1040,  1100,   262,  1394,
-     401,   557,   143,  1394,  1394,  1394,  1394,  1394,  1100,   401,
-      50,  1394,  1394,   891,  1394,   401,   403,    20,   576,   645,
-    1109,   401,   401,  1394,  1394,  1394,  1394,   146,   331,  1532,
-    1394,  1394,   401,  1394,   948,   659,   888,   889,  1083,   657,
-     665,   962,   975,  1524,  1532,  1393,  1662,    87,   481,   450,
-    1076,    13,    75,  1139,    99,   180,   749,   775,  1532,   162,
-     777,   663,   657,   417,  1303,  1304,  1305,  1532,   742,  1211,
-     657,   657,   657,  1337,  1529,  1529,  1339,  1529,  1337,  1529,
-    1529,  1529,  1529,  1529,  1529,  1529,  1337,  1337,  1529,   111,
-     367,   506,  1516,  1529,  1337,   687,  1529,  1338,   879,   879,
-     858,   215,  1394,   659,   852,   665,  1264,  1313,  1420,  1313,
-    1211,   658,  1211,   568,   657,  1000,  1001,  1001,  1001,   657,
-     995,   996,  1000,  1255,  1001,   252,  1001,   252,   658,   658,
-     658,    20,  1221,   658,    20,   658,   658,   658,  1241,  1211,
-    1211,   658,   658,   659,   658,   387,  1248,   659,   659,   658,
-     659,   658,   254,  1233,  1234,   658,   658,   658,   658,   659,
-     658,   658,  1211,   658,   198,   658,   658,   659,   658,   659,
-     659,   658,  1211,   658,  1211,   658,  1211,   658,   658,   658,
-     657,  1021,  1021,    21,   138,   468,   650,  1023,  1024,  1025,
-     659,   659,  1313,  1202,  1652,   658,  1639,  1283,  1646,   665,
-    1063,   658,  1257,  1213,   658,   659,   658,  1206,  1238,   658,
-     657,  1459,   432,    58,    68,    82,    94,    95,    96,   113,
-     333,   351,   464,   482,   544,   561,   774,   773,  1617,   631,
-    1620,   404,   565,  1534,   384,   652,   652,  1610,  1610,  1610,
-     657,   796,   377,  1400,  1175,  1525,  1179,   237,  1182,  1488,
-     792,  1532,   812,  1533,   812,   826,   826,   826,   658,   659,
-    1206,   897,   401,   914,   915,  1338,   899,  1537,   350,   454,
-    1198,  1391,  1392,  1522,  1396,   659,   657,  1387,   658,   658,
-     659,   665,  1635,   658,   659,   761,   201,  1611,  1611,  1611,
-    1008,  1011,  1352,  1520,  1334,   597,   658,  1639,  1286,   662,
-     261,  1292,  1292,  1278,   261,   377,   609,  1311,  1198,  1319,
-    1520,  1316,  1324,  1529,  1532,   665,   658,   658,    84,   589,
-     432,  1570,  1554,  1556,  1329,  1434,  1443,   645,   659,   659,
-    1404,  1393,   630,  1536,  1677,   130,   252,   434,   543,   958,
-     657,   722,   710,   118,  1525,   700,   701,  1525,   277,   937,
-     959,   960,   961,   962,   963,   887,   888,   659,   949,   708,
-     849,  1062,  1524,   945,    66,   197,   417,   598,   972,  1039,
-     945,  1040,  1041,  1041,   235,   944,   132,  1532,  1524,  1158,
-    1339,  1337,  1371,  1337,    13,  1084,  1092,  1093,  1532,  1158,
-    1529,  1529,  1008,  1394,  1337,   264,  1372,   264,  1371,  1371,
-     954,  1093,  1394,   191,   267,   367,   957,  1337,   132,  1532,
-    1339,  1339,  1371,  1158,  1322,  1323,  1522,   132,  1337,   132,
-    1337,  1343,   890,  1529,  1158,  1525,  1158,  1158,    86,    88,
-     132,   156,   192,   395,   439,   956,   132,  1337,   132,  1337,
-     132,  1337,  1337,  1343,  1084,   951,     6,   152,  1096,   959,
-    1532,     9,   191,  1108,   440,   971,   972,  1033,   976,   665,
-     132,  1340,  1529,  1532,   657,  1663,  1217,  1626,    24,   175,
-     711,   576,   144,   160,   713,    13,   657,  1140,   217,   659,
-     745,    90,   112,   663,  1084,   658,   659,   807,   690,   691,
-    1337,   692,   693,  1337,   688,   689,  1337,  1532,   879,   852,
-    1532,  1313,  1324,  1307,  1211,   129,   292,   371,   588,  1254,
-     371,   657,   996,  1002,    63,   119,   122,   130,   149,   194,
-     252,   354,   357,   434,   572,   601,   988,   989,  1222,  1253,
-     658,  1307,  1307,  1211,    50,   488,  1247,  1211,  1211,  1257,
-      46,   355,   658,   631,  1235,  1211,  1307,  1211,  1211,  1211,
-    1211,   658,   658,   658,  1338,   658,  1031,  1026,  1024,  1026,
-    1027,  1337,  1318,  1194,  1644,  1532,   658,  1257,  1207,  1339,
-    1464,  1465,   182,   287,   213,   565,    20,   609,  1613,   457,
-    1618,  1618,  1618,   132,  1211,  1398,  1399,   158,   159,   797,
-     155,  1182,   271,   237,   455,  1494,   659,   901,   658,   219,
-     264,   916,   658,   659,   658,  1202,   659,  1393,  1397,  1398,
-    1395,  1389,  1387,  1518,  1532,   891,  1532,  1611,  1010,  1359,
-    1328,  1643,  1311,  1266,  1263,  1278,   261,   261,  1263,  1278,
-    1268,  1269,  1301,  1302,  1202,   632,   633,   659,  1320,  1328,
-    1211,  1329,   652,  1555,  1560,  1329,  1529,   694,  1406,  1313,
-    1399,   733,   734,   735,  1532,   512,  1684,     9,    33,   836,
-     377,   635,   699,   657,   657,  1525,   658,   658,   659,   884,
-    1494,   949,  1158,   657,   264,   264,  1041,   945,  1062,  1532,
-     945,   945,  1217,   152,   494,  1084,  1524,  1081,   659,  1338,
-    1010,  1529,  1371,  1092,  1524,  1524,   631,  1529,   975,  1084,
-     659,  1328,   894,  1084,  1089,  1084,   657,   658,  1532,  1525,
+    1255,  1011,  1227,  1213,  1226,  1259,  1213,  1213,  1011,  1255,
+    1259,   660,   250,   250,  1213,  1213,  1213,  1259,  1213,  1213,
+    1213,  1213,  1213,  1216,   660,   660,  1213,  1213,  1213,  1213,
+    1213,  1213,  1259,   250,  1213,  1213,  1213,   660,  1213,  1213,
+    1213,  1213,   201,  1213,   201,  1213,   201,  1213,  1213,  1213,
+      37,    63,  1028,  1029,  1030,  1031,  1032,  1340,  1339,   660,
+     660,  1196,  1197,  1198,  1652,  1653,  1654,  1189,   660,   486,
+    1645,  1536,  1213,  1649,  1215,   660,   661,   660,  1228,  1309,
+    1309,    18,  1213,  1649,  1319,  1213,   660,   661,  1258,  1259,
+    1534,  1366,  1597,   956,  1536,  1539,  1109,   683,   647,   198,
+     631,  1459,  1460,   647,   661,   660,   661,  1612,    50,   621,
+     631,  1614,     7,  1616,   667,   667,   576,   576,   576,  1586,
+    1331,   744,  1386,   661,  1179,  1181,  1533,   636,   284,    89,
+     791,   821,   823,   826,   824,   901,   902,   903,  1534,   913,
+    1216,    50,   659,   915,   905,   647,   659,   576,   201,  1135,
+    1133,   162,   940,  1387,   659,  1392,  1397,  1392,   660,   939,
+    1388,  1520,  1521,  1524,  1534,  1390,  1308,  1534,   647,   384,
+    1611,  1538,   201,   201,   201,  1186,  1360,  1536,   661,   661,
+      21,   138,  1330,  1335,  1336,   177,  1335,  1335,  1282,  1287,
+    1292,  1265,   261,   261,   390,  1294,   273,   470,  1276,  1294,
+    1265,  1267,  1278,  1289,  1290,  1213,    50,   220,  1317,   341,
+      20,  1209,  1531,  1534,   654,  1534,   673,  1539,   565,   565,
+     432,   453,   489,  1569,  1567,  1566,  1395,  1553,   661,  1557,
+    1559,  1563,   129,   193,   292,   371,   588,  1341,  1435,   170,
+     625,   371,  1444,  1315,  1440,  1122,   297,   696,  1124,  1407,
+    1408,  1524,   162,  1339,   335,     7,  1534,   659,   466,  1685,
+    1672,   724,   197,    49,   219,   479,  1061,  1061,   377,  1527,
+    1527,   277,   659,   882,   885,   949,   951,   952,  1018,  1012,
+     118,   118,   133,   253,   222,   292,   371,   588,   881,  1342,
+    1343,  1530,   863,  1531,  1531,  1531,  1531,  1339,  1531,  1531,
+     660,   661,   881,   881,   857,   661,   851,    81,    93,   401,
+     965,   975,   976,  1042,  1046,  1047,  1102,  1396,  1102,   401,
+    1396,  1396,  1102,  1396,   401,   401,  1396,  1396,   576,   143,
+    1396,   262,   557,   197,   401,   417,  1042,  1102,   262,  1396,
+     401,   557,   143,  1396,  1396,  1396,  1396,  1396,  1102,   401,
+      50,  1396,  1396,   893,  1396,   401,   403,    20,   576,   647,
+    1111,   401,   401,  1396,  1396,  1396,  1396,   146,   331,  1534,
+    1396,  1396,   401,  1396,   950,   661,   890,   891,  1085,   659,
+     667,   964,   977,  1526,  1534,  1395,  1664,    87,   481,   450,
+    1078,    13,    75,  1141,    99,   180,   751,   777,  1534,   162,
+     779,   665,   659,   417,  1305,  1306,  1307,  1534,   744,  1213,
+     659,   659,   659,  1339,  1531,  1531,  1341,  1531,  1339,  1531,
+    1531,  1531,  1531,  1531,  1531,  1531,  1339,  1339,  1531,   111,
+     367,   506,  1518,  1531,  1339,   689,  1531,  1340,   881,   881,
+     860,   215,  1396,   661,   854,   667,  1266,  1315,  1422,  1315,
+    1213,   660,  1213,   568,   659,  1002,  1003,  1003,  1003,   659,
+     997,   998,  1002,  1257,  1003,   252,  1003,   252,   660,   660,
+     660,    20,  1223,   660,    20,   660,   660,   660,  1243,  1213,
+    1213,   660,   660,   661,   660,   387,  1250,   661,   661,   660,
+     661,   660,   254,  1235,  1236,   660,   660,   660,   660,   661,
+     660,   660,  1213,   660,   198,   660,   660,   661,   660,   661,
+     661,   660,  1213,   660,  1213,   660,  1213,   660,   660,   660,
+     659,  1023,  1023,    21,   138,   468,   652,  1025,  1026,  1027,
+     661,   661,  1315,  1204,  1654,   660,  1641,  1285,  1648,   667,
+    1065,   660,  1259,  1215,   660,   661,   660,  1208,  1240,   660,
+     659,  1461,   432,    58,    68,    82,    94,    95,    96,   113,
+     333,   351,   464,   482,   544,   561,   776,   775,  1619,   631,
+    1622,   404,   565,  1536,   384,   654,   654,  1612,  1612,  1612,
+     659,   798,   377,  1402,  1177,  1527,  1181,   237,  1184,  1490,
+     794,  1534,   814,  1535,   814,   828,   828,   828,   660,   661,
+    1208,   899,   401,   916,   917,  1340,   901,  1539,   350,   454,
+    1200,  1393,  1394,  1524,  1398,   661,   659,  1389,   660,   660,
+     661,   667,  1637,   660,   661,   763,   201,  1613,  1613,  1613,
+    1010,  1013,  1354,  1522,  1336,   597,   660,  1641,  1288,   664,
+     261,  1294,  1294,  1280,   261,   377,   609,  1313,  1200,  1321,
+    1522,  1318,  1326,  1531,  1534,   667,   660,   660,    84,   589,
+     432,  1572,  1556,  1558,  1331,  1436,  1445,   647,   661,   661,
+    1406,  1395,   630,  1538,  1679,   130,   252,   434,   543,   960,
+     659,   724,   712,   118,  1527,   702,   703,  1527,   277,   939,
+     961,   962,   963,   964,   965,   889,   890,   661,   951,   710,
+     851,  1064,  1526,   947,    66,   197,   417,   598,   974,  1041,
+     947,  1042,  1043,  1043,   235,   946,   132,  1534,  1526,  1160,
+    1341,  1339,  1373,  1339,    13,  1086,  1094,  1095,  1534,  1160,
+    1531,  1531,  1010,  1396,  1339,   264,  1374,   264,  1373,  1373,
+    1536,  1095,  1396,   191,   267,   367,   959,  1339,   132,  1534,
+    1341,  1341,  1373,  1160,  1324,  1325,  1524,   132,  1339,   132,
+    1339,  1345,   892,  1531,  1160,  1527,  1160,  1160,    86,    88,
+     132,   156,   192,   395,   439,   958,   132,  1339,   132,  1339,
+     132,  1339,  1339,  1345,  1086,   953,     6,   152,  1098,   961,
+    1534,     9,   191,  1110,   440,   973,   974,  1035,   978,   667,
+     132,  1342,  1531,  1534,   659,  1665,  1219,  1628,    24,   175,
+     713,   576,   144,   160,   715,    13,   659,  1142,   217,   661,
+     747,    90,   112,   665,  1086,   660,   661,   809,   692,   693,
+    1339,   694,   695,  1339,   690,   691,  1339,  1534,   881,   854,
+    1534,  1315,  1326,  1309,  1213,   129,   292,   371,   588,  1256,
+     371,   659,   998,  1004,    63,   119,   122,   130,   149,   194,
+     252,   354,   357,   434,   572,   601,   990,   991,  1224,  1255,
+     660,  1309,  1309,  1213,    50,   488,  1249,  1213,  1213,  1259,
+      46,   355,   660,   631,  1237,  1213,  1309,  1213,  1213,  1213,
+    1213,   660,   660,   660,  1340,   660,  1033,  1028,  1026,  1028,
+    1029,  1339,  1320,  1196,  1646,  1534,   660,  1259,  1209,  1341,
+    1466,  1467,   182,   287,   213,   565,    20,   609,  1615,   457,
+    1620,  1620,  1620,   132,  1213,  1400,  1401,   158,   159,   799,
+     155,  1184,   271,   237,   455,  1496,   661,   903,   660,   219,
+     264,   918,   660,   661,   660,  1204,   661,  1395,  1399,  1400,
+    1397,  1391,  1389,  1520,  1534,   893,  1534,  1613,  1012,  1361,
+    1330,  1645,  1313,  1268,  1265,  1280,   261,   261,  1265,  1280,
+    1270,  1271,  1303,  1304,  1204,   632,   633,   661,  1322,  1330,
+    1213,  1331,   654,  1557,  1562,  1331,  1531,   696,  1408,  1315,
+    1401,   735,   736,   737,  1534,   512,  1686,     9,    33,   838,
+     377,   635,   701,   659,   659,  1527,   660,   660,   661,   886,
+    1496,   951,  1160,   659,   264,   264,  1043,   947,  1064,  1534,
+     947,   947,  1219,   152,   494,  1086,  1526,  1083,   661,  1340,
+    1012,  1531,  1373,  1094,  1526,  1526,   631,  1531,   977,  1086,
+     661,  1330,   896,  1086,  1091,  1086,   659,   660,  1534,  1527,
       36,    37,    42,    44,    46,    47,   119,   122,   130,   149,
      167,   192,   194,   208,   209,   252,   281,   290,   291,   293,
      327,   328,   329,   346,   347,   348,   354,   357,   373,   374,
      409,   410,   434,   490,   494,   508,   566,   569,   572,   573,
-     574,   575,   615,   616,   642,   986,   987,   988,   989,   990,
-     991,   992,   993,  1532,  1532,  1664,    20,   415,  1211,  1211,
-     377,   717,   722,   377,    83,   718,  1141,   240,   198,  1532,
-     986,  1006,   198,   198,   658,  1304,   568,   658,   659,   658,
-     659,   658,   659,   278,  1335,   658,   658,   658,   658,   658,
-      22,    37,    51,   595,  1008,  1018,  1019,   659,   371,  1001,
-     995,    63,  1001,   252,  1223,   658,   658,   658,   658,  1249,
-    1511,   658,   658,   659,   658,   341,   266,   427,   658,   658,
-     658,   658,   658,   658,  1022,   658,   659,  1315,   658,   658,
-     659,    18,  1466,   384,  1529,    67,   259,   363,   529,   546,
-     637,  1606,  1607,   631,  1619,  1619,  1619,   658,   659,   742,
-     793,  1401,   251,  1532,   657,   904,   898,   917,  1532,   915,
-     939,  1392,  1399,   658,  1638,    75,  1495,  1281,   377,  1271,
-    1278,  1278,   377,  1273,  1211,   657,  1299,  1300,  1289,  1520,
-     419,  1344,  1324,   658,   659,   736,  1529,   245,   254,   392,
-     737,   738,   739,   740,   136,   247,   603,   837,   481,  1534,
-     657,  1060,  1061,  1532,  1060,   658,   882,   881,   961,    20,
-     940,  1086,  1211,   945,  1062,  1532,   609,  1052,   586,  1062,
-    1062,   179,   132,   132,   975,  1152,  1093,  1015,  1524,  1107,
-     559,  1108,  1080,  1323,  1090,  1092,  1082,  1462,   657,  1034,
-    1000,  1000,  1001,  1001,   995,   413,   657,   995,   995,  1019,
-      63,   615,   988,   990,  1019,  1019,    63,   616,   616,   619,
-     995,   657,  1001,  1001,  1001,  1019,  1000,  1001,   977,   995,
-     619,  1000,  1019,    37,  1000,  1020,  1000,  1000,  1001,  1002,
-     665,   658,   659,  1665,  1666,  1307,   504,  1529,   151,  1077,
-    1144,  1532,    13,   657,  1142,   746,  1015,   132,   776,   752,
-     753,  1337,   747,   748,   742,   691,   693,   689,   475,  1333,
-    1414,  1018,  1009,  1020,   371,  1019,  1250,  1520,  1211,   341,
-     181,   658,  1337,  1324,  1465,   144,   565,   565,   565,    18,
-    1605,   213,   318,   319,   323,   324,   325,  1621,  1622,  1399,
-     264,   559,  1205,   907,   657,   613,   918,  1194,   161,   171,
-     385,   564,  1496,  1497,   280,  1498,  1644,  1270,   609,  1272,
-     609,  1306,   196,   237,   608,  1294,  1295,  1298,  1194,  1328,
-    1532,  1354,  1355,  1335,  1678,   735,  1006,   658,   659,   735,
-     377,   711,   383,  1060,   658,   659,  1328,   657,   658,  1638,
-     947,   657,   937,   402,   657,  1087,   658,  1062,  1052,   586,
-    1059,   964,  1059,   966,   967,   122,   569,   572,   650,   651,
-    1514,  1515,  1108,  1525,  1158,  1091,  1130,   658,  1035,  1532,
-     317,  1036,   502,   601,   643,   997,   998,   999,  1064,  1511,
-     997,   997,  1019,   619,   997,  1064,  1019,   997,    28,    73,
-      83,   132,   207,   370,   377,   417,   490,   598,   978,   979,
-    1003,  1004,  1005,  1032,  1217,  1528,   528,   994,  1019,  1020,
-    1019,  1020,   997,   997,  1532,  1532,   486,   657,  1667,   712,
-     719,   720,   658,   659,  1143,   517,   519,   750,   751,   752,
-     755,  1217,  1532,  1211,  1183,   177,   475,   465,  1417,   658,
-     659,  1328,   658,   658,  1329,    64,  1606,   384,  1337,  1337,
-    1337,  1516,   371,   650,  1336,  1622,   603,  1525,   911,   547,
-     912,   909,   910,  1532,   254,   274,    83,    91,   118,   241,
-     320,   339,   362,   557,   934,   935,   936,  1437,    50,    50,
-     161,    50,  1497,   530,   564,  1499,  1500,  1211,   657,  1211,
-     657,   658,  1040,  1040,  1295,  1345,  1201,   466,  1685,   739,
-    1205,   716,   717,   657,   658,    83,   263,   631,  1047,  1051,
-    1055,  1058,  1528,  1061,   371,  1048,  1050,  1055,  1057,   887,
-     937,   885,  1338,   914,   970,   968,  1059,   657,   965,   657,
-     657,  1516,  1516,   891,   251,   658,   659,   202,   400,   503,
-     377,  1037,   999,   658,   659,   658,  1014,  1529,   366,  1007,
-    1514,    15,   603,   132,   264,    20,  1005,   264,   370,  1393,
-     645,  1189,  1185,   631,  1668,   531,   714,   777,  1532,   417,
-    1145,  1146,  1532,   659,   777,   200,   177,  1202,  1520,  1344,
-     292,   371,  1407,  1408,  1522,  1276,  1206,  1338,   658,   659,
-     920,   567,  1394,  1394,   143,   143,  1394,  1394,  1394,  1394,
-     657,   929,   936,   166,  1511,  1511,    50,  1511,    50,    50,
-    1500,  1306,  1306,   198,  1293,  1293,   657,  1679,   724,  1671,
-     713,   707,   586,   609,  1046,  1049,  1054,  1055,  1056,  1529,
-    1394,   398,  1097,  1098,  1099,  1058,  1393,  1328,   658,  1097,
-    1057,   884,   658,  1635,   658,   657,   657,   969,  1060,   657,
-    1060,  1060,   657,  1532,   136,   603,  1019,  1511,  1019,   657,
-    1208,   366,   614,   657,   132,  1340,  1529,  1532,   371,   658,
-      55,    66,   284,  1211,   163,   715,   658,   659,   751,  1328,
-    1201,   659,  1393,  1489,   658,   908,   910,   657,   922,   924,
-     919,  1529,  1529,  1394,  1394,  1340,  1340,  1338,  1534,   548,
-     930,   931,  1394,  1511,  1511,  1511,   658,   658,   215,   261,
-     387,  1297,  1296,  1205,  1346,  1347,  1348,  1006,   725,   726,
-    1626,  1686,  1525,   718,   658,  1059,  1059,  1097,  1056,  1337,
-    1528,  1099,  1098,   132,  1340,  1529,  1532,   886,  1060,  1060,
-     657,   658,  1060,   658,   658,   914,    54,   367,   462,   494,
-    1038,  1038,   658,  1338,  1208,   985,  1638,    66,   384,    66,
-    1211,  1146,  1408,  1399,  1011,   912,   657,   923,   924,   925,
-     326,   921,   924,  1529,  1529,   932,   658,   659,   954,    50,
-      50,   657,   657,  1211,   658,   659,  1680,   141,   777,   198,
-     151,  1638,   658,   658,  1060,  1046,   658,  1047,  1048,   658,
-       5,   132,   370,   377,   377,   658,   658,   384,   384,  1490,
-     658,   659,   326,   927,   928,  1214,   933,  1534,   931,  1303,
-    1305,  1206,  1348,   724,  1205,   719,  1033,  1046,   658,  1046,
-     603,   136,   405,   623,   980,   475,  1501,   924,   659,   926,
-     934,   658,   658,  1681,  1672,  1046,  1038,  1038,    83,   598,
-     981,   982,   983,   233,  1495,   928,   658,   777,   157,  1529,
-     264,   983,    50,  1498,   477,  1511,   237,  1502,  1673,   371,
-     657,  1504,   777,   280,   475,  1503,   658,   664,  1505,  1506,
-    1522,   494,  1507,  1534,   658,   659,  1508,  1509,  1522,  1506,
-     659,  1393,  1509,  1205,  1399,  1206
+     574,   575,   615,   616,   642,   988,   989,   990,   991,   992,
+     993,   994,   995,  1534,  1534,  1666,    20,   415,  1213,  1213,
+     377,   719,   724,   377,    83,   720,  1143,   240,   198,  1534,
+     988,  1008,   198,   198,   660,  1306,   568,   660,   661,   660,
+     661,   660,   661,   278,  1337,   660,   660,   660,   660,   660,
+      22,    37,    51,   595,  1010,  1020,  1021,   661,   371,  1003,
+     997,    63,  1003,   252,  1225,   660,   660,   660,   660,  1251,
+    1513,   660,   660,   661,   660,   341,   266,   427,   660,   660,
+     660,   660,   660,   660,  1024,   660,   661,  1317,   660,   660,
+     661,    18,  1468,   384,  1531,    67,   259,   363,   529,   546,
+     637,  1608,  1609,   631,  1621,  1621,  1621,   660,   661,   744,
+     795,  1403,   251,  1534,   659,   906,   900,   919,  1534,   917,
+     941,  1394,  1401,   660,  1640,    75,  1497,  1283,   377,  1273,
+    1280,  1280,   377,  1275,  1213,   659,  1301,  1302,  1291,  1522,
+     419,  1346,  1326,   660,   661,   738,  1531,   245,   254,   392,
+     739,   740,   741,   742,   136,   247,   603,   839,   481,  1536,
+     659,  1062,  1063,  1534,  1062,   660,   884,   883,   963,    20,
+     942,  1088,  1213,   947,  1064,  1534,   609,  1054,   586,  1064,
+    1064,   179,   132,   132,   977,  1154,  1095,  1017,  1526,  1109,
+     559,  1110,  1082,  1325,  1092,  1094,  1084,  1464,   659,  1036,
+    1002,  1002,  1003,  1003,   997,   413,   659,   997,   997,  1021,
+      63,   615,   990,   992,  1021,  1021,    63,   616,   616,   619,
+     997,   659,  1003,  1003,  1003,  1021,  1002,  1003,   979,   997,
+     619,  1002,  1021,    37,  1002,  1022,  1002,  1002,  1003,  1004,
+     667,   660,   661,  1667,  1668,  1309,   504,  1531,   151,  1079,
+    1146,  1534,    13,   659,  1144,   748,  1017,   132,   778,   754,
+     755,  1339,   749,   750,   744,   693,   695,   691,   475,  1335,
+    1416,  1020,  1011,  1022,   371,  1021,  1252,  1522,  1213,   341,
+     181,   660,  1339,  1326,  1467,   144,   565,   565,   565,    18,
+    1607,   213,   318,   319,   323,   324,   325,  1623,  1624,  1401,
+     264,   559,  1207,   909,   659,   613,   920,  1196,   161,   171,
+     385,   564,  1498,  1499,   280,  1500,  1646,  1272,   609,  1274,
+     609,  1308,   196,   237,   608,  1296,  1297,  1300,  1196,  1330,
+    1534,  1356,  1357,  1337,  1680,   737,  1008,   660,   661,   737,
+     377,   713,   383,  1062,   660,   661,  1330,   659,   660,  1640,
+     949,   659,   939,   402,   659,  1089,   660,  1064,  1054,   586,
+    1061,   966,  1061,   968,   969,   122,   569,   572,   652,   653,
+    1516,  1517,  1110,  1527,  1160,  1093,  1132,   660,  1037,  1534,
+     317,  1038,   502,   601,   643,   999,  1000,  1001,  1066,  1513,
+     999,   999,  1021,   619,   999,  1066,  1021,   999,    28,    73,
+      83,   132,   207,   370,   377,   417,   490,   598,   980,   981,
+    1005,  1006,  1007,  1034,  1219,  1530,   528,   996,  1021,  1022,
+    1021,  1022,   999,   999,  1534,  1534,   486,   659,  1669,   714,
+     721,   722,   660,   661,  1145,   517,   519,   752,   753,   754,
+     757,  1219,  1534,  1213,  1185,   177,   475,   465,  1419,   660,
+     661,  1330,   660,   660,  1331,    64,  1608,   384,  1339,  1339,
+    1339,  1518,   371,   652,  1338,  1624,   603,  1527,   913,   547,
+     914,   911,   912,  1534,   254,   274,    83,    91,   118,   241,
+     320,   339,   362,   557,   936,   937,   938,  1439,    50,    50,
+     161,    50,  1499,   530,   564,  1501,  1502,  1213,   659,  1213,
+     659,   660,  1042,  1042,  1297,  1347,  1203,   466,  1687,   741,
+    1207,   718,   719,   659,   660,    83,   263,   631,  1049,  1053,
+    1057,  1060,  1530,  1063,   371,  1050,  1052,  1057,  1059,   889,
+     939,   887,  1340,   916,   972,   970,  1061,   659,   967,   659,
+     659,  1518,  1518,   893,   251,   660,   661,   202,   400,   503,
+     377,  1039,  1001,   660,   661,   660,  1016,  1531,   366,  1009,
+    1516,    15,   603,   132,   264,    20,  1007,   264,   370,  1395,
+     647,  1191,  1187,   631,  1670,   531,   716,   779,  1534,   417,
+    1147,  1148,  1534,   661,   779,   200,   177,  1204,  1522,  1346,
+     292,   371,  1409,  1410,  1524,  1278,  1208,  1340,   660,   661,
+     922,   567,  1396,  1396,   143,   143,  1396,  1396,  1396,  1396,
+     659,   931,   938,   166,  1513,  1513,    50,  1513,    50,    50,
+    1502,  1308,  1308,   198,  1295,  1295,   659,  1681,   726,  1673,
+     715,   709,   586,   609,  1048,  1051,  1056,  1057,  1058,  1531,
+    1396,   398,  1099,  1100,  1101,  1060,  1395,  1330,   660,  1099,
+    1059,   886,   660,  1637,   660,   659,   659,   971,  1062,   659,
+    1062,  1062,   659,  1534,   136,   603,  1021,  1513,  1021,   659,
+    1210,   366,   614,   659,   132,  1342,  1531,  1534,   371,   660,
+      55,    66,   284,  1213,   163,   717,   660,   661,   753,  1330,
+    1203,   661,  1395,  1491,   660,   910,   912,   659,   924,   926,
+     921,  1531,  1531,  1396,  1396,  1342,  1342,  1340,  1536,   548,
+     932,   933,  1396,  1513,  1513,  1513,   660,   660,   215,   261,
+     387,  1299,  1298,  1207,  1348,  1349,  1350,  1008,   727,   728,
+    1628,  1688,  1527,   720,   660,  1061,  1061,  1099,  1058,  1339,
+    1530,  1101,  1100,   132,  1342,  1531,  1534,   888,  1062,  1062,
+     659,   660,  1062,   660,   660,   916,    54,   367,   462,   494,
+    1040,  1040,   660,  1340,  1210,   987,  1640,    66,   384,    66,
+    1213,  1148,  1410,  1401,  1013,   914,   659,   925,   926,   927,
+     326,   923,   926,  1531,  1531,   934,   660,   661,   956,    50,
+      50,   659,   659,  1213,   660,   661,  1682,   141,   779,   198,
+     151,  1640,   660,   660,  1062,  1048,   660,  1049,  1050,   660,
+       5,   132,   370,   377,   377,   660,   660,   384,   384,  1492,
+     660,   661,   326,   929,   930,  1216,   935,  1536,   933,  1305,
+    1307,  1208,  1350,   726,  1207,   721,  1035,  1048,   660,  1048,
+     603,   136,   405,   623,   982,   475,  1503,   926,   661,   928,
+     936,   660,   660,  1683,  1674,  1048,  1040,  1040,    83,   598,
+     983,   984,   985,   233,  1497,   930,   660,   779,   157,  1531,
+     264,   985,    50,  1500,   477,  1513,   237,  1504,  1675,   371,
+     659,  1506,   779,   280,   475,  1505,   660,   666,  1507,  1508,
+    1524,   494,  1509,  1536,   660,   661,  1510,  1511,  1524,  1508,
+     661,  1395,  1511,  1207,  1401,  1208
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   667,   668,   669,   668,   668,   670,   670,   671,   671,
-     671,   672,   672,   672,   672,   672,   672,   672,   672,   672,
-     672,   672,   672,   672,   672,   672,   672,   672,   672,   672,
-     672,   672,   672,   672,   672,   672,   672,   672,   672,   672,
-     672,   672,   672,   672,   672,   672,   672,   672,   672,   672,
-     672,   672,   672,   672,   672,   672,   672,   672,   672,   672,
-     672,   672,   672,   672,   672,   672,   672,   673,   674,   674,
-     675,   676,   676,   678,   677,   679,   679,   680,   680,   681,
-     683,   682,   685,   684,   686,   686,   687,   687,   687,   687,
-     687,   687,   687,   687,   687,   687,   687,   687,   687,   687,
-     687,   687,   687,   687,   687,   688,   688,   688,   689,   690,
-     690,   690,   691,   692,   692,   692,   693,   694,   694,   694,
-     694,   694,   694,   694,   695,   695,   696,   698,   697,   699,
-     697,   700,   697,   701,   697,   702,   697,   703,   697,   697,
-     697,   697,   697,   704,   697,   706,   705,   707,   707,   708,
-     708,   708,   708,   708,   708,   708,   710,   709,   712,   711,
-     711,   713,   713,   713,   713,   714,   714,   715,   715,   716,
-     716,   717,   718,   718,   720,   719,   721,   722,   722,   723,
-     723,   724,   724,   725,   725,   725,   725,   725,   725,   725,
-     726,   726,   727,   727,   729,   728,   730,   730,   731,   731,
-     732,   732,   733,   733,   734,   734,   736,   735,   737,   737,
-     738,   738,   739,   740,   740,   740,   740,   741,   741,   742,
-     742,   743,   743,   745,   744,   744,   746,   744,   744,   748,
-     747,   749,   749,   750,   750,   751,   752,   752,   753,   754,
-     754,   755,   755,   755,   755,   755,   756,   757,   757,   758,
-     758,   759,   759,   760,   760,   761,   761,   761,   762,   762,
-     762,   762,   762,   762,   762,   762,   762,   762,   762,   762,
-     763,   764,   765,   765,   766,   766,   767,   767,   768,   769,
-     769,   770,   770,   771,   772,   772,   773,   774,   774,   774,
-     774,   774,   774,   774,   774,   774,   774,   774,   774,   774,
-     775,   775,   776,   776,   777,   777,   777,   777,   777,   777,
-     777,   777,   777,   777,   777,   778,   778,   778,   778,   780,
-     779,   782,   781,   784,   783,   785,   786,   787,   789,   788,
-     790,   791,   791,   791,   792,   792,   794,   795,   796,   793,
-     797,   797,   797,   799,   798,   801,   802,   800,   800,   803,
-     803,   804,   804,   806,   807,   805,   809,   810,   808,   811,
-     811,   812,   812,   814,   813,   816,   815,   818,   817,   820,
-     819,   821,   823,   822,   825,   824,   826,   827,   829,   828,
-     830,   828,   831,   828,   833,   832,   834,   832,   835,   832,
-     836,   836,   837,   837,   837,   838,   839,   840,   841,   841,
-     842,   842,   843,   844,   845,   845,   847,   846,   848,   848,
-     848,   849,   849,   849,   850,   851,   851,   851,   852,   852,
-     852,   852,   852,   852,   852,   852,   853,   854,   854,   854,
-     855,   855,   855,   855,   855,   856,   857,   857,   857,   858,
-     858,   858,   858,   858,   858,   858,   859,   860,   860,   860,
-     861,   861,   861,   862,   863,   864,   865,   866,   867,   867,
-     867,   868,   869,   870,   871,   872,   873,   874,   875,   876,
-     877,   877,   878,   878,   879,   879,   881,   880,   880,   882,
-     880,   880,   883,   883,   884,   885,   884,   886,   884,   887,
-     888,   888,   890,   889,   891,   893,   892,   894,   895,   896,
-     895,   895,   895,   895,   895,   897,   897,   898,   898,   899,
-     899,   900,   900,   901,   902,   903,   904,   905,   905,   906,
-     907,   906,   908,   906,   909,   909,   910,   911,   912,   912,
-     913,   913,   914,   914,   916,   915,   917,   918,   919,   918,
-     920,   918,   921,   921,   922,   922,   923,   923,   925,   926,
-     924,   927,   927,   928,   928,   929,   929,   930,   930,   932,
-     931,   933,   934,   934,   935,   935,   936,   936,   936,   936,
-     936,   936,   936,   936,   936,   938,   939,   937,   940,   940,
-     941,   941,   942,   942,   943,   943,   944,   944,   945,   945,
-     946,   946,   947,   947,   948,   948,   949,   949,   949,   950,
-     950,   950,   950,   950,   950,   950,   950,   950,   950,   950,
-     950,   950,   950,   950,   950,   950,   950,   950,   950,   951,
-     950,   950,   950,   950,   950,   950,   950,   950,   950,   950,
-     950,   950,   950,   950,   950,   950,   952,   953,   954,   955,
-     956,   956,   956,   956,   956,   956,   956,   957,   957,   957,
-     958,   958,   958,   958,   959,   960,   960,   961,   961,   962,
-     962,   964,   963,   965,   963,   966,   963,   967,   963,   968,
-     963,   969,   963,   970,   963,   963,   971,   971,   972,   973,
-     973,   974,   976,   977,   975,   978,   978,   979,   979,   980,
-     980,   980,   981,   981,   982,   982,   983,   983,   983,   984,
-     985,   986,   986,   986,   986,   986,   986,   986,   986,   986,
-     986,   986,   986,   986,   986,   986,   986,   986,   986,   986,
-     986,   986,   986,   986,   986,   986,   986,   986,   986,   986,
-     986,   986,   986,   986,   986,   986,   986,   986,   986,   986,
-     987,   987,   987,   987,   987,   987,   987,   987,   988,   989,
-     989,   990,   990,   991,   991,   991,   991,   991,   992,   992,
-     992,   992,   992,   993,   993,   993,   994,   994,   995,   995,
-     995,   996,   997,   997,   998,   998,   999,   999,   999,  1000,
-    1000,  1000,  1000,  1001,  1001,  1002,  1002,  1003,  1003,  1004,
-    1004,  1005,  1005,  1005,  1005,  1005,  1005,  1005,  1005,  1005,
-    1005,  1005,  1005,  1005,  1005,  1005,  1006,  1007,  1007,  1008,
-    1008,  1009,  1009,  1010,  1010,  1011,  1011,  1012,  1012,  1013,
-    1013,  1014,  1015,  1015,  1016,  1016,  1017,  1017,  1018,  1018,
-    1018,  1019,  1019,  1019,  1019,  1019,  1020,  1020,  1022,  1021,
-    1023,  1023,  1024,  1025,  1025,  1025,  1025,  1026,  1027,  1028,
-    1028,  1029,  1030,  1030,  1031,  1031,  1032,  1032,  1033,  1034,
-    1034,  1035,  1035,  1036,  1036,  1036,  1036,  1037,  1037,  1037,
-    1037,  1037,  1038,  1038,  1038,  1038,  1038,  1039,  1039,  1040,
-    1040,  1041,  1041,  1042,  1042,  1042,  1043,  1043,  1044,  1045,
-    1046,  1046,  1047,  1047,  1048,  1048,  1049,  1049,  1050,  1050,
-    1051,  1051,  1052,  1052,  1053,  1053,  1053,  1054,  1054,  1055,
-    1055,  1055,  1055,  1055,  1055,  1056,  1056,  1057,  1058,  1058,
-    1059,  1059,  1059,  1060,  1060,  1061,  1061,  1062,  1062,  1063,
-    1063,  1064,  1064,  1066,  1067,  1065,  1068,  1065,  1065,  1069,
-    1065,  1070,  1065,  1071,  1065,  1072,  1065,  1073,  1065,  1065,
-    1065,  1065,  1065,  1074,  1065,  1075,  1075,  1075,  1075,  1076,
-    1076,  1077,  1077,  1078,  1078,  1079,  1079,  1079,  1079,  1079,
-    1079,  1079,  1079,  1079,  1079,  1080,  1079,  1079,  1081,  1079,
-    1082,  1079,  1079,  1079,  1079,  1079,  1083,  1084,  1084,  1086,
-    1085,  1087,  1087,  1087,  1089,  1088,  1090,  1091,  1090,  1092,
-    1092,  1093,  1094,  1094,  1095,  1096,  1096,  1096,  1096,  1096,
-    1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,
-    1096,  1096,  1096,  1096,  1096,  1097,  1097,  1097,  1097,  1097,
-    1098,  1098,  1099,  1099,  1100,  1100,  1101,  1101,  1103,  1102,
-    1104,  1104,  1105,  1105,  1106,  1106,  1107,  1107,  1107,  1108,
-    1108,  1108,  1109,  1109,  1109,  1109,  1111,  1110,  1112,  1110,
-    1110,  1110,  1113,  1114,  1114,  1115,  1115,  1116,  1116,  1116,
-    1118,  1117,  1119,  1119,  1120,  1120,  1120,  1121,  1121,  1121,
-    1122,  1122,  1124,  1123,  1125,  1125,  1125,  1126,  1127,  1126,
-    1129,  1128,  1130,  1130,  1131,  1131,  1132,  1132,  1132,  1133,
-    1133,  1135,  1134,  1136,  1136,  1137,  1138,  1138,  1139,  1139,
-    1140,  1141,  1140,  1142,  1143,  1142,  1144,  1144,  1144,  1145,
-    1145,  1145,  1146,  1146,  1147,  1147,  1148,  1149,  1148,  1151,
-    1150,  1152,  1152,  1153,  1153,  1154,  1154,  1154,  1154,  1154,
-    1154,  1155,  1155,  1157,  1156,  1158,  1158,  1158,  1160,  1159,
-    1159,  1161,  1161,  1162,  1162,  1163,  1165,  1164,  1166,  1166,
-    1167,  1167,  1168,  1169,  1170,  1170,  1172,  1171,  1173,  1173,
-    1174,  1174,  1175,  1176,  1178,  1177,  1180,  1179,  1181,  1181,
-    1182,  1182,  1183,  1184,  1184,  1186,  1185,  1185,  1188,  1187,
-    1187,  1190,  1189,  1191,  1191,  1191,  1193,  1192,  1194,  1195,
-    1196,  1196,  1197,  1197,  1198,  1198,  1199,  1199,  1200,  1200,
-    1200,  1201,  1201,  1201,  1202,  1202,  1202,  1203,  1203,  1204,
-    1205,  1206,  1207,  1207,  1207,  1207,  1207,  1208,  1208,  1208,
-    1209,  1209,  1209,  1210,  1210,  1211,  1211,  1211,  1211,  1211,
-    1211,  1211,  1211,  1211,  1211,  1211,  1212,  1212,  1212,  1212,
-    1212,  1212,  1213,  1213,  1213,  1213,  1213,  1213,  1213,  1213,
+       0,   669,   670,   671,   670,   670,   672,   672,   673,   673,
+     673,   674,   674,   674,   674,   674,   674,   674,   674,   674,
+     674,   674,   674,   674,   674,   674,   674,   674,   674,   674,
+     674,   674,   674,   674,   674,   674,   674,   674,   674,   674,
+     674,   674,   674,   674,   674,   674,   674,   674,   674,   674,
+     674,   674,   674,   674,   674,   674,   674,   674,   674,   674,
+     674,   674,   674,   674,   674,   674,   674,   675,   676,   676,
+     677,   678,   678,   680,   679,   681,   681,   682,   682,   683,
+     685,   684,   687,   686,   688,   688,   689,   689,   689,   689,
+     689,   689,   689,   689,   689,   689,   689,   689,   689,   689,
+     689,   689,   689,   689,   689,   690,   690,   690,   691,   692,
+     692,   692,   693,   694,   694,   694,   695,   696,   696,   696,
+     696,   696,   696,   696,   697,   697,   698,   700,   699,   701,
+     699,   702,   699,   703,   699,   704,   699,   705,   699,   699,
+     699,   699,   699,   706,   699,   708,   707,   709,   709,   710,
+     710,   710,   710,   710,   710,   710,   712,   711,   714,   713,
+     713,   715,   715,   715,   715,   716,   716,   717,   717,   718,
+     718,   719,   720,   720,   722,   721,   723,   724,   724,   725,
+     725,   726,   726,   727,   727,   727,   727,   727,   727,   727,
+     728,   728,   729,   729,   731,   730,   732,   732,   733,   733,
+     734,   734,   735,   735,   736,   736,   738,   737,   739,   739,
+     740,   740,   741,   742,   742,   742,   742,   743,   743,   744,
+     744,   745,   745,   747,   746,   746,   748,   746,   746,   750,
+     749,   751,   751,   752,   752,   753,   754,   754,   755,   756,
+     756,   757,   757,   757,   757,   757,   758,   759,   759,   760,
+     760,   761,   761,   762,   762,   763,   763,   763,   764,   764,
+     764,   764,   764,   764,   764,   764,   764,   764,   764,   764,
+     765,   766,   767,   767,   768,   768,   769,   769,   770,   771,
+     771,   772,   772,   773,   774,   774,   775,   776,   776,   776,
+     776,   776,   776,   776,   776,   776,   776,   776,   776,   776,
+     777,   777,   778,   778,   779,   779,   779,   779,   779,   779,
+     779,   779,   779,   779,   779,   780,   780,   780,   780,   782,
+     781,   784,   783,   786,   785,   787,   788,   789,   791,   790,
+     792,   793,   793,   793,   794,   794,   796,   797,   798,   795,
+     799,   799,   799,   801,   800,   803,   804,   802,   802,   805,
+     805,   806,   806,   808,   809,   807,   811,   812,   810,   813,
+     813,   814,   814,   816,   815,   818,   817,   820,   819,   822,
+     821,   823,   825,   824,   827,   826,   828,   829,   831,   830,
+     832,   830,   833,   830,   835,   834,   836,   834,   837,   834,
+     838,   838,   839,   839,   839,   840,   841,   842,   843,   843,
+     844,   844,   845,   846,   847,   847,   849,   848,   850,   850,
+     850,   851,   851,   851,   852,   853,   853,   853,   854,   854,
+     854,   854,   854,   854,   854,   854,   855,   856,   856,   856,
+     857,   857,   857,   857,   857,   858,   859,   859,   859,   860,
+     860,   860,   860,   860,   860,   860,   861,   862,   862,   862,
+     863,   863,   863,   864,   865,   866,   867,   868,   869,   869,
+     869,   870,   871,   872,   873,   874,   875,   876,   877,   878,
+     879,   879,   880,   880,   881,   881,   883,   882,   882,   884,
+     882,   882,   885,   885,   886,   887,   886,   888,   886,   889,
+     890,   890,   892,   891,   893,   895,   894,   896,   897,   898,
+     897,   897,   897,   897,   897,   899,   899,   900,   900,   901,
+     901,   902,   902,   903,   904,   905,   906,   907,   907,   908,
+     909,   908,   910,   908,   911,   911,   912,   913,   914,   914,
+     915,   915,   916,   916,   918,   917,   919,   920,   921,   920,
+     922,   920,   923,   923,   924,   924,   925,   925,   927,   928,
+     926,   929,   929,   930,   930,   931,   931,   932,   932,   934,
+     933,   935,   936,   936,   937,   937,   938,   938,   938,   938,
+     938,   938,   938,   938,   938,   940,   941,   939,   942,   942,
+     943,   943,   944,   944,   945,   945,   946,   946,   947,   947,
+     948,   948,   949,   949,   950,   950,   951,   951,   951,   952,
+     952,   952,   952,   952,   952,   952,   952,   952,   952,   952,
+     952,   952,   952,   952,   952,   952,   952,   952,   952,   953,
+     952,   952,   952,   952,   952,   952,   952,   952,   952,   952,
+     952,   952,   952,   952,   952,   952,   954,   955,   956,   957,
+     958,   958,   958,   958,   958,   958,   958,   959,   959,   959,
+     960,   960,   960,   960,   961,   962,   962,   963,   963,   964,
+     964,   966,   965,   967,   965,   968,   965,   969,   965,   970,
+     965,   971,   965,   972,   965,   965,   973,   973,   974,   975,
+     975,   976,   978,   979,   977,   980,   980,   981,   981,   982,
+     982,   982,   983,   983,   984,   984,   985,   985,   985,   986,
+     987,   988,   988,   988,   988,   988,   988,   988,   988,   988,
+     988,   988,   988,   988,   988,   988,   988,   988,   988,   988,
+     988,   988,   988,   988,   988,   988,   988,   988,   988,   988,
+     988,   988,   988,   988,   988,   988,   988,   988,   988,   988,
+     989,   989,   989,   989,   989,   989,   989,   989,   990,   991,
+     991,   992,   992,   993,   993,   993,   993,   993,   994,   994,
+     994,   994,   994,   995,   995,   995,   996,   996,   997,   997,
+     997,   998,   999,   999,  1000,  1000,  1001,  1001,  1001,  1002,
+    1002,  1002,  1002,  1003,  1003,  1004,  1004,  1005,  1005,  1006,
+    1006,  1007,  1007,  1007,  1007,  1007,  1007,  1007,  1007,  1007,
+    1007,  1007,  1007,  1007,  1007,  1007,  1008,  1009,  1009,  1010,
+    1010,  1011,  1011,  1012,  1012,  1013,  1013,  1014,  1014,  1015,
+    1015,  1016,  1017,  1017,  1018,  1018,  1019,  1019,  1020,  1020,
+    1020,  1021,  1021,  1021,  1021,  1021,  1022,  1022,  1024,  1023,
+    1025,  1025,  1026,  1027,  1027,  1027,  1027,  1028,  1029,  1030,
+    1030,  1031,  1032,  1032,  1033,  1033,  1034,  1034,  1035,  1036,
+    1036,  1037,  1037,  1038,  1038,  1038,  1038,  1039,  1039,  1039,
+    1039,  1039,  1040,  1040,  1040,  1040,  1040,  1041,  1041,  1042,
+    1042,  1043,  1043,  1044,  1044,  1044,  1045,  1045,  1046,  1047,
+    1048,  1048,  1049,  1049,  1050,  1050,  1051,  1051,  1052,  1052,
+    1053,  1053,  1054,  1054,  1055,  1055,  1055,  1056,  1056,  1057,
+    1057,  1057,  1057,  1057,  1057,  1058,  1058,  1059,  1060,  1060,
+    1061,  1061,  1061,  1062,  1062,  1063,  1063,  1064,  1064,  1065,
+    1065,  1066,  1066,  1068,  1069,  1067,  1070,  1067,  1067,  1071,
+    1067,  1072,  1067,  1073,  1067,  1074,  1067,  1075,  1067,  1067,
+    1067,  1067,  1067,  1076,  1067,  1077,  1077,  1077,  1077,  1078,
+    1078,  1079,  1079,  1080,  1080,  1081,  1081,  1081,  1081,  1081,
+    1081,  1081,  1081,  1081,  1081,  1082,  1081,  1081,  1083,  1081,
+    1084,  1081,  1081,  1081,  1081,  1081,  1085,  1086,  1086,  1088,
+    1087,  1089,  1089,  1089,  1091,  1090,  1092,  1093,  1092,  1094,
+    1094,  1095,  1096,  1096,  1097,  1098,  1098,  1098,  1098,  1098,
+    1098,  1098,  1098,  1098,  1098,  1098,  1098,  1098,  1098,  1098,
+    1098,  1098,  1098,  1098,  1098,  1099,  1099,  1099,  1099,  1099,
+    1100,  1100,  1101,  1101,  1102,  1102,  1103,  1103,  1105,  1104,
+    1106,  1106,  1107,  1107,  1108,  1108,  1109,  1109,  1109,  1110,
+    1110,  1110,  1111,  1111,  1111,  1111,  1113,  1112,  1114,  1112,
+    1112,  1112,  1115,  1116,  1116,  1117,  1117,  1118,  1118,  1118,
+    1120,  1119,  1121,  1121,  1122,  1122,  1122,  1123,  1123,  1123,
+    1124,  1124,  1126,  1125,  1127,  1127,  1127,  1128,  1129,  1128,
+    1131,  1130,  1132,  1132,  1133,  1133,  1134,  1134,  1134,  1135,
+    1135,  1137,  1136,  1138,  1138,  1139,  1140,  1140,  1141,  1141,
+    1142,  1143,  1142,  1144,  1145,  1144,  1146,  1146,  1146,  1147,
+    1147,  1147,  1148,  1148,  1149,  1149,  1150,  1151,  1150,  1153,
+    1152,  1154,  1154,  1155,  1155,  1156,  1156,  1156,  1156,  1156,
+    1156,  1157,  1157,  1159,  1158,  1160,  1160,  1160,  1162,  1161,
+    1161,  1163,  1163,  1164,  1164,  1165,  1167,  1166,  1168,  1168,
+    1169,  1169,  1170,  1171,  1172,  1172,  1174,  1173,  1175,  1175,
+    1176,  1176,  1177,  1178,  1180,  1179,  1182,  1181,  1183,  1183,
+    1184,  1184,  1185,  1186,  1186,  1188,  1187,  1187,  1190,  1189,
+    1189,  1192,  1191,  1193,  1193,  1193,  1195,  1194,  1196,  1197,
+    1198,  1198,  1199,  1199,  1200,  1200,  1201,  1201,  1202,  1202,
+    1202,  1203,  1203,  1203,  1204,  1204,  1204,  1205,  1205,  1206,
+    1207,  1208,  1209,  1209,  1209,  1209,  1209,  1210,  1210,  1210,
+    1211,  1211,  1211,  1212,  1212,  1213,  1213,  1213,  1213,  1213,
     1213,  1213,  1213,  1213,  1213,  1213,  1214,  1214,  1214,  1214,
-    1214,  1214,  1214,  1214,  1214,  1214,  1214,  1214,  1214,  1214,
-    1214,  1215,  1215,  1216,  1216,  1217,  1217,  1218,  1218,  1219,
-    1219,  1219,  1219,  1219,  1219,  1220,  1220,  1221,  1221,  1222,
-    1222,  1222,  1222,  1222,  1222,  1223,  1222,  1222,  1222,  1222,
-    1222,  1224,  1225,  1225,  1226,  1226,  1226,  1226,  1226,  1226,
-    1226,  1226,  1226,  1226,  1226,  1226,  1226,  1226,  1226,  1226,
-    1226,  1226,  1226,  1226,  1226,  1226,  1226,  1226,  1226,  1226,
-    1226,  1226,  1226,  1226,  1227,  1227,  1227,  1227,  1227,  1227,
-    1227,  1227,  1227,  1227,  1227,  1227,  1227,  1227,  1227,  1227,
-    1227,  1227,  1227,  1227,  1227,  1227,  1227,  1227,  1227,  1227,
-    1227,  1227,  1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,
+    1214,  1214,  1215,  1215,  1215,  1215,  1215,  1215,  1215,  1215,
+    1215,  1215,  1215,  1215,  1215,  1215,  1216,  1216,  1216,  1216,
+    1216,  1216,  1216,  1216,  1216,  1216,  1216,  1216,  1216,  1216,
+    1216,  1217,  1217,  1218,  1218,  1219,  1219,  1220,  1220,  1221,
+    1221,  1221,  1221,  1221,  1221,  1222,  1222,  1223,  1223,  1224,
+    1224,  1224,  1224,  1224,  1224,  1225,  1224,  1224,  1224,  1224,
+    1224,  1226,  1227,  1227,  1228,  1228,  1228,  1228,  1228,  1228,
+    1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,
     1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,
-    1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,  1228,  1229,
+    1228,  1228,  1228,  1228,  1229,  1229,  1229,  1229,  1229,  1229,
     1229,  1229,  1229,  1229,  1229,  1229,  1229,  1229,  1229,  1229,
     1229,  1229,  1229,  1229,  1229,  1229,  1229,  1229,  1229,  1229,
-    1229,  1229,  1229,  1229,  1229,  1230,  1230,  1230,  1230,  1230,
-    1230,  1230,  1230,  1232,  1231,  1231,  1233,  1233,  1234,  1234,
-    1235,  1235,  1236,  1236,  1237,  1237,  1238,  1239,  1239,  1239,
-    1239,  1239,  1239,  1239,  1240,  1241,  1239,  1239,  1239,  1239,
-    1239,  1239,  1239,  1239,  1239,  1239,  1239,  1242,  1239,  1244,
-    1243,  1245,  1245,  1245,  1246,  1246,  1247,  1247,  1248,  1249,
-    1248,  1250,  1250,  1252,  1251,  1253,  1254,  1253,  1253,  1253,
-    1253,  1253,  1253,  1253,  1253,  1253,  1253,  1253,  1255,  1253,
-    1256,  1256,  1257,  1257,  1258,  1258,  1259,  1259,  1260,  1260,
-    1261,  1261,  1262,  1262,  1263,  1263,  1264,  1265,  1265,  1266,
-    1266,  1267,  1268,  1267,  1269,  1267,  1267,  1270,  1267,  1271,
-    1267,  1267,  1272,  1267,  1273,  1267,  1267,  1274,  1274,  1274,
-    1275,  1275,  1276,  1276,  1277,  1279,  1278,  1278,  1278,  1280,
-    1281,  1280,  1282,  1284,  1283,  1286,  1285,  1288,  1289,  1287,
-    1290,  1291,  1292,  1292,  1293,  1293,  1293,  1293,  1294,  1294,
-    1296,  1295,  1297,  1295,  1298,  1298,  1299,  1300,  1299,  1302,
-    1301,  1303,  1303,  1304,  1304,  1305,  1305,  1306,  1306,  1307,
-    1307,  1307,  1307,  1307,  1307,  1307,  1307,  1307,  1307,  1307,
-    1307,  1308,  1308,  1308,  1308,  1308,  1308,  1308,  1308,  1308,
-    1309,  1309,  1309,  1309,  1310,  1310,  1310,  1311,  1311,  1312,
-    1312,  1313,  1314,  1313,  1315,  1316,  1315,  1317,  1317,  1318,
-    1318,  1319,  1319,  1320,  1320,  1320,  1321,  1322,  1322,  1323,
-    1324,  1324,  1326,  1325,  1327,  1327,  1328,  1328,  1328,  1329,
-    1329,  1330,  1331,  1331,  1331,  1332,  1332,  1332,  1333,  1333,
-    1333,  1333,  1333,  1334,  1335,  1335,  1335,  1335,  1336,  1336,
-    1336,  1337,  1337,  1337,  1337,  1337,  1337,  1338,  1338,  1338,
-    1338,  1338,  1339,  1339,  1339,  1339,  1339,  1340,  1340,  1340,
-    1340,  1340,  1341,  1342,  1342,  1343,  1343,  1344,  1345,  1344,
-    1346,  1346,  1347,  1347,  1348,  1350,  1349,  1351,  1351,  1352,
-    1353,  1353,  1354,  1354,  1356,  1355,  1358,  1359,  1357,  1357,
-    1357,  1361,  1360,  1363,  1362,  1364,  1362,  1362,  1362,  1362,
-    1362,  1362,  1362,  1365,  1362,  1362,  1362,  1362,  1362,  1362,
-    1366,  1366,  1367,  1368,  1369,  1369,  1370,  1371,  1371,  1372,
-    1372,  1373,  1373,  1375,  1376,  1374,  1378,  1379,  1377,  1380,
-    1380,  1380,  1380,  1381,  1381,  1382,  1382,  1383,  1384,  1384,
-    1384,  1385,  1384,  1386,  1386,  1387,  1387,  1388,  1387,  1389,
-    1387,  1390,  1390,  1391,  1391,  1392,  1393,  1393,  1394,  1394,
-    1396,  1395,  1397,  1397,  1398,  1398,  1399,  1399,  1400,  1401,
-    1400,  1403,  1404,  1402,  1405,  1405,  1406,  1407,  1407,  1408,
-    1409,  1409,  1411,  1410,  1413,  1414,  1412,  1415,  1412,  1416,
-    1412,  1417,  1417,  1418,  1418,  1419,  1419,  1420,  1420,  1421,
-    1421,  1422,  1422,  1422,  1424,  1423,  1425,  1425,  1426,  1426,
-    1427,  1427,  1428,  1428,  1428,  1428,  1428,  1428,  1428,  1428,
-    1428,  1429,  1429,  1431,  1430,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1433,
-    1432,  1434,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1435,  1435,
-    1435,  1436,  1436,  1437,  1437,  1438,  1438,  1439,  1439,  1440,
-    1440,  1441,  1441,  1442,  1442,  1443,  1443,  1443,  1445,  1444,
-    1446,  1444,  1447,  1447,  1447,  1447,  1447,  1448,  1448,  1449,
-    1450,  1450,  1450,  1451,  1451,  1452,  1452,  1452,  1454,  1453,
-    1456,  1455,  1455,  1457,  1457,  1458,  1459,  1458,  1460,  1460,
-    1461,  1461,  1461,  1461,  1461,  1461,  1461,  1461,  1461,  1461,
-    1461,  1461,  1461,  1461,  1461,  1461,  1462,  1462,  1463,  1463,
-    1464,  1464,  1464,  1465,  1466,  1466,  1468,  1467,  1469,  1469,
-    1471,  1470,  1472,  1470,  1470,  1473,  1473,  1474,  1474,  1476,
-    1475,  1477,  1478,  1478,  1480,  1479,  1481,  1481,  1481,  1482,
-    1482,  1482,  1482,  1483,  1483,  1484,  1485,  1487,  1488,  1489,
-    1490,  1486,  1491,  1491,  1492,  1492,  1493,  1493,  1493,  1494,
-    1494,  1494,  1495,  1495,  1496,  1496,  1497,  1497,  1497,  1497,
-    1498,  1498,  1499,  1499,  1500,  1500,  1501,  1501,  1502,  1502,
-    1503,  1503,  1504,  1504,  1504,  1505,  1505,  1506,  1506,  1507,
-    1507,  1508,  1508,  1509,  1510,  1510,  1510,  1510,  1511,  1511,
-    1512,  1512,  1512,  1513,  1514,  1514,  1514,  1515,  1515,  1515,
-    1515,  1515,  1515,  1515,  1515,  1515,  1515,  1516,  1516,  1516,
-    1516,  1516,  1517,  1517,  1517,  1518,  1518,  1519,  1519,  1520,
-    1521,  1521,  1522,  1522,  1523,  1523,  1523,  1524,  1524,  1524,
-    1524,  1525,  1525,  1525,  1526,  1526,  1527,  1528,  1528,  1529,
-    1530,  1531,  1532,  1532,  1533,  1533,  1534,  1534,  1534,  1535,
-    1535,  1535,  1536,  1536,  1537,  1538,  1538,  1538,  1538,  1538,
-    1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,
-    1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,
-    1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,
-    1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,
-    1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,  1538,
-    1538,  1538,  1538,  1538,  1538,  1538,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,  1539,
-    1539,  1539,  1539,  1539,  1539,  1541,  1540,  1542,  1543,  1540,
-    1544,  1544,  1546,  1545,  1547,  1545,  1548,  1545,  1550,  1549,
-    1549,  1551,  1551,  1553,  1552,  1554,  1552,  1556,  1555,  1555,
-    1557,  1557,  1557,  1558,  1558,  1558,  1558,  1559,  1559,  1559,
-    1559,  1560,  1561,  1561,  1561,  1561,  1561,  1561,  1561,  1561,
-    1561,  1561,  1562,  1562,  1562,  1563,  1563,  1563,  1563,  1564,
-    1565,  1566,  1566,  1567,  1567,  1567,  1567,  1568,  1568,  1569,
-    1569,  1569,  1570,  1570,  1570,  1570,  1570,  1572,  1571,  1573,
-    1573,  1574,  1574,  1575,  1576,  1576,  1576,  1576,  1576,  1578,
-    1577,  1579,  1579,  1580,  1579,  1581,  1581,  1582,  1582,  1583,
-    1583,  1583,  1583,  1584,  1583,  1585,  1585,  1585,  1585,  1585,
-    1586,  1587,  1587,  1587,  1587,  1587,  1587,  1588,  1588,  1589,
-    1590,  1590,  1590,  1590,  1590,  1591,  1591,  1592,  1592,  1593,
-    1593,  1594,  1595,  1595,  1596,  1596,  1597,  1597,  1598,  1598,
-    1599,  1599,  1601,  1600,  1602,  1600,  1603,  1600,  1604,  1600,
-    1600,  1600,  1600,  1600,  1600,  1600,  1600,  1600,  1600,  1600,
-    1600,  1600,  1600,  1600,  1600,  1600,  1600,  1600,  1600,  1600,
-    1600,  1600,  1600,  1600,  1600,  1600,  1605,  1605,  1606,  1606,
-    1607,  1607,  1607,  1608,  1608,  1608,  1608,  1609,  1609,  1610,
-    1610,  1611,  1611,  1612,  1612,  1613,  1613,  1614,  1614,  1614,
-    1614,  1614,  1615,  1615,  1616,  1616,  1617,  1618,  1618,  1618,
-    1618,  1618,  1619,  1619,  1620,  1620,  1621,  1621,  1622,  1622,
-    1622,  1622,  1622,  1622,  1624,  1623,  1625,  1626,  1626,  1627,
-    1627,  1628,  1628,  1628,  1629,  1629,  1629,  1630,  1630,  1631,
-    1632,  1632,  1633,  1634,  1635,  1635,  1637,  1636,  1638,  1638,
-    1639,  1639,  1641,  1640,  1642,  1642,  1643,  1643,  1643,  1644,
-    1644,  1645,  1646,  1645,  1647,  1648,  1649,  1650,  1650,  1651,
-    1651,  1652,  1652,  1652,  1652,  1652,  1652,  1652,  1652,  1653,
-    1653,  1653,  1654,  1654,  1654,  1654,  1654,  1655,  1655,  1655,
-    1655,  1655,  1655,  1656,  1656,  1657,  1658,  1659,  1659,  1659,
-    1660,  1660,  1660,  1662,  1661,  1663,  1663,  1664,  1664,  1666,
-    1665,  1667,  1667,  1668,  1668,  1668,  1668,  1670,  1671,  1672,
-    1673,  1669,  1674,  1674,  1675,  1677,  1678,  1679,  1680,  1681,
-    1676,  1683,  1684,  1685,  1686,  1682,  1687,  1687,  1687,  1687,
-    1687,  1687,  1688,  1688,  1688,  1689,  1689,  1690,  1690,  1690,
-    1691,  1691,  1692,  1693,  1692,  1694,  1694,  1695,  1695,  1696,
-    1696,  1697
+    1229,  1229,  1230,  1230,  1230,  1230,  1230,  1230,  1230,  1230,
+    1230,  1230,  1230,  1230,  1230,  1230,  1230,  1230,  1230,  1230,
+    1230,  1230,  1230,  1230,  1230,  1230,  1230,  1230,  1230,  1231,
+    1231,  1231,  1231,  1231,  1231,  1231,  1231,  1231,  1231,  1231,
+    1231,  1231,  1231,  1231,  1231,  1231,  1231,  1231,  1231,  1231,
+    1231,  1231,  1231,  1231,  1231,  1232,  1232,  1232,  1232,  1232,
+    1232,  1232,  1232,  1234,  1233,  1233,  1235,  1235,  1236,  1236,
+    1237,  1237,  1238,  1238,  1239,  1239,  1240,  1241,  1241,  1241,
+    1241,  1241,  1241,  1241,  1242,  1243,  1241,  1241,  1241,  1241,
+    1241,  1241,  1241,  1241,  1241,  1241,  1241,  1244,  1241,  1246,
+    1245,  1247,  1247,  1247,  1248,  1248,  1249,  1249,  1250,  1251,
+    1250,  1252,  1252,  1254,  1253,  1255,  1256,  1255,  1255,  1255,
+    1255,  1255,  1255,  1255,  1255,  1255,  1255,  1255,  1257,  1255,
+    1258,  1258,  1259,  1259,  1260,  1260,  1261,  1261,  1262,  1262,
+    1263,  1263,  1264,  1264,  1265,  1265,  1266,  1267,  1267,  1268,
+    1268,  1269,  1270,  1269,  1271,  1269,  1269,  1272,  1269,  1273,
+    1269,  1269,  1274,  1269,  1275,  1269,  1269,  1276,  1276,  1276,
+    1277,  1277,  1278,  1278,  1279,  1281,  1280,  1280,  1280,  1282,
+    1283,  1282,  1284,  1286,  1285,  1288,  1287,  1290,  1291,  1289,
+    1292,  1293,  1294,  1294,  1295,  1295,  1295,  1295,  1296,  1296,
+    1298,  1297,  1299,  1297,  1300,  1300,  1301,  1302,  1301,  1304,
+    1303,  1305,  1305,  1306,  1306,  1307,  1307,  1308,  1308,  1309,
+    1309,  1309,  1309,  1309,  1309,  1309,  1309,  1309,  1309,  1309,
+    1309,  1310,  1310,  1310,  1310,  1310,  1310,  1310,  1310,  1310,
+    1311,  1311,  1311,  1311,  1312,  1312,  1312,  1313,  1313,  1314,
+    1314,  1315,  1316,  1315,  1317,  1318,  1317,  1319,  1319,  1320,
+    1320,  1321,  1321,  1322,  1322,  1322,  1323,  1324,  1324,  1325,
+    1326,  1326,  1328,  1327,  1329,  1329,  1330,  1330,  1330,  1331,
+    1331,  1332,  1333,  1333,  1333,  1334,  1334,  1334,  1335,  1335,
+    1335,  1335,  1335,  1336,  1337,  1337,  1337,  1337,  1338,  1338,
+    1338,  1339,  1339,  1339,  1339,  1339,  1339,  1340,  1340,  1340,
+    1340,  1340,  1341,  1341,  1341,  1341,  1341,  1342,  1342,  1342,
+    1342,  1342,  1343,  1344,  1344,  1345,  1345,  1346,  1347,  1346,
+    1348,  1348,  1349,  1349,  1350,  1352,  1351,  1353,  1353,  1354,
+    1355,  1355,  1356,  1356,  1358,  1357,  1360,  1361,  1359,  1359,
+    1359,  1363,  1362,  1365,  1364,  1366,  1364,  1364,  1364,  1364,
+    1364,  1364,  1364,  1367,  1364,  1364,  1364,  1364,  1364,  1364,
+    1368,  1368,  1369,  1370,  1371,  1371,  1372,  1373,  1373,  1374,
+    1374,  1375,  1375,  1377,  1378,  1376,  1380,  1381,  1379,  1382,
+    1382,  1382,  1382,  1383,  1383,  1384,  1384,  1385,  1386,  1386,
+    1386,  1387,  1386,  1388,  1388,  1389,  1389,  1390,  1389,  1391,
+    1389,  1392,  1392,  1393,  1393,  1394,  1395,  1395,  1396,  1396,
+    1398,  1397,  1399,  1399,  1400,  1400,  1401,  1401,  1402,  1403,
+    1402,  1405,  1406,  1404,  1407,  1407,  1408,  1409,  1409,  1410,
+    1411,  1411,  1413,  1412,  1415,  1416,  1414,  1417,  1414,  1418,
+    1414,  1419,  1419,  1420,  1420,  1421,  1421,  1422,  1422,  1423,
+    1423,  1424,  1424,  1424,  1426,  1425,  1427,  1427,  1428,  1428,
+    1429,  1429,  1430,  1430,  1430,  1430,  1430,  1430,  1430,  1430,
+    1430,  1431,  1431,  1433,  1432,  1434,  1434,  1434,  1434,  1434,
+    1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,  1435,
+    1434,  1436,  1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,
+    1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,
+    1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,
+    1434,  1434,  1434,  1434,  1434,  1434,  1434,  1434,  1437,  1437,
+    1437,  1438,  1438,  1439,  1439,  1440,  1440,  1441,  1441,  1442,
+    1442,  1443,  1443,  1444,  1444,  1445,  1445,  1445,  1447,  1446,
+    1448,  1446,  1449,  1449,  1449,  1449,  1449,  1450,  1450,  1451,
+    1452,  1452,  1452,  1453,  1453,  1454,  1454,  1454,  1456,  1455,
+    1458,  1457,  1457,  1459,  1459,  1460,  1461,  1460,  1462,  1462,
+    1463,  1463,  1463,  1463,  1463,  1463,  1463,  1463,  1463,  1463,
+    1463,  1463,  1463,  1463,  1463,  1463,  1464,  1464,  1465,  1465,
+    1466,  1466,  1466,  1467,  1468,  1468,  1470,  1469,  1471,  1471,
+    1473,  1472,  1474,  1472,  1472,  1475,  1475,  1476,  1476,  1478,
+    1477,  1479,  1480,  1480,  1482,  1481,  1483,  1483,  1483,  1484,
+    1484,  1484,  1484,  1485,  1485,  1486,  1487,  1489,  1490,  1491,
+    1492,  1488,  1493,  1493,  1494,  1494,  1495,  1495,  1495,  1496,
+    1496,  1496,  1497,  1497,  1498,  1498,  1499,  1499,  1499,  1499,
+    1500,  1500,  1501,  1501,  1502,  1502,  1503,  1503,  1504,  1504,
+    1505,  1505,  1506,  1506,  1506,  1507,  1507,  1508,  1508,  1509,
+    1509,  1510,  1510,  1511,  1512,  1512,  1512,  1512,  1513,  1513,
+    1514,  1514,  1514,  1515,  1516,  1516,  1516,  1517,  1517,  1517,
+    1517,  1517,  1517,  1517,  1517,  1517,  1517,  1518,  1518,  1518,
+    1518,  1518,  1519,  1519,  1519,  1520,  1520,  1521,  1521,  1522,
+    1523,  1523,  1524,  1524,  1525,  1525,  1525,  1526,  1526,  1526,
+    1526,  1527,  1527,  1527,  1528,  1528,  1529,  1530,  1530,  1531,
+    1532,  1533,  1534,  1534,  1535,  1535,  1536,  1536,  1536,  1537,
+    1537,  1537,  1538,  1538,  1539,  1540,  1540,  1540,  1540,  1540,
+    1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,
+    1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,
+    1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,
+    1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,
+    1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,  1540,
+    1540,  1540,  1540,  1540,  1540,  1540,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,  1541,
+    1541,  1541,  1541,  1541,  1541,  1543,  1542,  1544,  1545,  1542,
+    1546,  1546,  1548,  1547,  1549,  1547,  1550,  1547,  1552,  1551,
+    1551,  1553,  1553,  1555,  1554,  1556,  1554,  1558,  1557,  1557,
+    1559,  1559,  1559,  1560,  1560,  1560,  1560,  1561,  1561,  1561,
+    1561,  1562,  1563,  1563,  1563,  1563,  1563,  1563,  1563,  1563,
+    1563,  1563,  1564,  1564,  1564,  1565,  1565,  1565,  1565,  1566,
+    1567,  1568,  1568,  1569,  1569,  1569,  1569,  1570,  1570,  1571,
+    1571,  1571,  1572,  1572,  1572,  1572,  1572,  1574,  1573,  1575,
+    1575,  1576,  1576,  1577,  1578,  1578,  1578,  1578,  1578,  1580,
+    1579,  1581,  1581,  1582,  1581,  1583,  1583,  1584,  1584,  1585,
+    1585,  1585,  1585,  1586,  1585,  1587,  1587,  1587,  1587,  1587,
+    1588,  1589,  1589,  1589,  1589,  1589,  1589,  1590,  1590,  1591,
+    1592,  1592,  1592,  1592,  1592,  1593,  1593,  1594,  1594,  1595,
+    1595,  1596,  1597,  1597,  1598,  1598,  1599,  1599,  1600,  1600,
+    1601,  1601,  1603,  1602,  1604,  1602,  1605,  1602,  1606,  1602,
+    1602,  1602,  1602,  1602,  1602,  1602,  1602,  1602,  1602,  1602,
+    1602,  1602,  1602,  1602,  1602,  1602,  1602,  1602,  1602,  1602,
+    1602,  1602,  1602,  1602,  1602,  1602,  1607,  1607,  1608,  1608,
+    1609,  1609,  1609,  1610,  1610,  1610,  1610,  1611,  1611,  1612,
+    1612,  1613,  1613,  1614,  1614,  1615,  1615,  1616,  1616,  1616,
+    1616,  1616,  1617,  1617,  1618,  1618,  1619,  1620,  1620,  1620,
+    1620,  1620,  1621,  1621,  1622,  1622,  1623,  1623,  1624,  1624,
+    1624,  1624,  1624,  1624,  1626,  1625,  1627,  1628,  1628,  1629,
+    1629,  1630,  1630,  1630,  1631,  1631,  1631,  1632,  1632,  1633,
+    1634,  1634,  1635,  1636,  1637,  1637,  1639,  1638,  1640,  1640,
+    1641,  1641,  1643,  1642,  1644,  1644,  1645,  1645,  1645,  1646,
+    1646,  1647,  1648,  1647,  1649,  1650,  1651,  1652,  1652,  1653,
+    1653,  1654,  1654,  1654,  1654,  1654,  1654,  1654,  1654,  1655,
+    1655,  1655,  1656,  1656,  1656,  1656,  1656,  1657,  1657,  1657,
+    1657,  1657,  1657,  1658,  1658,  1659,  1660,  1661,  1661,  1661,
+    1662,  1662,  1662,  1664,  1663,  1665,  1665,  1666,  1666,  1668,
+    1667,  1669,  1669,  1670,  1670,  1670,  1670,  1672,  1673,  1674,
+    1675,  1671,  1676,  1676,  1677,  1679,  1680,  1681,  1682,  1683,
+    1678,  1685,  1686,  1687,  1688,  1684,  1689,  1689,  1689,  1689,
+    1689,  1689,  1690,  1690,  1690,  1691,  1691,  1692,  1692,  1692,
+    1693,  1693,  1694,  1695,  1694,  1696,  1696,  1697,  1697,  1698,
+    1698,  1699
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -19944,7 +19965,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             thd->lex->sql_command= SQLCOM_EMPTY_QUERY;
             YYLIP->found_semicolon= NULL;
           }
-#line 19948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 19969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 3:
@@ -19971,7 +19992,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               lip->found_semicolon= NULL;
             }
           }
-#line 19975 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 19996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 5:
@@ -19980,7 +20001,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* Single query, not terminated. */
             YYLIP->found_semicolon= NULL;
           }
-#line 19984 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20005 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 67:
@@ -19990,7 +20011,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_DEALLOCATE_PREPARE;
             lex->prepared_stmt_name= (yyvsp[0].lex_str);
           }
-#line 19994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 70:
@@ -20000,7 +20021,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_PREPARE;
             lex->prepared_stmt_name= (yyvsp[-2].lex_str);
           }
-#line 20004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 71:
@@ -20010,7 +20031,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->prepared_stmt_code= (yyvsp[0].lex_str);
             lex->prepared_stmt_code_is_varref= FALSE;
           }
-#line 20014 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20035 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 72:
@@ -20020,7 +20041,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->prepared_stmt_code= (yyvsp[0].lex_str);
             lex->prepared_stmt_code_is_varref= TRUE;
           }
-#line 20024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 73:
@@ -20030,13 +20051,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_EXECUTE;
             lex->prepared_stmt_name= (yyvsp[0].lex_str);
           }
-#line 20034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 74:
 #line 2183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 20040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20061 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 79:
@@ -20048,7 +20069,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                                                thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 20052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 80:
@@ -20057,7 +20078,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (Lex->sphead)
               my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HELP"));
           }
-#line 20061 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 81:
@@ -20067,7 +20088,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_HELP;
             lex->help_arg= (yyvsp[0].lex_str).str;
           }
-#line 20071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20092 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 82:
@@ -20075,13 +20096,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->sql_command = SQLCOM_CHANGE_MASTER;
           }
-#line 20079 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 83:
 #line 2231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 20085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 86:
@@ -20089,7 +20110,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.host = (yyvsp[0].lex_str).str;
           }
-#line 20093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 87:
@@ -20097,7 +20118,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.user = (yyvsp[0].lex_str).str;
           }
-#line 20101 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 88:
@@ -20105,7 +20126,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.password = (yyvsp[0].lex_str).str;
           }
-#line 20109 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 89:
@@ -20113,7 +20134,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.port = (yyvsp[0].ulong_num);
           }
-#line 20117 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 90:
@@ -20121,7 +20142,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.connect_retry = (yyvsp[0].ulong_num);
           }
-#line 20125 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20146 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 91:
@@ -20130,7 +20151,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->mi.ssl= (yyvsp[0].ulong_num) ? 
               LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
           }
-#line 20134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20155 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 92:
@@ -20138,7 +20159,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.ssl_ca= (yyvsp[0].lex_str).str;
           }
-#line 20142 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 93:
@@ -20146,7 +20167,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.ssl_capath= (yyvsp[0].lex_str).str;
           }
-#line 20150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 94:
@@ -20154,7 +20175,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.ssl_cert= (yyvsp[0].lex_str).str;
           }
-#line 20158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 95:
@@ -20162,7 +20183,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str;
           }
-#line 20166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 96:
@@ -20170,7 +20191,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.ssl_key= (yyvsp[0].lex_str).str;
           }
-#line 20174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 97:
@@ -20179,7 +20200,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ?
               LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
           }
-#line 20183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 98:
@@ -20187,7 +20208,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.ssl_crl= (yyvsp[0].lex_str).str;
           }
-#line 20191 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20212 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 99:
@@ -20195,7 +20216,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.ssl_crlpath= (yyvsp[0].lex_str).str;
           }
-#line 20199 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20220 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 100:
@@ -20226,7 +20247,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             Lex->mi.heartbeat_opt=  LEX_MASTER_INFO::LEX_MI_ENABLE;
           }
-#line 20230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 101:
@@ -20234,7 +20255,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
            }
-#line 20238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 102:
@@ -20242,7 +20263,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.repl_do_domain_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
           }
-#line 20246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 103:
@@ -20250,7 +20271,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.repl_ignore_domain_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
           }
-#line 20254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 108:
@@ -20258,7 +20279,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             insert_dynamic(&Lex->mi.repl_ignore_server_ids, (uchar*) &((yyvsp[0].ulong_num)));
           }
-#line 20262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 112:
@@ -20266,7 +20287,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             insert_dynamic(&Lex->mi.repl_do_domain_ids, (uchar*) &((yyvsp[0].ulong_num)));
           }
-#line 20270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 116:
@@ -20274,7 +20295,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             insert_dynamic(&Lex->mi.repl_ignore_domain_ids, (uchar*) &((yyvsp[0].ulong_num)));
           }
-#line 20278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 117:
@@ -20282,7 +20303,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.log_file_name = (yyvsp[0].lex_str).str;
           }
-#line 20286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20307 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 118:
@@ -20301,7 +20322,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             Lex->mi.pos= MY_MAX(BIN_LOG_HEADER_SIZE, (yyvsp[0].ulonglong_number));
           }
-#line 20305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 119:
@@ -20309,7 +20330,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
     {
             Lex->mi.relay_log_name = (yyvsp[0].lex_str).str;
           }
-#line 20313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 120:
@@ -20319,7 +20340,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */
             Lex->mi.relay_log_pos= MY_MAX(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos);
           }
-#line 20323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 121:
@@ -20329,7 +20350,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid"));
             Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_CURRENT_POS;
           }
-#line 20333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 122:
@@ -20339,7 +20360,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid"));
             Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_SLAVE_POS;
           }
-#line 20343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20364 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 123:
@@ -20349,7 +20370,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid"));
             Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_NO;
           }
-#line 20353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 124:
@@ -20358,7 +20379,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             LEX *lex= thd->lex;
             lex->mi.connection_name= null_lex_str;
           }
-#line 20362 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 126:
@@ -20370,13 +20391,15 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_WRONG_ARGUMENTS, MYF(0), "MASTER_CONNECTION_NAME"));
 #endif
          }
-#line 20374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 127:
 #line 2455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
+            if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_create_table()))
+              MYSQL_YYABORT;
             lex->create_info.init();
             if (lex->set_command_with_check(SQLCOM_CREATE_TABLE, (yyvsp[-3].num), (yyvsp[-4].object_ddl_options) | (yyvsp[-1].object_ddl_options)))
                MYSQL_YYABORT;
@@ -20394,102 +20417,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->name= null_lex_str;
             lex->create_last_non_select_table= lex->last_table();
           }
-#line 20398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 128:
-#line 2475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->current_select= &lex->select_lex; 
-            if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
-                !lex->create_info.db_type)
-            {
-              lex->create_info.use_default_db_type(thd);
-              push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
-                                  ER_WARN_USING_OTHER_HANDLER,
-                                  ER_THD(thd, ER_WARN_USING_OTHER_HANDLER),
-                                  hton_name(lex->create_info.db_type)->str,
-                                  (yyvsp[-2].table)->table.str);
-            }
             create_table_set_open_action_and_adjust_tables(lex);
           }
-#line 20418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 129:
-#line 2493 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2485 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_create_index_prepare(Lex, (yyvsp[0].table)))
               MYSQL_YYABORT;
             if (Lex->add_create_index((yyvsp[-6].key_type), (yyvsp[-3].lex_str), (yyvsp[-2].key_alg), (yyvsp[-7].object_ddl_options) | (yyvsp[-4].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 20429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 130:
-#line 2500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 20435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 131:
-#line 2503 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_create_index_prepare(Lex, (yyvsp[0].table)))
               MYSQL_YYABORT;
             if (Lex->add_create_index((yyvsp[-5].key_type), (yyvsp[-2].lex_str), HA_KEY_ALG_UNDEF, (yyvsp[-6].object_ddl_options) | (yyvsp[-3].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 20446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20459 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 132:
-#line 2510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 20452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 133:
-#line 2513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_create_index_prepare(Lex, (yyvsp[0].table)))
               MYSQL_YYABORT;
             if (Lex->add_create_index((yyvsp[-5].key_type), (yyvsp[-2].lex_str), HA_KEY_ALG_UNDEF, (yyvsp[-6].object_ddl_options) | (yyvsp[-3].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 20463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 134:
-#line 2520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 20469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 135:
-#line 2522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.default_table_charset= NULL;
             Lex->create_info.used_fields= 0;
           }
-#line 20478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 136:
-#line 2527 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->set_command_with_check(SQLCOM_CREATE_DB, 0, (yyvsp[-5].object_ddl_options) | (yyvsp[-3].object_ddl_options)))
                MYSQL_YYABORT;
             lex->name= (yyvsp[-2].lex_str);
           }
-#line 20489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 137:
-#line 2534 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.set((yyvsp[0].object_ddl_options));
             Lex->create_view_mode= ((yyvsp[0].object_ddl_options).or_replace() ? VIEW_CREATE_OR_REPLACE :
@@ -20497,141 +20510,141 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED;
             Lex->create_view_suid= TRUE;
           }
-#line 20501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 138:
-#line 2541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 20507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 139:
-#line 2543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2535 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->set_command_with_check(SQLCOM_CREATE_USER, (yyvsp[-4].object_ddl_options) | (yyvsp[-2].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 20516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 140:
-#line 2549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->set_command_with_check(SQLCOM_CREATE_ROLE, (yyvsp[-5].object_ddl_options) | (yyvsp[-3].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 20525 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 141:
-#line 2554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP;
           }
-#line 20533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 142:
-#line 2558 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2550 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE;
           }
-#line 20541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20554 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 143:
-#line 2561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->set_command(SQLCOM_CREATE_SERVER, (yyvsp[0].object_ddl_options)); }
-#line 20547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 144:
-#line 2563 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 20553 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 145:
-#line 2568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->add_create_options_with_check((yyvsp[-1].object_ddl_options)))
               MYSQL_YYABORT;
             Lex->server_options.reset((yyvsp[0].lex_str));
           }
-#line 20563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 146:
-#line 2575 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2567 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->server_options.scheme= (yyvsp[-4].lex_str); }
-#line 20569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 149:
-#line 2585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS(Lex->server_options.username.str == 0);
             Lex->server_options.username= (yyvsp[0].lex_str);
           }
-#line 20578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 150:
-#line 2590 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS(Lex->server_options.host.str == 0);
             Lex->server_options.host= (yyvsp[0].lex_str);
           }
-#line 20587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 151:
-#line 2595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2587 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS(Lex->server_options.db.str == 0);
             Lex->server_options.db= (yyvsp[0].lex_str);
           }
-#line 20596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 152:
-#line 2600 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2592 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS(Lex->server_options.owner.str == 0);
             Lex->server_options.owner= (yyvsp[0].lex_str);
           }
-#line 20605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 153:
-#line 2605 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS(Lex->server_options.password.str == 0);
             Lex->server_options.password= (yyvsp[0].lex_str);
           }
-#line 20614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 154:
-#line 2610 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS(Lex->server_options.socket.str == 0);
             Lex->server_options.socket= (yyvsp[0].lex_str);
           }
-#line 20623 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 155:
-#line 2615 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->server_options.port= (yyvsp[0].ulong_num);
           }
-#line 20631 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 156:
-#line 2622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2614 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
@@ -20647,11 +20660,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_CREATE_EVENT;
             /* We need that for disallowing subqueries */
           }
-#line 20651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 157:
-#line 2642 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               sql_command is set here because some rules in ev_sql_stmt
@@ -20659,123 +20672,123 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             Lex->sql_command= SQLCOM_CREATE_EVENT;
           }
-#line 20663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 158:
-#line 2653 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2645 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->item_expression= (yyvsp[-1].item);
             Lex->event_parse_data->interval= (yyvsp[0].interval);
           }
-#line 20672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20685 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 160:
-#line 2660 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->item_execute_at= (yyvsp[0].item);
           }
-#line 20680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 161:
-#line 2666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 20686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20699 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 162:
-#line 2668 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2660 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->status= Event_parse_data::ENABLED;
             Lex->event_parse_data->status_changed= true;
             (yyval.num)= 1;
           }
-#line 20696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 163:
-#line 2674 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED;
             Lex->event_parse_data->status_changed= true; 
             (yyval.num)= 1;
           }
-#line 20706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 164:
-#line 2680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2672 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->status= Event_parse_data::DISABLED;
             Lex->event_parse_data->status_changed= true;
             (yyval.num)= 1;
           }
-#line 20716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 165:
-#line 2689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2681 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_func_now_local(thd, 0);
             if (item == NULL)
               MYSQL_YYABORT;
             Lex->event_parse_data->item_starts= item;
           }
-#line 20727 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 166:
-#line 2696 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2688 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->item_starts= (yyvsp[0].item);
           }
-#line 20735 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 168:
-#line 2704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2696 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->item_ends= (yyvsp[0].item);
           }
-#line 20743 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 169:
-#line 2710 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2702 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 20749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 171:
-#line 2716 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2708 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->on_completion= (yyvsp[-1].num)
                                     ? Event_parse_data::ON_COMPLETION_DROP
                                     : Event_parse_data::ON_COMPLETION_PRESERVE;
             (yyval.num)= 1;
           }
-#line 20760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20773 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 172:
-#line 2725 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2717 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 20766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 173:
-#line 2727 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->comment= Lex->event_parse_data->comment= (yyvsp[0].lex_str);
             (yyval.num)= 1;
           }
-#line 20775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 174:
-#line 2734 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2726 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -20806,11 +20819,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sp_chistics.suid= SP_IS_SUID;  //always the definer!
             lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
           }
-#line 20810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20823 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 175:
-#line 2765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2757 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
 
@@ -20820,11 +20833,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             lex->event_parse_data->body_changed= TRUE;
           }
-#line 20824 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20837 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 176:
-#line 2778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2770 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
            LEX *lex=Lex;
            lex->users_list.empty();
@@ -20836,11 +20849,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
            lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0;
            bzero((char *)&(lex->mqh),sizeof(lex->mqh));
          }
-#line 20840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 177:
-#line 2793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!(yyvsp[-2].lex_str).str || check_db_name(&(yyvsp[-2].lex_str)))
               my_yyabort_error((ER_WRONG_DB_NAME, MYF(0), (yyvsp[-2].lex_str).str));
@@ -20851,11 +20864,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             (yyval.spname)->init_qname(thd);
           }
-#line 20855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 178:
-#line 2804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             LEX_STRING db;
@@ -20870,105 +20883,105 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             (yyval.spname)->init_qname(thd);
           }
-#line 20874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 179:
-#line 2821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 20880 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 180:
-#line 2822 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2814 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 20886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 181:
-#line 2826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 20892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20905 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 182:
-#line 2827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 20898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 183:
-#line 2833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.comment= (yyvsp[0].lex_str); }
-#line 20904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20917 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 184:
-#line 2835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* Just parse it, we only have one language for now. */ }
-#line 20910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 185:
-#line 2837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2829 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.daccess= SP_NO_SQL; }
-#line 20916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 186:
-#line 2839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; }
-#line 20922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20935 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 187:
-#line 2841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; }
-#line 20928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 188:
-#line 2843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; }
-#line 20934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 189:
-#line 2845 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 20940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 190:
-#line 2850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2842 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 20946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 191:
-#line 2851 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.detistic= ! (yyvsp[-1].num); }
-#line 20952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 192:
-#line 2856 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sp_chistics.suid= SP_IS_SUID;
           }
-#line 20960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 193:
-#line 2860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2852 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sp_chistics.suid= SP_IS_NOT_SUID;
           }
-#line 20968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20981 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 194:
-#line 2867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex = Lex;
 
@@ -20977,33 +20990,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->value_list.empty();
             sp_add_used_routine(lex, thd, (yyvsp[0].spname), TYPE_ENUM_PROCEDURE);
           }
-#line 20981 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 20994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 195:
-#line 2875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 20987 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 200:
-#line 2891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
            Lex->value_list.push_back((yyvsp[0].item), thd->mem_root);
           }
-#line 20995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 201:
-#line 2895 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->value_list.push_back((yyvsp[0].item), thd->mem_root);
           }
-#line 21003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 206:
-#line 2913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2905 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
@@ -21017,11 +21030,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                  thd->variables.collation_database);
             (yyval.spvar)= spvar;
           }
-#line 21021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 207:
-#line 2927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_variable *spvar= (yyvsp[-1].spvar);
@@ -21037,61 +21050,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             (yyval.spvar)= spvar;
           }
-#line 21041 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 212:
-#line 2956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyvsp[0].spvar)->mode=(yyvsp[-1].spvar_mode); }
-#line 21047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 213:
-#line 2960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.spvar_mode)= sp_variable::MODE_IN; }
-#line 21053 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 214:
-#line 2961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.spvar_mode)= sp_variable::MODE_IN; }
-#line 21059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 215:
-#line 2962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.spvar_mode)= sp_variable::MODE_OUT; }
-#line 21065 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 216:
-#line 2963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.spvar_mode)= sp_variable::MODE_INOUT; }
-#line 21071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 217:
-#line 2967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 21077 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 219:
-#line 2972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 21083 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 221:
-#line 2978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
           }
-#line 21091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21104 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 222:
-#line 2982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* We check for declarations out of (standard) order this way
               because letting the grammar rules reflect it caused tricky
@@ -21106,11 +21119,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.spblock).hndlrs= (yyvsp[-2].spblock).hndlrs + (yyvsp[-1].spblock).hndlrs;
             (yyval.spblock).curs= (yyvsp[-2].spblock).curs + (yyvsp[-1].spblock).curs;
           }
-#line 21110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21123 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 223:
-#line 3000 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 2992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *pctx= lex->spcont;
@@ -21125,11 +21138,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             thd->lex->init_last_field(&spvar->field_def, spvar->name.str,
                                       thd->variables.collation_database);
           }
-#line 21129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21142 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 224:
-#line 3016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *pctx= lex->spcont;
@@ -21185,11 +21198,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.spblock).vars= (yyvsp[-3].num);
             (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
           }
-#line 21189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 225:
-#line 3072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
@@ -21201,11 +21214,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
             (yyval.spblock).conds= 1;
           }
-#line 21205 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21218 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 226:
-#line 3084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -21232,11 +21245,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (sp->push_backpatch(i, ctx->push_label(thd, empty_lex_str, 0)))
               MYSQL_YYABORT;
           }
-#line 21236 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 227:
-#line 3111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -21268,11 +21281,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0;
             (yyval.spblock).hndlrs= 1;
           }
-#line 21272 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 228:
-#line 3143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -21291,19 +21304,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0;
             (yyval.spblock).curs= 1;
           }
-#line 21295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21308 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 229:
-#line 3164 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sphead->reset_lex(thd);
           }
-#line 21303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 230:
-#line 3168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -21316,35 +21329,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
           }
-#line 21320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 231:
-#line 3183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= sp_handler::EXIT; }
-#line 21326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 232:
-#line 3184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= sp_handler::CONTINUE; }
-#line 21332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21345 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 233:
-#line 3190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 21338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 234:
-#line 3192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)+= 1; }
-#line 21344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 235:
-#line 3197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -21356,11 +21369,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             sp_instr_hpush_jump *i= (sp_instr_hpush_jump *)sp->last_instruction();
             i->add_condition((yyvsp[0].spcondvalue));
           }
-#line 21360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21373 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 236:
-#line 3212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* mysql errno */
             if ((yyvsp[0].ulong_num) == 0)
               my_yyabort_error((ER_WRONG_VALUE, MYF(0), "CONDITION", "0"));
@@ -21368,11 +21381,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.spcondvalue) == NULL)
               MYSQL_YYABORT;
           }
-#line 21372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 238:
-#line 3224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* SQLSTATE */
 
             /*
@@ -21388,71 +21401,71 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.spcondvalue) == NULL)
               MYSQL_YYABORT;
           }
-#line 21392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 239:
-#line 3242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 21398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 240:
-#line 3243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 21404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 241:
-#line 3248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spcondvalue)= (yyvsp[0].spcondvalue);
           }
-#line 21412 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 242:
-#line 3252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spcondvalue)= Lex->spcont->find_condition((yyvsp[0].lex_str), false);
             if ((yyval.spcondvalue) == NULL)
               my_yyabort_error((ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str));
           }
-#line 21422 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 243:
-#line 3258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::WARNING);
             if ((yyval.spcondvalue) == NULL)
               MYSQL_YYABORT;
           }
-#line 21432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 244:
-#line 3264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::NOT_FOUND);
             if ((yyval.spcondvalue) == NULL)
               MYSQL_YYABORT;
           }
-#line 21442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 245:
-#line 3270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::EXCEPTION);
             if ((yyval.spcondvalue) == NULL)
               MYSQL_YYABORT;
           }
-#line 21452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 246:
-#line 3279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Yacc_state *state= & thd->m_parser_state->m_yacc;
@@ -21463,11 +21476,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 21467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 247:
-#line 3293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3285 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_condition_value *cond;
@@ -21482,37 +21495,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_SIGNAL_BAD_CONDITION_TYPE, MYF(0)));
             (yyval.spcondvalue)= cond;
           }
-#line 21486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21499 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 248:
-#line 3308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); }
-#line 21492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21505 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 249:
-#line 3313 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.spcondvalue)= NULL; }
-#line 21498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 250:
-#line 3315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); }
-#line 21504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21517 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 251:
-#line 3320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             thd->m_parser_state->m_yacc.m_set_signal_info.clear();
           }
-#line 21512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21525 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 253:
-#line 3328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Set_signal_information *info;
             info= &thd->m_parser_state->m_yacc.m_set_signal_info;
@@ -21520,11 +21533,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             info->clear();
             info->m_item[index]= (yyvsp[0].item);
           }
-#line 21524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21537 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 254:
-#line 3337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Set_signal_information *info;
             info= &thd->m_parser_state->m_yacc.m_set_signal_info;
@@ -21534,17 +21547,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                 Diag_condition_item_names[index].str));
             info->m_item[index]= (yyvsp[0].item);
           }
-#line 21538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21551 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 255:
-#line 3353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item); }
-#line 21544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 256:
-#line 3355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].item)->type() == Item::FUNC_ITEM)
             {
@@ -21562,89 +21575,89 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             (yyval.item)= (yyvsp[0].item);
           }
-#line 21566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 257:
-#line 3373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item); }
-#line 21572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 258:
-#line 3379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; }
-#line 21578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 259:
-#line 3381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; }
-#line 21584 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 260:
-#line 3383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3375 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; }
-#line 21590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 261:
-#line 3385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3377 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; }
-#line 21596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 262:
-#line 3387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; }
-#line 21602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 263:
-#line 3389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; }
-#line 21608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 264:
-#line 3391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; }
-#line 21614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 265:
-#line 3393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; }
-#line 21620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 266:
-#line 3395 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; }
-#line 21626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 267:
-#line 3397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; }
-#line 21632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21645 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 268:
-#line 3399 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; }
-#line 21638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 269:
-#line 3401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; }
-#line 21644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 270:
-#line 3406 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Yacc_state *state= & thd->m_parser_state->m_yacc;
@@ -21656,11 +21669,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 21660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 271:
-#line 3421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Diagnostics_information *info= (yyvsp[0].diag_info);
 
@@ -21672,73 +21685,73 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (Lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 21676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 272:
-#line 3436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3428 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; }
-#line 21682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 273:
-#line 3438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; }
-#line 21688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 274:
-#line 3443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3435 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.diag_info)= new (thd->mem_root) Statement_information((yyvsp[0].stmt_info_list));
             if ((yyval.diag_info) == NULL)
               MYSQL_YYABORT;
           }
-#line 21698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 275:
-#line 3449 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.diag_info)= new (thd->mem_root) Condition_information((yyvsp[-1].item), (yyvsp[0].cond_info_list));
             if ((yyval.diag_info) == NULL)
               MYSQL_YYABORT;
           }
-#line 21708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21721 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 276:
-#line 3458 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.stmt_info_list)= new (thd->mem_root) List;
             if ((yyval.stmt_info_list) == NULL || (yyval.stmt_info_list)->push_back((yyvsp[0].stmt_info_item), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 21718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 277:
-#line 3464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[-2].stmt_info_list)->push_back((yyvsp[0].stmt_info_item), thd->mem_root))
               MYSQL_YYABORT;
             (yyval.stmt_info_list)= (yyvsp[-2].stmt_info_list);
           }
-#line 21728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 278:
-#line 3473 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.stmt_info_item)= new (thd->mem_root) Statement_information_item((yyvsp[0].stmt_info_item_name), (yyvsp[-2].item));
             if ((yyval.stmt_info_item) == NULL)
               MYSQL_YYABORT;
           }
-#line 21738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 279:
-#line 3481 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3473 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex_input_stream *lip= &thd->m_parser_state->m_lip;
             (yyval.item)= create_item_for_sp_var(thd, (yyvsp[0].lex_str), NULL,
@@ -21747,147 +21760,147 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 21751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 280:
-#line 3490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_get_user_var(thd, (yyvsp[0].lex_str));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 21761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 281:
-#line 3499 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; }
-#line 21767 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 282:
-#line 3501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3493 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.stmt_info_item_name)= Statement_information_item::ROW_COUNT; }
-#line 21773 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 283:
-#line 3510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item); }
-#line 21779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 284:
-#line 3515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.cond_info_list)= new (thd->mem_root) List;
             if ((yyval.cond_info_list) == NULL || (yyval.cond_info_list)->push_back((yyvsp[0].cond_info_item), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 21789 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 285:
-#line 3521 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[-2].cond_info_list)->push_back((yyvsp[0].cond_info_item), thd->mem_root))
               MYSQL_YYABORT;
             (yyval.cond_info_list)= (yyvsp[-2].cond_info_list);
           }
-#line 21799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 286:
-#line 3530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.cond_info_item)= new (thd->mem_root) Condition_information_item((yyvsp[0].cond_info_item_name), (yyvsp[-2].item));
             if ((yyval.cond_info_item) == NULL)
               MYSQL_YYABORT;
           }
-#line 21809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 287:
-#line 3538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::CLASS_ORIGIN; }
-#line 21815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 288:
-#line 3540 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::SUBCLASS_ORIGIN; }
-#line 21821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 289:
-#line 3542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3534 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_CATALOG; }
-#line 21827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 290:
-#line 3544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_SCHEMA; }
-#line 21833 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 291:
-#line 3546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_NAME; }
-#line 21839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 292:
-#line 3548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3540 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::CATALOG_NAME; }
-#line 21845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 293:
-#line 3550 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::SCHEMA_NAME; }
-#line 21851 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 294:
-#line 3552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::TABLE_NAME; }
-#line 21857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 295:
-#line 3554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::COLUMN_NAME; }
-#line 21863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 296:
-#line 3556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::CURSOR_NAME; }
-#line 21869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 297:
-#line 3558 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3550 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::MESSAGE_TEXT; }
-#line 21875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 298:
-#line 3560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::MYSQL_ERRNO; }
-#line 21881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 299:
-#line 3562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cond_info_item_name)= Condition_information_item::RETURNED_SQLSTATE; }
-#line 21887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 300:
-#line 3567 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3559 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* NOTE: field definition is filled in sp_decl section. */
 
@@ -21899,11 +21912,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             spc->add_variable(thd, (yyvsp[0].lex_str));
             (yyval.num)= 1;
           }
-#line 21903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 301:
-#line 3579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* NOTE: field definition is filled in sp_decl section. */
 
@@ -21915,39 +21928,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             spc->add_variable(thd, (yyvsp[0].lex_str));
             (yyval.num)= (yyvsp[-2].num) + 1;
           }
-#line 21919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 302:
-#line 3593 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item) = NULL; }
-#line 21925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 303:
-#line 3594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item) = (yyvsp[0].item); }
-#line 21931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 319:
-#line 3620 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (maybe_start_compound_statement(thd))
               MYSQL_YYABORT;
             Lex->sphead->new_cont_backpatch(NULL);
           }
-#line 21941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 320:
-#line 3626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3618 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->do_cont_backpatch(); }
-#line 21947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 321:
-#line 3630 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -21955,11 +21968,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sphead->reset_lex(thd);
             lex->sphead->m_tmp_query= lip->get_tok_start();
           }
-#line 21959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 21972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 322:
-#line 3638 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3630 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -22001,17 +22014,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (sp->restore_lex(thd))
               MYSQL_YYABORT;
           }
-#line 22005 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 323:
-#line 3683 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->reset_lex(thd); }
-#line 22011 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 324:
-#line 3685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3677 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22031,11 +22044,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (sp->restore_lex(thd))
               MYSQL_YYABORT;
           }
-#line 22035 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 325:
-#line 3708 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp = lex->sphead;
@@ -22082,11 +22095,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             sp->push_backpatch(i, lab);  /* Jumping forward */
             sp->add_instr(i);
           }
-#line 22086 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22099 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 326:
-#line 3758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3750 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22124,11 +22137,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
-#line 22128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 327:
-#line 3799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22143,11 +22156,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
-#line 22147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 328:
-#line 3817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22162,17 +22175,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
-#line 22166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 329:
-#line 3832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 22172 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 330:
-#line 3837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3829 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22187,11 +22200,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
-#line 22191 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 334:
-#line 3861 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3853 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22205,11 +22218,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction();
             i->add_to_varlist(spv);
           }
-#line 22209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 335:
-#line 3875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22223,17 +22236,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction();
             i->add_to_varlist(spv);
           }
-#line 22227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 336:
-#line 3891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->reset_lex(thd); }
-#line 22233 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 337:
-#line 3893 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22249,11 +22262,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (sp->restore_lex(thd))
               MYSQL_YYABORT;
           }
-#line 22253 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22266 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 338:
-#line 3909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_head *sp= Lex->sphead;
             sp_pcontext *ctx= Lex->spcont;
@@ -22265,21 +22278,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             sp->backpatch(ctx->pop_label());
             sp->push_backpatch(i, ctx->push_label(thd, empty_lex_str, 0));
           }
-#line 22269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 339:
-#line 3921 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
             lex->sphead->backpatch(lex->spcont->pop_label());
           }
-#line 22279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 343:
-#line 3936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3928 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (maybe_start_compound_statement(thd))
               MYSQL_YYABORT;
@@ -22329,11 +22342,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             Lex->spcont->push_label(thd, empty_lex_str, Lex->sphead->instructions());
           }
-#line 22333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 344:
-#line 3989 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3981 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               BACKPATCH: Resolving forward jump from
@@ -22347,17 +22360,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             Lex->sphead->do_cont_backpatch();
           }
-#line 22351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22364 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 345:
-#line 4005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3997 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->reset_lex(thd); /* For expr $2 */ }
-#line 22357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22370 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 346:
-#line 4007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 3999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (case_stmt_action_expr(Lex, (yyvsp[0].item)))
               MYSQL_YYABORT;
@@ -22365,31 +22378,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (Lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
           }
-#line 22369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22382 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 347:
-#line 4015 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 22375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22388 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 348:
-#line 4017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 22381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 353:
-#line 4032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sphead->reset_lex(thd); /* For expr $3 */
           }
-#line 22389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 354:
-#line 4036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* Simple case:  =  */
 
@@ -22400,29 +22413,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
           }
-#line 22404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 355:
-#line 4048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (case_stmt_action_then(lex))
               MYSQL_YYABORT;
           }
-#line 22414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 356:
-#line 4057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sphead->reset_lex(thd); /* For expr $3 */
           }
-#line 22422 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 357:
-#line 4061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (case_stmt_action_when(lex, (yyvsp[0].item), false))
@@ -22431,21 +22444,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
           }
-#line 22435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 358:
-#line 4071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (case_stmt_action_then(lex))
               MYSQL_YYABORT;
           }
-#line 22445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22458 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 359:
-#line 4080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22456,23 +22469,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
-#line 22460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22473 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 361:
-#line 4094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4086 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
-#line 22466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22479 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 362:
-#line 4095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= (yyvsp[0].lex_str); }
-#line 22472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22485 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 363:
-#line 4100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *ctx= lex->spcont;
@@ -22482,11 +22495,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-2].lex_str).str));
             lex->name= (yyvsp[-2].lex_str);
           }
-#line 22486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22499 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 364:
-#line 4110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].lex_str).str)
             {
@@ -22494,41 +22507,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 my_yyabort_error((ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_str).str));
             }
           }
-#line 22498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 365:
-#line 4121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->name= empty_lex_str; // Unlabeled blocks get an empty label
           }
-#line 22506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22519 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 366:
-#line 4125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 22512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22525 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 367:
-#line 4130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (maybe_start_compound_statement(thd))
               MYSQL_YYABORT;
             Lex->name= empty_lex_str; // Unlabeled blocks get an empty label
           }
-#line 22522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 368:
-#line 4136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 22528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 369:
-#line 4140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_label *lab= lex->spcont->push_label(thd, lex->name,
@@ -22537,11 +22550,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->spcont= lex->spcont->push_context(thd,
                                                    sp_pcontext::REGULAR_SCOPE);
           }
-#line 22541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22554 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 370:
-#line 4151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22568,11 +22581,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->spcont= ctx->pop_context();
             (yyval.splabel) = lex->spcont->pop_label();
           }
-#line 22572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 371:
-#line 4181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             uint ip= lex->sphead->instructions();
@@ -22583,11 +22596,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 lex->sphead->add_instr(i))
               MYSQL_YYABORT;
           }
-#line 22587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 372:
-#line 4195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -22603,11 +22616,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (sp->restore_lex(thd))
               MYSQL_YYABORT;
           }
-#line 22607 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 373:
-#line 4211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             uint ip= lex->sphead->instructions();
@@ -22619,17 +22632,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->sphead->do_cont_backpatch();
           }
-#line 22623 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 374:
-#line 4226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->reset_lex(thd); }
-#line 22629 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22642 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 375:
-#line 4228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             uint ip= lex->sphead->instructions();
@@ -22644,11 +22657,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* We can shortcut the cont_backpatch here */
             i->m_cont_dest= ip+1;
           }
-#line 22648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 376:
-#line 4246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_label *lab;
             Lex->sphead->backpatch(lab= Lex->spcont->pop_label());
@@ -22659,207 +22672,207 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 my_yyabort_error((ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_str).str));
             }
           }
-#line 22663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 377:
-#line 4259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_label *lab;
             Lex->sphead->backpatch(lab= Lex->spcont->pop_label());
             DBUG_ASSERT(lab->name.length == 0);
           }
-#line 22673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 378:
-#line 4268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (push_sp_label(thd, (yyvsp[-2].lex_str)))
               MYSQL_YYABORT;
           }
-#line 22682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 379:
-#line 4273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 22688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 380:
-#line 4275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (push_sp_label(thd, (yyvsp[-2].lex_str)))
               MYSQL_YYABORT;
             Lex->sphead->reset_lex(thd);
           }
-#line 22698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 381:
-#line 4281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 22704 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22717 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 382:
-#line 4283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (push_sp_label(thd, (yyvsp[-2].lex_str)))
               MYSQL_YYABORT;
           }
-#line 22713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 383:
-#line 4288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4280 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 22719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 384:
-#line 4293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4285 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (push_sp_empty_label(thd))
               MYSQL_YYABORT;
           }
-#line 22728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 385:
-#line 4299 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 22734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 386:
-#line 4301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (push_sp_empty_label(thd))
               MYSQL_YYABORT;
             Lex->sphead->reset_lex(thd);
           }
-#line 22744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 387:
-#line 4308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 22750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 388:
-#line 4310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (push_sp_empty_label(thd))
               MYSQL_YYABORT;
           }
-#line 22759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 389:
-#line 4316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 22765 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 390:
-#line 4321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4313 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; }
-#line 22771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 391:
-#line 4323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; }
-#line 22777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 392:
-#line 4328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.event= TRG_EVENT_INSERT; }
-#line 22783 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 393:
-#line 4330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.event= TRG_EVENT_UPDATE; }
-#line 22789 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 394:
-#line 4332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.event= TRG_EVENT_DELETE; }
-#line 22795 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22808 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 398:
-#line 4366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 22801 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 399:
-#line 4368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str;
           }
-#line 22810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22823 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 400:
-#line 4378 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE; 
           }
-#line 22818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22831 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 401:
-#line 4384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE; 
           }
-#line 22826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 406:
-#line 4407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4399 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 22832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 453:
-#line 4501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4493 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->data_file_name= (yyvsp[0].lex_str).str;
           }
-#line 22841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 454:
-#line 4509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->undo_file_name= (yyvsp[0].lex_str).str;
           }
-#line 22850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 455:
-#line 4517 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->redo_file_name= (yyvsp[0].lex_str).str;
           }
-#line 22859 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22872 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 456:
-#line 4525 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4517 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info= (new (thd->mem_root)
@@ -22869,11 +22882,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->alter_tablespace_info->tablespace_name= (yyvsp[0].lex_str).str;
             lex->sql_command= SQLCOM_ALTER_TABLESPACE;
           }
-#line 22873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 457:
-#line 4538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info= (new (thd->mem_root)
@@ -22883,114 +22896,114 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str;
             lex->sql_command= SQLCOM_ALTER_TABLESPACE;
           }
-#line 22887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 458:
-#line 4551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY;
           }
-#line 22896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 459:
-#line 4556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE;
           }
-#line 22905 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 460:
-#line 4561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE;
           }
-#line 22914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 461:
-#line 4569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->initial_size= (yyvsp[0].ulonglong_number);
           }
-#line 22923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22936 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 462:
-#line 4577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->autoextend_size= (yyvsp[0].ulonglong_number);
           }
-#line 22932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 463:
-#line 4585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->max_size= (yyvsp[0].ulonglong_number);
           }
-#line 22941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 464:
-#line 4593 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->extent_size= (yyvsp[0].ulonglong_number);
           }
-#line 22950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 465:
-#line 4601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4593 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->undo_buffer_size= (yyvsp[0].ulonglong_number);
           }
-#line 22959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 466:
-#line 4609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->redo_buffer_size= (yyvsp[0].ulonglong_number);
           }
-#line 22968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22981 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 467:
-#line 4617 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP)
               my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NODEGROUP"));
             lex->alter_tablespace_info->nodegroup_id= (yyvsp[0].ulong_num);
           }
-#line 22979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 22992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 468:
-#line 4627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->alter_tablespace_info->ts_comment != NULL)
               my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"COMMENT"));
             lex->alter_tablespace_info->ts_comment= (yyvsp[0].lex_str).str;
           }
-#line 22990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 469:
-#line 4637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4629 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->alter_tablespace_info->storage_engine != NULL)
@@ -22998,37 +23011,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                 "STORAGE ENGINE"));
             lex->alter_tablespace_info->storage_engine= (yyvsp[0].db_type);
           }
-#line 23002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 472:
-#line 4653 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4645 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->wait_until_completed= TRUE;
           }
-#line 23011 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 473:
-#line 4658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4650 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!(lex->alter_tablespace_info->wait_until_completed))
               my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NO_WAIT"));
             lex->alter_tablespace_info->wait_until_completed= FALSE;
           }
-#line 23022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23035 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 474:
-#line 4667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);}
-#line 23028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23041 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 475:
-#line 4669 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4661 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             ulonglong number;
             uint text_shift_number= 0;
@@ -23059,41 +23072,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_WRONG_SIZE_NUMBER, MYF(0)));
             (yyval.ulonglong_number)= number;
           }
-#line 23063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 476:
-#line 4707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_info.option_list= NULL; }
-#line 23069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 477:
-#line 4708 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 478:
-#line 4709 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4701 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 479:
-#line 4715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(1);}
-#line 23087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 480:
-#line 4715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 481:
-#line 4717 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4709 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 
             Lex->create_info.add(DDL_options_st::OPT_LIKE);
@@ -23104,53 +23117,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* CREATE TABLE ... LIKE is not allowed for views. */
             src_table->required_type= FRMTYPE_TABLE;
           }
-#line 23108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 482:
-#line 4730 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4722 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.table)= (yyvsp[0].table); }
-#line 23114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 483:
-#line 4731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.table)= (yyvsp[-1].table); }
-#line 23120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 484:
-#line 4735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4727 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23139 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 485:
-#line 4737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4729 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(0);}
-#line 23132 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 486:
-#line 4738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4730 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 487:
-#line 4740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(1);}
-#line 23144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 488:
-#line 4741 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4733 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 489:
-#line 4746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Remove all tables used in PARTITION clause from the global table
@@ -23160,17 +23173,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             last_non_sel_table->next_global= 0;
             Lex->query_tables_last= &last_non_sel_table->next_global;
           }
-#line 23164 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 490:
-#line 4782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23170 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 492:
-#line 4788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info= new (thd->mem_root) partition_info();
@@ -23184,11 +23197,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               lex->alter_info.flags|= Alter_info::ALTER_PARTITION;
             }
           }
-#line 23188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23201 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 494:
-#line 4806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef WITH_PARTITION_STORAGE_ENGINE
             LEX_STRING partition_name={C_STRING_WITH_LEN("partition")};
@@ -23200,11 +23213,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                               "--with-plugin-partition"));
 #endif
           }
-#line 23204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23217 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 495:
-#line 4821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!lex->part_info)
@@ -23217,82 +23230,82 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               partition info string into part_info data structure.
             */
           }
-#line 23221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 496:
-#line 4833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 498:
-#line 4842 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->list_of_part_fields= TRUE;
             part_info->column_list= FALSE;
             part_info->part_type= HASH_PARTITION;
           }
-#line 23238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 499:
-#line 4849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= HASH_PARTITION; }
-#line 23244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23257 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 500:
-#line 4850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4842 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23263 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 501:
-#line 4852 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4844 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= RANGE_PARTITION; }
-#line 23256 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 502:
-#line 4854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4846 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= RANGE_PARTITION; }
-#line 23262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 503:
-#line 4856 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= LIST_PARTITION; }
-#line 23268 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 504:
-#line 4858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= LIST_PARTITION; }
-#line 23274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 505:
-#line 4862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 506:
-#line 4864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4856 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->linear_hash_ind= TRUE;}
-#line 23286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 507:
-#line 4869 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4861 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;}
-#line 23292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 508:
-#line 4871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             switch ((yyvsp[0].ulong_num)) {
             case 1:
@@ -23306,35 +23319,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 23310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 509:
-#line 4887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 510:
-#line 4888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23322 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 511:
-#line 4892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4884 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 512:
-#line 4893 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 513:
-#line 4898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->num_columns++;
@@ -23347,21 +23360,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0),
                                 "list of partition fields"));
           }
-#line 23351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23364 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 514:
-#line 4914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4906 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->column_list= TRUE;
             part_info->list_of_part_fields= TRUE;
           }
-#line 23361 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 515:
-#line 4924 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->set_part_expr((yyvsp[-3].simple_string)+1, (yyvsp[-2].item), (yyvsp[-1].simple_string), FALSE))
@@ -23369,26 +23382,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             part_info->num_columns= 1;
             part_info->column_list= FALSE;
           }
-#line 23373 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 516:
-#line 4935 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->part_info->set_part_expr((yyvsp[-3].simple_string)+1, (yyvsp[-2].item), (yyvsp[-1].simple_string), TRUE))
             { MYSQL_YYABORT; }
           }
-#line 23382 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 517:
-#line 4943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4935 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23388 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 518:
-#line 4945 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4937 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             uint num_parts= (yyvsp[0].ulong_num);
             partition_info *part_info= Lex->part_info;
@@ -23398,57 +23411,57 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             part_info->num_parts= num_parts;
             part_info->use_default_num_partitions= FALSE;
           }
-#line 23402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 519:
-#line 4957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 520:
-#line 4959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->subpart_type= HASH_PARTITION; }
-#line 23414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 521:
-#line 4960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23433 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 522:
-#line 4963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->subpart_type= HASH_PARTITION;
             part_info->list_of_subpart_fields= TRUE;
           }
-#line 23430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 523:
-#line 4968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23449 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 524:
-#line 4972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 525:
-#line 4973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23461 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 526:
-#line 4978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->subpart_field_list.push_back((yyvsp[0].lex_str).str, thd->mem_root))
@@ -23460,11 +23473,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0),
                                 "list of subpartition fields"));
           }
-#line 23464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 527:
-#line 4993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 4985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             bool not_corr_func;
@@ -23477,17 +23490,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             (yyval.item)=(yyvsp[0].item);
           }
-#line 23481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 528:
-#line 5008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5000 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23487 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 529:
-#line 5010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             uint num_parts= (yyvsp[0].ulong_num);
             LEX *lex= Lex;
@@ -23496,11 +23509,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->part_info->num_subparts= num_parts;
             lex->part_info->use_default_num_subpartitions= FALSE;
           }
-#line 23500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23513 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 530:
-#line 5022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->part_type == RANGE_PARTITION)
@@ -23510,11 +23523,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0),
                                 "LIST"));
           }
-#line 23514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23527 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 531:
-#line 5032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             uint count_curr_parts= part_info->partitions.elements;
@@ -23533,23 +23546,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             part_info->count_curr_subparts= 0;
           }
-#line 23537 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 532:
-#line 5053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23543 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 533:
-#line 5054 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23549 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 534:
-#line 5059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             partition_element *p_elem= new (thd->mem_root) partition_element();
@@ -23566,17 +23579,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             part_info->use_default_partitions= FALSE;
             part_info->use_default_num_partitions= FALSE;
           }
-#line 23570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 535:
-#line 5079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 536:
-#line 5084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             partition_element *p_elem= part_info->curr_part_elem;
@@ -23584,11 +23597,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             p_elem->partition_name= (yyvsp[0].lex_str).str;
           }
-#line 23588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23601 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 537:
-#line 5095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -23600,11 +23613,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else
               part_info->part_type= HASH_PARTITION;
           }
-#line 23604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23617 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 538:
-#line 5107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -23617,17 +23630,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else
               part_info->part_type= RANGE_PARTITION;
           }
-#line 23621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 539:
-#line 5119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 540:
-#line 5121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -23640,17 +23653,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else
               part_info->part_type= LIST_PARTITION;
           }
-#line 23644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 541:
-#line 5133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 542:
-#line 5138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
 
@@ -23672,17 +23685,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 23676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 543:
-#line 5159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 544:
-#line 5164 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -23711,11 +23724,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               }
             }
           }
-#line 23715 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 545:
-#line 5193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->num_columns < 2U)
@@ -23724,23 +23737,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 23728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 546:
-#line 5204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 547:
-#line 5205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23753 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 548:
-#line 5210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->print_debug("( part_value_item", NULL);
@@ -23752,17 +23765,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 23756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 549:
-#line 5221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 550:
-#line 5223 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->print_debug(") part_value_item", NULL);
@@ -23783,23 +23796,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             part_info->curr_list_object= 0;
           }
-#line 23787 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 551:
-#line 5246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23793 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 552:
-#line 5247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 553:
-#line 5252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->part_type == LIST_PARTITION)
@@ -23812,11 +23825,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 23816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 554:
-#line 5265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -23832,11 +23845,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 23836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 555:
-#line 5285 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->num_subparts != 0 &&
@@ -23850,11 +23863,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 23854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 556:
-#line 5299 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->num_subparts != 0)
@@ -23877,23 +23890,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             part_info->count_curr_subparts= 0;
           }
-#line 23881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 557:
-#line 5324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 558:
-#line 5325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23906 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 559:
-#line 5330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             partition_element *curr_part= part_info->current_partition;
@@ -23927,113 +23940,113 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             part_info->use_default_num_subpartitions= FALSE;
             part_info->count_curr_subparts++;
           }
-#line 23931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 560:
-#line 5363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 561:
-#line 5368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (check_ident_length(&(yyvsp[0].lex_str)))
               MYSQL_YYABORT;
             Lex->part_info->curr_part_elem->partition_name= (yyvsp[0].lex_str).str;
           }
-#line 23947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 562:
-#line 5376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 563:
-#line 5377 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 564:
-#line 5381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 565:
-#line 5382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 23971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23984 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 566:
-#line 5387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[0].lex_str).str; }
-#line 23977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 23990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 567:
-#line 5389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->curr_part_elem->engine_type= (yyvsp[0].db_type);
             part_info->default_engine_type= (yyvsp[0].db_type);
           }
-#line 23987 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 568:
-#line 5395 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info->curr_part_elem->connect_string.str= (yyvsp[0].lex_str).str;
             lex->part_info->curr_part_elem->connect_string.length= (yyvsp[0].lex_str).length;
           }
-#line 23997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 569:
-#line 5401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[0].ulong_num); }
-#line 24003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 570:
-#line 5403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5395 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[0].ulonglong_number); }
-#line 24009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 571:
-#line 5405 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[0].ulonglong_number); }
-#line 24015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 572:
-#line 5407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5399 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[0].lex_str).str; }
-#line 24021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 573:
-#line 5409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[0].lex_str).str; }
-#line 24027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 574:
-#line 5411 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->curr_part_elem->part_comment= (yyvsp[0].lex_str).str; }
-#line 24033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 575:
-#line 5420 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5412 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->sql_command == SQLCOM_INSERT)
@@ -24048,19 +24061,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             mysql_init_select(lex);
             lex->current_select->parsing_place= SELECT_LIST;
           }
-#line 24052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24065 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 576:
-#line 5435 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
-#line 24060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 577:
-#line 5439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               The following work only with the local list, the global list
@@ -24068,170 +24081,180 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             Lex->current_select->table_list.push_front(&Lex->save_list);
           }
-#line 24072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 578:
-#line 5449 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 579:
-#line 5450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 580:
-#line 5454 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5446 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24103 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 581:
-#line 5455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5447 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24109 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 582:
-#line 5459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 583:
-#line 5460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5452 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 584:
-#line 5464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 585:
-#line 5465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5457 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 586:
-#line 5470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5462 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->check_exists= FALSE;
           }
-#line 24128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 587:
-#line 5474 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5466 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->check_exists= TRUE;
           }
-#line 24136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24149 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 588:
-#line 5481 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5473 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.object_ddl_options).init();
           }
-#line 24144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 589:
-#line 5485 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.object_ddl_options).set(DDL_options_st::OPT_IF_NOT_EXISTS);
           }
-#line 24152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 590:
-#line 5492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.object_ddl_options).init();
           }
-#line 24160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 591:
-#line 5496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.object_ddl_options).set(DDL_options_st::OPT_OR_REPLACE);
           }
-#line 24168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24181 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 599:
-#line 5519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5511 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.db_type= (yyvsp[0].db_type);
-            Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
+            LEX *lex= Lex;
+            if (!lex->m_sql_cmd)
+            {
+              DBUG_ASSERT(lex->sql_command == SQLCOM_ALTER_TABLE);
+              if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table()))
+                MYSQL_YYABORT;
+            }
+            Storage_engine_name *opt=
+              lex->m_sql_cmd->option_storage_engine_name();
+            DBUG_ASSERT(opt); // Expect a proper Sql_cmd
+            *opt= Storage_engine_name((yyvsp[0].lex_str));
+            lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
           }
-#line 24177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 600:
-#line 5524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.max_rows= (yyvsp[0].ulonglong_number);
             Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS;
           }
-#line 24186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 601:
-#line 5529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5531 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.min_rows= (yyvsp[0].ulonglong_number);
             Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS;
           }
-#line 24195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24218 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 602:
-#line 5534 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.avg_row_length=(yyvsp[0].ulong_num);
             Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH;
           }
-#line 24204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 603:
-#line 5539 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.password=(yyvsp[0].lex_str).str;
             Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD;
           }
-#line 24213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24236 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 604:
-#line 5544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.comment=(yyvsp[0].lex_str);
             Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT;
           }
-#line 24222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 605:
-#line 5549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number);
             Lex->create_info.used_fields|= HA_CREATE_USED_AUTO;
           }
-#line 24231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 606:
-#line 5554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             switch((yyvsp[0].ulong_num)) {
             case 0:
@@ -24246,21 +24269,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;
           }
-#line 24250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 607:
-#line 5569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.table_options&=
               ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS);
             Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;
           }
-#line 24260 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 608:
-#line 5575 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             switch((yyvsp[0].ulong_num)) {
             case 0:
@@ -24275,20 +24298,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             Lex->create_info.used_fields|= HA_CREATE_USED_STATS_AUTO_RECALC;
           }
-#line 24279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24302 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 609:
-#line 5590 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5592 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.stats_auto_recalc= HA_STATS_AUTO_RECALC_DEFAULT;
             Lex->create_info.used_fields|= HA_CREATE_USED_STATS_AUTO_RECALC;
           }
-#line 24288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 610:
-#line 5595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             switch((yyvsp[0].ulong_num)) {
             case 0:
@@ -24303,21 +24326,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             Lex->create_info.used_fields|= HA_CREATE_USED_STATS_PERSISTENT;
           }
-#line 24307 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 611:
-#line 5610 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.table_options&=
               ~(HA_OPTION_STATS_PERSISTENT | HA_OPTION_NO_STATS_PERSISTENT);
             Lex->create_info.used_fields|= HA_CREATE_USED_STATS_PERSISTENT;
           }
-#line 24317 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 612:
-#line 5616 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5618 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* From user point of view STATS_SAMPLE_PAGES can be specified as
             STATS_SAMPLE_PAGES=N (where 0create_info.stats_sample_pages=(yyvsp[0].ulong_num);
             Lex->create_info.used_fields|= HA_CREATE_USED_STATS_SAMPLE_PAGES;
           }
-#line 24339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24362 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 613:
-#line 5634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5636 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.stats_sample_pages=0;
             Lex->create_info.used_fields|= HA_CREATE_USED_STATS_SAMPLE_PAGES;
           }
-#line 24348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 614:
-#line 5639 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
             Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM;
           }
-#line 24357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24380 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 615:
-#line 5644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
              Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM;
           }
-#line 24366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 616:
-#line 5649 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.used_fields|= HA_CREATE_USED_PAGE_CHECKSUM;
             Lex->create_info.page_checksum= (yyvsp[0].choice);
           }
-#line 24375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 617:
-#line 5654 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE;
             Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE;
           }
-#line 24384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 618:
-#line 5659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5661 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.row_type= (yyvsp[0].row_type);
             Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT;
           }
-#line 24393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 619:
-#line 5664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->select_lex.table_list.save_and_clear(&Lex->save_list);
           }
-#line 24401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 620:
-#line 5668 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Move the union list to the merge_list and exclude its tables
@@ -24423,84 +24446,84 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             lex->create_info.used_fields|= HA_CREATE_USED_UNION;
           }
-#line 24427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 623:
-#line 5692 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5694 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num);
             Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;
           }
-#line 24436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24459 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 624:
-#line 5697 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.data_file_name= (yyvsp[0].lex_str).str;
             Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR;
           }
-#line 24445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 625:
-#line 5702 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.index_file_name= (yyvsp[0].lex_str).str;
             Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR;
           }
-#line 24454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 626:
-#line 5707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5709 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {Lex->create_info.tablespace= (yyvsp[0].lex_str).str;}
-#line 24460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 627:
-#line 5709 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {Lex->create_info.storage_media= HA_SM_DISK;}
-#line 24466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 628:
-#line 5711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5713 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {Lex->create_info.storage_media= HA_SM_MEMORY;}
-#line 24472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 629:
-#line 5713 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.connect_string.str= (yyvsp[0].lex_str).str;
             Lex->create_info.connect_string.length= (yyvsp[0].lex_str).length;
             Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION;
           }
-#line 24482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24505 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 630:
-#line 5719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5721 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE;
             Lex->create_info.key_block_size= (yyvsp[0].ulong_num);
           }
-#line 24491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 631:
-#line 5724 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5726 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 	    Lex->create_info.used_fields|= HA_CREATE_USED_TRANSACTIONAL;
             Lex->create_info.transactional= (yyvsp[0].choice);
           }
-#line 24500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24523 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 632:
-#line 5729 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)
               my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].lex_str).str));
@@ -24508,11 +24531,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->create_info.option_list,
                                   &Lex->option_list_last);
           }
-#line 24512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 633:
-#line 5737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5739 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)
               my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].lex_str).str));
@@ -24520,40 +24543,40 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->create_info.option_list,
                                   &Lex->option_list_last);
           }
-#line 24524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 634:
-#line 5745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5747 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->create_info.option_list,
                                   &Lex->option_list_last, thd->mem_root);
           }
-#line 24534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 635:
-#line 5751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5753 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
               engine_option_value((yyvsp[-2].lex_str), &Lex->create_info.option_list,
                                   &Lex->option_list_last);
           }
-#line 24544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24567 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 636:
-#line 5760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->create_info.add_table_option_default_charset((yyvsp[0].charset)))
               MYSQL_YYABORT;
           }
-#line 24553 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 637:
-#line 5768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5770 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             HA_CREATE_INFO *cinfo= &Lex->create_info;
             if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
@@ -24567,33 +24590,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->create_info.default_table_charset= (yyvsp[0].charset);
             Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
           }
-#line 24571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 638:
-#line 5785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5787 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            plugin_ref plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str),
-                                            thd->lex->create_info.tmp_table());
-
-            if (plugin)
-              (yyval.db_type)= plugin_hton(plugin);
-            else
-            {
-              if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
-                my_yyabort_error((ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str));
-              (yyval.db_type)= 0;
-              push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
-                                  ER_UNKNOWN_STORAGE_ENGINE,
-                                  ER_THD(thd, ER_UNKNOWN_STORAGE_ENGINE),
-                                  (yyvsp[0].lex_str).str);
-            }
+            if (Storage_engine_name((yyvsp[0].lex_str)).
+                 resolve_storage_engine_with_error(thd, &(yyval.db_type),
+                                            thd->lex->create_info.tmp_table()))
+              MYSQL_YYABORT;
           }
-#line 24593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 639:
-#line 5806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             plugin_ref plugin;
             if ((plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str), false)))
@@ -24601,199 +24613,199 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else
               my_yyabort_error((ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str));
           }
-#line 24605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24617 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 640:
-#line 5816 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5807 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_DEFAULT; }
-#line 24611 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24623 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 641:
-#line 5817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5808 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_FIXED; }
-#line 24617 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24629 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 642:
-#line 5818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_DYNAMIC; }
-#line 24623 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 643:
-#line 5819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_COMPRESSED; }
-#line 24629 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 644:
-#line 5820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_REDUNDANT; }
-#line 24635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24647 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 645:
-#line 5821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_COMPACT; }
-#line 24641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24653 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 646:
-#line 5822 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_PAGE; }
-#line 24647 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24659 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 647:
-#line 5826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= MERGE_INSERT_DISABLED; }
-#line 24653 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24665 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 648:
-#line 5827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; }
-#line 24659 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24671 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 649:
-#line 5828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; }
-#line 24665 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 650:
-#line 5832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num) = (int) STRING_RESULT; }
-#line 24671 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 651:
-#line 5833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num) = (int) REAL_RESULT; }
-#line 24677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 652:
-#line 5834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num) = (int) DECIMAL_RESULT; }
-#line 24683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 653:
-#line 5835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num) = (int) INT_RESULT; }
-#line 24689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 654:
-#line 5841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->create_last_non_select_table= Lex->last_table();
         }
-#line 24697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 661:
-#line 5863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_list= NULL;
             if (Lex->add_key(Key::MULTIPLE, (yyvsp[-1].lex_str), (yyvsp[0].key_alg), (yyvsp[-2].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 24707 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 662:
-#line 5868 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 24713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24725 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 663:
-#line 5870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5861 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_list= NULL;
             if (Lex->add_key(Key::MULTIPLE, (yyvsp[-2].lex_str), (yyvsp[0].key_alg), (yyvsp[-3].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 24723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24735 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 664:
-#line 5875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 24729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 665:
-#line 5877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5868 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_list= NULL;
             if (Lex->add_key((yyvsp[-3].key_type), (yyvsp[0].lex_str), HA_KEY_ALG_UNDEF, (yyvsp[-1].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 24739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 666:
-#line 5882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5873 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 24745 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 667:
-#line 5884 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_list= NULL;
             if (Lex->add_key((yyvsp[-3].key_type), (yyvsp[0].lex_str), HA_KEY_ALG_UNDEF, (yyvsp[-1].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 24755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24767 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 668:
-#line 5889 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 24761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24773 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 669:
-#line 5893 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5884 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_list= NULL;
             if (Lex->add_key((yyvsp[-3].key_type), (yyvsp[-1].lex_str).str ? (yyvsp[-1].lex_str) : (yyvsp[-4].lex_str), (yyvsp[0].key_alg), (yyvsp[-2].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 24771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24783 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 670:
-#line 5898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5889 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 24777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24789 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 671:
-#line 5901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_list= NULL;
             if (Lex->add_key((yyvsp[-4].key_type), (yyvsp[-2].lex_str).str ? (yyvsp[-2].lex_str) : (yyvsp[-5].lex_str), (yyvsp[0].key_alg), (yyvsp[-3].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 24787 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 672:
-#line 5906 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 24793 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24805 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 673:
-#line 5908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->check_add_key((yyvsp[-1].object_ddl_options)) ||
                !(Lex->last_key= (new (thd->mem_root)
@@ -24802,11 +24814,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Lex->option_list= NULL;
           }
-#line 24806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 674:
-#line 5917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Key *key= (new (thd->mem_root)
@@ -24832,35 +24844,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* Only used for ALTER TABLE. Ignored otherwise. */
             lex->alter_info.flags|= Alter_info::ADD_FOREIGN_KEY;
           }
-#line 24836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 675:
-#line 5942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5933 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 24842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 679:
-#line 5955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
-#line 24848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 680:
-#line 5956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= (yyvsp[0].lex_str); }
-#line 24854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 681:
-#line 5960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str); }
-#line 24860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24872 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 682:
-#line 5965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Create_field *f= new (thd->mem_root) Create_field();
@@ -24874,17 +24886,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             lex->init_last_field(f, (yyvsp[0].lex_str).str, NULL);
           }
-#line 24878 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 683:
-#line 5978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->set_last_field_type((yyvsp[0].field_type)); }
-#line 24884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 684:
-#line 5980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5971 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Create_field *f= lex->last_field;
@@ -24899,91 +24911,91 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else if (f->flags & (UNIQUE_FLAG | UNIQUE_KEY_FLAG))
               add_key_to_list(lex, &(yyvsp[-4].lex_str), Key::UNIQUE, Lex->check_exists);
           }
-#line 24903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 687:
-#line 6004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 688:
-#line 6005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 5996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 689:
-#line 6010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->last_field->vcol_info->set_stored_in_db_flag(FALSE);
           }
-#line 24923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24935 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 690:
-#line 6014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->last_field->vcol_info->set_stored_in_db_flag(FALSE);
           }
-#line 24931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 691:
-#line 6018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->last_field->vcol_info->set_stored_in_db_flag(TRUE);
           }
-#line 24939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24951 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 692:
-#line 6024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6015 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 693:
-#line 6025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24951 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 694:
-#line 6029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 24957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 696:
-#line 6035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->last_field->flags|= UNIQUE_FLAG;
             lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX;
           }
-#line 24967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 697:
-#line 6041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->last_field->flags|= UNIQUE_FLAG;
             lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX;
           }
-#line 24977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 698:
-#line 6046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->comment= (yyvsp[0].lex_str); }
-#line 24983 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 24995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 699:
-#line 6051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               "PARSE_VCOL_EXPR" can only be used by the SQL server
@@ -24993,11 +25005,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!Lex->parse_vcol_expr)
               my_yyabort_error((ER_SYNTAX_ERROR, MYF(0)));
           }
-#line 24997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 700:
-#line 6064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Virtual_column_info *v= new (thd->mem_root) Virtual_column_info();
             if (!v)
@@ -25011,23 +25023,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             v->expr_item= (yyvsp[-1].item);
             Lex->last_field->vcol_info= v;
           }
-#line 25015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 701:
-#line 6080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=(yyvsp[-2].field_type); }
-#line 25021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 702:
-#line 6081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=(yyvsp[-2].field_type); }
-#line 25027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 703:
-#line 6083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6074 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.field_type)=MYSQL_TYPE_FLOAT;
             if (Lex->length && !Lex->dec)
@@ -25042,127 +25054,127 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               Lex->length= 0;
             }
           }
-#line 25046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 704:
-#line 6098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.field_type)=MYSQL_TYPE_BIT;
           }
-#line 25055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25067 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 705:
-#line 6103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.field_type)=MYSQL_TYPE_BIT;
           }
-#line 25063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 706:
-#line 6107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.field_type)=MYSQL_TYPE_TINY;
           }
-#line 25072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 707:
-#line 6112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.field_type)=MYSQL_TYPE_TINY;
           }
-#line 25081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 708:
-#line 6117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.field_type)=MYSQL_TYPE_STRING;
           }
-#line 25089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25101 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 709:
-#line 6121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.field_type)=MYSQL_TYPE_STRING;
           }
-#line 25098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 710:
-#line 6126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.field_type)=MYSQL_TYPE_STRING;
             bincmp_collation(national_charset_info, (yyvsp[0].num));
           }
-#line 25107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 711:
-#line 6131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.field_type)=MYSQL_TYPE_STRING;
             bincmp_collation(national_charset_info, (yyvsp[0].num));
           }
-#line 25117 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 712:
-#line 6137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.field_type)=MYSQL_TYPE_STRING;
           }
-#line 25126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 713:
-#line 6142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             Lex->charset=&my_charset_bin;
             (yyval.field_type)=MYSQL_TYPE_STRING;
           }
-#line 25136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25148 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 714:
-#line 6148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.field_type)= MYSQL_TYPE_VARCHAR;
           }
-#line 25144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 715:
-#line 6152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.field_type)= MYSQL_TYPE_VARCHAR;
             bincmp_collation(national_charset_info, (yyvsp[0].num));
           }
-#line 25153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 716:
-#line 6157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.field_type)= MYSQL_TYPE_VARCHAR;
           }
-#line 25162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 717:
-#line 6162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->length)
             {
@@ -25180,24 +25192,24 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             (yyval.field_type)=MYSQL_TYPE_YEAR;
           }
-#line 25184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25196 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 718:
-#line 6180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_DATE; }
-#line 25190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 719:
-#line 6182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)= opt_mysql56_temporal_format ?
                 MYSQL_TYPE_TIME2 : MYSQL_TYPE_TIME; }
-#line 25197 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 720:
-#line 6185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->variables.sql_mode & MODE_MAXDB)
               (yyval.field_type)= opt_mysql56_temporal_format ?
@@ -25214,36 +25226,36 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                               : MYSQL_TYPE_TIMESTAMP;
             }
           }
-#line 25218 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 721:
-#line 6202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)= opt_mysql56_temporal_format ?
                 MYSQL_TYPE_DATETIME2 : MYSQL_TYPE_DATETIME; }
-#line 25225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 722:
-#line 6205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.field_type)=MYSQL_TYPE_TINY_BLOB;
           }
-#line 25234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 723:
-#line 6210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.field_type)=MYSQL_TYPE_BLOB;
           }
-#line 25243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 724:
-#line 6215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef HAVE_SPATIAL
             Lex->charset=&my_charset_bin;
@@ -25254,519 +25266,519 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                               sym_group_geom.needed_define));
 #endif
           }
-#line 25258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 725:
-#line 6226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.field_type)=MYSQL_TYPE_MEDIUM_BLOB;
           }
-#line 25267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 726:
-#line 6231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.field_type)=MYSQL_TYPE_LONG_BLOB;
           }
-#line 25276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 727:
-#line 6236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.field_type)=MYSQL_TYPE_MEDIUM_BLOB;
           }
-#line 25285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 728:
-#line 6241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_MEDIUM_BLOB; }
-#line 25291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 729:
-#line 6243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_TINY_BLOB; }
-#line 25297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 730:
-#line 6245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_BLOB; }
-#line 25303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 731:
-#line 6247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_MEDIUM_BLOB; }
-#line 25309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 732:
-#line 6249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_LONG_BLOB; }
-#line 25315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 733:
-#line 6251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_NEWDECIMAL;}
-#line 25321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 734:
-#line 6253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_NEWDECIMAL;}
-#line 25327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 735:
-#line 6255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_NEWDECIMAL;}
-#line 25333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25345 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 736:
-#line 6257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_ENUM; }
-#line 25339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 737:
-#line 6259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_SET; }
-#line 25345 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 738:
-#line 6261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_MEDIUM_BLOB; }
-#line 25351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 739:
-#line 6263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.field_type)=MYSQL_TYPE_LONGLONG;
             Lex->last_field->flags|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG |
               UNIQUE_FLAG);
           }
-#line 25361 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25373 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 740:
-#line 6271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.geom_type)= Field::GEOM_GEOMETRY; }
-#line 25367 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 741:
-#line 6272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.geom_type)= Field::GEOM_GEOMETRYCOLLECTION; }
-#line 25373 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 742:
-#line 6274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= const_cast(STRINGIFY_ARG
                                            (MAX_LEN_GEOM_POINT_FIELD));
             (yyval.geom_type)= Field::GEOM_POINT;
           }
-#line 25383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 743:
-#line 6279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.geom_type)= Field::GEOM_MULTIPOINT; }
-#line 25389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 744:
-#line 6280 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.geom_type)= Field::GEOM_LINESTRING; }
-#line 25395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 745:
-#line 6281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.geom_type)= Field::GEOM_MULTILINESTRING; }
-#line 25401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 746:
-#line 6282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.geom_type)= Field::GEOM_POLYGON; }
-#line 25407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 747:
-#line 6283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.geom_type)= Field::GEOM_MULTIPOLYGON; }
-#line 25413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 748:
-#line 6287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 749:
-#line 6291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 750:
-#line 6292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 751:
-#line 6296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25449 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 752:
-#line 6297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 753:
-#line 6301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25449 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25461 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 754:
-#line 6302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 755:
-#line 6303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25461 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25473 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 756:
-#line 6304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25479 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 757:
-#line 6305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25473 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25485 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 758:
-#line 6309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_LONG; }
-#line 25479 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 759:
-#line 6310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_TINY; }
-#line 25485 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 760:
-#line 6311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_SHORT; }
-#line 25491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 761:
-#line 6312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_INT24; }
-#line 25497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25509 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 762:
-#line 6313 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_LONGLONG; }
-#line 25503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 763:
-#line 6318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.field_type)= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ?
               MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE;
           }
-#line 25512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 764:
-#line 6323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_DOUBLE; }
-#line 25518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25530 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 765:
-#line 6325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.field_type)=MYSQL_TYPE_DOUBLE; }
-#line 25524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 766:
-#line 6330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->srid= 0; }
-#line 25530 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25542 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 767:
-#line 6333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->last_field->srid=atoi((yyvsp[0].lex_str).str);
           }
-#line 25538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 768:
-#line 6340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->dec=Lex->length= (char*)0; }
-#line 25544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 769:
-#line 6342 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->dec= (char*)0; }
-#line 25550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 770:
-#line 6344 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 771:
-#line 6349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->length=(yyvsp[-3].lex_str).str;
             lex->dec=(yyvsp[-1].lex_str).str;
           }
-#line 25566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 772:
-#line 6357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6348 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25584 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 773:
-#line 6358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 774:
-#line 6362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25584 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 775:
-#line 6363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 776:
-#line 6367 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 777:
-#line 6368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6359 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->flags|= UNSIGNED_FLAG;}
-#line 25602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 778:
-#line 6369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->flags|= UNSIGNED_FLAG | ZEROFILL_FLAG; }
-#line 25608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 779:
-#line 6373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->length= (yyvsp[-1].lex_str).str; }
-#line 25614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 780:
-#line 6374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->length= (yyvsp[-1].lex_str).str; }
-#line 25620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 781:
-#line 6375 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->length= (yyvsp[-1].lex_str).str; }
-#line 25626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 782:
-#line 6376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6367 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->length= (yyvsp[-1].lex_str).str; }
-#line 25632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 783:
-#line 6379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->length=(char*) 0; /* use default length */ }
-#line 25638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 784:
-#line 6380 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 25644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 785:
-#line 6384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6375 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 786:
-#line 6385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 787:
-#line 6389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6380 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 788:
-#line 6390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 789:
-#line 6394 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 791:
-#line 6399 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->flags&= ~ NOT_NULL_FLAG; }
-#line 25680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25692 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 792:
-#line 6400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->flags|= NOT_NULL_FLAG; }
-#line 25686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 793:
-#line 6401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6392 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->def= (yyvsp[0].item); }
-#line 25692 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25704 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 794:
-#line 6403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6394 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num));
             if (item == NULL)
               MYSQL_YYABORT;
             Lex->last_field->on_update= item;
           }
-#line 25703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25715 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 795:
-#line 6409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; }
-#line 25709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25721 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 796:
-#line 6411 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX *lex=Lex;
             lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG;
             lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX;
           }
-#line 25719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 797:
-#line 6417 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6408 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->last_field->flags|= PRI_KEY_FLAG | NOT_NULL_FLAG;
             lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX;
           }
-#line 25729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 798:
-#line 6423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6414 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->last_field->flags|= UNIQUE_FLAG;
             lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX;
           }
-#line 25739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 799:
-#line 6429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6420 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->last_field->flags|= UNIQUE_KEY_FLAG;
             lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; 
           }
-#line 25749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 800:
-#line 6434 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->comment= (yyvsp[0].lex_str); }
-#line 25755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25767 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 801:
-#line 6436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset)))
               my_yyabort_error((ER_COLLATION_CHARSET_MISMATCH, MYF(0),
                                 (yyvsp[0].charset)->name,Lex->charset->csname));
             Lex->last_field->charset= (yyvsp[0].charset);
           }
-#line 25766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 802:
-#line 6443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6434 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)
               my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].lex_str).str));
@@ -25774,11 +25786,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->last_field->option_list,
                                   &Lex->option_list_last);
           }
-#line 25778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 803:
-#line 6451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)
               my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].lex_str).str));
@@ -25786,30 +25798,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->last_field->option_list,
                                   &Lex->option_list_last);
           }
-#line 25790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 804:
-#line 6459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->last_field->option_list,
                                   &Lex->option_list_last, thd->mem_root);
           }
-#line 25800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 805:
-#line 6465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
               engine_option_value((yyvsp[-2].lex_str), &Lex->last_field->option_list, &Lex->option_list_last);
           }
-#line 25809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 806:
-#line 6474 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           (yyval.field_type)= (yyvsp[-1].field_type);
 
@@ -25820,214 +25832,214 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
           }
           Lex->set_last_field_type((yyvsp[-1].field_type));
         }
-#line 25824 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 807:
-#line 6489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 25834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 808:
-#line 6495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)=(yyvsp[0].item); }
-#line 25840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 809:
-#line 6499 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 810:
-#line 6500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 811:
-#line 6505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))))
               my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str));
           }
-#line 25861 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 812:
-#line 6509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= &my_charset_bin; }
-#line 25867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 813:
-#line 6513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=(yyvsp[0].charset);   }
-#line 25873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 814:
-#line 6514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=NULL; }
-#line 25879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 815:
-#line 6518 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= NULL; }
-#line 25885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 816:
-#line 6519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= (yyvsp[0].charset); }
-#line 25891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 817:
-#line 6524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))) &&
                 !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str)))
               my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str));
           }
-#line 25901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 818:
-#line 6529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= &my_charset_bin; }
-#line 25907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 819:
-#line 6533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=(yyvsp[0].charset);   }
-#line 25913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 820:
-#line 6534 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6525 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=NULL; }
-#line 25919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 821:
-#line 6539 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.charset)= mysqld_collation_get_by_name((yyvsp[0].lex_str).str)))
               MYSQL_YYABORT;
           }
-#line 25928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 822:
-#line 6546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=NULL; }
-#line 25934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 823:
-#line 6547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=(yyvsp[0].charset); }
-#line 25940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 824:
-#line 6551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=(yyvsp[0].charset); }
-#line 25946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 825:
-#line 6552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=NULL; }
-#line 25952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 826:
-#line 6556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 827:
-#line 6557 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 25964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 828:
-#line 6561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= (yyvsp[0].charset); }
-#line 25970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 829:
-#line 6562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= &my_charset_latin1; }
-#line 25976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 830:
-#line 6564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.charset)= get_charset_by_csname("ucs2", MY_CS_PRIMARY,MYF(0))))
               my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), "ucs2"));
           }
-#line 25985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 25997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 831:
-#line 6571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { bincmp_collation(NULL, false); }
-#line 25991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 832:
-#line 6572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6563 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { bincmp_collation(&my_charset_bin, false); }
-#line 25997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 833:
-#line 6573 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { bincmp_collation((yyvsp[-1].charset), (yyvsp[0].num)); }
-#line 26003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 834:
-#line 6574 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { bincmp_collation(NULL, true); }
-#line 26009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 835:
-#line 6575 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6566 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { bincmp_collation((yyvsp[0].charset), true); }
-#line 26015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 836:
-#line 6579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= false; }
-#line 26021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 837:
-#line 6580 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= true; }
-#line 26027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 838:
-#line 6585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6576 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           if ((yyvsp[0].ulong_num) == 0)
           {
@@ -26035,148 +26047,148 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             MYSQL_YYABORT;
           }
         }
-#line 26039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 839:
-#line 6593 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6584 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (yyvsp[-2].ulong_num); }
-#line 26045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 840:
-#line 6597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6588 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= 0; }
-#line 26051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 841:
-#line 6598 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= 1 << MY_STRXFRM_DESC_SHIFT; }
-#line 26057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 842:
-#line 6602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6593 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= 1 << MY_STRXFRM_REVERSE_SHIFT; }
-#line 26063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 843:
-#line 6605 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6596 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= 0; }
-#line 26069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 844:
-#line 6606 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (yyvsp[0].ulong_num); }
-#line 26075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 845:
-#line 6607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6598 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (yyvsp[-1].ulong_num) | (yyvsp[0].ulong_num); }
-#line 26081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 846:
-#line 6608 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (yyvsp[0].ulong_num) ; }
-#line 26087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26099 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 847:
-#line 6613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6604 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           (yyval.ulong_num)= (yyvsp[0].ulong_num) < 1 ? 1 : ((yyvsp[0].ulong_num) > MY_STRXFRM_NLEVELS ? MY_STRXFRM_NLEVELS : (yyvsp[0].ulong_num));
           (yyval.ulong_num)--;
         }
-#line 26096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 848:
-#line 6621 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           (yyval.ulong_num)= (1 | (yyvsp[0].ulong_num)) << (yyvsp[-1].ulong_num);
         }
-#line 26104 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 849:
-#line 6627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6618 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (yyvsp[0].ulong_num); }
-#line 26110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 850:
-#line 6628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)|= (yyvsp[0].ulong_num); }
-#line 26116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 851:
-#line 6633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           uint start= (yyvsp[-2].ulong_num);
           uint end= (yyvsp[0].ulong_num);
           for ((yyval.ulong_num)= 0; start <= end; start++)
             (yyval.ulong_num)|= (1 << start);
         }
-#line 26127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26139 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 852:
-#line 6642 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (yyvsp[0].ulong_num); }
-#line 26133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 853:
-#line 6643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (yyvsp[0].ulong_num); }
-#line 26139 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 854:
-#line 6647 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6638 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= 0; }
-#line 26145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 855:
-#line 6648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6639 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (yyvsp[0].ulong_num); }
-#line 26151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 858:
-#line 6662 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6653 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.table)=(yyvsp[-3].table);
           }
-#line 26159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 859:
-#line 6669 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6660 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ref_list.empty(); }
-#line 26165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 861:
-#line 6675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Key_part_spec *key= new (thd->mem_root) Key_part_spec((yyvsp[0].lex_str), 0);
             if (key == NULL)
               MYSQL_YYABORT;
             Lex->ref_list.push_back(key, thd->mem_root);
           }
-#line 26176 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 862:
-#line 6682 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6673 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Key_part_spec *key= new (thd->mem_root) Key_part_spec((yyvsp[0].lex_str), 0);
             if (key == NULL)
@@ -26185,181 +26197,181 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->ref_list.empty();
             lex->ref_list.push_back(key, thd->mem_root);
           }
-#line 26189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26201 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 863:
-#line 6694 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; }
-#line 26195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 864:
-#line 6696 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6687 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; }
-#line 26201 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 865:
-#line 6698 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; }
-#line 26207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 866:
-#line 6700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6691 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; }
-#line 26213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 867:
-#line 6705 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6696 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->fk_update_opt= FK_OPTION_UNDEF;
             lex->fk_delete_opt= FK_OPTION_UNDEF;
           }
-#line 26223 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26235 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 868:
-#line 6711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6702 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->fk_update_opt= (yyvsp[0].m_fk_option);
             lex->fk_delete_opt= FK_OPTION_UNDEF;
           }
-#line 26233 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 869:
-#line 6717 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6708 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->fk_update_opt= FK_OPTION_UNDEF;
             lex->fk_delete_opt= (yyvsp[0].m_fk_option);
           }
-#line 26243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 870:
-#line 6724 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->fk_update_opt= (yyvsp[-3].m_fk_option);
             lex->fk_delete_opt= (yyvsp[0].m_fk_option);
           }
-#line 26253 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26265 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 871:
-#line 6731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6722 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->fk_update_opt= (yyvsp[0].m_fk_option);
             lex->fk_delete_opt= (yyvsp[-3].m_fk_option);
           }
-#line 26263 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 872:
-#line 6739 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6730 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= FK_OPTION_RESTRICT; }
-#line 26269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 873:
-#line 6740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= FK_OPTION_CASCADE; }
-#line 26275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 874:
-#line 6741 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= FK_OPTION_SET_NULL; }
-#line 26281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 875:
-#line 6742 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6733 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= FK_OPTION_NO_ACTION; }
-#line 26287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 876:
-#line 6743 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6734 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= FK_OPTION_SET_DEFAULT; }
-#line 26293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 877:
-#line 6747 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::PRIMARY; }
-#line 26299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 878:
-#line 6748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6739 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::UNIQUE; }
-#line 26305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26317 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 879:
-#line 6752 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6743 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 880:
-#line 6753 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26317 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 881:
-#line 6757 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 883:
-#line 6762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6753 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 884:
-#line 6763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 885:
-#line 6764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 886:
-#line 6768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6759 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::MULTIPLE; }
-#line 26347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 887:
-#line 6769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::UNIQUE; }
-#line 26353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 888:
-#line 6773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::FULLTEXT;}
-#line 26359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 889:
-#line 6778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef HAVE_SPATIAL
             (yyval.key_type)= Key::SPATIAL;
@@ -26368,101 +26380,101 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                               sym_group_geom.needed_define));
 #endif
           }
-#line 26372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 890:
-#line 6789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 891:
-#line 6790 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_key->option_list= Lex->option_list; }
-#line 26384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 892:
-#line 6794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 893:
-#line 6795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6786 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_key->option_list= Lex->option_list; }
-#line 26396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 894:
-#line 6799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6790 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 895:
-#line 6800 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_key->option_list= Lex->option_list; }
-#line 26408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 902:
-#line 6819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= HA_KEY_ALG_UNDEF; }
-#line 26414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 903:
-#line 6820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= (yyvsp[0].key_alg); }
-#line 26420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 904:
-#line 6824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= HA_KEY_ALG_UNDEF; }
-#line 26426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 905:
-#line 6825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6816 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= (yyvsp[0].key_alg); }
-#line 26432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 906:
-#line 6826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= (yyvsp[0].key_alg); }
-#line 26438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 907:
-#line 6830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_key->key_create_info.algorithm= (yyvsp[0].key_alg); }
-#line 26444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 908:
-#line 6832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_key->key_create_info.algorithm= (yyvsp[0].key_alg); }
-#line 26450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 909:
-#line 6837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_key->key_create_info.block_size= (yyvsp[0].ulong_num); }
-#line 26456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 910:
-#line 6839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_key->key_create_info.comment= (yyvsp[0].lex_str); }
-#line 26462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 911:
-#line 6841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)
               my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].lex_str).str));
@@ -26470,11 +26482,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->option_list,
                                   &Lex->option_list_last);
           }
-#line 26474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 912:
-#line 6849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)
               my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].lex_str).str));
@@ -26482,85 +26494,85 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->option_list,
                                   &Lex->option_list_last);
           }
-#line 26486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 913:
-#line 6857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
               engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->option_list,
                                   &Lex->option_list_last, thd->mem_root);
           }
-#line 26496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 914:
-#line 6863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
               engine_option_value((yyvsp[-2].lex_str), &Lex->option_list, &Lex->option_list_last);
           }
-#line 26505 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26517 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 919:
-#line 6881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (plugin_is_ready(&(yyvsp[0].lex_str), MYSQL_FTPARSER_PLUGIN))
               Lex->last_key->key_create_info.parser_name= (yyvsp[0].lex_str);
             else
               my_yyabort_error((ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[0].lex_str).str));
           }
-#line 26516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 920:
-#line 6890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= HA_KEY_ALG_BTREE; }
-#line 26522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 921:
-#line 6891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= HA_KEY_ALG_RTREE; }
-#line 26528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 922:
-#line 6892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= HA_KEY_ALG_HASH; }
-#line 26534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 923:
-#line 6897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->last_key->columns.push_back((yyvsp[-1].key_part), thd->mem_root);
           }
-#line 26542 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26554 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 924:
-#line 6901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->last_key->columns.push_back((yyvsp[-1].key_part), thd->mem_root);
           }
-#line 26550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 925:
-#line 6908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.key_part)= new (thd->mem_root) Key_part_spec((yyvsp[0].lex_str), 0);
             if ((yyval.key_part) == NULL)
               MYSQL_YYABORT;
           }
-#line 26560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 926:
-#line 6914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6905 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             int key_part_len= atoi((yyvsp[-1].lex_str).str);
             if (!key_part_len)
@@ -26569,47 +26581,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.key_part) == NULL)
               MYSQL_YYABORT;
           }
-#line 26573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 927:
-#line 6925 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
-#line 26579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 928:
-#line 6926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= (yyvsp[0].lex_str); }
-#line 26585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 929:
-#line 6930 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6921 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
-#line 26591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 930:
-#line 6931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= (yyvsp[0].lex_str); }
-#line 26597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 931:
-#line 6936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->interval_list.push_back((yyvsp[0].string), thd->mem_root); }
-#line 26603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 932:
-#line 6938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->last_field->interval_list.push_back((yyvsp[0].string), thd->mem_root); }
-#line 26609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 933:
-#line 6946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6937 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->name= null_lex_str;
             Lex->only_view= FALSE;
@@ -26623,11 +26635,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->create_info.storage_media= HA_SM_DEFAULT;
             DBUG_ASSERT(!Lex->m_sql_cmd);
           }
-#line 26627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 934:
-#line 6960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
                                                    TL_OPTION_UPDATING,
@@ -26637,11 +26649,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->select_lex.db= (Lex->select_lex.table_list.first)->db;
             Lex->create_last_non_select_table= Lex->last_table();
           }
-#line 26641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26653 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 935:
-#line 6970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Lex->m_sql_cmd)
             {
@@ -26651,20 +26663,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 26655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 936:
-#line 6980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6971 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.default_table_charset= NULL;
             Lex->create_info.used_fields= 0;
           }
-#line 26664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 937:
-#line 6985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command=SQLCOM_ALTER_DB;
@@ -26673,11 +26685,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 lex->copy_db_to(&lex->name.str, &lex->name.length))
               MYSQL_YYABORT;
           }
-#line 26677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 938:
-#line 6994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->sphead)
@@ -26685,11 +26697,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_ALTER_DB_UPGRADE;
             lex->name= (yyvsp[-4].lex_str);
           }
-#line 26689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 939:
-#line 7002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 6993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -26697,22 +26709,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE"));
             bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
           }
-#line 26701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 940:
-#line 7010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
             lex->sql_command= SQLCOM_ALTER_PROCEDURE;
             lex->spname= (yyvsp[-2].spname);
           }
-#line 26712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 941:
-#line 7017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -26720,22 +26732,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_SP_NO_DROP_SP, MYF(0), "FUNCTION"));
             bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
           }
-#line 26724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 942:
-#line 7025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
             lex->sql_command= SQLCOM_ALTER_FUNCTION;
             lex->spname= (yyvsp[-2].spname);
           }
-#line 26735 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 943:
-#line 7032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -26743,17 +26755,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW"));
             lex->create_view_mode= VIEW_ALTER;
           }
-#line 26747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 944:
-#line 7040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26753 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26765 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 945:
-#line 7047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -26762,17 +26774,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->create_view_algorithm= VIEW_ALGORITHM_INHERIT;
             lex->create_view_mode= VIEW_ALTER;
           }
-#line 26766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 946:
-#line 7056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 26772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 947:
-#line 7058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* 
               It is safe to use Lex->spname because
@@ -26789,11 +26801,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->sql_command= SQLCOM_ALTER_EVENT;
             Lex->stmt_definition_begin= (yyvsp[-2].simple_string);
           }
-#line 26793 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26805 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 948:
-#line 7079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num)))
             {
@@ -26807,93 +26819,93 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->sql_command= SQLCOM_ALTER_EVENT;
             Lex->stmt_definition_end= (char*)YYLIP->get_cpp_ptr();
           }
-#line 26811 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26823 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 949:
-#line 7093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE;
           }
-#line 26820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 950:
-#line 7098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP;
           }
-#line 26829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 951:
-#line 7103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE;
           }
-#line 26838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 952:
-#line 7108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE;
           }
-#line 26847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26859 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 953:
-#line 7113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_ALTER_SERVER;
             lex->server_options.reset((yyvsp[0].lex_str));
           }
-#line 26857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 954:
-#line 7117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 26863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 955:
-#line 7121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;}
-#line 26869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 956:
-#line 7122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 26875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 957:
-#line 7123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 26881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 958:
-#line 7124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 26887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 959:
-#line 7128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;}
-#line 26893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26905 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 960:
-#line 7130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Use lex's spname to hold the new name.
@@ -26902,35 +26914,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->spname= (yyvsp[0].spname); 
             (yyval.num)= 1;
           }
-#line 26906 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 961:
-#line 7141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;}
-#line 26912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 962:
-#line 7142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 26918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 963:
-#line 7146 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
-#line 26924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26936 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 964:
-#line 7147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= (yyvsp[0].lex_str); }
-#line 26930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 966:
-#line 7153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->m_sql_cmd= new (thd->mem_root)
               Sql_cmd_discard_import_tablespace(
@@ -26938,11 +26950,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (Lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 26942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 967:
-#line 7161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->m_sql_cmd= new (thd->mem_root)
               Sql_cmd_discard_import_tablespace(
@@ -26950,31 +26962,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (Lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 26954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 973:
-#line 7183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_DROP_PARTITION;
             DBUG_ASSERT(!Lex->if_exists());
             Lex->create_info.add((yyvsp[-1].object_ddl_options));
           }
-#line 26964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 974:
-#line 7190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_info.flags|= Alter_info::ALTER_REBUILD_PARTITION;
             lex->no_write_to_binlog= (yyvsp[-1].num);
           }
-#line 26974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 26986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 975:
-#line 7197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->no_write_to_binlog= (yyvsp[-1].num);
@@ -26985,11 +26997,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 26989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27001 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 977:
-#line 7210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->no_write_to_binlog= (yyvsp[-1].num);
@@ -27000,11 +27012,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
                MYSQL_YYABORT;
           }
-#line 27004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 978:
-#line 7221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->check_opt.init();
@@ -27014,11 +27026,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 27018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 980:
-#line 7233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->no_write_to_binlog= (yyvsp[-1].num);
@@ -27029,22 +27041,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 27033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 982:
-#line 7245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_info.flags|= Alter_info::ALTER_COALESCE_PARTITION;
             lex->no_write_to_binlog= (yyvsp[-1].num);
             lex->alter_info.num_parts= (yyvsp[0].ulong_num);
           }
-#line 27044 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27056 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 983:
-#line 7252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->check_opt.init();
@@ -27054,11 +27066,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 27058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27070 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 985:
-#line 7264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             size_t dummy;
@@ -27081,27 +27093,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 27085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 986:
-#line 7290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_REMOVE_PARTITIONING;
           }
-#line 27093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 987:
-#line 7297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_ALL_PARTITION;
           }
-#line 27101 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 989:
-#line 7306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info= new (thd->mem_root) partition_info();
@@ -27115,34 +27127,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->create_info.set((yyvsp[-1].object_ddl_options));
             lex->no_write_to_binlog= (yyvsp[0].num);
           }
-#line 27119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 990:
-#line 7320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27125 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 992:
-#line 7326 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info->num_parts= lex->part_info->partitions.elements;
           }
-#line 27134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27146 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 993:
-#line 7331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->part_info->num_parts= (yyvsp[0].ulong_num);
           }
-#line 27142 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 994:
-#line 7338 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info= new (thd->mem_root) partition_info();
@@ -27153,48 +27165,48 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             lex->no_write_to_binlog= (yyvsp[0].num);
           }
-#line 27157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 996:
-#line 7353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7344 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_TABLE_REORG;
           }
-#line 27165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 997:
-#line 7357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7348 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_REORGANIZE_PARTITION;
           }
-#line 27173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 998:
-#line 7361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->num_parts= part_info->partitions.elements;
           }
-#line 27182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 999:
-#line 7368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7359 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1000:
-#line 7369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27206 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1001:
-#line 7374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->alter_info.partition_names.push_back((yyvsp[0].lex_str).str,
                                                           thd->mem_root))
@@ -27203,66 +27215,66 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 27207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1004:
-#line 7395 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.flags|= Alter_info::ALTER_ADD_COLUMN;
           }
-#line 27216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1005:
-#line 7403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7394 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_last_non_select_table= Lex->last_table();
           }
-#line 27224 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27236 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1006:
-#line 7407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_last_non_select_table= Lex->last_table();
             Lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX;
           }
-#line 27233 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1007:
-#line 7412 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_ADD_COLUMN |
                                     Alter_info::ALTER_ADD_INDEX;
           }
-#line 27242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1008:
-#line 7418 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_CHANGE_COLUMN;
             Lex->create_last_non_select_table= Lex->last_table();
             Lex->last_field->change= (yyvsp[-2].lex_str).str;
           }
-#line 27252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1009:
-#line 7425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7416 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_CHANGE_COLUMN;
             Lex->create_last_non_select_table= Lex->last_table();
             Lex->last_field->change= Lex->last_field->field_name;
           }
-#line 27262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1010:
-#line 7431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Alter_drop *ad= (new (thd->mem_root)
@@ -27272,11 +27284,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->alter_info.drop_list.push_back(ad, thd->mem_root);
             lex->alter_info.flags|= Alter_info::ALTER_DROP_COLUMN;
           }
-#line 27276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1011:
-#line 7441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7432 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Alter_drop *ad= (new (thd->mem_root)
@@ -27286,11 +27298,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->alter_info.drop_list.push_back(ad, thd->mem_root);
             lex->alter_info.flags|= Alter_info::DROP_FOREIGN_KEY;
           }
-#line 27290 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27302 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1012:
-#line 7451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Alter_drop *ad= (new (thd->mem_root)
@@ -27301,11 +27313,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->alter_info.drop_list.push_back(ad, thd->mem_root);
             lex->alter_info.flags|= Alter_info::ALTER_DROP_INDEX;
           }
-#line 27305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27317 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1013:
-#line 7462 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Alter_drop *ad= (new (thd->mem_root)
@@ -27315,31 +27327,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->alter_info.drop_list.push_back(ad, thd->mem_root);
             lex->alter_info.flags|= Alter_info::ALTER_DROP_INDEX;
           }
-#line 27319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27331 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1014:
-#line 7472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.keys_onoff= Alter_info::DISABLE;
             lex->alter_info.flags|= Alter_info::ALTER_KEYS_ONOFF;
           }
-#line 27329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1015:
-#line 7478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7469 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.keys_onoff= Alter_info::ENABLE;
             lex->alter_info.flags|= Alter_info::ALTER_KEYS_ONOFF;
           }
-#line 27339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1016:
-#line 7484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Alter_column *ac= new (thd->mem_root) Alter_column((yyvsp[-3].lex_str).str,(yyvsp[0].item));
@@ -27348,11 +27360,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->alter_info.alter_list.push_back(ac, thd->mem_root);
             lex->alter_info.flags|= Alter_info::ALTER_CHANGE_COLUMN_DEFAULT;
           }
-#line 27352 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27364 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1017:
-#line 7493 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Alter_column *ac= (new (thd->mem_root)
@@ -27362,11 +27374,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->alter_info.alter_list.push_back(ac, thd->mem_root);
             lex->alter_info.flags|= Alter_info::ALTER_CHANGE_COLUMN_DEFAULT;
           }
-#line 27366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1018:
-#line 7503 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             size_t dummy;
@@ -27382,11 +27394,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->name= (yyvsp[0].table)->table;
             lex->alter_info.flags|= Alter_info::ALTER_RENAME;
           }
-#line 27386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1019:
-#line 7519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!(yyvsp[-1].charset))
             {
@@ -27400,244 +27412,239 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Lex->alter_info.flags|= Alter_info::ALTER_OPTIONS;
           }
-#line 27404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1020:
-#line 7533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.flags|= Alter_info::ALTER_OPTIONS;
-            if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
-                !lex->create_info.db_type)
-            {
-              lex->create_info.used_fields&= ~HA_CREATE_USED_ENGINE;
-            }
           }
-#line 27418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1021:
-#line 7543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_RECREATE;
           }
-#line 27426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27433 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1022:
-#line 7547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.flags|= Alter_info::ALTER_ORDER;
           }
-#line 27435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1030:
-#line 7564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7550 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.requested_algorithm=
               Alter_info::ALTER_TABLE_ALGORITHM_DEFAULT;
           }
-#line 27444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1031:
-#line 7569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->alter_info.set_requested_algorithm(&(yyvsp[0].lex_str)))
               my_yyabort_error((ER_UNKNOWN_ALTER_ALGORITHM, MYF(0), (yyvsp[0].lex_str).str));
           }
-#line 27453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1032:
-#line 7577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7563 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.requested_lock=
               Alter_info::ALTER_TABLE_LOCK_DEFAULT;
           }
-#line 27462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1033:
-#line 7582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->alter_info.set_requested_lock(&(yyvsp[0].lex_str)))
               my_yyabort_error((ER_UNKNOWN_ALTER_LOCK, MYF(0), (yyvsp[0].lex_str).str));
           }
-#line 27471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1034:
-#line 7589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7575 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1035:
-#line 7590 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7576 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27490 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1036:
-#line 7594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7580 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 0;}
-#line 27489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1037:
-#line 7595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 1;}
-#line 27495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1038:
-#line 7599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 0;}
-#line 27501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1044:
-#line 7613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 1;}
-#line 27507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1045:
-#line 7615 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.requested_lock=
               Alter_info::ALTER_TABLE_LOCK_NONE;
           }
-#line 27516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27523 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1046:
-#line 7622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7608 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->drop_mode= DROP_DEFAULT; }
-#line 27522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1047:
-#line 7623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->drop_mode= DROP_RESTRICT; }
-#line 27528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1048:
-#line 7624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7610 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->drop_mode= DROP_CASCADE; }
-#line 27534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1049:
-#line 7628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7614 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1050:
-#line 7630 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7616 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             store_position_for_column((yyvsp[0].lex_str).str);
             Lex->alter_info.flags |= Alter_info::ALTER_COLUMN_ORDER;
           }
-#line 27549 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1051:
-#line 7635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7621 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             store_position_for_column(first_keyword);
             Lex->alter_info.flags |= Alter_info::ALTER_COLUMN_ORDER;
           }
-#line 27558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27565 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1052:
-#line 7642 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1053:
-#line 7643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7629 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1054:
-#line 7644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7630 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1055:
-#line 7645 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1056:
-#line 7650 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7636 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_SLAVE_START;
             lex->type = 0;
             /* If you change this code don't forget to update SLAVE START too */
           }
-#line 27593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1057:
-#line 7657 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1058:
-#line 7659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7645 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_SLAVE_ALL_START;
             lex->type = 0;
           }
-#line 27609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1059:
-#line 7664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7650 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1060:
-#line 7666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_SLAVE_STOP;
             lex->type = 0;
             /* If you change this code don't forget to update SLAVE STOP too */
           }
-#line 27626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1061:
-#line 7673 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_SLAVE_ALL_STOP;
             lex->type = 0;
             /* If you change this code don't forget to update SLAVE STOP too */
           }
-#line 27637 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1062:
-#line 7683 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7669 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_BEGIN;
@@ -27650,103 +27657,103 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             lex->start_transaction_opt= (yyvsp[0].num);
           }
-#line 27654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1063:
-#line 7699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= 0;
           }
-#line 27662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27669 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1064:
-#line 7703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= (yyvsp[0].num);
           }
-#line 27670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1065:
-#line 7710 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7696 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= (yyvsp[0].num);
           }
-#line 27678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27685 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1066:
-#line 7714 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num);
           }
-#line 27686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1067:
-#line 7721 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT;
           }
-#line 27694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1068:
-#line 7725 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= MYSQL_START_TRANS_OPT_READ_ONLY;
           }
-#line 27702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1069:
-#line 7729 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= MYSQL_START_TRANS_OPT_READ_WRITE;
           }
-#line 27710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27717 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1070:
-#line 7735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7721 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->slave_thd_opt= 0; }
-#line 27716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1071:
-#line 7737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27722 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1074:
-#line 7746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27735 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1075:
-#line 7747 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7733 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->slave_thd_opt|=SLAVE_SQL; }
-#line 27734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1076:
-#line 7748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7734 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->slave_thd_opt|=SLAVE_IO; }
-#line 27740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1077:
-#line 7752 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27753 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1078:
-#line 7754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (((lex->mi.log_file_name || lex->mi.pos) &&
@@ -27755,60 +27762,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                   (lex->mi.relay_log_name && lex->mi.relay_log_pos)))
                my_yyabort_error((ER_BAD_SLAVE_UNTIL_COND, MYF(0)));
           }
-#line 27759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1079:
-#line 7763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7749 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->mi.gtid_pos_str = (yyvsp[0].lex_str);
           }
-#line 27767 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1082:
-#line 7775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_CHECKSUM;
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
-#line 27778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27785 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1083:
-#line 7782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1084:
-#line 7786 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags= 0; }
-#line 27790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1085:
-#line 7787 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags= T_QUICK; }
-#line 27796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27803 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1086:
-#line 7788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags= T_EXTEND; }
-#line 27802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1088:
-#line 7793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->only_view= TRUE; }
-#line 27808 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1090:
-#line 7798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7784 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_REPAIR;
@@ -27818,11 +27825,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
-#line 27822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1091:
-#line 7808 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             DBUG_ASSERT(!lex->m_sql_cmd);
@@ -27830,65 +27837,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 27834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1092:
-#line 7818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags = T_MEDIUM; }
-#line 27840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1093:
-#line 7819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1094:
-#line 7823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27859 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1095:
-#line 7824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1096:
-#line 7828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7814 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_QUICK; }
-#line 27864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1097:
-#line 7829 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_EXTEND; }
-#line 27870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27877 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1098:
-#line 7830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7816 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.sql_flags|= TT_USEFRM; }
-#line 27876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1099:
-#line 7834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 27882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27889 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1100:
-#line 7835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.sql_flags|= TT_FROM_MYSQL; }
-#line 27888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1101:
-#line 7840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_ANALYZE;
@@ -27898,11 +27905,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
-#line 27902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1102:
-#line 7850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             DBUG_ASSERT(!lex->m_sql_cmd);
@@ -27910,149 +27917,149 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 27914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1106:
-#line 7870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7856 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1107:
-#line 7872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             thd->lex->with_persistent_for_clause= TRUE;
           }
-#line 27928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27935 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1108:
-#line 7879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1109:
-#line 7881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1110:
-#line 7884 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1111:
-#line 7886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX* lex= thd->lex;
             lex->column_list= new (thd->mem_root) List;
             if (lex->column_list == NULL)
               MYSQL_YYABORT;
           }
-#line 27957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1113:
-#line 7897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1114:
-#line 7899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX* lex= thd->lex;
             lex->index_list= new (thd->mem_root) List;
             if (lex->index_list == NULL)
               MYSQL_YYABORT;
           }
-#line 27974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27981 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1116:
-#line 7911 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 27980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27987 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1117:
-#line 7913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->column_list->push_back((LEX_STRING*)
                 thd->memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)), thd->mem_root);
           }
-#line 27989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 27996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1118:
-#line 7918 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7904 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->column_list->push_back((LEX_STRING*)
                 thd->memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)), thd->mem_root);
           }
-#line 27998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28005 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1119:
-#line 7926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7912 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 28004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28011 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1122:
-#line 7933 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->index_list->push_back((LEX_STRING*)
                                        thd->memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)),
                                        thd->mem_root);
           }
-#line 28014 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1123:
-#line 7940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX_STRING str= {(char*) "PRIMARY", 7};
             Lex->index_list->push_back((LEX_STRING*)
                                         thd->memdup(&str, sizeof(LEX_STRING)),
                                         thd->mem_root);
           }
-#line 28025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1124:
-#line 7950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT;
             Lex->comment= (yyvsp[0].lex_str);
             Lex->ident.str=    NULL;
             Lex->ident.length= 0;
           }
-#line 28036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28043 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1125:
-#line 7958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7944 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT;
             Lex->comment= (yyvsp[-3].lex_str);
             Lex->ident=   (yyvsp[0].lex_str);
           }
-#line 28046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28053 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1127:
-#line 7967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->only_view= TRUE; }
-#line 28052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1129:
-#line 7971 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
@@ -28062,11 +28069,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
-#line 28066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1130:
-#line 7981 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             if (lex->sphead)
@@ -28076,83 +28083,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 28080 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1131:
-#line 7993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags = T_MEDIUM; }
-#line 28086 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1132:
-#line 7994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 28092 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28099 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1133:
-#line 7998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7984 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 28098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1134:
-#line 7999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 28104 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1135:
-#line 8003 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7989 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_QUICK; }
-#line 28110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28117 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1136:
-#line 8004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_FAST; }
-#line 28116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28123 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1137:
-#line 8005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7991 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_MEDIUM; }
-#line 28122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1138:
-#line 8006 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_EXTEND; }
-#line 28128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1139:
-#line 8007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; }
-#line 28134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1140:
-#line 8008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; }
-#line 28140 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1141:
-#line 8012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 28146 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1142:
-#line 8013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 7999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; }
-#line 28152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1143:
-#line 8018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_OPTIMIZE;
@@ -28162,11 +28169,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
-#line 28166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1144:
-#line 8028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             DBUG_ASSERT(!lex->m_sql_cmd);
@@ -28174,71 +28181,71 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 28178 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1145:
-#line 8038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 28184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28191 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1146:
-#line 8039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 28190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28197 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1147:
-#line 8040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 28196 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1148:
-#line 8045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_RENAME_TABLE;
           }
-#line 28204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1149:
-#line 8049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 28210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28217 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1150:
-#line 8051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_RENAME_USER;
           }
-#line 28218 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1151:
-#line 8058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[-2].lex_user), thd->mem_root) ||
                 Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 28228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28235 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1152:
-#line 8064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[-2].lex_user), thd->mem_root) ||
                 Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 28238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1155:
-#line 8078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             SELECT_LEX *sl= lex->current_select;
@@ -28248,146 +28255,146 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                        TL_IGNORE, MDL_EXCLUSIVE))
               MYSQL_YYABORT;
           }
-#line 28252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1156:
-#line 8091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.reset();
           }
-#line 28260 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1157:
-#line 8095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE;
             lex->ident= (yyvsp[0].lex_str);
           }
-#line 28270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28277 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1162:
-#line 8114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, 0, TL_READ,
                                            MDL_SHARED_READ,
                                            Select->pop_index_hints()))
               MYSQL_YYABORT;
           }
-#line 28281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1163:
-#line 8124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, 0, TL_READ, 
                                            MDL_SHARED_READ,
                                            Select->pop_index_hints()))
               MYSQL_YYABORT;
           }
-#line 28292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1164:
-#line 8133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= (yyvsp[0].lex_str); }
-#line 28298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1165:
-#line 8134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str) = default_key_cache_base; }
-#line 28304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1166:
-#line 8139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command=SQLCOM_PRELOAD_KEYS;
             lex->alter_info.reset();
           }
-#line 28314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1167:
-#line 8145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 28320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1172:
-#line 8160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8146 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, (yyvsp[0].num), TL_READ,
                                            MDL_SHARED_READ,
                                            Select->pop_index_hints()))
               MYSQL_YYABORT;
           }
-#line 28331 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1173:
-#line 8170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Select->add_table_to_list(thd, (yyvsp[-3].table), NULL, (yyvsp[0].num), TL_READ,
                                            MDL_SHARED_READ,
                                            Select->pop_index_hints()))
               MYSQL_YYABORT;
           }
-#line 28342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28349 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1174:
-#line 8180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= Alter_info::ALTER_ADMIN_PARTITION;
           }
-#line 28350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1176:
-#line 8187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->select_lex.alloc_index_hints(thd);
             Select->set_index_hint_type(INDEX_HINT_USE, 
                                         INDEX_HINT_MASK_ALL);
           }
-#line 28360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28367 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1178:
-#line 8196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 28366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28373 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1180:
-#line 8202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 28372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1181:
-#line 8203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_OPTION_IGNORE_LEAVES; }
-#line 28378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1182:
-#line 8213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SELECT;
           }
-#line 28387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1185:
-#line 8226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               In order to correctly parse UNION's global ORDER BY we need to
@@ -28395,47 +28402,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             Lex->current_select->set_braces(true);
           }
-#line 28399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1186:
-#line 8234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (setup_select_in_parentheses(Lex))
               MYSQL_YYABORT;
           }
-#line 28408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1188:
-#line 8243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->current_select->set_braces(true);
           }
-#line 28416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1189:
-#line 8248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (setup_select_in_parentheses(Lex))
               MYSQL_YYABORT;
           }
-#line 28425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1191:
-#line 8257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             /* Parentheses carry no meaning here */
             lex->current_select->set_braces(false);
           }
-#line 28435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1195:
-#line 8287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[-9].num) && (yyvsp[-1].num))         /* double "INTO" clause */
               my_yyabort_error((ER_WRONG_USAGE, MYF(0), "INTO", "INTO"));
@@ -28443,11 +28450,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyvsp[-2].num) && ((yyvsp[-9].num) || (yyvsp[-1].num))) /* "INTO" with "PROCEDURE ANALYSE" */
               my_yyabort_error((ER_WRONG_USAGE, MYF(0), "PROCEDURE", "INTO"));
           }
-#line 28447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1196:
-#line 8297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -28455,38 +28462,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               mysql_init_select(lex);
             lex->current_select->parsing_place= SELECT_LIST;
           }
-#line 28459 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1197:
-#line 8305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
-#line 28467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1202:
-#line 8332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->context.table_list=
               Select->context.first_name_resolution_table=
                 Select->table_list.first;
           }
-#line 28477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1205:
-#line 8347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Select->options & SELECT_DISTINCT && Select->options & SELECT_ALL)
               my_yyabort_error((ER_WRONG_USAGE, MYF(0), "ALL", "DISTINCT"));
           }
-#line 28486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28493 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1209:
-#line 8361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* 
               Allow this flag only on the first top-level SELECT statement, if
@@ -28503,11 +28510,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->select_lex.options&= ~OPTION_TO_QUERY_CACHE;
             Lex->select_lex.sql_cache= SELECT_LEX::SQL_NO_CACHE;
           }
-#line 28507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1210:
-#line 8378 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* 
               Allow this flag only on the first top-level SELECT statement, if
@@ -28524,22 +28531,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->select_lex.options|= OPTION_TO_QUERY_CACHE;
             Lex->select_lex.sql_cache= SELECT_LEX::SQL_CACHE;
           }
-#line 28528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1212:
-#line 8399 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->current_select->lock_type= TL_WRITE;
             lex->current_select->set_lock_for_tables(TL_WRITE, false);
             lex->safe_to_cache_query=0;
           }
-#line 28539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1213:
-#line 8406 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8392 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->current_select->lock_type= TL_READ_WITH_SHARED_LOCKS;
@@ -28547,11 +28554,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS, false);
             lex->safe_to_cache_query=0;
           }
-#line 28551 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1216:
-#line 8419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8405 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root)
                           Item_field(thd, &thd->lex->current_select->context,
@@ -28562,20 +28569,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             (thd->lex->current_select->with_wild)++;
           }
-#line 28566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1217:
-#line 8433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_item_to_list(thd, (yyvsp[-1].item)))
               MYSQL_YYABORT;
           }
-#line 28575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1218:
-#line 8438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8424 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT((yyvsp[-3].simple_string) < (yyvsp[-1].simple_string));
 
@@ -28594,113 +28601,113 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset());
             }
           }
-#line 28598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1219:
-#line 8459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.simple_string)= (char*) YYLIP->get_tok_start();
           }
-#line 28606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28613 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1220:
-#line 8465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start();
           }
-#line 28614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1221:
-#line 8471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8457 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end();
           }
-#line 28622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28629 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1222:
-#line 8477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=null_lex_str;}
-#line 28628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1223:
-#line 8478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str); }
-#line 28634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1224:
-#line 8479 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str); }
-#line 28640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28647 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1225:
-#line 8480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8466 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str); }
-#line 28646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28653 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1226:
-#line 8481 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8467 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str); }
-#line 28652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28659 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1227:
-#line 8485 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= NOT_FIXED_DEC;  }
-#line 28658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28665 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1228:
-#line 8486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= NOT_FIXED_DEC;  }
-#line 28664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28671 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1229:
-#line 8487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8473 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (yyvsp[-1].ulong_num); }
-#line 28670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1230:
-#line 8491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;  }
-#line 28676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1231:
-#line 8492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;  }
-#line 28682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1232:
-#line 8493 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8479 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (yyvsp[-1].ulong_num); }
-#line 28688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1233:
-#line 8497 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8483 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 28694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1234:
-#line 8498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 28700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28707 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1235:
-#line 8504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Design notes:
@@ -28751,22 +28758,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 28755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1236:
-#line 8555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* XOR is a proprietary extension */
             (yyval.item)= new (thd->mem_root) Item_func_xor(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28773 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1237:
-#line 8562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* See comments in rule expr: expr or expr */
             Item_cond_and *item1;
@@ -28809,141 +28816,141 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 28813 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1238:
-#line 8605 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8591 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= negate_expression(thd, (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28823 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28830 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1239:
-#line 8611 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_istrue(thd, (yyvsp[-2].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28833 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1240:
-#line 8617 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8603 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_isnottrue(thd, (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1241:
-#line 8623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_isfalse(thd, (yyvsp[-2].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1242:
-#line 8629 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8615 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_isnotfalse(thd, (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1243:
-#line 8635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8621 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_isnull(thd, (yyvsp[-2].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28880 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1244:
-#line 8641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_isnotnull(thd, (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1246:
-#line 8651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_isnull(thd, (yyvsp[-2].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1247:
-#line 8657 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_isnotnull(thd, (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1248:
-#line 8663 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8649 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_equal(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1249:
-#line 8669 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8655 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1250:
-#line 8675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8661 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= all_any_subquery_creator(thd, (yyvsp[-5].item), (yyvsp[-4].boolfunc2creator), (yyvsp[-3].num), (yyvsp[-1].select_lex));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1252:
-#line 8685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8671 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_in_subselect(thd, (yyvsp[-4].item), (yyvsp[-1].select_lex));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1253:
-#line 8691 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8677 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_in_subselect(thd, (yyvsp[-5].item), (yyvsp[-1].select_lex));
             if (item == NULL)
@@ -28952,21 +28959,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1254:
-#line 8700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8686 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-4].item), true, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1255:
-#line 8706 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8692 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root);
             (yyvsp[-1].item_list)->push_front((yyvsp[-6].item), thd->mem_root);
@@ -28974,21 +28981,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1256:
-#line 8714 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-5].item), false, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 28988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 28995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1257:
-#line 8720 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8706 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root);
             (yyvsp[-1].item_list)->push_front((yyvsp[-7].item), thd->mem_root);
@@ -28998,21 +29005,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             item->negate();
             (yyval.item)= item;
           }
-#line 29002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1258:
-#line 8730 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8716 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_between(thd, (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29019 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1259:
-#line 8736 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8722 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_func_between *item;
             item= new (thd->mem_root) Item_func_between(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item));
@@ -29021,11 +29028,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             item->negate();
             (yyval.item)= item;
           }
-#line 29025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1260:
-#line 8745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item1= new (thd->mem_root) Item_func_soundex(thd, (yyvsp[-3].item));
             Item *item4= new (thd->mem_root) Item_func_soundex(thd, (yyvsp[0].item));
@@ -29035,22 +29042,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1261:
-#line 8755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8741 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_like(thd, (yyvsp[-3].item), (yyvsp[-1].item), (yyvsp[0].item),
                                                    Lex->escape_used);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1262:
-#line 8762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_func_like(thd, (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].item),
                                                              Lex->escape_used);
@@ -29060,21 +29067,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1263:
-#line 8772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_regex(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1264:
-#line 8778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_func_regex(thd, (yyvsp[-3].item), (yyvsp[0].item));
             if (item == NULL)
@@ -29083,318 +29090,318 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1266:
-#line 8791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_bit_or(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29104 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1267:
-#line 8797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_bit_and(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1268:
-#line 8803 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_shift_left(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29117 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29124 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1269:
-#line 8809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_shift_right(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1270:
-#line 8815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8801 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_plus(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1271:
-#line 8821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8807 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_minus(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1272:
-#line 8827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29164 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1273:
-#line 8833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29167 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1274:
-#line 8839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_mul(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1275:
-#line 8845 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_div(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1276:
-#line 8851 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29197 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1277:
-#line 8857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_int_div(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29214 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1278:
-#line 8863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29217 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29224 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1279:
-#line 8869 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8855 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_bit_xor(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1289:
-#line 8898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8884 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_eq_creator; }
-#line 29233 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1290:
-#line 8899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_ge_creator; }
-#line 29239 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1291:
-#line 8900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_gt_creator; }
-#line 29245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1292:
-#line 8901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_le_creator; }
-#line 29251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1293:
-#line 8902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_lt_creator; }
-#line 29257 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1294:
-#line 8903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8889 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_ne_creator; }
-#line 29263 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1295:
-#line 8907 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8893 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 1; }
-#line 29269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1296:
-#line 8908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 0; }
-#line 29275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1297:
-#line 8913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 	    (yyval.num)= DYN_COL_NULL; /* automatic type */
             lex->charset= NULL;
             lex->length= lex->dec= 0;
 	  }
-#line 29286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1298:
-#line 8919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8905 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (yyvsp[0].num); }
-#line 29292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1299:
-#line 8924 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8910 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_INT;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
-#line 29303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1300:
-#line 8931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_UINT;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
-#line 29314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1301:
-#line 8938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8924 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DOUBLE;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
-#line 29325 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1302:
-#line 8945 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DOUBLE;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
-#line 29336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1303:
-#line 8952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DOUBLE;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
-#line 29347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1304:
-#line 8959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8945 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= DYN_COL_DECIMAL;
             Lex->charset= NULL;
           }
-#line 29356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1305:
-#line 8964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->charset= thd->variables.collation_connection; }
-#line 29362 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1306:
-#line 8966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_STRING;
             lex->length= lex->dec= 0;
           }
-#line 29372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1307:
-#line 8972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_STRING;
             lex->charset= national_charset_info;
             lex->length= lex->dec= 0;
           }
-#line 29383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1308:
-#line 8979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DATE;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
-#line 29394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1309:
-#line 8986 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_TIME;
@@ -29402,11 +29409,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->dec= lex->length;
             lex->length= 0;
           }
-#line 29406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1310:
-#line 8994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DATETIME;
@@ -29414,11 +29421,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->dec= lex->length;
             lex->length= 0;
           }
-#line 29418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1311:
-#line 9005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 8991 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
      LEX *lex= Lex;
      (yyval.dyncol_def)= (DYNCALL_CREATE_DEF *)
@@ -29438,31 +29445,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
      else
        (yyval.dyncol_def)->len= 0;
    }
-#line 29442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29449 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1312:
-#line 9027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
          (yyval.dyncol_def_list)= new (thd->mem_root) List;
          if ((yyval.dyncol_def_list) == NULL)
            MYSQL_YYABORT;
          (yyval.dyncol_def_list)->push_back((yyvsp[0].dyncol_def), thd->mem_root);
        }
-#line 29453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1313:
-#line 9034 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
          (yyvsp[-2].dyncol_def_list)->push_back((yyvsp[0].dyncol_def), thd->mem_root);
          (yyval.dyncol_def_list)= (yyvsp[-2].dyncol_def_list);
        }
-#line 29462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1319:
-#line 9047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *i1= new (thd->mem_root) Item_string(thd, (yyvsp[0].lex_str).str,
                                                       (yyvsp[0].lex_str).length,
@@ -29473,113 +29480,113 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1321:
-#line 9058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item_param); }
-#line 29483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29490 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1324:
-#line 9062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_concat(thd, (yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29493 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1325:
-#line 9068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9054 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= (yyvsp[0].item);
           }
-#line 29501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1326:
-#line 9072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_neg(thd, (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1327:
-#line 9078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_bit_neg(thd, (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1328:
-#line 9084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= negate_expression(thd, (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29531 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1329:
-#line 9090 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             (yyval.item)= new (thd->mem_root) Item_singlerow_subselect(thd, (yyvsp[-1].select_lex));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29548 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1330:
-#line 9096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[-1].item); }
-#line 29547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29554 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1331:
-#line 9098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root);
             (yyval.item)= new (thd->mem_root) Item_row(thd, *(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29565 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1332:
-#line 9105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root);
             (yyval.item)= new (thd->mem_root) Item_row(thd, *(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1333:
-#line 9112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_exists_subselect(thd, (yyvsp[-1].select_lex));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1334:
-#line 9118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= NULL;
             /*
@@ -29603,11 +29610,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               (yyval.item)= (yyvsp[-1].item);
           }
-#line 29607 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1335:
-#line 9142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-5].item_list)->push_front((yyvsp[-2].item), thd->mem_root);
             Item_func_match *i1= new (thd->mem_root) Item_func_match(thd, *(yyvsp[-5].item_list),
@@ -29617,22 +29624,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Select->add_ftfunc_to_list(thd, i1);
             (yyval.item)= i1;
           }
-#line 29621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1336:
-#line 9152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= create_func_cast(thd, (yyvsp[0].item), ITEM_CAST_CHAR, NULL, NULL,
                                  &my_charset_bin);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1337:
-#line 9159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.item)= create_func_cast(thd, (yyvsp[-3].item), (yyvsp[-1].cast_type), lex->length, lex->dec,
@@ -29640,42 +29647,42 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1338:
-#line 9167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_case(thd, *(yyvsp[-2].item_list), (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1339:
-#line 9173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= create_func_cast(thd, (yyvsp[-3].item), (yyvsp[-1].cast_type), Lex->length, Lex->dec,
                                  Lex->charset);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29665 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1340:
-#line 9180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_conv_charset(thd, (yyvsp[-3].item), (yyvsp[-1].charset));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29675 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1341:
-#line 9186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_splocal *il= (yyvsp[-1].item)->get_item_splocal();
             if (il)
@@ -29685,52 +29692,52 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1342:
-#line 9196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_insert_value(thd, Lex->current_context(),
                                                         (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29707 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1343:
-#line 9204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29717 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1344:
-#line 9219 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_char(thd, *(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29727 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1345:
-#line 9225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_char(thd, *(yyvsp[-3].item_list), (yyvsp[-1].charset));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29737 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1346:
-#line 9231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_current_user(thd,
                                       Lex->current_context());
@@ -29739,11 +29746,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
             Lex->safe_to_cache_query= 0;
           }
-#line 29743 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1347:
-#line 9240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_current_role(thd,
                                       Lex->current_context());
@@ -29752,51 +29759,51 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
             Lex->safe_to_cache_query= 0;
           }
-#line 29756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1348:
-#line 9249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_typecast(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29773 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1349:
-#line 9255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_dayofmonth(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29783 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1350:
-#line 9261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_hour(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29793 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1351:
-#line 9267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_insert(thd, (yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29803 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1352:
-#line 9273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             List *list= new (thd->mem_root) List;
             if (list == NULL)
@@ -29810,11 +29817,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1353:
-#line 9287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root);
             (yyvsp[-1].item_list)->push_front((yyvsp[-5].item), thd->mem_root);
@@ -29825,173 +29832,173 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1354:
-#line 9298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_left(thd, (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1355:
-#line 9304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_minute(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1356:
-#line 9310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_month(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29859 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1357:
-#line 9316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_right(thd, (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1358:
-#line 9322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_second(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1359:
-#line 9328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_time_typecast(thd, (yyvsp[-1].item),
                                       AUTO_SEC_PART_DIGITS);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1360:
-#line 9335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_datetime_typecast(thd, (yyvsp[-1].item),
                                       AUTO_SEC_PART_DIGITS);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1361:
-#line 9342 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_add_time(thd, (yyvsp[-3].item), (yyvsp[-1].item), 1, 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1362:
-#line 9348 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_trim(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1363:
-#line 9354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_ltrim(thd, (yyvsp[-1].item), (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1364:
-#line 9360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_rtrim(thd, (yyvsp[-1].item), (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1365:
-#line 9366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_trim(thd, (yyvsp[-1].item), (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29951 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1366:
-#line 9372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_ltrim(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1367:
-#line 9378 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_rtrim(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1368:
-#line 9384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_trim(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29981 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1369:
-#line 9390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_trim(thd, (yyvsp[-1].item), (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 29991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 29998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1370:
-#line 9396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_user(thd);
             if ((yyval.item) == NULL)
@@ -29999,186 +30006,186 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
             Lex->safe_to_cache_query=0;
           }
-#line 30003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1371:
-#line 9404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_year(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30013 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1372:
-#line 9425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9411 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-3].item), (yyvsp[-1].item),
                                                              INTERVAL_DAY, 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30031 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1373:
-#line 9432 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9418 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30041 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1374:
-#line 9438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9424 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_curdate_local(thd);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
-#line 30045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1375:
-#line 9445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_curtime_local(thd, (yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
-#line 30056 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1376:
-#line 9453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1377:
-#line 9460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9446 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30083 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1378:
-#line 9466 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9452 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)=new (thd->mem_root) Item_extract(thd, (yyvsp[-3].interval), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30086 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1379:
-#line 9472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9458 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_get_format(thd, (yyvsp[-3].date_time_type), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30103 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1380:
-#line 9478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
-#line 30107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1381:
-#line 9485 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_locate(thd, (yyvsp[-1].item), (yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30117 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30124 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1382:
-#line 9491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-3].item), (yyvsp[-1].item),
                                                              INTERVAL_DAY, 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1383:
-#line 9498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1384:
-#line 9504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_substr(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30148 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30155 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1385:
-#line 9510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_substr(thd, (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1386:
-#line 9516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_substr(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30175 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1387:
-#line 9522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_substr(thd, (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30178 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1388:
-#line 9528 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Unlike other time-related functions, SYSDATE() is
@@ -30196,104 +30203,104 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
-#line 30200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1389:
-#line 9546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-1].item), (yyvsp[-3].item), (yyvsp[-5].interval_time_st), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30217 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1390:
-#line 9552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_timestamp_diff(thd, (yyvsp[-3].item), (yyvsp[-1].item), (yyvsp[-5].interval_time_st));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30220 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1391:
-#line 9558 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_curdate_utc(thd);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
-#line 30231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1392:
-#line 9565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_curtime_utc(thd, (yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
-#line 30242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1393:
-#line 9572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9558 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_now_utc(thd, (yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
-#line 30253 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30260 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1394:
-#line 9580 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9566 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= create_func_dyncol_add(thd, (yyvsp[-3].item), *(yyvsp[-1].dyncol_def_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30263 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1395:
-#line 9587 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9573 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= create_func_dyncol_delete(thd, (yyvsp[-3].item), *(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1396:
-#line 9594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9580 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_dyncol_check(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30290 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1397:
-#line 9601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9587 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= create_func_dyncol_create(thd, *(yyvsp[-1].dyncol_def_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1398:
-#line 9608 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.item)= create_func_dyncol_get(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].cast_type),
@@ -30302,133 +30309,133 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1399:
-#line 9625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9611 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_ascii(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1400:
-#line 9631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9617 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_charset(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1401:
-#line 9637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_coalesce(thd, *(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1402:
-#line 9643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9629 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_collation(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1403:
-#line 9649 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_database(thd);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
-#line 30357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30364 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1404:
-#line 9656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9642 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_if(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30367 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1405:
-#line 9662 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_format(thd, (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1406:
-#line 9668 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9654 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_format(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1407:
-#line 9674 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9660 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_last_value(thd, *(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1408:
-#line 9680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_microsecond(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1409:
-#line 9686 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9672 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1410:
-#line 9692 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9678 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)=  new (thd->mem_root)
               Item_func_password(thd, (yyvsp[-1].item), Item_func_password::OLD);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30428 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1411:
-#line 9699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item* i1;
             i1= new (thd->mem_root) Item_func_password(thd, (yyvsp[-1].item));
@@ -30436,51 +30443,51 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             (yyval.item)= i1;
           }
-#line 30440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1412:
-#line 9707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9693 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_quarter(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1413:
-#line 9713 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_repeat(thd, (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1414:
-#line 9719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9705 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_replace(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30470 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1415:
-#line 9725 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_reverse(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30487 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1416:
-#line 9731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9717 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_row_count(thd);
             if ((yyval.item) == NULL)
@@ -30488,21 +30495,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
             Lex->safe_to_cache_query= 0;
           }
-#line 30492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30499 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1417:
-#line 9739 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9725 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_round(thd, (yyvsp[-3].item), (yyvsp[-1].item), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30509 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1418:
-#line 9745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *i1;
             LEX_STRING name= {C_STRING_WITH_LEN("default_week_format")};
@@ -30516,31 +30523,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30527 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1419:
-#line 9759 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_week(thd, (yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30530 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30537 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1420:
-#line 9765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_weight_string(thd, (yyvsp[-2].item), 0, 0, (yyvsp[-1].ulong_num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1421:
-#line 9771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9757 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root)
                 Item_func_weight_string(thd, (yyvsp[-5].item), 0, (yyvsp[-2].ulong_num),
@@ -30548,11 +30555,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30559 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1422:
-#line 9779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_char_typecast(thd, (yyvsp[-4].item), (yyvsp[-1].ulong_num),
                                                                &my_charset_bin);
@@ -30564,22 +30571,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1423:
-#line 9791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_weight_string(thd, (yyvsp[-7].item), (yyvsp[-5].ulong_num), (yyvsp[-3].ulong_num),
                                                             (yyvsp[-1].ulong_num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1424:
-#line 9798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9784 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef HAVE_SPATIAL
             (yyval.item)= (yyvsp[0].item);
@@ -30591,95 +30598,95 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                               sym_group_geom.needed_define));
 #endif
           }
-#line 30595 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1425:
-#line 9813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
                          Item_func_spatial_precise_rel(thd, (yyvsp[-3].item), (yyvsp[-1].item),
                                                  Item_func::SP_CONTAINS_FUNC));
           }
-#line 30605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1426:
-#line 9819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
                          Item_func_spatial_collection(thd, *(yyvsp[-1].item_list),
                            Geometry::wkb_geometrycollection,
                            Geometry::wkb_point));
           }
-#line 30616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30623 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1427:
-#line 9826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
                          Item_func_spatial_collection(thd, *(yyvsp[-1].item_list),
                            Geometry::wkb_linestring,
                            Geometry::wkb_point));
           }
-#line 30627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1428:
-#line 9833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
                          Item_func_spatial_collection(thd, *(yyvsp[-1].item_list),
                            Geometry::wkb_multilinestring,
                            Geometry::wkb_linestring));
           }
-#line 30638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30645 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1429:
-#line 9840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
                          Item_func_spatial_collection(thd, *(yyvsp[-1].item_list),
                            Geometry::wkb_multipoint,
                            Geometry::wkb_point));
           }
-#line 30649 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1430:
-#line 9847 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
                          Item_func_spatial_collection(thd, *(yyvsp[-1].item_list),
                            Geometry::wkb_multipolygon,
                            Geometry::wkb_polygon));
           }
-#line 30660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1431:
-#line 9854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd, Item_func_point(thd, (yyvsp[-3].item), (yyvsp[-1].item)));
           }
-#line 30668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30675 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1432:
-#line 9858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9844 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
                          Item_func_spatial_collection(thd, *(yyvsp[-1].item_list),
                            Geometry::wkb_polygon,
                            Geometry::wkb_linestring));
           }
-#line 30679 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1433:
-#line 9877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef HAVE_DLOPEN
             udf_func *udf= 0;
@@ -30698,11 +30705,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.udf)= udf;
 #endif
           }
-#line 30702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1434:
-#line 9896 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Create_func *builder;
             Item *item= NULL;
@@ -30755,11 +30762,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 30759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1435:
-#line 9949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9935 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Create_qfunc *builder;
             Item *item= NULL;
@@ -30794,79 +30801,79 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 30798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30805 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1436:
-#line 9987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
-#line 30804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30811 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1437:
-#line 9989 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= FT_BOOL; }
-#line 30810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1438:
-#line 9993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= FT_NL; }
-#line 30816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30823 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1439:
-#line 9994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= FT_NL; }
-#line 30822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1440:
-#line 9998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9984 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;         }
-#line 30828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30835 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1441:
-#line 9999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= FT_EXPAND; }
-#line 30834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1442:
-#line 10003 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9989 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item_list)= NULL; }
-#line 30840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1443:
-#line 10004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item_list)= (yyvsp[0].item_list); }
-#line 30846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1444:
-#line 10009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 9995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_list)= new (thd->mem_root) List;
             if ((yyval.item_list) == NULL)
               MYSQL_YYABORT;
             (yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root);
           }
-#line 30857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1445:
-#line 10016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root);
             (yyval.item_list)= (yyvsp[-2].item_list);
           }
-#line 30866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1446:
-#line 10024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
              Use Item::name as a storage for the attribute value of user
@@ -30890,61 +30897,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset());
             (yyval.item)= (yyvsp[-2].item);
           }
-#line 30894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1447:
-#line 10051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_avg(thd, (yyvsp[-1].item), FALSE);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1448:
-#line 10057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_avg(thd, (yyvsp[-1].item), TRUE);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1449:
-#line 10063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_and(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1450:
-#line 10069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_or(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1451:
-#line 10075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_xor(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30951 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1452:
-#line 10081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10067 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_int(thd, (int32) 0L, 1);
             if (item == NULL)
@@ -30953,149 +30960,149 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1453:
-#line 10090 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_count(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1454:
-#line 10096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->in_sum_expr++; }
-#line 30973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1455:
-#line 10098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->in_sum_expr--; }
-#line 30979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1456:
-#line 10100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10086 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_count(thd, *(yyvsp[-2].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 30996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1457:
-#line 10106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_min(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 30999 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1458:
-#line 10117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_min(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1459:
-#line 10123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_max(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31019 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1460:
-#line 10129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_max(thd, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31029 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1461:
-#line 10135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_std(thd, (yyvsp[-1].item), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1462:
-#line 10141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_variance(thd, (yyvsp[-1].item), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31049 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31056 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1463:
-#line 10147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_std(thd, (yyvsp[-1].item), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1464:
-#line 10153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_variance(thd, (yyvsp[-1].item), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1465:
-#line 10159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_sum(thd, (yyvsp[-1].item), FALSE);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31079 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31086 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1466:
-#line 10165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_sum_sum(thd, (yyvsp[-1].item), TRUE);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 31089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1467:
-#line 10171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->in_sum_expr++; }
-#line 31095 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1468:
-#line 10175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->in_sum_expr--;
@@ -31107,28 +31114,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyvsp[-3].item_list)->empty();
             sel->gorder_list.empty();
           }
-#line 31111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1469:
-#line 10190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (! Lex->parsing_options.allows_variable)
               my_yyabort_error((ER_VIEW_SELECT_VARIABLE, MYF(0)));
           }
-#line 31120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1470:
-#line 10195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= (yyvsp[0].item);
           }
-#line 31128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1471:
-#line 10202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_func_set_user_var *item;
             (yyval.item)= item= new (thd->mem_root) Item_func_set_user_var(thd, (yyvsp[-2].lex_str), (yyvsp[0].item));
@@ -31138,11 +31145,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
             lex->set_var_list.push_back(item, thd->mem_root);
           }
-#line 31142 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31149 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1472:
-#line 10212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_get_user_var(thd, (yyvsp[0].lex_str));
             if ((yyval.item) == NULL)
@@ -31150,11 +31157,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             LEX *lex= Lex;
             lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
           }
-#line 31154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31161 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1473:
-#line 10220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* disallow "SELECT @@global.global.variable" */
             if ((yyvsp[-1].lex_str).str && (yyvsp[0].lex_str).str && check_reserved_words(&(yyvsp[-1].lex_str)))
@@ -31167,39 +31174,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!((Item_func_get_system_var*) (yyval.item))->is_written_to_binlog())
               Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_VARIABLE);
           }
-#line 31171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31178 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1474:
-#line 10235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 0; }
-#line 31177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1475:
-#line 10236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 1; }
-#line 31183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1476:
-#line 10241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.string)= new (thd->mem_root) String(",", 1, &my_charset_latin1);
             if ((yyval.string) == NULL)
               MYSQL_YYABORT;
           }
-#line 31193 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1477:
-#line 10246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.string) = (yyvsp[0].string); }
-#line 31199 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31206 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1479:
-#line 10252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -31211,23 +31218,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                 "CUBE/ROLLUP", "ORDER BY"));
             }
           }
-#line 31215 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1481:
-#line 10268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { if (add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
-#line 31221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1482:
-#line 10270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { if (add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
-#line 31227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1483:
-#line 10275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->current_select->inc_in_sum_expr())
@@ -31236,206 +31243,206 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 31240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31247 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1484:
-#line 10284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->in_sum_expr--;
             (yyval.item)= (yyvsp[0].item);
           }
-#line 31249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31256 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1485:
-#line 10292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; }
-#line 31255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1486:
-#line 10294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10280 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->charset= thd->variables.collation_connection; }
-#line 31261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31268 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1487:
-#line 10296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->dec= 0; }
-#line 31267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1488:
-#line 10298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= national_charset_info; Lex->dec=0; }
-#line 31273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1489:
-#line 10300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
-#line 31279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1490:
-#line 10302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
-#line 31285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1491:
-#line 10304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
-#line 31291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1492:
-#line 10306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
-#line 31297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1493:
-#line 10308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
-#line 31303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1494:
-#line 10310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
-#line 31309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1495:
-#line 10312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.cast_type)=ITEM_CAST_TIME;
             LEX *lex= Lex;
             lex->charset= NULL; lex->dec= lex->length; lex->length= (char*)0;
            }
-#line 31319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1496:
-#line 10318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.cast_type)=ITEM_CAST_DATETIME;
             LEX *lex= Lex;
             lex->charset= NULL; lex->dec= lex->length; lex->length= (char*)0;
            }
-#line 31329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1497:
-#line 10324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex->charset= NULL; }
-#line 31335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1498:
-#line 10326 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->charset= NULL; Lex->length= Lex->dec= 0;}
-#line 31341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1499:
-#line 10328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_DOUBLE; }
-#line 31347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1500:
-#line 10331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item_list)= NULL; }
-#line 31353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1501:
-#line 10332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item_list)= (yyvsp[0].item_list);}
-#line 31359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1502:
-#line 10337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_list)= new (thd->mem_root) List;
             if ((yyval.item_list) == NULL)
               MYSQL_YYABORT;
             (yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root);
           }
-#line 31370 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1503:
-#line 10344 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root);
             (yyval.item_list)= (yyvsp[-2].item_list);
           }
-#line 31379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1504:
-#line 10351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item_list)= (yyvsp[0].item_list); }
-#line 31385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1505:
-#line 10352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10338 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item_list)= (yyvsp[-1].item_list); }
-#line 31391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1506:
-#line 10357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_list)= new (thd->mem_root) List;
             if ((yyval.item_list) == NULL)
               MYSQL_YYABORT;
             (yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root);
           }
-#line 31402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31409 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1507:
-#line 10364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root);
             (yyval.item_list)= (yyvsp[-2].item_list);
           }
-#line 31411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1508:
-#line 10371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= NULL; }
-#line 31417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1509:
-#line 10372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item); }
-#line 31423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1510:
-#line 10376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= NULL; }
-#line 31429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1511:
-#line 10377 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item); }
-#line 31435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1512:
-#line 10382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_list)= new (thd->mem_root) List;
             if ((yyval.item_list) == NULL)
@@ -31443,27 +31450,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.item_list)->push_back((yyvsp[-2].item), thd->mem_root);
             (yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root);
           }
-#line 31447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1513:
-#line 10390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[-4].item_list)->push_back((yyvsp[-2].item), thd->mem_root);
             (yyvsp[-4].item_list)->push_back((yyvsp[0].item), thd->mem_root);
             (yyval.item_list)= (yyvsp[-4].item_list);
           }
-#line 31457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1514:
-#line 10400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.table_list)=(yyvsp[0].table_list); }
-#line 31463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31470 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1515:
-#line 10402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10388 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!((yyval.table_list)= lex->current_select->nest_last_join(thd)))
@@ -31472,49 +31479,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 31476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1516:
-#line 10413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10399 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[0].table_list)); }
-#line 31482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1517:
-#line 10424 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10410 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.table_list)=(yyvsp[0].table_list); }
-#line 31488 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1518:
-#line 10425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10411 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.table_list)=(yyvsp[-1].table_list); }
-#line 31494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1519:
-#line 10431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10417 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.table_list)=(yyvsp[0].table_list); }
-#line 31500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1520:
-#line 10433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
           }
-#line 31508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1521:
-#line 10453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
-    { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); (yyvsp[0].table_list)->straight=(yyvsp[-1].num); }
-#line 31514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 10437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    {
+            MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
+
+            if (unlikely(Select->add_cross_joined_table((yyvsp[-2].table_list), (yyvsp[0].table_list), (yyvsp[-1].num))))
+              MYSQL_YYABORT;
+          }
+#line 31526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1522:
-#line 10456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
             /* Change the current name resolution context to a local context. */
@@ -31522,50 +31534,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Select->parsing_place= IN_ON;
           }
-#line 31526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1523:
-#line 10464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 	    (yyvsp[-3].table_list)->straight=(yyvsp[-4].num);
             add_join_on(thd, (yyvsp[-3].table_list), (yyvsp[0].item));
-            Lex->pop_context();
+            (yyvsp[-3].table_list)->on_context= Lex->pop_context();
             Select->parsing_place= NO_MATTER;
           }
-#line 31537 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31549 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1524:
-#line 10472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10461 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
           }
-#line 31545 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1525:
-#line 10476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
 	    (yyvsp[-5].table_list)->straight=(yyvsp[-6].num);
             add_join_natural((yyvsp[-7].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); 
 	    (yyval.table_list)=(yyvsp[-5].table_list); 
           }
-#line 31555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31567 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1526:
-#line 10482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
 	    (yyvsp[0].table_list)->straight=(yyvsp[-1].num);
             add_join_natural((yyvsp[-3].table_list),(yyvsp[0].table_list),NULL,Select);
           }
-#line 31565 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1527:
-#line 10491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list));
             /* Change the current name resolution context to a local context. */
@@ -31573,52 +31585,52 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Select->parsing_place= IN_ON;
           }
-#line 31577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1528:
-#line 10499 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             add_join_on(thd, (yyvsp[-3].table_list), (yyvsp[0].item));
-            Lex->pop_context();
+            (yyvsp[-3].table_list)->on_context= Lex->pop_context();
             (yyvsp[-3].table_list)->outer_join|=JOIN_TYPE_LEFT;
             (yyval.table_list)=(yyvsp[-3].table_list);
             Select->parsing_place= NO_MATTER;
           }
-#line 31589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31601 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1529:
-#line 10507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list));
           }
-#line 31597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1530:
-#line 10511 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             add_join_natural((yyvsp[-9].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); 
             (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_LEFT; 
             (yyval.table_list)=(yyvsp[-5].table_list); 
           }
-#line 31607 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31619 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1531:
-#line 10517 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10506 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list));
             add_join_natural((yyvsp[-5].table_list),(yyvsp[0].table_list),NULL,Select);
             (yyvsp[0].table_list)->outer_join|=JOIN_TYPE_LEFT;
             (yyval.table_list)=(yyvsp[0].table_list);
           }
-#line 31618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1532:
-#line 10527 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list));
             /* Change the current name resolution context to a local context. */
@@ -31626,43 +31638,43 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Select->parsing_place= IN_ON;
           }
-#line 31630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31642 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1533:
-#line 10535 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!((yyval.table_list)= lex->current_select->convert_right_join()))
               MYSQL_YYABORT;
             add_join_on(thd, (yyval.table_list), (yyvsp[0].item));
-            Lex->pop_context();
+            (yyvsp[-7].table_list)->on_context= Lex->pop_context();
             Select->parsing_place= NO_MATTER;
           }
-#line 31643 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1534:
-#line 10544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list));
           }
-#line 31651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1535:
-#line 10548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!((yyval.table_list)= lex->current_select->convert_right_join()))
               MYSQL_YYABORT;
             add_join_natural((yyval.table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select);
           }
-#line 31662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1536:
-#line 10555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list));
             add_join_natural((yyvsp[0].table_list),(yyvsp[-5].table_list),NULL,Select);
@@ -31670,64 +31682,64 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!((yyval.table_list)= lex->current_select->convert_right_join()))
               MYSQL_YYABORT;
           }
-#line 31674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1537:
-#line 10566 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 0; }
-#line 31680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31692 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1538:
-#line 10567 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 0; }
-#line 31686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1539:
-#line 10568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10557 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 1; }
-#line 31692 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31704 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1540:
-#line 10572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = (yyvsp[0].num); }
-#line 31698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1541:
-#line 10573 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 0; }
-#line 31704 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1542:
-#line 10581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.string_list)= 0;}
-#line 31710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31722 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1544:
-#line 10587 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10576 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.string_list)= (yyvsp[-2].string_list);
           }
-#line 31718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1545:
-#line 10601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10590 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->table_join_options= 0;
           }
-#line 31727 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1546:
-#line 10606 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[-3].table), (yyvsp[-1].lex_str_ptr),
                                                 Select->get_table_join_options(),
@@ -31738,11 +31750,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Select->add_joined_table((yyval.table_list));
           }
-#line 31742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1547:
-#line 10617 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10606 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -31760,11 +31772,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             /* incomplete derived tables return NULL, we must be
                nested in select_derived rule to be here. */
           }
-#line 31764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1548:
-#line 10653 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10642 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* Use $2 instead of Lex->current_select as derived table will
                alter value of Lex->current_select. */
@@ -31827,11 +31839,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 !(yyval.table_list)->derived->first_select()->next_select())
               (yyval.table_list)->select_lex->add_where_field((yyval.table_list)->derived->first_select());
           }
-#line 31831 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1549:
-#line 10738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10727 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[-1].table_list) && (yyvsp[0].num))
             {
@@ -31839,20 +31851,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 31843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1550:
-#line 10748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
               MYSQL_YYABORT;
           }
-#line 31852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1551:
-#line 10753 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10742 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Remove from the name resolution context stack the context of the
@@ -31866,11 +31878,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 31870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1552:
-#line 10771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->current_select->set_braces(0))
@@ -31879,11 +31891,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 31883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1553:
-#line 10783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -31891,28 +31903,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               mysql_init_select(lex);
             lex->current_select->parsing_place= SELECT_LIST;
           }
-#line 31895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1554:
-#line 10791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
-#line 31903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1555:
-#line 10799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if ((yyvsp[0].select_lex)->init_nested_join(thd))
               MYSQL_YYABORT;
           }
-#line 31912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1556:
-#line 10804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* for normal joins, $3 != NULL and end_nested_join() != NULL,
                for derived tables, both must equal NULL */
@@ -31925,11 +31937,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 31929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1557:
-#line 10819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10808 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->derived_tables|= DERIVED_SUBQUERY;
@@ -31946,25 +31958,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->current_select->linkage= DERIVED_TABLE_TYPE;
             lex->current_select->parsing_place= SELECT_LIST;
           }
-#line 31950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1558:
-#line 10836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
-#line 31958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1560:
-#line 10843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.select_lex)= Select; }
-#line 31964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 31976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1561:
-#line 10848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -31984,113 +31996,113 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 !embedding->nested_join->join_list.elements;
             /* return true if we are deeply nested */
           }
-#line 31988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1562:
-#line 10870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 31994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1563:
-#line 10871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1564:
-#line 10876 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= thd->variables.old_mode ?  INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; 
           }
-#line 32008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1565:
-#line 10879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10868 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= INDEX_HINT_MASK_JOIN;  }
-#line 32014 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1566:
-#line 10880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10869 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= INDEX_HINT_MASK_ORDER; }
-#line 32020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1567:
-#line 10881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= INDEX_HINT_MASK_GROUP; }
-#line 32026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1568:
-#line 10885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10874 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.index_hint)= INDEX_HINT_FORCE; }
-#line 32032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32044 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1569:
-#line 10886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.index_hint)= INDEX_HINT_IGNORE; }
-#line 32038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1570:
-#line 10891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->set_index_hint_type((yyvsp[-2].index_hint), (yyvsp[0].num));
           }
-#line 32046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1572:
-#line 10896 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[0].num));
           }
-#line 32054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1577:
-#line 10909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->alloc_index_hints(thd); }
-#line 32060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1579:
-#line 10913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {  Select->clear_index_hints(); }
-#line 32066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1581:
-#line 10918 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10907 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->add_index_hint(thd, NULL, 0); }
-#line 32072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1582:
-#line 10919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1583:
-#line 10924 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->add_index_hint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); }
-#line 32084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1584:
-#line 10926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10915 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->add_index_hint(thd, (char *)"PRIMARY", 7); }
-#line 32090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1587:
-#line 10936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10925 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.string_list)= new (thd->mem_root) List))
               MYSQL_YYABORT;
@@ -32101,11 +32113,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             (yyval.string_list)->push_back(s, thd->mem_root);
           }
-#line 32105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32117 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1588:
-#line 10947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             String *s= new (thd->mem_root) String((const char *) (yyvsp[0].lex_str).str,
                                                     (yyvsp[0].lex_str).length,
@@ -32115,191 +32127,191 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyvsp[-2].string_list)->push_back(s, thd->mem_root);
             (yyval.string_list)= (yyvsp[-2].string_list);
           }
-#line 32119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1589:
-#line 10959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32125 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1590:
-#line 10960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_DAY_HOUR; }
-#line 32131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32143 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1591:
-#line 10961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
-#line 32137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32149 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1592:
-#line 10962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_DAY_MINUTE; }
-#line 32143 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32155 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1593:
-#line 10963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_DAY_SECOND; }
-#line 32149 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32161 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1594:
-#line 10964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
-#line 32155 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32167 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1595:
-#line 10965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_HOUR_MINUTE; }
-#line 32161 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1596:
-#line 10966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_HOUR_SECOND; }
-#line 32167 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1597:
-#line 10967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
-#line 32173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1598:
-#line 10968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_MINUTE_SECOND; }
-#line 32179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32191 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1599:
-#line 10969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
-#line 32185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32197 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1600:
-#line 10970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_YEAR_MONTH; }
-#line 32191 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1601:
-#line 10974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_DAY; }
-#line 32197 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1602:
-#line 10975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_WEEK; }
-#line 32203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32215 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1603:
-#line 10976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_HOUR; }
-#line 32209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1604:
-#line 10977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_MINUTE; }
-#line 32215 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1605:
-#line 10978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_MONTH; }
-#line 32221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32233 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1606:
-#line 10979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_QUARTER; }
-#line 32227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32239 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1607:
-#line 10980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_SECOND; }
-#line 32233 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1608:
-#line 10981 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_MICROSECOND; }
-#line 32239 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1609:
-#line 10982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10971 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_YEAR; }
-#line 32245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32257 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1610:
-#line 10986 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;}
-#line 32251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32263 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1611:
-#line 10987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;}
-#line 32257 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1612:
-#line 10988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
-#line 32263 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1613:
-#line 10989 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
-#line 32269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1617:
-#line 10999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str_ptr)=0; }
-#line 32275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1618:
-#line 11001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 10990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.lex_str_ptr)= (LEX_STRING*) thd->memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING));
             if ((yyval.lex_str_ptr) == NULL)
               MYSQL_YYABORT;
           }
-#line 32285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1621:
-#line 11014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11003 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->where= 0; }
-#line 32291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1622:
-#line 11016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= IN_WHERE;
           }
-#line 32299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1623:
-#line 11020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *select= Select;
             select->where= normalize_cond(thd, (yyvsp[0].item));
@@ -32307,19 +32319,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyvsp[0].item))
               (yyvsp[0].item)->top_level_item();
           }
-#line 32311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1625:
-#line 11032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= IN_HAVING;
           }
-#line 32319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32331 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1626:
-#line 11036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->having= normalize_cond(thd, (yyvsp[0].item));
@@ -32327,20 +32339,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyvsp[0].item))
               (yyvsp[0].item)->top_level_item();
           }
-#line 32331 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1627:
-#line 11047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->escape_used= TRUE;
             (yyval.item)= (yyvsp[0].item);
           }
-#line 32340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32352 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1628:
-#line 11052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->escape_used= FALSE;
             (yyval.item)= ((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) ?
@@ -32349,29 +32361,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 32353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1631:
-#line 11073 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { if (add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
-#line 32359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1632:
-#line 11075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { if (add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
-#line 32365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1633:
-#line 11079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1634:
-#line 11081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               'WITH CUBE' is reserved in the MySQL syntax, but not implemented,
@@ -32388,11 +32400,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             my_yyabort_error((ER_NOT_SUPPORTED_YET, MYF(0), "CUBE"));
           }
-#line 32392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1635:
-#line 11098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               'WITH ROLLUP' is needed for backward compatibility,
@@ -32407,21 +32419,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                 "global union parameters"));
             lex->current_select->olap= ROLLUP_TYPE;
           }
-#line 32411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1639:
-#line 11129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             bool ascending= ((yyvsp[0].num) == 1) ? true : false;
             if (add_order_to_list(thd, (yyvsp[-1].item), ascending))
               MYSQL_YYABORT;
           }
-#line 32421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32433 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1642:
-#line 11147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -32464,61 +32476,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                lex->current_select= sel->master_unit()->fake_select_lex;
              }
           }
-#line 32468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1643:
-#line 11190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 
           }
-#line 32476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32488 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1644:
-#line 11197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { if (add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
-#line 32482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1645:
-#line 11199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { if (add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
-#line 32488 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1646:
-#line 11203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) =  1; }
-#line 32494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1647:
-#line 11204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) =1; }
-#line 32500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1648:
-#line 11205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) =0; }
-#line 32506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1649:
-#line 11209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1650:
-#line 11210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32530 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1651:
-#line 11215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             if (sel->master_unit()->is_union() && !sel->braces)
@@ -32528,71 +32540,71 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               DBUG_ASSERT(Select);
             }
           }
-#line 32532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1652:
-#line 11228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             if (!sel->select_limit->basic_const_item() ||
                 sel->select_limit->val_int() > 0)
               Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
           }
-#line 32543 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1653:
-#line 11236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
           }
-#line 32551 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1654:
-#line 11240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
           }
-#line 32559 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1655:
-#line 11247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->select_limit= (yyvsp[0].item);
             sel->offset_limit= 0;
             sel->explicit_limit= 1;
           }
-#line 32570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1656:
-#line 11254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->select_limit= (yyvsp[0].item);
             sel->offset_limit= (yyvsp[-2].item);
             sel->explicit_limit= 1;
           }
-#line 32581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1657:
-#line 11261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->select_limit= (yyvsp[-2].item);
             sel->offset_limit= (yyvsp[0].item);
             sel->explicit_limit= 1;
           }
-#line 32592 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1658:
-#line 11271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Item_splocal *splocal;
           LEX *lex= thd->lex;
@@ -32619,258 +32631,258 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
           splocal->limit_clause_param= TRUE;
           (yyval.item)= splocal;
         }
-#line 32623 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1659:
-#line 11298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           (yyvsp[0].item_param)->limit_clause_param= TRUE;
         }
-#line 32631 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32643 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1660:
-#line 11302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 32641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32653 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1661:
-#line 11308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 32651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1662:
-#line 11314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 32661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1663:
-#line 11323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX *lex=Lex;
             lex->limit_rows_examined= (yyvsp[0].item);
           }
-#line 32670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1664:
-#line 11330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->current_select->select_limit= 0;
           }
-#line 32679 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1665:
-#line 11335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->select_limit= (yyvsp[0].item);
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
             sel->explicit_limit= 1;
           }
-#line 32690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1666:
-#line 11341 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { my_parse_error(thd, ER_SYNTAX_ERROR); MYSQL_YYABORT; }
-#line 32696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1667:
-#line 11342 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { my_parse_error(thd, ER_SYNTAX_ERROR); MYSQL_YYABORT; }
-#line 32702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1668:
-#line 11346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.num)= (int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1669:
-#line 11347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11336 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1670:
-#line 11348 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1671:
-#line 11352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11341 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1672:
-#line 11353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11342 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); }
-#line 32732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1673:
-#line 11354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1674:
-#line 11355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11344 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1675:
-#line 11356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1676:
-#line 11357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1677:
-#line 11361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1678:
-#line 11362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); }
-#line 32768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1679:
-#line 11363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1680:
-#line 11364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1681:
-#line 11365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { MYSQL_YYABORT; }
-#line 32786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1682:
-#line 11369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1683:
-#line 11370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11359 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1684:
-#line 11371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1685:
-#line 11372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1686:
-#line 11373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1687:
-#line 11377 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1688:
-#line 11378 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11367 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1689:
-#line 11379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulonglong_number)= strtoull((yyvsp[0].lex_str).str, (char**) 0, 16); }
-#line 32834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1690:
-#line 11380 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
-#line 32840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1691:
-#line 11381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { MYSQL_YYABORT; }
-#line 32846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1692:
-#line 11386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11375 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { my_parse_error(thd, ER_ONLY_INTEGERS_ALLOWED); }
-#line 32852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1695:
-#line 11395 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.choice)= (yyvsp[0].ulong_num) != 0 ? HA_CHOICE_YES : HA_CHOICE_NO; }
-#line 32858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1696:
-#line 11396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.choice)= HA_CHOICE_UNDEF; }
-#line 32864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1697:
-#line 11400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= false; }
-#line 32870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1698:
-#line 11402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
@@ -32899,67 +32911,67 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             Lex->expr_allows_subselect= false;
           }
-#line 32903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1699:
-#line 11431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11420 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* Subqueries are allowed from now.*/
             Lex->expr_allows_subselect= true;
             (yyval.num)= true;
           }
-#line 32913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1700:
-#line 11439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11428 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1701:
-#line 11440 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1704:
-#line 11450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_proc_to_list(thd, (yyvsp[-1].item)))
               MYSQL_YYABORT;
             if (!(yyvsp[-1].item)->name)
               (yyvsp[-1].item)->set_name((yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset());
           }
-#line 32936 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1705:
-#line 11459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!lex->describe &&
                 (!(lex->result= new (thd->mem_root) select_dumpvar(thd))))
               MYSQL_YYABORT;
           }
-#line 32947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1706:
-#line 11466 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1708:
-#line 11471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 32959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1709:
-#line 11475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->result)
             {
@@ -32976,19 +32988,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               DBUG_ASSERT(Lex->describe);
             }
           }
-#line 32980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 32992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1710:
-#line 11495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.myvar) = Lex->result ? new (thd->mem_root) my_var_user((yyvsp[0].lex_str)) : NULL;
           }
-#line 32988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1711:
-#line 11499 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_variable *t;
 
@@ -32999,32 +33011,32 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                           Lex->sphead)) :
                                 NULL;
           }
-#line 33003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1712:
-#line 11512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= false; }
-#line 33009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1713:
-#line 11513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= true; }
-#line 33015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1714:
-#line 11518 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (! Lex->parsing_options.allows_select_into)
               my_yyabort_error((ER_VIEW_SELECT_CLAUSE, MYF(0), "INTO"));
           }
-#line 33024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1716:
-#line 11527 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
@@ -33034,17 +33046,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                     new (thd->mem_root) select_export(thd, lex->exchange)))
               MYSQL_YYABORT;
           }
-#line 33038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1717:
-#line 11537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->exchange->cs= (yyvsp[0].charset); }
-#line 33044 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33056 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1719:
-#line 11540 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!lex->describe)
@@ -33057,60 +33069,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 33061 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1720:
-#line 11553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
           }
-#line 33069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1721:
-#line 11564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_DO;
             mysql_init_select(lex);
           }
-#line 33079 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1722:
-#line 11570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11559 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->insert_list= (yyvsp[0].item_list);
           }
-#line 33087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33099 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1723:
-#line 11581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->set_command(SQLCOM_DROP_TABLE, (yyvsp[-2].num), (yyvsp[0].object_ddl_options));
             YYPS->m_lock_type= TL_UNLOCK;
             YYPS->m_mdl_type= MDL_EXCLUSIVE;
           }
-#line 33098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1724:
-#line 11588 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33104 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1725:
-#line 11589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11578 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1726:
-#line 11590 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Alter_drop *ad= (new (thd->mem_root)
@@ -33127,21 +33139,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                                         MDL_SHARED_UPGRADABLE))
               MYSQL_YYABORT;
           }
-#line 33131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33143 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1727:
-#line 11607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11596 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->set_command(SQLCOM_DROP_DB, (yyvsp[-1].object_ddl_options));
             lex->name= (yyvsp[0].lex_str);
           }
-#line 33141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1728:
-#line 11613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             sp_name *spname;
@@ -33156,11 +33168,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             spname->init_qname(thd);
             lex->spname= spname;
           }
-#line 33160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33172 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1729:
-#line 11628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11617 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             LEX_STRING db= {0, 0};
@@ -33176,11 +33188,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             spname->init_qname(thd);
             lex->spname= spname;
           }
-#line 33180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1730:
-#line 11644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->sphead)
@@ -33188,90 +33200,90 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->set_command(SQLCOM_DROP_PROCEDURE, (yyvsp[-1].object_ddl_options));
             lex->spname= (yyvsp[0].spname);
           }
-#line 33192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1731:
-#line 11652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_command(SQLCOM_DROP_USER, (yyvsp[-2].object_ddl_options));
           }
-#line 33200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33212 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1732:
-#line 11656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11645 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_command(SQLCOM_DROP_ROLE, (yyvsp[-2].object_ddl_options));
           }
-#line 33208 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33220 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1733:
-#line 11660 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11649 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->set_command(SQLCOM_DROP_VIEW, (yyvsp[0].object_ddl_options));
             YYPS->m_lock_type= TL_UNLOCK;
             YYPS->m_mdl_type= MDL_EXCLUSIVE;
           }
-#line 33219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1734:
-#line 11667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1735:
-#line 11669 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->spname= (yyvsp[0].spname);
             Lex->set_command(SQLCOM_DROP_EVENT, (yyvsp[-1].object_ddl_options));
           }
-#line 33234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1736:
-#line 11674 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11663 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->set_command(SQLCOM_DROP_TRIGGER, (yyvsp[-1].object_ddl_options));
             lex->spname= (yyvsp[0].spname);
           }
-#line 33244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33256 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1737:
-#line 11680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11669 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE;
           }
-#line 33253 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33265 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1738:
-#line 11685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11674 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP;
           }
-#line 33262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1739:
-#line 11690 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11679 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_command(SQLCOM_DROP_SERVER, (yyvsp[-1].object_ddl_options));
             Lex->server_options.reset((yyvsp[0].lex_str));
           }
-#line 33271 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1742:
-#line 11703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11692 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL,
                                            TL_OPTION_UPDATING,
@@ -33279,11 +33291,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
           }
-#line 33283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1743:
-#line 11714 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL,
                                            TL_OPTION_UPDATING,
@@ -33293,11 +33305,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                            (yyvsp[0].string_list)))
               MYSQL_YYABORT;
           }
-#line 33297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1746:
-#line 11732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11721 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL,
                                            TL_OPTION_UPDATING | TL_OPTION_ALIAS,
@@ -33305,109 +33317,109 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
           }
-#line 33309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1747:
-#line 11743 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->check_exists= FALSE;
           (yyval.num)= 0;
         }
-#line 33318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1748:
-#line 11748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->check_exists= TRUE;
           (yyval.num)= 1;
         }
-#line 33327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1749:
-#line 11756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           (yyval.object_ddl_options).set(DDL_options_st::OPT_NONE);
         }
-#line 33335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1750:
-#line 11760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11749 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           (yyval.object_ddl_options).set(DDL_options_st::OPT_IF_EXISTS);
         }
-#line 33343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1751:
-#line 11766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 33349 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33361 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1752:
-#line 11767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= HA_LEX_CREATE_TMP_TABLE; }
-#line 33355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33367 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1753:
-#line 11775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_INSERT;
             lex->duplicates= DUP_ERROR; 
             mysql_init_select(lex);
           }
-#line 33366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1754:
-#line 11783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->set_lock_for_tables((yyvsp[-2].lock_type), true);
             Lex->current_select= &Lex->select_lex;
           }
-#line 33375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1755:
-#line 11788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1756:
-#line 11793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_REPLACE;
             lex->duplicates= DUP_REPLACE;
             mysql_init_select(lex);
           }
-#line 33392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1757:
-#line 11800 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->set_lock_for_tables((yyvsp[-1].lock_type), true);
             Lex->current_select= &Lex->select_lex;
           }
-#line 33401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1758:
-#line 11805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1759:
-#line 11810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               If it is SP we do not allow insert optimisation when result of
@@ -33416,17 +33428,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
           }
-#line 33420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1760:
-#line 11818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11807 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
-#line 33426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1761:
-#line 11820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
                                                     thd->query());
@@ -33434,23 +33446,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                            YYLIP->yyLength() + 1;
           (yyval.lock_type)= TL_WRITE_DELAYED;
         }
-#line 33438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1762:
-#line 11827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11816 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE; }
-#line 33444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1763:
-#line 11831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= (yyvsp[0].lock_type); }
-#line 33450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1764:
-#line 11833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11822 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
                                                     thd->query());
@@ -33458,222 +33470,222 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                            YYLIP->yyLength() + 1;
           (yyval.lock_type)= TL_WRITE_DELAYED;
         }
-#line 33462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1765:
-#line 11843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1766:
-#line 11844 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1767:
-#line 11849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11838 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->field_list.empty();
             lex->many_values.empty();
             lex->insert_list=0;
           }
-#line 33485 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1768:
-#line 11857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11846 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1769:
-#line 11858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11847 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33509 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1770:
-#line 11859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1771:
-#line 11861 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!(lex->insert_list= new (thd->mem_root) List_item) ||
                 lex->many_values.push_back(lex->insert_list, thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 33514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1773:
-#line 11872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11861 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); }
-#line 33520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1774:
-#line 11873 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); }
-#line 33526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1775:
-#line 11877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1776:
-#line 11878 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1777:
-#line 11880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11869 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(0);}
-#line 33544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1778:
-#line 11881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1779:
-#line 11883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(1);}
-#line 33556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1780:
-#line 11884 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11873 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1785:
-#line 11899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->field_list.push_back((yyvsp[-2].item), thd->mem_root) ||
                 lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 33573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1786:
-#line 11908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1787:
-#line 11909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1788:
-#line 11913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1789:
-#line 11914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1790:
-#line 11919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
               if (!(Lex->insert_list= new (thd->mem_root) List_item))
                 MYSQL_YYABORT;
           }
-#line 33606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1791:
-#line 11924 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->many_values.push_back(lex->insert_list, thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 33616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1792:
-#line 11932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11921 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1794:
-#line 11938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 33631 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33643 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1795:
-#line 11943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 33640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1796:
-#line 11950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item);}
-#line 33646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1797:
-#line 11952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11941 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_default_value(thd, Lex->current_context());
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 33656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1799:
-#line 11961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->duplicates= DUP_UPDATE; }
-#line 33662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1801:
-#line 11969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             mysql_init_select(lex);
             lex->sql_command= SQLCOM_UPDATE;
             lex->duplicates= DUP_ERROR; 
           }
-#line 33673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33685 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1802:
-#line 11977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *slex= &Lex->select_lex;
             if (slex->table_list.elements > 1)
@@ -33692,49 +33704,49 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             slex->set_lock_for_tables((yyvsp[-4].lock_type), slex->table_list.elements == 1);
           }
-#line 33696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1803:
-#line 11995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11984 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1806:
-#line 12005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 11994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_item_to_list(thd, (yyvsp[-2].item)) || add_value_to_list(thd, (yyvsp[0].item)))
               MYSQL_YYABORT;
           }
-#line 33711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1809:
-#line 12018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           LEX *lex= Lex;
           if (lex->update_list.push_back((yyvsp[-2].item), thd->mem_root) || 
               lex->value_list.push_back((yyvsp[0].item), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 33722 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1810:
-#line 12027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_DEFAULT; }
-#line 33728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1811:
-#line 12028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
-#line 33734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1812:
-#line 12035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_DELETE;
@@ -33745,11 +33757,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->ignore= 0;
             lex->select_lex.init_order();
           }
-#line 33749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1814:
-#line 12050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING,
                                            YYPS->m_lock_type,
@@ -33760,61 +33772,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             YYPS->m_lock_type= TL_READ_DEFAULT;
             YYPS->m_mdl_type= MDL_SHARED_READ;
           }
-#line 33764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1815:
-#line 12061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1816:
-#line 12062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1817:
-#line 12064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             mysql_init_multi_delete(Lex);
             YYPS->m_lock_type= TL_READ_DEFAULT;
             YYPS->m_mdl_type= MDL_SHARED_READ;
           }
-#line 33786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1818:
-#line 12070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (multi_delete_set_locks_and_link_aux_tables(Lex))
               MYSQL_YYABORT;
           }
-#line 33795 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1819:
-#line 12075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             mysql_init_multi_delete(Lex);
             YYPS->m_lock_type= TL_READ_DEFAULT;
             YYPS->m_mdl_type= MDL_SHARED_READ;
           }
-#line 33805 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1820:
-#line 12081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (multi_delete_set_locks_and_link_aux_tables(Lex))
               MYSQL_YYABORT;
           }
-#line 33814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1825:
-#line 12099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Table_ident *ti= new (thd->mem_root) Table_ident((yyvsp[-1].lex_str));
             if (ti == NULL)
@@ -33827,11 +33839,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
           }
-#line 33831 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1826:
-#line 12112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Table_ident *ti= new (thd->mem_root) Table_ident(thd, (yyvsp[-3].lex_str), (yyvsp[-1].lex_str), 0);
             if (ti == NULL)
@@ -33844,53 +33856,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
           }
-#line 33848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1827:
-#line 12127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1828:
-#line 12128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33872 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1829:
-#line 12132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33878 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1830:
-#line 12133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 33872 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1831:
-#line 12137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= OPTION_QUICK; }
-#line 33878 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1832:
-#line 12138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; }
-#line 33884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1833:
-#line 12139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 1; }
-#line 33890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1834:
-#line 12144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= Lex;
             lex->sql_command= SQLCOM_TRUNCATE;
@@ -33901,11 +33913,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             YYPS->m_lock_type= TL_WRITE;
             YYPS->m_mdl_type= MDL_EXCLUSIVE;
           }
-#line 33905 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33917 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1835:
-#line 12155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             DBUG_ASSERT(!lex->m_sql_cmd);
@@ -33913,99 +33925,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->m_sql_cmd == NULL)
               MYSQL_YYABORT;
           }
-#line 33917 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1842:
-#line 12179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_CPU;
     }
-#line 33925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1843:
-#line 12183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_MEMORY;
     }
-#line 33933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1844:
-#line 12187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_BLOCK_IO;
     }
-#line 33941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1845:
-#line 12191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_CONTEXT;
     }
-#line 33949 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1846:
-#line 12195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_PAGE_FAULTS;
     }
-#line 33957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1847:
-#line 12199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_IPC;
     }
-#line 33965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1848:
-#line 12203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_SWAPS;
     }
-#line 33973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1849:
-#line 12207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_SOURCE;
     }
-#line 33981 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 33993 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1850:
-#line 12211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_ALL;
     }
-#line 33989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34001 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1851:
-#line 12218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_query_id= 0;
     }
-#line 33997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1852:
-#line 12222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_query_id= atoi((yyvsp[0].lex_str).str);
     }
-#line 34005 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1853:
-#line 12231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->wild=0;
@@ -34014,30 +34026,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->current_select->parsing_place= SELECT_LIST;
             lex->create_info.init();
           }
-#line 34018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1854:
-#line 12240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
-#line 34026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1855:
-#line 12247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_DATABASES;
              if (prepare_schema_table(thd, lex, 0, SCH_SCHEMATA))
                MYSQL_YYABORT;
            }
-#line 34037 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34049 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1856:
-#line 12254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_TABLES;
@@ -34045,11 +34057,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
              if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES))
                MYSQL_YYABORT;
            }
-#line 34049 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34061 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1857:
-#line 12262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_TRIGGERS;
@@ -34057,11 +34069,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
              if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS))
                MYSQL_YYABORT;
            }
-#line 34061 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1858:
-#line 12270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_EVENTS;
@@ -34069,11 +34081,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
              if (prepare_schema_table(thd, lex, 0, SCH_EVENTS))
                MYSQL_YYABORT;
            }
-#line 34073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1859:
-#line 12278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_TABLE_STATUS;
@@ -34081,11 +34093,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
              if (prepare_schema_table(thd, lex, 0, SCH_TABLES))
                MYSQL_YYABORT;
            }
-#line 34085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1860:
-#line 12286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_OPEN_TABLES;
@@ -34093,55 +34105,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES))
               MYSQL_YYABORT;
           }
-#line 34097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34109 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1861:
-#line 12294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_PLUGINS;
             if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS))
               MYSQL_YYABORT;
           }
-#line 34108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1862:
-#line 12301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ident= (yyvsp[0].lex_str);
             Lex->sql_command= SQLCOM_SHOW_PLUGINS;
             if (prepare_schema_table(thd, Lex, 0, SCH_ALL_PLUGINS))
               MYSQL_YYABORT;
           }
-#line 34119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1863:
-#line 12308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_SHOW_PLUGINS;
             if (prepare_schema_table(thd, Lex, 0, SCH_ALL_PLUGINS))
               MYSQL_YYABORT;
           }
-#line 34129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1864:
-#line 12314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_info.db_type= (yyvsp[-1].db_type); }
-#line 34135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1865:
-#line 12316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_info.db_type= NULL; }
-#line 34141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1866:
-#line 12318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_FIELDS;
@@ -34150,45 +34162,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_COLUMNS))
               MYSQL_YYABORT;
           }
-#line 34154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1867:
-#line 12327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_BINLOGS;
           }
-#line 34162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1868:
-#line 12331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS;
           }
-#line 34170 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1869:
-#line 12335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS;
           }
-#line 34179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34191 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1871:
-#line 12341 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS;
           }
-#line 34188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1873:
-#line 12346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_KEYS;
@@ -34197,90 +34209,90 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_STATISTICS))
               MYSQL_YYABORT;
           }
-#line 34201 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1874:
-#line 12355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12344 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
             if (prepare_schema_table(thd, lex, 0, SCH_ENGINES))
               MYSQL_YYABORT;
           }
-#line 34212 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34224 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1875:
-#line 12362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_AUTHORS;
           }
-#line 34221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34233 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1876:
-#line 12367 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS;
           }
-#line 34230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1877:
-#line 12372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_PRIVILEGES;
           }
-#line 34239 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1878:
-#line 12377 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (void) create_select_for_variable("warning_count"); }
-#line 34245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34257 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1879:
-#line 12379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (void) create_select_for_variable("error_count"); }
-#line 34251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34263 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1880:
-#line 12381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command = SQLCOM_SHOW_WARNS;}
-#line 34257 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1881:
-#line 12383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command = SQLCOM_SHOW_ERRORS;}
-#line 34263 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1882:
-#line 12385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command = SQLCOM_SHOW_PROFILES; }
-#line 34269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1883:
-#line 12387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_PROFILE;
             if (prepare_schema_table(thd, lex, NULL, SCH_PROFILES) != 0)
               MYSQL_YYABORT;
           }
-#line 34280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1884:
-#line 12394 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_STATUS;
@@ -34288,17 +34300,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (prepare_schema_table(thd, lex, 0, SCH_SESSION_STATUS))
               MYSQL_YYABORT;
           }
-#line 34292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1885:
-#line 12402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;}
-#line 34298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1886:
-#line 12404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_VARIABLES;
@@ -34306,63 +34318,63 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (prepare_schema_table(thd, lex, 0, SCH_SESSION_VARIABLES))
               MYSQL_YYABORT;
           }
-#line 34310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34322 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1887:
-#line 12412 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_CHARSETS;
             if (prepare_schema_table(thd, lex, 0, SCH_CHARSETS))
               MYSQL_YYABORT;
           }
-#line 34321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1888:
-#line 12419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12408 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_COLLATIONS;
             if (prepare_schema_table(thd, lex, 0, SCH_COLLATIONS))
               MYSQL_YYABORT;
           }
-#line 34332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1889:
-#line 12426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12415 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_SHOW_GRANTS;
             if (!(Lex->grant_user= (LEX_USER*)thd->alloc(sizeof(LEX_USER))))
               MYSQL_YYABORT;
             Lex->grant_user->user= current_user_and_current_role;
           }
-#line 34343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1890:
-#line 12433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_GRANTS;
             lex->grant_user=(yyvsp[-1].lex_user);
           }
-#line 34353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1891:
-#line 12439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12428 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_command(SQLCOM_SHOW_CREATE_DB, (yyvsp[-1].object_ddl_options));
             Lex->name= (yyvsp[0].lex_str);
           }
-#line 34362 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1892:
-#line 12444 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command = SQLCOM_SHOW_CREATE;
@@ -34370,11 +34382,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->create_info.storage_media= HA_SM_DEFAULT;
           }
-#line 34374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1893:
-#line 12452 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command = SQLCOM_SHOW_CREATE;
@@ -34382,140 +34394,140 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->only_view= 1;
           }
-#line 34386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1894:
-#line 12460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12449 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_MASTER_STAT;
           }
-#line 34394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1895:
-#line 12464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
             Lex->verbose= 1;
           }
-#line 34403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1896:
-#line 12469 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12458 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->mi.connection_name= null_lex_str;
             lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
             lex->verbose= 0;
           }
-#line 34414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1897:
-#line 12476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
             Lex->verbose= 0;
           }
-#line 34423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1898:
-#line 12481 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
             lex->sql_command = SQLCOM_SHOW_CREATE_PROC;
             lex->spname= (yyvsp[0].spname);
           }
-#line 34434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1899:
-#line 12488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
             lex->sql_command = SQLCOM_SHOW_CREATE_FUNC;
             lex->spname= (yyvsp[0].spname);
           }
-#line 34445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1900:
-#line 12495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER;
             lex->spname= (yyvsp[0].spname);
           }
-#line 34455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1901:
-#line 12501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_STATUS_PROC;
             if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
               MYSQL_YYABORT;
           }
-#line 34466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1902:
-#line 12508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12497 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_STATUS_FUNC;
             if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
               MYSQL_YYABORT;
           }
-#line 34477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1903:
-#line 12515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_SHOW_PROC_CODE;
             Lex->spname= (yyvsp[0].spname);
           }
-#line 34486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1904:
-#line 12520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_SHOW_FUNC_CODE;
             Lex->spname= (yyvsp[0].spname);
           }
-#line 34495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1905:
-#line 12525 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->spname= (yyvsp[0].spname);
             Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT;
           }
-#line 34504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1906:
-#line 12530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_SHOW_EXPLAIN;
             if (prepare_schema_table(thd, Lex, 0, SCH_EXPLAIN))
               MYSQL_YYABORT;
             add_value_to_list(thd, (yyvsp[0].item));
           }
-#line 34515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34527 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1907:
-#line 12537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              bool in_plugin;
@@ -34534,83 +34546,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
              if (make_schema_select(thd, Lex->current_select, table))
                MYSQL_YYABORT;
            }
-#line 34538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1908:
-#line 12559 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; }
-#line 34544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1909:
-#line 12561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12550 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; }
-#line 34550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1910:
-#line 12563 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; }
-#line 34556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1915:
-#line 12577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12566 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.simple_string)= 0; }
-#line 34562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1916:
-#line 12578 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12567 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.simple_string)= (yyvsp[0].lex_str).str; }
-#line 34568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1917:
-#line 12582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->verbose=0; }
-#line 34574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1918:
-#line 12583 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->verbose=1; }
-#line 34580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34592 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1921:
-#line 12592 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->mi.log_file_name = 0; }
-#line 34586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1922:
-#line 12593 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; }
-#line 34592 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1923:
-#line 12597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->mi.pos = 4; /* skip magic number */ }
-#line 34598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1924:
-#line 12598 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12587 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->mi.pos = (yyvsp[0].ulonglong_number); }
-#line 34604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1925:
-#line 12602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12591 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.simple_string)= 0; }
-#line 34610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1926:
-#line 12604 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12593 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->wild= new (thd->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
                                                     system_charset_info);
@@ -34618,22 +34630,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             (yyval.simple_string)= (yyvsp[-1].simple_string);
           }
-#line 34622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1927:
-#line 12612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->where= normalize_cond(thd, (yyvsp[0].item));
             if ((yyvsp[0].item))
               (yyvsp[0].item)->top_level_item();
             (yyval.simple_string)= (yyvsp[-1].simple_string);
           }
-#line 34633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34645 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1928:
-#line 12623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             mysql_init_select(lex);
@@ -34644,66 +34656,66 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (prepare_schema_table(thd, lex, (yyvsp[0].table), SCH_COLUMNS))
               MYSQL_YYABORT;
           }
-#line 34648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1929:
-#line 12634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
-#line 34656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1930:
-#line 12638 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->describe|= DESCRIBE_NORMAL; }
-#line 34662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1931:
-#line 12640 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12629 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->select_lex.options|= SELECT_DESCRIBE;
           }
-#line 34671 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1939:
-#line 12661 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12650 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->analyze_stmt= true;
           }
-#line 34679 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1940:
-#line 12667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->describe|= DESCRIBE_EXTENDED; }
-#line 34685 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1941:
-#line 12668 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12657 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->describe|= DESCRIBE_PARTITIONS; }
-#line 34691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1942:
-#line 12669 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1943:
-#line 12673 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12662 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34715 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1944:
-#line 12675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!my_strcasecmp(system_charset_info, (yyvsp[0].lex_str).str, "JSON"))
               Lex->explain_json= true;
@@ -34712,23 +34724,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else
               my_yyabort_error((ER_UNKNOWN_EXPLAIN_FORMAT, MYF(0), (yyvsp[0].lex_str).str));
           }
-#line 34716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1945:
-#line 12686 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34722 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1946:
-#line 12687 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12676 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->wild= (yyvsp[0].string); }
-#line 34728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1947:
-#line 12689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12678 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->wild= new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,
                                                     (yyvsp[0].lex_str).length,
@@ -34736,28 +34748,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (Lex->wild == NULL)
               MYSQL_YYABORT;
           }
-#line 34740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1948:
-#line 12703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12692 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_FLUSH;
             lex->type= 0;
             lex->no_write_to_binlog= (yyvsp[0].num);
           }
-#line 34751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1949:
-#line 12710 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1950:
-#line 12715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->type|= REFRESH_TABLES;
             /*
@@ -34767,23 +34779,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             YYPS->m_lock_type= TL_READ_NO_INSERT;
             YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO;
           }
-#line 34771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34783 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1951:
-#line 12725 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12714 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34789 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1953:
-#line 12730 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34783 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34795 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1954:
-#line 12732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12721 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           TABLE_LIST *tables= Lex->query_tables;
           for (; tables; tables= tables->next_global)
@@ -34793,17 +34805,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             tables->open_type= OT_BASE_ONLY;      /* Ignore temporary tables. */
           }
         }
-#line 34797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1955:
-#line 12745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12734 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_READ_LOCK | (yyvsp[0].num); }
-#line 34803 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1956:
-#line 12747 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12736 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->query_tables == NULL) // Table list can't be empty
             {
@@ -34812,53 +34824,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             } 
             Lex->type|= REFRESH_FOR_EXPORT;
           }
-#line 34816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1957:
-#line 12754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12743 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1959:
-#line 12760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12749 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1960:
-#line 12765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_ERROR_LOG; }
-#line 34834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1961:
-#line 12767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_ENGINE_LOG; }
-#line 34840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1962:
-#line 12769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_GENERAL_LOG; }
-#line 34846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1963:
-#line 12771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_SLOW_LOG; }
-#line 34852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1964:
-#line 12773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_BINARY_LOG; }
-#line 34858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1965:
-#line 12775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->type & REFRESH_RELAY_LOG)
@@ -34866,44 +34878,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->type|= REFRESH_RELAY_LOG;
             lex->relay_log_connection_name= lex->mi.connection_name;
            }
-#line 34870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1966:
-#line 12783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_QUERY_CACHE_FREE; }
-#line 34876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1967:
-#line 12785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_HOSTS; }
-#line 34882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1968:
-#line 12787 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12776 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_GRANT; }
-#line 34888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1969:
-#line 12789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->type|= REFRESH_LOG;
             Lex->relay_log_connection_name= empty_lex_str;
           }
-#line 34897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1970:
-#line 12794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_STATUS; }
-#line 34903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1971:
-#line 12796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX *lex= Lex;
             if (lex->type & REFRESH_SLAVE)
@@ -34911,29 +34923,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->type|= REFRESH_SLAVE;
             lex->reset_slave_info.all= false;
           }
-#line 34915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1972:
-#line 12804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_MASTER; }
-#line 34921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1973:
-#line 12806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_DES_KEY_FILE; }
-#line 34927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1974:
-#line 12808 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_USER_RESOURCES; }
-#line 34933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1975:
-#line 12810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              Lex->type|= REFRESH_GENERIC;
              ST_SCHEMA_TABLE *table= find_schema_table(thd, (yyvsp[-1].lex_str).str);
@@ -34946,35 +34958,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                        thd->memdup(&(yyvsp[-1].lex_str), sizeof(LEX_STRING)),
                                        thd->mem_root);
            }
-#line 34950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1976:
-#line 12825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12814 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1977:
-#line 12826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1978:
-#line 12830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1979:
-#line 12832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 34974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 34986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1983:
-#line 12842 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             uint32 value= (uint32) (yyvsp[0].ulonglong_number);
             if ((yyvsp[0].ulonglong_number) > UINT_MAX32)
@@ -34987,126 +34999,126 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             insert_dynamic(&Lex->delete_gtid_domain, (uchar*) &value);
           }
-#line 34991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1984:
-#line 12857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12846 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num)= 0;}
-#line 34997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1985:
-#line 12858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12847 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num)= REFRESH_CHECKPOINT; }
-#line 35003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1986:
-#line 12862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12851 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_RESET; lex->type=0;
           }
-#line 35012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1987:
-#line 12867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12856 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1990:
-#line 12876 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_SLAVE; }
-#line 35024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1991:
-#line 12878 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 35030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1992:
-#line 12880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12869 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              Lex->type|= REFRESH_MASTER;
              Lex->next_binlog_file_number= 0;
           }
-#line 35039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1994:
-#line 12885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12874 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_QUERY_CACHE;}
-#line 35045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1995:
-#line 12889 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12878 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->reset_slave_info.all= false; }
-#line 35051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1996:
-#line 12890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->reset_slave_info.all= true; }
-#line 35057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1997:
-#line 12894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1998:
-#line 12896 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->next_binlog_file_number = (yyvsp[0].ulong_num);
           }
-#line 35071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35083 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1999:
-#line 12903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->type=0;
             lex->sql_command = SQLCOM_PURGE;
           }
-#line 35081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2000:
-#line 12909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35099 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2002:
-#line 12918 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12907 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->to_log = (yyvsp[0].lex_str).str;
           }
-#line 35095 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2003:
-#line 12922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12911 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->value_list.empty();
             lex->value_list.push_front((yyvsp[0].item), thd->mem_root);
             lex->sql_command= SQLCOM_PURGE_BEFORE;
           }
-#line 35106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2004:
-#line 12934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->value_list.empty();
@@ -35114,97 +35126,97 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_KILL;
             lex->kill_type= KILL_TYPE_ID;
           }
-#line 35118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2005:
-#line 12942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->kill_signal= (killed_state) ((yyvsp[-2].num) | (yyvsp[-1].num));
           }
-#line 35126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2006:
-#line 12948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12937 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_HARD_BIT; }
-#line 35132 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2007:
-#line 12949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_HARD_BIT; }
-#line 35138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2008:
-#line 12950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 35144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2009:
-#line 12953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_CONNECTION; }
-#line 35150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2010:
-#line 12954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_CONNECTION; }
-#line 35156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2011:
-#line 12955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12944 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_QUERY; }
-#line 35162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2012:
-#line 12957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= (int) KILL_QUERY;
             Lex->kill_type= KILL_TYPE_QUERY;
           }
-#line 35171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2013:
-#line 12965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->value_list.push_front((yyval.item), thd->mem_root);
          }
-#line 35179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35191 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2014:
-#line 12969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root);
             Lex->kill_type= KILL_TYPE_USER;
           }
-#line 35188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2015:
-#line 12977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHUTDOWN; }
-#line 35194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35206 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2016:
-#line 12984 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command=SQLCOM_CHANGE_DB;
             lex->select_lex.db= (yyvsp[0].lex_str).str;
           }
-#line 35204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2017:
-#line 12995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12984 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             mysql_init_select(lex);
@@ -35216,11 +35228,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 35220 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35232 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2018:
-#line 13007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 12996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_LOAD;
@@ -35230,11 +35242,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!(lex->exchange= new (thd->mem_root) sql_exchange((yyvsp[0].lex_str).str, 0, (yyvsp[-5].filetype))))
               MYSQL_YYABORT;
           }
-#line 35234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2019:
-#line 13017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13006 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING,
@@ -35245,53 +35257,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->value_list.empty();
             lex->many_values.empty();
           }
-#line 35249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2020:
-#line 13028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->exchange->cs= (yyvsp[0].charset); }
-#line 35255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2021:
-#line 13032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2022:
-#line 13036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.filetype)= FILETYPE_CSV; }
-#line 35267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2023:
-#line 13037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.filetype)= FILETYPE_XML; }
-#line 35273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2024:
-#line 13041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=0;}
-#line 35279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2025:
-#line 13042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=1;}
-#line 35285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2026:
-#line 13046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_DEFAULT; }
-#line 35291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2027:
-#line 13048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Ignore this option in SP to avoid problem with query cache and
@@ -35299,182 +35311,182 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
           }
-#line 35303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2028:
-#line 13055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
-#line 35309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2029:
-#line 13059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->duplicates=DUP_ERROR; }
-#line 35315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2030:
-#line 13060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->duplicates=DUP_REPLACE; }
-#line 35321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2031:
-#line 13061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 1; }
-#line 35327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2036:
-#line 13076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
             Lex->exchange->field_term= (yyvsp[0].string);
           }
-#line 35336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2037:
-#line 13081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             DBUG_ASSERT(lex->exchange != 0);
             lex->exchange->enclosed= (yyvsp[0].string);
             lex->exchange->opt_enclosed= 1;
           }
-#line 35347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2038:
-#line 13088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
             Lex->exchange->enclosed= (yyvsp[0].string);
           }
-#line 35356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2039:
-#line 13093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
             Lex->exchange->escaped= (yyvsp[0].string);
           }
-#line 35365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2044:
-#line 13111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
             Lex->exchange->line_term= (yyvsp[0].string);
           }
-#line 35374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2045:
-#line 13116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
             Lex->exchange->line_start= (yyvsp[0].string);
           }
-#line 35383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2046:
-#line 13123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 35389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2047:
-#line 13125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->exchange->line_term = (yyvsp[0].string); }
-#line 35395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2049:
-#line 13130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
             Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str);
           }
-#line 35404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2050:
-#line 13137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 35410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35422 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2051:
-#line 13138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 35416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35428 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2052:
-#line 13142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35422 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2053:
-#line 13143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35428 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2054:
-#line 13144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2055:
-#line 13149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); }
-#line 35440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2056:
-#line 13151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); }
-#line 35446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35458 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2057:
-#line 13155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.item)= (yyvsp[0].item);}
-#line 35452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2058:
-#line 13157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13146 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_user_var_as_out_param(thd, (yyvsp[0].lex_str));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2059:
-#line 13165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2060:
-#line 13166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 35474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2063:
-#line 13176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->update_list.push_back((yyvsp[-4].item), thd->mem_root) || 
@@ -35482,11 +35494,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             (yyvsp[-1].item)->set_name_no_truncate((yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset());
           }
-#line 35486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2064:
-#line 13189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX_STRING tmp;
             CHARSET_INFO *cs_con= thd->variables.collation_connection;
@@ -35510,11 +35522,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2065:
-#line 13213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             uint repertoire= Lex->text_string_is_7bit ?
                              MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30;
@@ -35526,22 +35538,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35530 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35542 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2066:
-#line 13225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_string_with_introducer(thd, (yyvsp[0].lex_str).str,
                                                                 (yyvsp[0].lex_str).length, (yyvsp[-1].charset));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35553 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2067:
-#line 13232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_string* item= (Item_string*) (yyvsp[-1].item);
             item->append((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
@@ -35557,11 +35569,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                                                 (yyvsp[0].lex_str).length);
             }
           }
-#line 35561 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2068:
-#line 13251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.string)= new (thd->mem_root) String((yyvsp[0].lex_str).str,
                                              (yyvsp[0].lex_str).length,
@@ -35569,17 +35581,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.string) == NULL)
               MYSQL_YYABORT;
           }
-#line 35573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2069:
-#line 13258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.string)= (yyvsp[0].string); }
-#line 35579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2070:
-#line 13264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *tmp= new (thd->mem_root) Item_hex_hybrid(thd, (yyvsp[0].lex_str).str,
                                                            (yyvsp[0].lex_str).length);
@@ -35592,11 +35604,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             tmp->quick_fix_field();
             (yyval.string)= tmp->val_str((String*) 0);
           }
-#line 35596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2071:
-#line 13277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *tmp= new (thd->mem_root) Item_hex_string(thd, (yyvsp[0].lex_str).str,
                                                            (yyvsp[0].lex_str).length);
@@ -35605,11 +35617,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             tmp->quick_fix_field();
             (yyval.string)= tmp->val_str((String*) 0);
           }
-#line 35609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2072:
-#line 13286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *tmp= new (thd->mem_root) Item_bin_string(thd, (yyvsp[0].lex_str).str,
                                                            (yyvsp[0].lex_str).length);
@@ -35622,11 +35634,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             tmp->quick_fix_field();
             (yyval.string)= tmp->val_str((String*) 0);
           }
-#line 35626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2073:
-#line 13302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -35640,50 +35652,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!((yyval.item_param)= item) || lex->param_list.push_back(item, thd->mem_root))
               my_yyabort_error((ER_OUT_OF_RESOURCES, MYF(0)));
           }
-#line 35644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2074:
-#line 13318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item) = (yyvsp[0].item); }
-#line 35650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2075:
-#line 13319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item) = (yyvsp[0].item_num); }
-#line 35656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2076:
-#line 13321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyvsp[0].item_num)->max_length++;
             (yyval.item)= (yyvsp[0].item_num)->neg(thd);
           }
-#line 35665 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2077:
-#line 13328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item) = (yyvsp[0].item); }
-#line 35671 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2078:
-#line 13329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item) = (yyvsp[0].item_num); }
-#line 35677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2079:
-#line 13330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item); }
-#line 35683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2080:
-#line 13332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               For the digest computation, in this context only,
@@ -35697,61 +35709,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT;
           }
-#line 35701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2081:
-#line 13346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_int(thd, (char*) "FALSE",0,1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2082:
-#line 13352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13341 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_int(thd, (char*) "TRUE",1,1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35721 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2083:
-#line 13358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_hex_hybrid(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35743 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2084:
-#line 13364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_hex_string(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35753 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2085:
-#line 13370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13359 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_bin_string(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2086:
-#line 13376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_string_with_introducer *item_str;
             /*
@@ -35766,11 +35778,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             (yyval.item)= item_str;
           }
-#line 35770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2087:
-#line 13394 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             int error;
             (yyval.item_num)= new (thd->mem_root)
@@ -35780,11 +35792,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item_num) == NULL)
               MYSQL_YYABORT;
           }
-#line 35784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2088:
-#line 13404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             int error;
             (yyval.item_num)= new (thd->mem_root)
@@ -35794,21 +35806,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item_num) == NULL)
               MYSQL_YYABORT;
           }
-#line 35798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2089:
-#line 13414 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_num)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item_num) == NULL)
               MYSQL_YYABORT;
           }
-#line 35808 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2090:
-#line 13420 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_num)= new (thd->mem_root) Item_decimal(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
                                                    thd->charset());
@@ -35817,11 +35829,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 35821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35833 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2091:
-#line 13429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13418 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_num)= new (thd->mem_root) Item_float(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (((yyval.item_num) == NULL) || (thd->is_error()))
@@ -35829,53 +35841,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 35833 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2092:
-#line 13441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.item)= create_temporal_literal(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, YYCSCL,
                                               MYSQL_TYPE_DATE, true)))
               MYSQL_YYABORT;
           }
-#line 35843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2093:
-#line 13447 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.item)= create_temporal_literal(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, YYCSCL,
                                               MYSQL_TYPE_TIME, true)))
               MYSQL_YYABORT;
           }
-#line 35853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2094:
-#line 13453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.item)= create_temporal_literal(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, YYCSCL,
                                               MYSQL_TYPE_DATETIME, true)))
               MYSQL_YYABORT;
           }
-#line 35863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2095:
-#line 13468 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13457 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)=(yyvsp[0].item); }
-#line 35869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2096:
-#line 13469 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13458 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)=(yyvsp[0].item); }
-#line 35875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2097:
-#line 13474 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             (yyval.item)= new (thd->mem_root) Item_field(thd, Lex->current_context(),
@@ -35884,11 +35896,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             sel->with_wild++;
           }
-#line 35888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2098:
-#line 13483 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             const char* schema= thd->client_capabilities & CLIENT_NO_SCHEMA ?
@@ -35900,17 +35912,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             sel->with_wild++;
           }
-#line 35904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2099:
-#line 13497 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)=(yyvsp[0].item); }
-#line 35910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2100:
-#line 13502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -35953,17 +35965,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 35957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2101:
-#line 13544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item); }
-#line 35963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35975 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2102:
-#line 13549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel=Select;
             if ((sel->parsing_place != IN_HAVING) ||
@@ -35980,17 +35992,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 35984 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 35996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2103:
-#line 13565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= (yyvsp[0].item); }
-#line 35990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2104:
-#line 13570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13559 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
 
@@ -36062,11 +36074,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 36066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2105:
-#line 13642 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             SELECT_LEX *sel= lex->current_select;
@@ -36090,11 +36102,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 36094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2106:
-#line 13666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13655 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             SELECT_LEX *sel= lex->current_select;
@@ -36121,17 +36133,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 36125 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2107:
-#line 13695 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str);}
-#line 36131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36143 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2108:
-#line 13697 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13686 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             TABLE_LIST *table= Select->table_list.first;
             if (my_strcasecmp(table_alias_charset, (yyvsp[-4].lex_str).str, table->db))
@@ -36141,96 +36153,96 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].lex_str).str));
             (yyval.lex_str)=(yyvsp[0].lex_str);
           }
-#line 36145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2109:
-#line 13707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13696 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             TABLE_LIST *table= Select->table_list.first;
             if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->alias))
               my_yyabort_error((ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].lex_str).str));
             (yyval.lex_str)=(yyvsp[0].lex_str);
           }
-#line 36156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2110:
-#line 13713 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13702 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str);}
-#line 36162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2111:
-#line 13718 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.table)= new (thd->mem_root) Table_ident((yyvsp[0].lex_str));
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
-#line 36172 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2112:
-#line 13724 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13713 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.table)= new (thd->mem_root) Table_ident(thd, (yyvsp[-2].lex_str), (yyvsp[0].lex_str), 0);
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
-#line 36182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2113:
-#line 13730 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* For Delphi */
             (yyval.table)= new (thd->mem_root) Table_ident((yyvsp[0].lex_str));
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
-#line 36193 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36205 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2114:
-#line 13740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13729 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.table)= new (thd->mem_root) Table_ident((yyvsp[-1].lex_str));
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
-#line 36203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36215 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2115:
-#line 13746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.table)= new (thd->mem_root) Table_ident(thd, (yyvsp[-3].lex_str), (yyvsp[-1].lex_str), 0);
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
-#line 36213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2116:
-#line 13755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX_STRING db={(char*) any_db,3};
             (yyval.table)= new (thd->mem_root) Table_ident(thd, db, (yyvsp[0].lex_str), 0);
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
-#line 36224 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36236 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2117:
-#line 13764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13753 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= (yyvsp[0].lex_str); }
-#line 36230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2118:
-#line 13766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->charset_is_system_charset)
             {
@@ -36255,11 +36267,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 36259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36271 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2119:
-#line 13794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->charset_is_system_charset)
               (yyval.lex_str)= (yyvsp[0].lex_str);
@@ -36270,11 +36282,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 36274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2120:
-#line 13808 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->charset_is_collation_connection)
               (yyval.lex_str)= (yyvsp[0].lex_str);
@@ -36285,11 +36297,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             } 
           }
-#line 36289 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2121:
-#line 13822 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->charset_is_character_set_filesystem)
               (yyval.lex_str)= (yyvsp[0].lex_str);
@@ -36301,63 +36313,63 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 36305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36317 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2122:
-#line 13836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str); }
-#line 36311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2123:
-#line 13838 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
             if ((yyval.lex_str).str == NULL)
               MYSQL_YYABORT;
             (yyval.lex_str).length= (yyvsp[0].symbol).length;
           }
-#line 36322 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2124:
-#line 13847 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str); }
-#line 36328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2125:
-#line 13849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13838 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
             if ((yyval.lex_str).str == NULL)
               MYSQL_YYABORT;
             (yyval.lex_str).length= (yyvsp[0].symbol).length;
           }
-#line 36339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2126:
-#line 13858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13847 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str);}
-#line 36345 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2127:
-#line 13859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str);}
-#line 36351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2128:
-#line 13860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=(yyvsp[0].lex_str);}
-#line 36357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2129:
-#line 13865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
               MYSQL_YYABORT;
@@ -36370,11 +36382,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                          system_charset_info, 0))
               MYSQL_YYABORT;
           }
-#line 36374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2130:
-#line 13878 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
               MYSQL_YYABORT;
@@ -36404,11 +36416,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               (yyval.lex_user)->host= host_not_specified;
             }
           }
-#line 36408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2131:
-#line 13908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.lex_user)=(LEX_USER*)thd->calloc(sizeof(LEX_USER))))
               MYSQL_YYABORT;
@@ -36416,2241 +36428,2241 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.lex_user)->plugin= empty_lex_str;
             (yyval.lex_user)->auth= empty_lex_str;
           }
-#line 36420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2134:
-#line 13920 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
            if ((yyvsp[0].lex_user)->user.str != current_user.str && (yyvsp[0].lex_user)->host.str == 0)
              (yyvsp[0].lex_user)->host= host_not_specified;
            (yyval.lex_user)= (yyvsp[0].lex_user);
          }
-#line 36430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2135:
-#line 13929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13918 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2136:
-#line 13930 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2137:
-#line 13931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13920 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2138:
-#line 13932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13921 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2139:
-#line 13933 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2140:
-#line 13934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2141:
-#line 13935 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13924 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2142:
-#line 13936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13925 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36490 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2143:
-#line 13937 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2144:
-#line 13938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36490 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2145:
-#line 13939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13928 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2146:
-#line 13940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2147:
-#line 13941 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13930 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2148:
-#line 13942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2149:
-#line 13943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2150:
-#line 13944 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13933 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2151:
-#line 13945 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2152:
-#line 13946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13935 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2153:
-#line 13947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2154:
-#line 13948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13937 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2155:
-#line 13949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2156:
-#line 13950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2157:
-#line 13951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2158:
-#line 13952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13941 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2159:
-#line 13953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36592 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2160:
-#line 13954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2161:
-#line 13955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13944 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36592 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2162:
-#line 13956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13945 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2163:
-#line 13957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2164:
-#line 13958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2165:
-#line 13959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2166:
-#line 13960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2167:
-#line 13961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2168:
-#line 13962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2169:
-#line 13963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2170:
-#line 13964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2171:
-#line 13965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2172:
-#line 13966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2173:
-#line 13967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2174:
-#line 13968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2175:
-#line 13969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2176:
-#line 13970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2177:
-#line 13971 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2178:
-#line 13972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2179:
-#line 13973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2180:
-#line 13974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2181:
-#line 13975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2182:
-#line 13976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2183:
-#line 13977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2184:
-#line 13978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2185:
-#line 13979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2186:
-#line 13980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2187:
-#line 13981 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2188:
-#line 13982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13971 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2189:
-#line 13983 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2190:
-#line 13984 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2191:
-#line 13985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2192:
-#line 13986 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2193:
-#line 13987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2194:
-#line 13988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2195:
-#line 13989 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36808 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2196:
-#line 13999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2197:
-#line 14000 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13989 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36808 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2198:
-#line 14001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2199:
-#line 14002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13991 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2200:
-#line 14003 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2201:
-#line 14004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2202:
-#line 14005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2203:
-#line 14006 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2204:
-#line 14007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2205:
-#line 14008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13997 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2206:
-#line 14009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2207:
-#line 14010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 13999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36880 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2208:
-#line 14011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14000 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2209:
-#line 14012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36880 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2210:
-#line 14013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2211:
-#line 14014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14003 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2212:
-#line 14015 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2213:
-#line 14016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2214:
-#line 14017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14006 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2215:
-#line 14018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2216:
-#line 14019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2217:
-#line 14020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2218:
-#line 14021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2219:
-#line 14022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2220:
-#line 14023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2221:
-#line 14024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2222:
-#line 14025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2223:
-#line 14026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14015 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2224:
-#line 14027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2225:
-#line 14028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2226:
-#line 14029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 36994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2227:
-#line 14030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2228:
-#line 14031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 36994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2229:
-#line 14032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2230:
-#line 14033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2231:
-#line 14034 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2232:
-#line 14035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2233:
-#line 14036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2234:
-#line 14037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2235:
-#line 14038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2236:
-#line 14039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2237:
-#line 14040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2238:
-#line 14041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2239:
-#line 14042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2240:
-#line 14043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2241:
-#line 14044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2242:
-#line 14045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14034 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2243:
-#line 14046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2244:
-#line 14047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2245:
-#line 14048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2246:
-#line 14053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2247:
-#line 14054 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2248:
-#line 14055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2249:
-#line 14056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37132 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2250:
-#line 14057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2251:
-#line 14058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37132 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2252:
-#line 14059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2253:
-#line 14060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2254:
-#line 14061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2255:
-#line 14062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2256:
-#line 14063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2257:
-#line 14064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2258:
-#line 14065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14054 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2259:
-#line 14066 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2260:
-#line 14067 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2261:
-#line 14068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2262:
-#line 14069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2263:
-#line 14070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2264:
-#line 14071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2265:
-#line 14072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2266:
-#line 14073 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2267:
-#line 14074 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2268:
-#line 14075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2269:
-#line 14076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2270:
-#line 14077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14066 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2271:
-#line 14078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14067 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2272:
-#line 14079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2273:
-#line 14080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2274:
-#line 14081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2275:
-#line 14082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2276:
-#line 14083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2277:
-#line 14084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14073 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2278:
-#line 14085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14074 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2279:
-#line 14086 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2280:
-#line 14087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2281:
-#line 14088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2282:
-#line 14089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2283:
-#line 14090 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2284:
-#line 14091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2285:
-#line 14092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2286:
-#line 14093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2287:
-#line 14094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2288:
-#line 14095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2289:
-#line 14096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2290:
-#line 14097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14086 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2291:
-#line 14098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2292:
-#line 14099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2293:
-#line 14100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2294:
-#line 14101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14090 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2295:
-#line 14102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2296:
-#line 14103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2297:
-#line 14104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2298:
-#line 14105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2299:
-#line 14106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2300:
-#line 14107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2301:
-#line 14108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2302:
-#line 14109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2303:
-#line 14110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2304:
-#line 14111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2305:
-#line 14112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2306:
-#line 14113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2307:
-#line 14114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2308:
-#line 14115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2309:
-#line 14116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2310:
-#line 14117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2311:
-#line 14118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2312:
-#line 14119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2313:
-#line 14120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2314:
-#line 14121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2315:
-#line 14122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2316:
-#line 14123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2317:
-#line 14124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2318:
-#line 14125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2319:
-#line 14126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2320:
-#line 14127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2321:
-#line 14128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2322:
-#line 14129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2323:
-#line 14130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2324:
-#line 14131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2325:
-#line 14132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2326:
-#line 14133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2327:
-#line 14134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2328:
-#line 14135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2329:
-#line 14136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2330:
-#line 14137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2331:
-#line 14138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2332:
-#line 14139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2333:
-#line 14140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2334:
-#line 14141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37642 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2335:
-#line 14142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2336:
-#line 14143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37642 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2337:
-#line 14144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2338:
-#line 14145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37666 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2339:
-#line 14146 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2340:
-#line 14147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37666 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2341:
-#line 14148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2342:
-#line 14149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2343:
-#line 14150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2344:
-#line 14151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2345:
-#line 14152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2346:
-#line 14153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2347:
-#line 14154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2348:
-#line 14155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2349:
-#line 14156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2350:
-#line 14157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14146 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2351:
-#line 14158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2352:
-#line 14159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2353:
-#line 14160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2354:
-#line 14161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2355:
-#line 14162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2356:
-#line 14163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2357:
-#line 14164 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2358:
-#line 14165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2359:
-#line 14166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2360:
-#line 14167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2361:
-#line 14168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2362:
-#line 14169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2363:
-#line 14170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2364:
-#line 14171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2365:
-#line 14172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2366:
-#line 14173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2367:
-#line 14174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2368:
-#line 14175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14164 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2369:
-#line 14176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2370:
-#line 14177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2371:
-#line 14178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2372:
-#line 14179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2373:
-#line 14180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2374:
-#line 14181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2375:
-#line 14182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2376:
-#line 14183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2377:
-#line 14184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2378:
-#line 14185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37906 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2379:
-#line 14186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2380:
-#line 14187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37906 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2381:
-#line 14188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2382:
-#line 14189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2383:
-#line 14190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37936 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2384:
-#line 14191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2385:
-#line 14192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37936 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2386:
-#line 14193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2387:
-#line 14194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2388:
-#line 14195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2389:
-#line 14196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2390:
-#line 14197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2391:
-#line 14198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37984 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2392:
-#line 14199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2393:
-#line 14200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37984 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 37996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2394:
-#line 14201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2395:
-#line 14202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 37996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2396:
-#line 14203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38014 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2397:
-#line 14204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2398:
-#line 14205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38014 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2399:
-#line 14206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2400:
-#line 14207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2401:
-#line 14208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38044 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2402:
-#line 14209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2403:
-#line 14210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38044 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38056 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2404:
-#line 14211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2405:
-#line 14212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38056 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38068 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2406:
-#line 14213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2407:
-#line 14214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38068 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38080 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2408:
-#line 14215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38086 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2409:
-#line 14216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38080 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38092 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2410:
-#line 14217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38086 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2411:
-#line 14218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38092 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38104 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2412:
-#line 14219 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2413:
-#line 14220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38104 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2414:
-#line 14221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2415:
-#line 14222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2416:
-#line 14223 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2417:
-#line 14224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38140 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2418:
-#line 14225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38146 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2419:
-#line 14226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38140 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2420:
-#line 14227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38146 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2421:
-#line 14228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38164 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2422:
-#line 14229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38170 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2423:
-#line 14230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14219 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38164 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38176 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2424:
-#line 14231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38170 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2425:
-#line 14232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38176 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2426:
-#line 14233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2427:
-#line 14234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14223 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2428:
-#line 14235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38206 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2429:
-#line 14236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38212 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2430:
-#line 14237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38206 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38218 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2431:
-#line 14238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38212 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38224 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2432:
-#line 14239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38218 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2433:
-#line 14240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38224 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38236 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2434:
-#line 14241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2435:
-#line 14242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38236 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38248 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2436:
-#line 14243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2437:
-#line 14244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38248 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38260 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2438:
-#line 14245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38266 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2439:
-#line 14246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38260 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38272 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2440:
-#line 14247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38266 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2441:
-#line 14248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38272 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38284 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2442:
-#line 14249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38290 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2443:
-#line 14250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38284 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38296 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2444:
-#line 14251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38290 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38302 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2445:
-#line 14252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38296 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38308 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2446:
-#line 14253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38302 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2447:
-#line 14254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38308 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2448:
-#line 14255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2449:
-#line 14256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2450:
-#line 14257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2451:
-#line 14258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2452:
-#line 14259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2453:
-#line 14260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2454:
-#line 14261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38362 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2455:
-#line 14262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2456:
-#line 14263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38362 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2457:
-#line 14264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38380 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2458:
-#line 14265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2459:
-#line 14266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38380 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2460:
-#line 14267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2461:
-#line 14268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2462:
-#line 14269 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2463:
-#line 14270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2464:
-#line 14271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38422 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2465:
-#line 14272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38428 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2466:
-#line 14273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38422 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2467:
-#line 14274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38428 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2468:
-#line 14275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2469:
-#line 14276 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2470:
-#line 14277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38458 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2471:
-#line 14278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2472:
-#line 14279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38458 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38470 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2473:
-#line 14280 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14269 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2474:
-#line 14281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38470 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2475:
-#line 14282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38488 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2476:
-#line 14283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2477:
-#line 14284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38488 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2478:
-#line 14285 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2479:
-#line 14286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2480:
-#line 14287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14276 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2481:
-#line 14288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2482:
-#line 14289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38530 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2483:
-#line 14290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2484:
-#line 14291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14280 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38530 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38542 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2485:
-#line 14292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38548 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2486:
-#line 14293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38542 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38554 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2487:
-#line 14294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38548 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2488:
-#line 14295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38554 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2489:
-#line 14296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14285 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2490:
-#line 14297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2491:
-#line 14298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38584 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2492:
-#line 14299 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2493:
-#line 14300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38584 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2494:
-#line 14301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2495:
-#line 14302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2496:
-#line 14303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2497:
-#line 14304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2498:
-#line 14305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2499:
-#line 14306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2500:
-#line 14307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2501:
-#line 14308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2502:
-#line 14309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2503:
-#line 14310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14299 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2504:
-#line 14311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2505:
-#line 14323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SET_OPTION;
@@ -38660,17 +38672,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->autocommit= 0;
             sp_create_assignment_lex(thd, yychar == YYEMPTY);
           }
-#line 38664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2506:
-#line 14333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2507:
-#line 14335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             mysql_init_select(lex);
@@ -38678,11 +38690,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_SET_OPTION;
             lex->autocommit= 0;
           }
-#line 38682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2508:
-#line 14343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->table_or_sp_used())
@@ -38690,177 +38702,177 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->stmt_var_list= lex->var_list;
             lex->var_list.empty();
           }
-#line 38694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2509:
-#line 14351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 38700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2512:
-#line 14366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (sp_create_assignment_instr(thd, yychar == YYEMPTY))
               MYSQL_YYABORT;
           }
-#line 38709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38721 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2514:
-#line 14372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_type= OPT_DEFAULT;
           }
-#line 38717 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2515:
-#line 14376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (sp_create_assignment_instr(thd, yychar == YYEMPTY))
               MYSQL_YYABORT;
           }
-#line 38726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2516:
-#line 14381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_type= (yyvsp[0].var_type);
           }
-#line 38734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2518:
-#line 14391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14380 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (sp_create_assignment_instr(thd, yychar == YYEMPTY))
               MYSQL_YYABORT; 
           }
-#line 38743 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2520:
-#line 14397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (sp_create_assignment_instr(thd, yychar == YYEMPTY))
               MYSQL_YYABORT; 
           }
-#line 38752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2523:
-#line 14411 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_create_assignment_lex(thd, yychar == YYEMPTY);
           }
-#line 38760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2524:
-#line 14415 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (sp_create_assignment_instr(thd, yychar == YYEMPTY))
               MYSQL_YYABORT; 
           }
-#line 38769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38781 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2525:
-#line 14420 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_create_assignment_lex(thd, yychar == YYEMPTY);
           }
-#line 38777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38789 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2526:
-#line 14424 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (sp_create_assignment_instr(thd, yychar == YYEMPTY))
               MYSQL_YYABORT; 
           }
-#line 38786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2527:
-#line 14433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->option_type= (yyvsp[0].var_type);
           }
-#line 38794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2530:
-#line 14441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_GLOBAL; }
-#line 38800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2531:
-#line 14442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
-#line 38806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2532:
-#line 14443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14432 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
-#line 38812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38824 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2533:
-#line 14447 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
-#line 38818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38830 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2534:
-#line 14448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_GLOBAL; }
-#line 38824 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2535:
-#line 14449 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
-#line 38830 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2536:
-#line 14450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
-#line 38836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2537:
-#line 14454 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_DEFAULT; }
-#line 38842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2538:
-#line 14455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14444 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_GLOBAL; }
-#line 38848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2539:
-#line 14456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
-#line 38854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2540:
-#line 14457 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14446 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
-#line 38860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38872 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2541:
-#line 14463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14452 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -38880,11 +38892,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 38884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2542:
-#line 14487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -38910,11 +38922,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 MYSQL_YYABORT;
             }
           }
-#line 38914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38926 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2543:
-#line 14513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_func_set_user_var *item;
             item= new (thd->mem_root) Item_func_set_user_var(thd, (yyvsp[-2].lex_str), (yyvsp[0].item));
@@ -38925,11 +38937,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Lex->var_list.push_back(var, thd->mem_root);
           }
-#line 38929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2544:
-#line 14524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             struct sys_var_with_base tmp= (yyvsp[-2].variable);
             if (tmp.var == trg_new_row_fake_var)
@@ -38946,11 +38958,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (set_system_variable(thd, &tmp, (yyvsp[-3].var_type), (yyvsp[0].item)))
               MYSQL_YYABORT;
           }
-#line 38950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2545:
-#line 14541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             CHARSET_INFO *cs2;
@@ -38964,11 +38976,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->var_list.push_back(var, thd->mem_root);
           }
-#line 38968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2546:
-#line 14555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
@@ -38983,11 +38995,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             MYSQL_YYABORT;
           }
-#line 38987 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 38999 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2547:
-#line 14570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14559 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             CHARSET_INFO *cs2;
@@ -39006,11 +39018,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->var_list.push_back(var, thd->mem_root);
           }
-#line 39010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2548:
-#line 14589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14578 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex = Lex;
             LEX_USER *user;
@@ -39027,11 +39039,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->sphead)
               lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
           }
-#line 39031 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39043 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2549:
-#line 14606 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex = Lex;
             set_var_default_role *var= (new (thd->mem_root)
@@ -39043,11 +39055,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->sphead)
               lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
           }
-#line 39047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2550:
-#line 14618 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex = Lex;
             set_var_role *var= new (thd->mem_root) set_var_role((yyvsp[0].lex_str));
@@ -39055,11 +39067,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->var_list.push_back(var, thd->mem_root);
           }
-#line 39059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2551:
-#line 14626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14615 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex = Lex;
             set_var_password *var= (new (thd->mem_root)
@@ -39071,11 +39083,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->sphead)
               lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
           }
-#line 39075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2552:
-#line 14642 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_pcontext *spc= thd->lex->spcont;
             sp_variable *spv;
@@ -39101,11 +39113,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               (yyval.variable).base_name= (yyvsp[0].lex_str);
             }
           }
-#line 39105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39117 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2553:
-#line 14668 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14657 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (check_reserved_words(&(yyvsp[-2].lex_str)))
@@ -39142,11 +39154,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               (yyval.variable).base_name= (yyvsp[-2].lex_str);
             }
           }
-#line 39146 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2554:
-#line 14705 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14694 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sys_var *tmp=find_sys_var(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (!tmp)
@@ -39157,11 +39169,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             (yyval.variable).base_name.str=    (char*) "default";
             (yyval.variable).base_name.length= 7;
           }
-#line 39161 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2559:
-#line 14726 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Item *item= new (thd->mem_root) Item_int(thd, (int32) (yyvsp[0].num));
@@ -39176,11 +39188,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->var_list.push_back(var, thd->mem_root);
           }
-#line 39180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2560:
-#line 14744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14733 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Item *item= new (thd->mem_root) Item_int(thd, (int32) (yyvsp[0].tx_isolation));
@@ -39195,47 +39207,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->var_list.push_back(var, thd->mem_root);
           }
-#line 39199 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2561:
-#line 14761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14750 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= true; }
-#line 39205 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39217 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2562:
-#line 14762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= false; }
-#line 39211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39223 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2563:
-#line 14766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
-#line 39217 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39229 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2564:
-#line 14767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.tx_isolation)= ISO_READ_COMMITTED; }
-#line 39223 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39235 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2565:
-#line 14768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14757 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
-#line 39229 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39241 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2566:
-#line 14769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.tx_isolation)= ISO_SERIALIZABLE; }
-#line 39235 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39247 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2567:
-#line 14774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             sp_pcontext *spc= lex->spcont;
@@ -39249,82 +39261,82 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->definer->plugin= empty_lex_str;
             lex->definer->auth= empty_lex_str;
           }
-#line 39253 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39265 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2568:
-#line 14787 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14776 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->definer= (yyvsp[-1].lex_user); }
-#line 39259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39271 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2569:
-#line 14791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->definer->pwhash= (yyvsp[0].lex_str);}
-#line 39265 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39277 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2570:
-#line 14792 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->definer->pwtext= (yyvsp[-1].lex_str); }
-#line 39271 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2571:
-#line 14794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->definer->pwtext= (yyvsp[-1].lex_str);
             Lex->definer->pwhash.str= Item_func_password::alloc(thd,
                                    (yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length, Item_func_password::OLD);
             Lex->definer->pwhash.length=  SCRAMBLED_PASSWORD_CHAR_LENGTH_323;
           }
-#line 39282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2572:
-#line 14803 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14792 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)=(yyvsp[0].item); }
-#line 39288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2573:
-#line 14804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)=0; }
-#line 39294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2574:
-#line 14806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "ON",  2);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 39304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2575:
-#line 14812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14801 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "ALL", 3);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 39314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2576:
-#line 14818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14807 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "binary", 6);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
-#line 39324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2577:
-#line 14829 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -39332,29 +39344,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "LOCK"));
             lex->sql_command= SQLCOM_LOCK_TABLES;
           }
-#line 39336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2578:
-#line 14837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2579:
-#line 14841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 39348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2580:
-#line 14842 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
-#line 39354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2583:
-#line 14852 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num);
             bool lock_for_write= lock_type >= TL_WRITE_ALLOW_WRITE;
@@ -39369,43 +39381,43 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                            lock_type, mdl_type))
               MYSQL_YYABORT;
           }
-#line 39373 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2584:
-#line 14869 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_READ_NO_INSERT; }
-#line 39379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2585:
-#line 14870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_WRITE_DEFAULT; }
-#line 39385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2586:
-#line 14872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14861 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
           }
-#line 39393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2587:
-#line 14876 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_WRITE_LOW_PRIORITY; }
-#line 39399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2588:
-#line 14877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_READ; }
-#line 39405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2589:
-#line 14882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -39413,17 +39425,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "UNLOCK"));
             lex->sql_command= SQLCOM_UNLOCK_TABLES;
           }
-#line 39417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2590:
-#line 14890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2591:
-#line 14899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->sphead)
@@ -39432,11 +39444,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!lex->current_select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0))
               MYSQL_YYABORT;
           }
-#line 39436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2592:
-#line 14908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->sphead)
@@ -39445,11 +39457,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!lex->current_select->add_table_to_list(thd, (yyvsp[-1].table), 0, 0))
               MYSQL_YYABORT;
           }
-#line 39449 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39461 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2593:
-#line 14917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14906 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->sphead)
@@ -39466,11 +39478,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!lex->current_select->add_table_to_list(thd, (yyvsp[-1].table), 0, 0))
               MYSQL_YYABORT;
           }
-#line 39470 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2594:
-#line 14934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->expr_allows_subselect= TRUE;
             /* Stored functions are not supported for HANDLER READ. */
@@ -39481,59 +39493,59 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             }
           }
-#line 39485 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2595:
-#line 14947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ident= null_lex_str; }
-#line 39491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2596:
-#line 14948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14937 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ident= (yyvsp[-1].lex_str); }
-#line 39497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39509 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2597:
-#line 14952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14941 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RFIRST; }
-#line 39503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2598:
-#line 14953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RNEXT;  }
-#line 39509 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2599:
-#line 14957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RFIRST; }
-#line 39515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39527 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2600:
-#line 14958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RNEXT;  }
-#line 39521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2601:
-#line 14959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RPREV;  }
-#line 39527 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2602:
-#line 14960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RLAST;  }
-#line 39533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39545 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2603:
-#line 14962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->ha_read_mode = RKEY;
@@ -39541,63 +39553,63 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (!(lex->insert_list= new (thd->mem_root) List_item))
               MYSQL_YYABORT;
           }
-#line 39545 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2604:
-#line 14970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39551 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2605:
-#line 14974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT;   }
-#line 39557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2606:
-#line 14975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; }
-#line 39563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2607:
-#line 14976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; }
-#line 39569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2608:
-#line 14977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY;   }
-#line 39575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2609:
-#line 14978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY;  }
-#line 39581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2610:
-#line 14985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2611:
-#line 14990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_REVOKE;
             lex->type= 0;
           }
-#line 39597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2612:
-#line 14996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->columns.elements)
@@ -39608,11 +39620,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_REVOKE;
             lex->type= TYPE_ENUM_FUNCTION;
           }
-#line 39612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2613:
-#line 15007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 14996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->columns.elements)
@@ -39623,68 +39635,68 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_REVOKE;
             lex->type= TYPE_ENUM_PROCEDURE;
           }
-#line 39627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2614:
-#line 15018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_REVOKE_ALL;
           }
-#line 39635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39647 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2615:
-#line 15022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->users_list.push_front ((yyvsp[-2].lex_user));
             lex->sql_command= SQLCOM_REVOKE;
             lex->type= TYPE_ENUM_PROXY;
           }
-#line 39646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2616:
-#line 15029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_REVOKE_ROLE;
             if (Lex->users_list.push_front((yyvsp[-2].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 39656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2617:
-#line 15038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->with_admin_option= true; (yyval.lex_user)= (yyvsp[0].lex_user); }
-#line 39662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2618:
-#line 15040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->with_admin_option= false; (yyval.lex_user)= (yyvsp[0].lex_user); }
-#line 39668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2619:
-#line 15045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15034 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2620:
-#line 15051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_GRANT;
             lex->type= 0;
           }
-#line 39684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2621:
-#line 15058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->columns.elements)
@@ -39695,11 +39707,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_GRANT;
             lex->type= TYPE_ENUM_FUNCTION;
           }
-#line 39699 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2622:
-#line 15070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->columns.elements)
@@ -39710,22 +39722,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_GRANT;
             lex->type= TYPE_ENUM_PROCEDURE;
           }
-#line 39714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2623:
-#line 15081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->users_list.push_front ((yyvsp[-3].lex_user));
             lex->sql_command= SQLCOM_GRANT;
             lex->type= TYPE_ENUM_PROXY;
           }
-#line 39725 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39737 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2624:
-#line 15088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_GRANT_ROLE;
@@ -39733,64 +39745,64 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (Lex->users_list.push_front((yyvsp[-3].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 39737 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2625:
-#line 15099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->definer = 0; }
-#line 39743 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2626:
-#line 15100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->definer = (yyvsp[0].lex_user); }
-#line 39749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2627:
-#line 15103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->with_admin_option= false; }
-#line 39755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39767 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2628:
-#line 15104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->with_admin_option= true; }
-#line 39761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39773 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2629:
-#line 15108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 39770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2630:
-#line 15113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 39779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2631:
-#line 15121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.lex_user)=(LEX_USER*) thd->calloc(sizeof(LEX_USER))))
               MYSQL_YYABORT;
             (yyval.lex_user)->user= current_role;
             (yyval.lex_user)->reset_auth();
           }
-#line 39790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2632:
-#line 15131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             CHARSET_INFO *cs= system_charset_info;
             /* trim end spaces (as they'll be lost in mysql.user anyway) */
@@ -39809,275 +39821,275 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                          cs, 0))
               MYSQL_YYABORT;
           }
-#line 39813 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39825 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2636:
-#line 15158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39819 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39831 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2637:
-#line 15160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             Lex->all_privileges= 1; 
             Lex->grant= GLOBAL_ACLS;
           }
-#line 39828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2642:
-#line 15178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->which_columns = SELECT_ACL;}
-#line 39834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2643:
-#line 15179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2644:
-#line 15181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->which_columns = INSERT_ACL;}
-#line 39846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2645:
-#line 15182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2646:
-#line 15184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->which_columns = UPDATE_ACL; }
-#line 39858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2647:
-#line 15185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2648:
-#line 15187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->which_columns = REFERENCES_ACL;}
-#line 39870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2649:
-#line 15188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2650:
-#line 15189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= DELETE_ACL;}
-#line 39882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2651:
-#line 15190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 39888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2652:
-#line 15191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= INDEX_ACL;}
-#line 39894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39906 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2653:
-#line 15192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= ALTER_ACL;}
-#line 39900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2654:
-#line 15193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_ACL;}
-#line 39906 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2655:
-#line 15194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= DROP_ACL;}
-#line 39912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2656:
-#line 15195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= EXECUTE_ACL;}
-#line 39918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2657:
-#line 15196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= RELOAD_ACL;}
-#line 39924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39936 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2658:
-#line 15197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= SHUTDOWN_ACL;}
-#line 39930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2659:
-#line 15198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= PROCESS_ACL;}
-#line 39936 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2660:
-#line 15199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= FILE_ACL;}
-#line 39942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2661:
-#line 15200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= GRANT_ACL;}
-#line 39948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2662:
-#line 15201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= SHOW_DB_ACL;}
-#line 39954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2663:
-#line 15202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= SUPER_ACL;}
-#line 39960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2664:
-#line 15203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_TMP_ACL;}
-#line 39966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2665:
-#line 15204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= LOCK_TABLES_ACL; }
-#line 39972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39984 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2666:
-#line 15205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= REPL_SLAVE_ACL; }
-#line 39978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2667:
-#line 15206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= REPL_CLIENT_ACL; }
-#line 39984 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 39996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2668:
-#line 15207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_VIEW_ACL; }
-#line 39990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2669:
-#line 15208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= SHOW_VIEW_ACL; }
-#line 39996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2670:
-#line 15209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_PROC_ACL; }
-#line 40002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40014 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2671:
-#line 15210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= ALTER_PROC_ACL; }
-#line 40008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2672:
-#line 15211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_USER_ACL; }
-#line 40014 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2673:
-#line 15212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= EVENT_ACL;}
-#line 40020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2674:
-#line 15213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= TRIGGER_ACL; }
-#line 40026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2675:
-#line 15214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_TABLESPACE_ACL; }
-#line 40032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40044 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2676:
-#line 15218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2677:
-#line 15219 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40044 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40056 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2680:
-#line 15229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->x509_subject)
               my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "SUBJECT"));
             lex->x509_subject=(yyvsp[0].lex_str).str;
           }
-#line 40055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40067 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2681:
-#line 15236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->x509_issuer)
               my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "ISSUER"));
             lex->x509_issuer=(yyvsp[0].lex_str).str;
           }
-#line 40066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2682:
-#line 15243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->ssl_cipher)
               my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CIPHER"));
             lex->ssl_cipher=(yyvsp[0].lex_str).str;
           }
-#line 40077 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2683:
-#line 15253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             size_t dummy;
@@ -40088,11 +40100,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else if (lex->columns.elements)
               my_yyabort_error((ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0)));
           }
-#line 40092 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40104 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2684:
-#line 15264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->current_select->db = (yyvsp[-2].lex_str).str;
@@ -40101,11 +40113,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else if (lex->columns.elements)
               my_yyabort_error((ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0)));
           }
-#line 40105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40117 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2685:
-#line 15273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->current_select->db = NULL;
@@ -40114,11 +40126,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             else if (lex->columns.elements)
               my_yyabort_error((ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0)));
           }
-#line 40118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2686:
-#line 15282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!lex->current_select->add_table_to_list(thd, (yyvsp[0].table),NULL,
@@ -40127,120 +40139,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (lex->grant == GLOBAL_ACLS)
               lex->grant =  TABLE_ACLS & ~GRANT_ACL;
           }
-#line 40131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40143 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2687:
-#line 15294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 40140 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2688:
-#line 15299 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 40149 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40161 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2689:
-#line 15307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 40158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40170 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2690:
-#line 15312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 40167 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2691:
-#line 15320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 40176 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2692:
-#line 15325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))
               MYSQL_YYABORT;
           }
-#line 40185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40197 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2697:
-#line 15336 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.lex_user)= (yyvsp[-3].lex_user);
             (yyvsp[-3].lex_user)->pwtext= (yyvsp[0].lex_str);
             if (Lex->sql_command == SQLCOM_REVOKE)
               MYSQL_YYABORT;
           }
-#line 40196 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40208 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2698:
-#line 15343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             (yyval.lex_user)= (yyvsp[-4].lex_user); 
             (yyvsp[-4].lex_user)->pwhash= (yyvsp[0].lex_str);
           }
-#line 40205 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40217 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2699:
-#line 15348 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.lex_user)= (yyvsp[-3].lex_user);
             (yyvsp[-3].lex_user)->plugin= (yyvsp[0].lex_str);
             (yyvsp[-3].lex_user)->auth= empty_lex_str;
           }
-#line 40215 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2700:
-#line 15354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.lex_user)= (yyvsp[-5].lex_user);
             (yyvsp[-5].lex_user)->plugin= (yyvsp[-2].lex_str);
             (yyvsp[-5].lex_user)->auth= (yyvsp[0].lex_str);
           }
-#line 40225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2701:
-#line 15360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_user)= (yyvsp[0].lex_user); }
-#line 40231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2702:
-#line 15365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->grant |= lex->which_columns;
           }
-#line 40240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2706:
-#line 15379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             String *new_str= new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info);
             if (new_str == NULL)
@@ -40266,227 +40278,227 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               lex->columns.push_back(col, thd->mem_root);
             }
           }
-#line 40270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2708:
-#line 15409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ssl_type=SSL_TYPE_SPECIFIED;
           }
-#line 40278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40290 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2709:
-#line 15413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ssl_type=SSL_TYPE_ANY;
           }
-#line 40286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2710:
-#line 15417 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15406 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ssl_type=SSL_TYPE_X509;
           }
-#line 40294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2711:
-#line 15421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15410 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ssl_type=SSL_TYPE_NONE;
           }
-#line 40302 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2712:
-#line 15427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15416 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40308 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2714:
-#line 15432 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2715:
-#line 15433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= GRANT_ACL;}
-#line 40320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2716:
-#line 15437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2717:
-#line 15438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2718:
-#line 15442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= GRANT_ACL;}
-#line 40338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2719:
-#line 15444 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->mqh.questions=(yyvsp[0].ulong_num);
             lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR;
           }
-#line 40348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2720:
-#line 15450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->mqh.updates=(yyvsp[0].ulong_num);
             lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR;
           }
-#line 40358 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40370 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2721:
-#line 15456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->mqh.conn_per_hour= (yyvsp[0].ulong_num);
             lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR;
           }
-#line 40368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40380 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2722:
-#line 15462 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->mqh.user_conn= (yyvsp[0].num);
             lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS;
           }
-#line 40378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2723:
-#line 15468 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15457 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->mqh.max_statement_time= (yyvsp[0].item_num)->val_real();
             lex->mqh.specified_limits|= USER_RESOURCES::MAX_STATEMENT_TIME;
           }
-#line 40388 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40400 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2724:
-#line 15477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15466 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_BEGIN;
             lex->start_transaction_opt= 0;
           }
-#line 40398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2725:
-#line 15482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2726:
-#line 15487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_COMPOUND;
             Lex->sphead->set_stmt_end(thd);
             Lex->sphead->restore_thd_mem_root(thd);
           }
-#line 40414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2727:
-#line 15495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 40420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2728:
-#line 15496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15485 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 40426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2729:
-#line 15500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2730:
-#line 15501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2731:
-#line 15506 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
-#line 40444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2732:
-#line 15507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_NO; }
-#line 40450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2733:
-#line 15508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15497 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_YES; }
-#line 40456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2734:
-#line 15513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
-#line 40462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2735:
-#line 15514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15503 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_YES; }
-#line 40468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2736:
-#line 15515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_NO; }
-#line 40474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2737:
-#line 15519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2738:
-#line 15520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2739:
-#line 15525 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_COMMIT;
@@ -40495,11 +40507,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
             lex->tx_release= (yyvsp[0].m_yes_no_unk);
           }
-#line 40499 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2740:
-#line 15537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_ROLLBACK;
@@ -40508,56 +40520,56 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
             lex->tx_release= (yyvsp[0].m_yes_no_unk);
           }
-#line 40512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2741:
-#line 15547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT;
             lex->ident= (yyvsp[0].lex_str);
           }
-#line 40522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2742:
-#line 15556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15545 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SAVEPOINT;
             lex->ident= (yyvsp[0].lex_str);
           }
-#line 40532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2743:
-#line 15565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_RELEASE_SAVEPOINT;
             lex->ident= (yyvsp[0].lex_str);
           }
-#line 40542 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40554 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2744:
-#line 15578 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15567 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40548 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2746:
-#line 15584 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15573 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), TRUE))
               MYSQL_YYABORT;
           }
-#line 40557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2747:
-#line 15589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15578 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Remove from the name resolution context stack the context of the
@@ -40565,29 +40577,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             Lex->pop_context();
           }
-#line 40569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2749:
-#line 15600 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 40575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2750:
-#line 15604 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15593 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
-#line 40581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2751:
-#line 15605 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
-#line 40587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2752:
-#line 15609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15598 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
@@ -40601,80 +40613,80 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             thd->where= "global ORDER clause";
           }
-#line 40605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40617 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2753:
-#line 15623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             thd->lex->current_select->no_table_names_allowed= 0;
             thd->where= "";
           }
-#line 40614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2756:
-#line 15635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=1; }
-#line 40620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2757:
-#line 15636 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=1; }
-#line 40626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2758:
-#line 15637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=0; }
-#line 40632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2759:
-#line 15643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15632 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
           }
-#line 40640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2760:
-#line 15648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
           }
-#line 40648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2762:
-#line 15657 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
               MYSQL_YYABORT;
           }
-#line 40657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40669 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2763:
-#line 15662 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->pop_context();
             (yyval.select_lex)= (yyvsp[-4].select_lex);
           }
-#line 40666 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2764:
-#line 15671 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15660 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             (yyval.select_lex)= (yyvsp[-1].select_lex);
           }
-#line 40674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2765:
-#line 15677 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!lex->expr_allows_subselect ||
@@ -40693,11 +40705,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             if (mysql_new_select(Lex, 1))
               MYSQL_YYABORT;
           }
-#line 40697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2766:
-#line 15698 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15687 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
@@ -40722,17 +40734,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                 temp->select_n_having_items;
             }
           }
-#line 40726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2771:
-#line 15735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15724 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_STRAIGHT_JOIN; }
-#line 40732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2772:
-#line 15737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15726 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (check_simple_select())
               MYSQL_YYABORT;
@@ -40740,73 +40752,73 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             YYPS->m_mdl_type= MDL_SHARED_READ;
             Select->options|= SELECT_HIGH_PRIORITY;
           }
-#line 40744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2773:
-#line 15744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15733 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_DISTINCT; }
-#line 40750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2774:
-#line 15745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15734 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_SMALL_RESULT; }
-#line 40756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2775:
-#line 15746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_BIG_RESULT; }
-#line 40762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2776:
-#line 15748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (check_simple_select())
               MYSQL_YYABORT;
             Select->options|= OPTION_BUFFER_RESULT;
           }
-#line 40772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2777:
-#line 15754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15743 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (check_simple_select())
               MYSQL_YYABORT;
             Select->options|= OPTION_FOUND_ROWS;
           }
-#line 40782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2778:
-#line 15759 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_ALL; }
-#line 40788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2779:
-#line 15770 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15759 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2780:
-#line 15772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2781:
-#line 15774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2795:
-#line 15807 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               We have to distinguish missing DEFINER-clause from case when
@@ -40817,58 +40829,58 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             */
             thd->lex->definer= 0;
           }
-#line 40821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40833 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2796:
-#line 15821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->definer= (yyvsp[0].lex_user);
             Lex->ssl_type= SSL_TYPE_NOT_SPECIFIED;
             Lex->ssl_cipher= Lex->x509_subject= Lex->x509_issuer= 0;
             bzero(&(Lex->mqh), sizeof(Lex->mqh));
           }
-#line 40832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2797:
-#line 15837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED; }
-#line 40838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2798:
-#line 15839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; }
-#line 40844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2799:
-#line 15841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_algorithm= VIEW_ALGORITHM_TMPTABLE; }
-#line 40850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2800:
-#line 15846 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_suid= VIEW_SUID_DEFAULT; }
-#line 40856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2801:
-#line 15848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_suid= VIEW_SUID_DEFINER; }
-#line 40862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2802:
-#line 15850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_suid= VIEW_SUID_INVOKER; }
-#line 40868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40880 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2803:
-#line 15855 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15844 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             if (lex->add_create_options_with_check((yyvsp[-1].object_ddl_options)))
@@ -40882,37 +40894,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB;
           }
-#line 40886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2805:
-#line 15873 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 40892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2807:
-#line 15879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15868 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->view_list.push_back((LEX_STRING*)
                                      thd->memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)),
                                      thd->mem_root);
           }
-#line 40902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2808:
-#line 15885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15874 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->view_list.push_back((LEX_STRING*)
                                      thd->memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)),
                                      thd->mem_root);
           }
-#line 40912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2809:
-#line 15893 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->parsing_options.allows_variable= FALSE;
@@ -40921,11 +40933,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->parsing_options.allows_derived= FALSE;
             lex->create_view_select.str= (char *) YYLIP->get_cpp_ptr();
           }
-#line 40925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2810:
-#line 15902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str;
@@ -40938,60 +40950,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->parsing_options.allows_select_procedure= TRUE;
             lex->parsing_options.allows_derived= TRUE;
           }
-#line 40942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2813:
-#line 15923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15912 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_check= VIEW_CHECK_NONE; }
-#line 40948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2814:
-#line 15925 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_check= VIEW_CHECK_CASCADED; }
-#line 40954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2815:
-#line 15927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_check= VIEW_CHECK_CASCADED; }
-#line 40960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2816:
-#line 15929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15918 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_check= VIEW_CHECK_LOCAL; }
-#line 40966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2817:
-#line 15942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->add_create_options_with_check((yyvsp[0].object_ddl_options)))
               MYSQL_YYABORT;
           }
-#line 40975 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40987 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2818:
-#line 15951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $10 */
             Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start();
           }
-#line 40983 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 40995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2819:
-#line 15957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $14 */
             Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start();
           }
-#line 40991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2820:
-#line 15962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $17 */
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -41009,11 +41021,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
             lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
           }
-#line 41013 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2821:
-#line 15980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 15969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $19 */
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -41037,23 +41049,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                                                    MDL_SHARED_NO_WRITE))
               MYSQL_YYABORT;
           }
-#line 41041 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41053 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2822:
-#line 16012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { thd->lex->udf.type= UDFTYPE_AGGREGATE; }
-#line 41047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2823:
-#line 16013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { thd->lex->udf.type= UDFTYPE_FUNCTION;  }
-#line 41053 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41065 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2824:
-#line 16019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             if (lex->add_create_options_with_check((yyvsp[-5].object_ddl_options)))
@@ -41065,11 +41077,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->udf.returns= (Item_result) (yyvsp[-2].num);
             lex->udf.dl= (yyvsp[0].lex_str).str;
           }
-#line 41069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2825:
-#line 16037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $5 */
             LEX *lex= Lex;
             Lex_input_stream *lip= YYLIP;
@@ -41089,50 +41101,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             tmp_param_begin++;
             lex->sphead->m_param_begin= tmp_param_begin;
           }
-#line 41093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2826:
-#line 16058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $8 */
             Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
           }
-#line 41101 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2827:
-#line 16062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $10 */
             LEX *lex= Lex;
             lex->init_last_field(&lex->sphead->m_return_field_def, NULL,
                                  thd->variables.collation_database);
           }
-#line 41111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41123 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2828:
-#line 16068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $12 */
             if (Lex->sphead->fill_field_definition(thd, Lex, (yyvsp[0].field_type),
                                                    Lex->last_field))
               MYSQL_YYABORT;
           }
-#line 41121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2829:
-#line 16074 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $14 */
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
 
             lex->sphead->set_body_start(thd, lip->get_cpp_tok_start());
           }
-#line 41132 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2830:
-#line 16081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             sp_head *sp= lex->sphead;
@@ -41181,11 +41193,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             }
             sp->restore_thd_mem_root(thd);
           }
-#line 41185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41197 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2831:
-#line 16133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->add_create_options_with_check((yyvsp[-1].object_ddl_options)))
               MYSQL_YYABORT;
@@ -41197,11 +41209,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
               MYSQL_YYABORT;
             Lex->spname= (yyvsp[0].spname);
           }
-#line 41201 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2832:
-#line 16145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             const char* tmp_param_begin;
 
@@ -41209,27 +41221,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             tmp_param_begin++;
             Lex->sphead->m_param_begin= tmp_param_begin;
           }
-#line 41213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2833:
-#line 16154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
           }
-#line 41221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41233 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2834:
-#line 16158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start());
           }
-#line 41229 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41241 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2835:
-#line 16162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -41238,209 +41250,209 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
             lex->sql_command= SQLCOM_CREATE_PROCEDURE;
             sp->restore_thd_mem_root(thd);
           }
-#line 41242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2836:
-#line 16176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_START;
           }
-#line 41250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2837:
-#line 16180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_END;
           }
-#line 41258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2838:
-#line 16184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_PREPARE;
           }
-#line 41266 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2839:
-#line 16188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_COMMIT;
           }
-#line 41274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2840:
-#line 16192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_ROLLBACK;
           }
-#line 41282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2841:
-#line 16196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_RECOVER;
           }
-#line 41290 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41302 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2842:
-#line 16203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE);
             if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
               MYSQL_YYABORT;
             Lex->xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0);
           }
-#line 41301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2843:
-#line 16210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE);
             if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
               MYSQL_YYABORT;
             Lex->xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length());
           }
-#line 41312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2844:
-#line 16217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE && (yyvsp[-2].string)->length() <= MAXBQUALSIZE);
             if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
               MYSQL_YYABORT;
             Lex->xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length());
           }
-#line 41323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2845:
-#line 16226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 41329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2846:
-#line 16227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 41335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2847:
-#line 16231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_NONE;        }
-#line 41341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2848:
-#line 16232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_JOIN;        }
-#line 41347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2849:
-#line 16233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_RESUME;      }
-#line 41353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2850:
-#line 16237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_NONE;        }
-#line 41359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2851:
-#line 16238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_ONE_PHASE;   }
-#line 41365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2852:
-#line 16243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_NONE;        }
-#line 41371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2853:
-#line 16245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_SUSPEND;     }
-#line 41377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2855:
-#line 16250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
-#line 41383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2856:
-#line 16251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_FOR_MIGRATE; }
-#line 41389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2857:
-#line 16256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_INSTALL_PLUGIN;
             lex->comment= (yyvsp[-2].lex_str);
             lex->ident= (yyvsp[0].lex_str);
           }
-#line 41400 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41412 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2858:
-#line 16263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_INSTALL_PLUGIN;
             lex->comment= null_lex_str;
             lex->ident= (yyvsp[0].lex_str);
           }
-#line 41411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2859:
-#line 16273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
             lex->comment= (yyvsp[0].lex_str);
           }
-#line 41421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41433 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2860:
-#line 16279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
             lex->comment= null_lex_str;
             lex->ident= (yyvsp[0].lex_str);
           }
-#line 41432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2861:
-#line 16290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+#line 16279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 	  YYERROR;
 	}
-#line 41440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
 
-#line 41444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
+#line 41456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
diff --git a/sql/sql_yacc.h b/sql/sql_yacc.h
index 6d00ac525..7a7397f0a 100644
--- a/sql/sql_yacc.h
+++ b/sql/sql_yacc.h
@@ -686,7 +686,9 @@ extern int MYSQLdebug;
     YEAR_MONTH_SYM = 896,
     YEAR_SYM = 897,
     ZEROFILL = 898,
-    IMPOSSIBLE_ACTION = 899
+    IMPOSSIBLE_ACTION = 899,
+    CONDITIONLESS_JOIN = 900,
+    ON_SYM = 901
   };
 #endif
 /* Tokens.  */
@@ -1332,6 +1334,8 @@ extern int MYSQLdebug;
 #define YEAR_SYM 897
 #define ZEROFILL 898
 #define IMPOSSIBLE_ACTION 899
+#define CONDITIONLESS_JOIN 900
+#define ON_SYM 901
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -1411,7 +1415,7 @@ union YYSTYPE
   enum enum_mysql_timestamp_type date_time_type;
   DDL_options_st object_ddl_options;
 
-#line 1415 "/home/buildbot/git/mkdist/sql/sql_yacc.h" /* yacc.c:1909  */
+#line 1419 "/home/buildbot/git/mkdist/sql/sql_yacc.h" /* yacc.c:1909  */
 };
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index ca30bc202..71e0a18b1 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* sql_yacc.yy */
 
@@ -1029,7 +1029,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
   Currently there are 160 shift/reduce conflicts.
   We should not introduce new conflicts any more.
 */
-%expect 162
+%expect 161
 
 /*
    Comments for TOKENS.
@@ -1692,9 +1692,9 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
 
 %token IMPOSSIBLE_ACTION		/* To avoid warning for yyerrlab1 */
 
-%left   JOIN_SYM INNER_SYM STRAIGHT_JOIN CROSS LEFT RIGHT
 /* A dummy token to force the priority of table_ref production in a join. */
-%left   TABLE_REF_PRIORITY
+%left   CONDITIONLESS_JOIN
+%left   JOIN_SYM INNER_SYM STRAIGHT_JOIN CROSS LEFT RIGHT ON_SYM USING
 %left   SET_VAR
 %left   OR_OR_SYM OR_SYM OR2_SYM
 %left   XOR
@@ -2454,6 +2454,8 @@ create:
           create_or_replace opt_temporary TABLE_SYM opt_if_not_exists table_ident
           {
             LEX *lex= thd->lex;
+            if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_create_table()))
+              MYSQL_YYABORT;
             lex->create_info.init();
             if (lex->set_command_with_check(SQLCOM_CREATE_TABLE, $2, $1 | $4))
                MYSQL_YYABORT;
@@ -2475,16 +2477,6 @@ create:
           {
             LEX *lex= thd->lex;
             lex->current_select= &lex->select_lex; 
-            if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
-                !lex->create_info.db_type)
-            {
-              lex->create_info.use_default_db_type(thd);
-              push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
-                                  ER_WARN_USING_OTHER_HANDLER,
-                                  ER_THD(thd, ER_WARN_USING_OTHER_HANDLER),
-                                  hton_name(lex->create_info.db_type)->str,
-                                  $5->table.str);
-            }
             create_table_set_open_action_and_adjust_tables(lex);
           }
         | create_or_replace opt_unique INDEX_SYM opt_if_not_exists ident
@@ -5515,10 +5507,20 @@ create_table_options:
         ;
 
 create_table_option:
-          ENGINE_SYM opt_equal storage_engines
+          ENGINE_SYM opt_equal ident_or_text
           {
-            Lex->create_info.db_type= $3;
-            Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
+            LEX *lex= Lex;
+            if (!lex->m_sql_cmd)
+            {
+              DBUG_ASSERT(lex->sql_command == SQLCOM_ALTER_TABLE);
+              if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table()))
+                MYSQL_YYABORT;
+            }
+            Storage_engine_name *opt=
+              lex->m_sql_cmd->option_storage_engine_name();
+            DBUG_ASSERT(opt); // Expect a proper Sql_cmd
+            *opt= Storage_engine_name($3);
+            lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
           }
         | MAX_ROWS opt_equal ulonglong_num
           {
@@ -5783,21 +5785,10 @@ default_collation:
 storage_engines:
           ident_or_text
           {
-            plugin_ref plugin= ha_resolve_by_name(thd, &$1,
-                                            thd->lex->create_info.tmp_table());
-
-            if (plugin)
-              $$= plugin_hton(plugin);
-            else
-            {
-              if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
-                my_yyabort_error((ER_UNKNOWN_STORAGE_ENGINE, MYF(0), $1.str));
-              $$= 0;
-              push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
-                                  ER_UNKNOWN_STORAGE_ENGINE,
-                                  ER_THD(thd, ER_UNKNOWN_STORAGE_ENGINE),
-                                  $1.str);
-            }
+            if (Storage_engine_name($1).
+                 resolve_storage_engine_with_error(thd, &$$,
+                                            thd->lex->create_info.tmp_table()))
+              MYSQL_YYABORT;
           }
         ;
 
@@ -7533,11 +7524,6 @@ alter_list_item:
           {
             LEX *lex=Lex;
             lex->alter_info.flags|= Alter_info::ALTER_OPTIONS;
-            if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
-                !lex->create_info.db_type)
-            {
-              lex->create_info.used_fields&= ~HA_CREATE_USED_ENGINE;
-            }
           }
         | FORCE_SYM
           {
@@ -10421,9 +10407,9 @@ join_table_list:
   and are ignored.
 */
 esc_table_ref:
-        table_ref { $$=$1; }
-      | '{' ident table_ref '}' { $$=$3; }
-      ;
+          table_ref { $$=$1; }
+        | '{' ident table_ref '}' { $$=$3; }
+        ;
 
 /* Equivalent to  in the SQL:2003 standard. */
 /* Warning - may return NULL in case of incomplete SELECT */
@@ -10436,11 +10422,9 @@ derived_table_list:
         ;
 
 /*
-  Notice that JOIN is a left-associative operation, and it must be parsed
-  as such, that is, the parser must process first the left join operand
-  then the right one. Such order of processing ensures that the parser
-  produces correct join trees which is essential for semantic analysis
-  and subsequent optimization phases.
+  Notice that JOIN can be a left-associative operator in one context and
+  a right-associative operator in another context (see the comment for
+  st_select_lex::add_cross_joined_table).
 */
 join_table:
           /* INNER JOIN variants */
@@ -10449,8 +10433,13 @@ join_table:
             so that [INNER | CROSS] JOIN is properly nested as other
             left-associative joins.
           */
-          table_ref normal_join table_ref %prec TABLE_REF_PRIORITY
-          { MYSQL_YYABORT_UNLESS($1 && ($$=$3)); $3->straight=$2; }
+          table_ref normal_join table_ref %prec CONDITIONLESS_JOIN
+          {
+            MYSQL_YYABORT_UNLESS($1 && ($$=$3));
+
+            if (unlikely(Select->add_cross_joined_table($1, $3, $2)))
+              MYSQL_YYABORT;
+          }
         | table_ref normal_join table_ref
           ON
           {
@@ -10464,7 +10453,7 @@ join_table:
           {
 	    $3->straight=$2;
             add_join_on(thd, $3, $6);
-            Lex->pop_context();
+            $3->on_context= Lex->pop_context();
             Select->parsing_place= NO_MATTER;
           }
         | table_ref normal_join table_ref
@@ -10498,7 +10487,7 @@ join_table:
           expr
           {
             add_join_on(thd, $5, $8);
-            Lex->pop_context();
+            $5->on_context= Lex->pop_context();
             $5->outer_join|=JOIN_TYPE_LEFT;
             $$=$5;
             Select->parsing_place= NO_MATTER;
@@ -10537,7 +10526,7 @@ join_table:
             if (!($$= lex->current_select->convert_right_join()))
               MYSQL_YYABORT;
             add_join_on(thd, $$, $8);
-            Lex->pop_context();
+            $1->on_context= Lex->pop_context();
             Select->parsing_place= NO_MATTER;
           }
         | table_ref RIGHT opt_outer JOIN_SYM table_factor
diff --git a/sql/strfunc.cc b/sql/strfunc.cc
index b8100e05c..68cb2e2d2 100644
--- a/sql/strfunc.cc
+++ b/sql/strfunc.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Some useful string utility functions used by the MySQL server */
 
diff --git a/sql/strfunc.h b/sql/strfunc.h
index 7b031710c..989eb4aa2 100644
--- a/sql/strfunc.h
+++ b/sql/strfunc.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef STRFUNC_INCLUDED
 #define STRFUNC_INCLUDED
diff --git a/sql/structs.h b/sql/structs.h
index 2ab102d82..57d895c30 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
index 223015e81..9f87c846f 100644
--- a/sql/sys_vars.cc
+++ b/sql/sys_vars.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file
diff --git a/sql/sys_vars.ic b/sql/sys_vars.ic
index cbc10c853..ae4568866 100644
--- a/sql/sys_vars.ic
+++ b/sql/sys_vars.ic
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file
diff --git a/sql/sys_vars_shared.h b/sql/sys_vars_shared.h
index ff050f630..bff59f62c 100644
--- a/sql/sys_vars_shared.h
+++ b/sql/sys_vars_shared.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file
diff --git a/sql/table.cc b/sql/table.cc
index 8373f6735..94cd174ff 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 /* Some general useful functions */
@@ -540,14 +540,14 @@ inline bool is_system_table_name(const char *name, uint length)
   
   SYNOPSIS
   open_table_def()
-  thd		Thread handler
+  thd		  Thread handler
   share		Fill this with table definition
-  db_flags	Bit mask of the following flags: OPEN_VIEW
+  flags	  Bit mask of the following flags: OPEN_VIEW
 
   NOTES
     This function is called when the table definition is not cached in
     table definition cache
-    The data is returned in 'share', which is alloced by
+    The data is returned in 'share', which is allocated by
     alloc_table_share().. The code assumes that share is initialized.
 */
 
@@ -1104,8 +1104,9 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write,
   }
   if (!share->table_charset)
   {
+    const CHARSET_INFO *cs= thd->variables.collation_database;
     /* unknown charset in frm_image[38] or pre-3.23 frm */
-    if (use_mb(default_charset_info))
+    if (use_mb(cs))
     {
       /* Warn that we may be changing the size of character columns */
       sql_print_warning("'%s' had no or invalid character set, "
@@ -1113,7 +1114,7 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write,
                         "so character column sizes may have changed",
                         share->path.str);
     }
-    share->table_charset= default_charset_info;
+    share->table_charset= cs;
   }
 
   share->db_record_offset= 1;
@@ -2177,8 +2178,20 @@ static bool sql_unusable_for_discovery(THD *thd, handlerton *engine,
   if (create_info->data_file_name || create_info->index_file_name)
     return 1;
   // ... engine
-  if (create_info->db_type && create_info->db_type != engine)
-    return 1;
+  DBUG_ASSERT(lex->m_sql_cmd);
+  if (lex->create_info.used_fields & HA_CREATE_USED_ENGINE)
+  {
+    /*
+      TODO: we could just compare engine names here, without resolving.
+      But this optimization is too late for 10.1.
+    */
+    Storage_engine_name *opt= lex->m_sql_cmd->option_storage_engine_name();
+    DBUG_ASSERT(opt); // lex->m_sql_cmd must be an Sql_cmd_create_table instance
+    if (opt->resolve_storage_engine_with_error(thd, &create_info->db_type,
+                                               false) ||
+        (create_info->db_type && create_info->db_type != engine))
+      return 1;
+  }
 
   return 0;
 }
@@ -3050,7 +3063,7 @@ enum open_frm_error open_table_from_share(THD *thd, TABLE_SHARE *share,
     free_share		Is 1 if we also want to free table_share
 */
 
-int closefrm(register TABLE *table, bool free_share)
+int closefrm(TABLE *table, bool free_share)
 {
   int error=0;
   DBUG_ENTER("closefrm");
@@ -3098,7 +3111,7 @@ int closefrm(register TABLE *table, bool free_share)
 
 /* Deallocate temporary blob storage */
 
-void free_blobs(register TABLE *table)
+void free_blobs(TABLE *table)
 {
   uint *ptr, *end;
   for (ptr= table->s->blob_field, end=ptr + table->s->blob_fields ;
diff --git a/sql/table.h b/sql/table.h
index e7d3c9571..98ec9f005 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "my_global.h"                          /* NO_EMBEDDED_ACCESS_CHECKS */
 #include "sql_plist.h"
@@ -50,6 +50,7 @@ class ACL_internal_table_access;
 class Field;
 class Table_statistics;
 class TDC_element;
+struct Name_resolution_context;
 
 /*
   Used to identify NESTED_JOIN structures within a join (applicable only to
@@ -1828,6 +1829,7 @@ struct TABLE_LIST
   char		*db, *alias, *table_name, *schema_table_name;
   char          *option;                /* Used by cache index  */
   Item		*on_expr;		/* Used with outer join */
+  Name_resolution_context *on_context;  /* For ON expressions */
 
   Item          *sj_on_expr;
   /*
@@ -2555,9 +2557,31 @@ class Field_iterator_table_ref: public Field_iterator
 };
 
 
+#define JOIN_OP_NEST       1
+#define REBALANCED_NEST    2
+
 typedef struct st_nested_join
 {
   List  join_list;       /* list of elements in the nested join */
+  /*
+    Currently the valid values for nest type are:
+    JOIN_OP_NEST - for nest created for JOIN operation used as an operand in
+    a join expression, contains 2 elements;
+    JOIN_OP_NEST | REBALANCED_NEST -  nest created after tree re-balancing
+    in st_select_lex::add_cross_joined_table(), contains 1 element;
+    0 - for all other nests.
+    Examples:
+    1.  SELECT * FROM t1 JOIN t2 LEFT JOIN t3 ON t2.a=t3.a;
+    Here the nest created for LEFT JOIN at first has nest_type==JOIN_OP_NEST.
+    After re-balancing in st_select_lex::add_cross_joined_table() this nest
+    has nest_type==JOIN_OP_NEST | REBALANCED_NEST. The nest for JOIN created
+    in st_select_lex::add_cross_joined_table() has nest_type== JOIN_OP_NEST.
+    2.  SELECT * FROM t1 JOIN (t2 LEFT JOIN t3 ON t2.a=t3.a)
+    Here the nest created for LEFT JOIN has nest_type==0, because it's not
+    an operand in a join expression. The nest created for JOIN has nest_type
+    set to JOIN_OP_NEST.
+  */
+  uint nest_type;
   /* 
     Bitmap of tables within this nested join (including those embedded within
     its children), including tables removed by table elimination.
diff --git a/sql/table_cache.cc b/sql/table_cache.cc
index b3cf6cd28..acd468389 100644
--- a/sql/table_cache.cc
+++ b/sql/table_cache.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file
diff --git a/sql/table_cache.h b/sql/table_cache.h
index 2c5b0fc45..1d2024494 100644
--- a/sql/table_cache.h
+++ b/sql/table_cache.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef HAVE_PSI_INTERFACE
diff --git a/sql/thr_malloc.cc b/sql/thr_malloc.cc
index b82d29e51..fdb740962 100644
--- a/sql/thr_malloc.cc
+++ b/sql/thr_malloc.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /* Mallocs for used in threads */
diff --git a/sql/thr_malloc.h b/sql/thr_malloc.h
index 0b17c5cda..05e5cd0ce 100644
--- a/sql/thr_malloc.h
+++ b/sql/thr_malloc.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef THR_MALLOC_INCLUDED
 #define THR_MALLOC_INCLUDED
diff --git a/sql/threadpool.h b/sql/threadpool.h
index 719a3878e..17975aa3f 100644
--- a/sql/threadpool.h
+++ b/sql/threadpool.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MAX_THREAD_GROUPS 100000
 
diff --git a/sql/threadpool_common.cc b/sql/threadpool_common.cc
index b99346ee1..b8be70836 100644
--- a/sql/threadpool_common.cc
+++ b/sql/threadpool_common.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
@@ -266,7 +266,8 @@ int threadpool_process_request(THD *thd)
   {
     Vio *vio;
     thd->net.reading_or_writing= 0;
-    mysql_audit_release(thd);
+    if (mysql_audit_release_required(thd))
+      mysql_audit_release(thd);
 
     if ((retval= do_command(thd)) != 0)
       goto end;
diff --git a/sql/threadpool_unix.cc b/sql/threadpool_unix.cc
index f1133b22c..d4ee3afc4 100644
--- a/sql/threadpool_unix.cc
+++ b/sql/threadpool_unix.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/sql/threadpool_win.cc b/sql/threadpool_win.cc
index cb44687f1..afc65bc2c 100644
--- a/sql/threadpool_win.cc
+++ b/sql/threadpool_win.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifdef _WIN32_WINNT
 #undef _WIN32_WINNT
diff --git a/sql/transaction.cc b/sql/transaction.cc
index 1744feea1..224dd07f7 100644
--- a/sql/transaction.cc
+++ b/sql/transaction.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
diff --git a/sql/transaction.h b/sql/transaction.h
index 54b25f1de..73a75c746 100644
--- a/sql/transaction.h
+++ b/sql/transaction.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TRANSACTION_H
 #define TRANSACTION_H
diff --git a/sql/tzfile.h b/sql/tzfile.h
index 4feba612b..aa0308645 100644
--- a/sql/tzfile.h
+++ b/sql/tzfile.h
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* 
    This file is based on public domain code from ftp://elsie.ncih.nist.gov/
diff --git a/sql/tztime.cc b/sql/tztime.cc
index 60a3ceafe..060f5611f 100644
--- a/sql/tztime.cc
+++ b/sql/tztime.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
    Most of the following code and structures were derived from
diff --git a/sql/tztime.h b/sql/tztime.h
index eb7d85c48..dde014ffe 100644
--- a/sql/tztime.h
+++ b/sql/tztime.h
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_INTERFACE
diff --git a/sql/udf_example.c b/sql/udf_example.c
index a48801d1c..7dd3259d3 100644
--- a/sql/udf_example.c
+++ b/sql/udf_example.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
 ** example file of UDF (user definable functions) that are dynamicly loaded
diff --git a/sql/uniques.cc b/sql/uniques.cc
index 1ce186b48..03f25d313 100644
--- a/sql/uniques.cc
+++ b/sql/uniques.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Function to handle quick removal of duplicates
@@ -208,7 +208,7 @@ static double get_merge_many_buffs_cost(uint *buffer,
                                         uint last_n_elems, int elem_size,
                                         uint compare_factor)
 {
-  register int i;
+  int i;
   double total_cost= 0.0;
   uint *buff_elems= buffer; /* #s of elements in each of merged sequences */
 
diff --git a/sql/unireg.cc b/sql/unireg.cc
index e41cca2df..b9abe3da1 100644
--- a/sql/unireg.cc
+++ b/sql/unireg.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 /*
@@ -751,7 +751,6 @@ static bool pack_fields(uchar *buff, List &create_fields,
     recpos= field->offset+1 + (uint) data_offset;
     int3store(buff+5,recpos);
     int2store(buff+8,field->pack_flag);
-    DBUG_ASSERT(field->unireg_check < 256);
     buff[10]= (uchar) field->unireg_check;
     buff[12]= (uchar) field->interval_id;
     buff[13]= (uchar) field->sql_type; 
diff --git a/sql/unireg.h b/sql/unireg.h
index 86d88fcdc..0ddd2c719 100644
--- a/sql/unireg.h
+++ b/sql/unireg.h
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 #include                       /* FRM_VER */
diff --git a/sql/winservice.c b/sql/winservice.c
index efbbb527c..d9605f3a6 100644
--- a/sql/winservice.c
+++ b/sql/winservice.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Get Properties of an existing mysqld Windows service 
diff --git a/sql/winservice.h b/sql/winservice.h
index fe3fe5265..f9ab3eda3 100644
--- a/sql/winservice.h
+++ b/sql/winservice.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Extract properties of a windows service binary path
diff --git a/sql/wsrep_applier.cc b/sql/wsrep_applier.cc
index 723804c76..bfdfe8c4c 100644
--- a/sql/wsrep_applier.cc
+++ b/sql/wsrep_applier.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #include "wsrep_priv.h"
 #include "wsrep_binlog.h" // wsrep_dump_rbr_buf()
diff --git a/sql/wsrep_applier.h b/sql/wsrep_applier.h
index f19d2d46d..3cfcd556a 100644
--- a/sql/wsrep_applier.h
+++ b/sql/wsrep_applier.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef WSREP_APPLIER_H
 #define WSREP_APPLIER_H
diff --git a/sql/wsrep_binlog.cc b/sql/wsrep_binlog.cc
index 39c77133f..5ece9c7bd 100644
--- a/sql/wsrep_binlog.cc
+++ b/sql/wsrep_binlog.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #include "wsrep_binlog.h"
 #include "wsrep_priv.h"
diff --git a/sql/wsrep_binlog.h b/sql/wsrep_binlog.h
index 864813d5c..c2ccacdc1 100644
--- a/sql/wsrep_binlog.h
+++ b/sql/wsrep_binlog.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #ifndef WSREP_BINLOG_H
 #define WSREP_BINLOG_H
diff --git a/sql/wsrep_check_opts.cc b/sql/wsrep_check_opts.cc
index 28bd3a449..bffb17e9d 100644
--- a/sql/wsrep_check_opts.cc
+++ b/sql/wsrep_check_opts.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "mysqld.h"
 #include "sys_vars_shared.h"
diff --git a/sql/wsrep_dummy.cc b/sql/wsrep_dummy.cc
index 795e2d192..43cea8bad 100644
--- a/sql/wsrep_dummy.cc
+++ b/sql/wsrep_dummy.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #include 
 #include 
diff --git a/sql/wsrep_hton.cc b/sql/wsrep_hton.cc
index a935f8c69..8665a8ae6 100644
--- a/sql/wsrep_hton.cc
+++ b/sql/wsrep_hton.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include "sql_base.h"
diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc
index ee8509e3f..0a519be07 100644
--- a/sql/wsrep_mysqld.cc
+++ b/sql/wsrep_mysqld.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include  // SHOW_MY_BOOL
 #include 
diff --git a/sql/wsrep_mysqld.h b/sql/wsrep_mysqld.h
index 2b55fbe42..0f0a65f97 100644
--- a/sql/wsrep_mysqld.h
+++ b/sql/wsrep_mysqld.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 
diff --git a/sql/wsrep_mysqld_c.h b/sql/wsrep_mysqld_c.h
index 235a871c1..603f2c29a 100644
--- a/sql/wsrep_mysqld_c.h
+++ b/sql/wsrep_mysqld_c.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef WSREP_MYSQLD_C_H
 #define WSREP_MYSQLD_C_H
diff --git a/sql/wsrep_notify.cc b/sql/wsrep_notify.cc
index 20cc9111a..1130c84f3 100644
--- a/sql/wsrep_notify.cc
+++ b/sql/wsrep_notify.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include "wsrep_priv.h"
diff --git a/sql/wsrep_priv.h b/sql/wsrep_priv.h
index b00bfda16..e4cec342d 100644
--- a/sql/wsrep_priv.h
+++ b/sql/wsrep_priv.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  */
 
 //! @file declares symbols private to wsrep integration layer
diff --git a/sql/wsrep_sst.cc b/sql/wsrep_sst.cc
index a54b96a4a..033992b7b 100644
--- a/sql/wsrep_sst.cc
+++ b/sql/wsrep_sst.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "wsrep_sst.h"
 
diff --git a/sql/wsrep_sst.h b/sql/wsrep_sst.h
index a35ce46ca..829a567f2 100644
--- a/sql/wsrep_sst.h
+++ b/sql/wsrep_sst.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #include 
 
diff --git a/sql/wsrep_thd.cc b/sql/wsrep_thd.cc
index 551e710cf..fad9e3f70 100644
--- a/sql/wsrep_thd.cc
+++ b/sql/wsrep_thd.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #include "wsrep_thd.h"
 
diff --git a/sql/wsrep_thd.h b/sql/wsrep_thd.h
index 5900668f3..6ce14a4eb 100644
--- a/sql/wsrep_thd.h
+++ b/sql/wsrep_thd.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #include 
 
diff --git a/sql/wsrep_utils.cc b/sql/wsrep_utils.cc
index 8a72d754a..b1453fc31 100644
--- a/sql/wsrep_utils.cc
+++ b/sql/wsrep_utils.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  */
 
 //! @file some utility functions and classes not directly related to replication
diff --git a/sql/wsrep_utils.h b/sql/wsrep_utils.h
index dee7eb115..9c5fa4541 100644
--- a/sql/wsrep_utils.h
+++ b/sql/wsrep_utils.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #ifndef WSREP_UTILS_H
 #define WSREP_UTILS_H
diff --git a/sql/wsrep_var.cc b/sql/wsrep_var.cc
index 395974615..48e373bc5 100644
--- a/sql/wsrep_var.cc
+++ b/sql/wsrep_var.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "wsrep_var.h"
 
diff --git a/sql/wsrep_var.h b/sql/wsrep_var.h
index 53952173c..4e87f0ec6 100644
--- a/sql/wsrep_var.h
+++ b/sql/wsrep_var.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #include 
 
diff --git a/sql/wsrep_xid.cc b/sql/wsrep_xid.cc
index 132956e88..20e59a693 100644
--- a/sql/wsrep_xid.cc
+++ b/sql/wsrep_xid.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  */
 
 //! @file some utility functions and classes not directly related to replication
diff --git a/sql/wsrep_xid.h b/sql/wsrep_xid.h
index c3cad0231..6d4e6b768 100644
--- a/sql/wsrep_xid.h
+++ b/sql/wsrep_xid.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. */
 
 #ifndef WSREP_XID_H
 #define WSREP_XID_H
diff --git a/storage/archive/CMakeLists.txt b/storage/archive/CMakeLists.txt
index 78fb95c0d..5b6818fc9 100644
--- a/storage/archive/CMakeLists.txt
+++ b/storage/archive/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(ARCHIVE_SOURCES  azio.c ha_archive.cc ha_archive.h)
 MYSQL_ADD_PLUGIN(archive ${ARCHIVE_SOURCES} STORAGE_ENGINE LINK_LIBRARIES ${ZLIB_LIBRARY})
diff --git a/storage/archive/archive_reader.c b/storage/archive/archive_reader.c
index e87bc70ad..0e02127ea 100644
--- a/storage/archive/archive_reader.c
+++ b/storage/archive/archive_reader.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "azlib.h"
 #include 
diff --git a/storage/archive/archive_test.c b/storage/archive/archive_test.c
index bb052b840..72f6d05e7 100644
--- a/storage/archive/archive_test.c
+++ b/storage/archive/archive_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "azlib.h"
 #include 
diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc
index e985f75d6..49b5ef970 100644
--- a/storage/archive/ha_archive.cc
+++ b/storage/archive/ha_archive.cc
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
diff --git a/storage/archive/ha_archive.h b/storage/archive/ha_archive.h
index a74374a34..a4911fe9e 100644
--- a/storage/archive/ha_archive.h
+++ b/storage/archive/ha_archive.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface			/* gcc class implementation */
diff --git a/storage/blackhole/CMakeLists.txt b/storage/blackhole/CMakeLists.txt
index bc14fdde0..c58ca1250 100644
--- a/storage/blackhole/CMakeLists.txt
+++ b/storage/blackhole/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(BLACKHOLE_SOURCES  ha_blackhole.cc ha_blackhole.h)
 MYSQL_ADD_PLUGIN(blackhole ${BLACKHOLE_SOURCES} STORAGE_ENGINE)
diff --git a/storage/blackhole/ha_blackhole.cc b/storage/blackhole/ha_blackhole.cc
index 56d8000d6..69182676c 100644
--- a/storage/blackhole/ha_blackhole.cc
+++ b/storage/blackhole/ha_blackhole.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
@@ -25,6 +25,24 @@
 #include "ha_blackhole.h"
 #include "sql_class.h"                          // THD, SYSTEM_THREAD_SLAVE_SQL
 
+/**
+  Checks if the param 'thd' is pointing to slave applier thread and row based
+  replication is in use.
+
+  A row event will have its thd->query() == NULL except in cases where
+  replicate_annotate_row_events is enabled. In the later case the thd->query()
+  will be pointing to the query, received through replicated annotate event
+  from master.
+
+  @param thd   pointer to a THD instance
+
+  @return TRUE if thread is slave applier and row based replication is in use
+*/
+static bool is_row_based_replication(THD *thd)
+{
+  return thd->system_thread == SYSTEM_THREAD_SLAVE_SQL &&
+    (thd->query() == NULL || thd->variables.binlog_annotate_row_events);
+}
 /* Static declarations for handlerton */
 
 static handler *blackhole_create_handler(handlerton *hton,
@@ -109,7 +127,7 @@ int ha_blackhole::update_row(const uchar *old_data, uchar *new_data)
 {
   DBUG_ENTER("ha_blackhole::update_row");
   THD *thd= ha_thd();
-  if (thd->system_thread == SYSTEM_THREAD_SLAVE_SQL && thd->query() == NULL)
+  if (is_row_based_replication(thd))
     DBUG_RETURN(0);
   DBUG_RETURN(HA_ERR_WRONG_COMMAND);
 }
@@ -118,7 +136,7 @@ int ha_blackhole::delete_row(const uchar *buf)
 {
   DBUG_ENTER("ha_blackhole::delete_row");
   THD *thd= ha_thd();
-  if (thd->system_thread == SYSTEM_THREAD_SLAVE_SQL && thd->query() == NULL)
+  if (is_row_based_replication(thd))
     DBUG_RETURN(0);
   DBUG_RETURN(HA_ERR_WRONG_COMMAND);
 }
@@ -135,7 +153,7 @@ int ha_blackhole::rnd_next(uchar *buf)
   int rc;
   DBUG_ENTER("ha_blackhole::rnd_next");
   THD *thd= ha_thd();
-  if (thd->system_thread == SYSTEM_THREAD_SLAVE_SQL && thd->query() == NULL)
+  if (is_row_based_replication(thd))
     rc= 0;
   else
     rc= HA_ERR_END_OF_FILE;
@@ -220,7 +238,7 @@ int ha_blackhole::index_read_map(uchar * buf, const uchar * key,
   int rc;
   DBUG_ENTER("ha_blackhole::index_read");
   THD *thd= ha_thd();
-  if (thd->system_thread == SYSTEM_THREAD_SLAVE_SQL && thd->query() == NULL)
+  if (is_row_based_replication(thd))
     rc= 0;
   else
     rc= HA_ERR_END_OF_FILE;
@@ -235,7 +253,7 @@ int ha_blackhole::index_read_idx_map(uchar * buf, uint idx, const uchar * key,
   int rc;
   DBUG_ENTER("ha_blackhole::index_read_idx");
   THD *thd= ha_thd();
-  if (thd->system_thread == SYSTEM_THREAD_SLAVE_SQL && thd->query() == NULL)
+  if (is_row_based_replication(thd))
     rc= 0;
   else
     rc= HA_ERR_END_OF_FILE;
@@ -249,7 +267,7 @@ int ha_blackhole::index_read_last_map(uchar * buf, const uchar * key,
   int rc;
   DBUG_ENTER("ha_blackhole::index_read_last");
   THD *thd= ha_thd();
-  if (thd->system_thread == SYSTEM_THREAD_SLAVE_SQL && thd->query() == NULL)
+  if (is_row_based_replication(thd))
     rc= 0;
   else
     rc= HA_ERR_END_OF_FILE;
diff --git a/storage/blackhole/ha_blackhole.h b/storage/blackhole/ha_blackhole.h
index b70320848..e34386ddf 100644
--- a/storage/blackhole/ha_blackhole.h
+++ b/storage/blackhole/ha_blackhole.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface			/* gcc class implementation */
diff --git a/storage/cassandra/ha_cassandra.cc b/storage/cassandra/ha_cassandra.cc
index f0ad2e390..cf30aa6b5 100644
--- a/storage/cassandra/ha_cassandra.cc
+++ b/storage/cassandra/ha_cassandra.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
 #pragma implementation        // gcc: Class implementation
diff --git a/storage/cassandra/ha_cassandra.h b/storage/cassandra/ha_cassandra.h
index 5da1bbcaa..40da9db77 100644
--- a/storage/cassandra/ha_cassandra.h
+++ b/storage/cassandra/ha_cassandra.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface			/* gcc class implementation */
 #endif
diff --git a/storage/connect/CMakeLists.txt b/storage/connect/CMakeLists.txt
index e52408862..1d98d3214 100644
--- a/storage/connect/CMakeLists.txt
+++ b/storage/connect/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(CONNECT_PLUGIN_STATIC  "connect")
 SET(CONNECT_PLUGIN_DYNAMIC "connect")
diff --git a/storage/connect/array.cpp b/storage/connect/array.cpp
index cd1785b48..483139bc9 100644
--- a/storage/connect/array.cpp
+++ b/storage/connect/array.cpp
@@ -457,7 +457,7 @@ char *ARRAY::GetStringValue(int n)
 /***********************************************************************/
 bool ARRAY::Find(PVAL valp)
   {
-  register int n;
+  int n;
   PVAL     vp;
 
   if (Type != valp->GetType()) {
@@ -1065,7 +1065,7 @@ MULAR::MULAR(PGLOBAL g, int n) : CSORT(false)
 /***********************************************************************/
 int MULAR::Qcompare(int *i1, int *i2)
   {
-  register int i, n = 0;
+  int i, n = 0;
 
   for (i = 0; i < Narray; i++)
     if ((n = Pars[i]->Qcompare(i1, i2)))
diff --git a/storage/connect/connect.cc b/storage/connect/connect.cc
index 21bca637e..d0a55984c 100644
--- a/storage/connect/connect.cc
+++ b/storage/connect/connect.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /***********************************************************************/
 /*  Author Olivier BERTRAND  bertrandop@gmail.com         2004-2017    */
diff --git a/storage/connect/connect.h b/storage/connect/connect.h
index 2bca8bf54..cf0373ba6 100644
--- a/storage/connect/connect.h
+++ b/storage/connect/connect.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**************** Cnt H Declares Source Code File (.H) *****************/
 /*  Name: CONNECT.H    Version 2.4                                     */
diff --git a/storage/connect/csort.cpp b/storage/connect/csort.cpp
index 670131b8f..1e4ba674e 100644
--- a/storage/connect/csort.cpp
+++ b/storage/connect/csort.cpp
@@ -178,9 +178,9 @@ void CSORT::DebugSort(int ph, int n, int *base, int *mid, int *tmp)
 /***********************************************************************/
 int CSORT::Qsortx(void)
   {
-  register int  c;
-  register int  lo, hi, min;
-  register int  i, j, rc = 0;
+  int  c;
+  int  lo, hi, min;
+  int  i, j, rc = 0;
   // To do: rc should be checked for being used uninitialized
   int          *top;
 #ifdef DEBTRACE
@@ -344,7 +344,7 @@ int CSORT::Qsortx(void)
 /***********************************************************************/
 void CSORT::Qstx(int *base, int *max)
   {
-  register int *i, *j, *jj, *mid, *him, c;
+  int *i, *j, *jj, *mid, *him, c;
   int          *tmp;
   int           lo, hi, rc;
   size_t        zlo, zhi, cnm;
@@ -543,9 +543,9 @@ void CSORT::Qstx(int *base, int *max)
 /***********************************************************************/
 int CSORT::Qsortc(void)
   {
-  register int  c;
-  register int  lo, hi, min;
-  register int  i, j, k, m, rc = 0;
+  int  c;
+  int  lo, hi, min;
+  int  i, j, k, m, rc = 0;
   // To do: rc should be checked for being used uninitialized
   int          *max;
 #ifdef DEBTRACE
@@ -720,7 +720,7 @@ int CSORT::Qsortc(void)
 /***********************************************************************/
 void CSORT::Qstc(int *base, int *max)
   {
-  register int *i, *j, *jj, *lt, *eq, *gt, *mid;
+  int *i, *j, *jj, *lt, *eq, *gt, *mid;
   int           c = 0, lo, hi, rc;
   size_t        zlo, zhi, cnm;
 
@@ -907,9 +907,9 @@ void CSORT::Qstc(int *base, int *max)
 /***********************************************************************/
 void CSORT::Istc(int *base, int *hi, int *max)
   {
-  register int  c = 0;
-  register int *lo;
-  register int *i, *j;
+  int  c = 0;
+  int *lo;
+  int *i, *j;
 
   /*********************************************************************/
   /*  First put smallest element, which must be in the first THRESH,   */
diff --git a/storage/connect/filter.cpp b/storage/connect/filter.cpp
index 469cd90d1..7082b082c 100644
--- a/storage/connect/filter.cpp
+++ b/storage/connect/filter.cpp
@@ -35,9 +35,6 @@
 #include "array.h"
 #include "filter.h"
 #include "xindex.h"
-#if defined(MONGO_SUPPORT) || defined(JDBC_SUPPORT)
-#include "tabext.h"
-#endif   // MONGO_SUPPORT  || JDBC_SUPPORT
 
 /***********************************************************************/
 /*  Utility routines.                                                  */
@@ -1406,86 +1403,6 @@ PFIL FILTER::Copy(PTABS t)
   } // end of Copy
 #endif // 0
 
-#if defined(MONGO_SUPPORT)
-/***********************************************************************/
-/*  Make selector json representation for Mongo tables.                */
-/***********************************************************************/
-bool FILTER::MakeSelector(PGLOBAL g, PSTRG s)
-{
-	s->Append('{');
-
-	if (Opc == OP_AND || Opc == OP_OR) {
-		if (GetArgType(0) != TYPE_FILTER || GetArgType(1) != TYPE_FILTER)
-			return true;
-
-		s->Append("\"$");
-		s->Append(Opc == OP_AND ? "and" : "or");
-		s->Append("\":[");
-
-		if (((PFIL)Arg(0))->MakeSelector(g, s))
-			return true;
-
-		s->Append(',');
-
-		if (((PFIL)Arg(1))->MakeSelector(g, s))
-			return true;
-
-		s->Append(']');
-	} else {
-		if (GetArgType(0) != TYPE_COLBLK)
-			return true;
-
-		s->Append('"');
-		s->Append(((PCOL)Arg(0))->GetJpath(g, false));
-		s->Append("\":{\"$");
-
-		switch (Opc) {
-			case OP_EQ:
-				s->Append("eq");
-				break;
-			case OP_NE:
-				s->Append("ne");
-				break;
-			case OP_GT:
-				s->Append("gt");
-				break;
-			case OP_GE:
-				s->Append("gte");
-				break;
-			case OP_LT:
-				s->Append("lt");
-				break;
-			case OP_LE:
-				s->Append("lte");
-				break;
-			case OP_NULL:
-			case OP_LIKE:
-			case OP_EXIST:
-			default:
-				return true;
-		} // endswitch Opc
-
-		s->Append("\":");
-
-		if (GetArgType(1) == TYPE_COLBLK) {
-			s->Append("\"$");
-			s->Append(((PEXTCOL)Arg(1))->GetJpath(g, false));
-			s->Append('"');
-		} else {
-			char buf[501];
-
-			Arg(1)->Prints(g, buf, 500);
-			s->Append(buf);
-		} // endif Type
-
-		s->Append('}');
-	} // endif Opc
-
-	s->Append('}');
-	return false;
-} // end of MakeSelector
-#endif   // MONGO_SUPPORT
-
 /*********************************************************************/
 /*  Make file output of FILTER contents.                             */
 /*********************************************************************/
diff --git a/storage/connect/ha_connect.cc b/storage/connect/ha_connect.cc
index 8838bb7e6..fc65c578e 100644
--- a/storage/connect/ha_connect.cc
+++ b/storage/connect/ha_connect.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file ha_connect.cc
@@ -1317,7 +1317,7 @@ char *ha_connect::GetRealString(PCSZ s)
 {
   char *sv;
 
-  if (IsPartitioned() && s && *partname) {
+  if (IsPartitioned() && s && partname && *partname) {
     sv= (char*)PlugSubAlloc(xp->g, NULL, 0);
     sprintf(sv, s, partname);
     PlugSubAlloc(xp->g, NULL, strlen(sv) + 1);
@@ -3071,7 +3071,7 @@ PCFIL ha_connect::CheckCond(PGLOBAL g, PCFIL filp, const Item *cond)
                 strncat(s, res->ptr(), res->length());
 
                 if (res->length() < 19)
-                  strcat(s, "1970-01-01 00:00:00" + res->length());
+                  strcat(s, &"1970-01-01 00:00:00"[res->length()]);
 
                 strcat(s, "'}");
                 break;
@@ -3101,7 +3101,7 @@ PCFIL ha_connect::CheckCond(PGLOBAL g, PCFIL filp, const Item *cond)
                     strncat(s, res->ptr(), res->length());
 
                     if (res->length() < 19)
-                      strcat(s, "1970-01-01 00:00:00" + res->length());
+                      strcat(s, &"1970-01-01 00:00:00"[res->length()]);
 
                     strcat(s, "'}");
                     break;
diff --git a/storage/connect/ha_connect.h b/storage/connect/ha_connect.h
index de61f8680..4a10f0f5a 100644
--- a/storage/connect/ha_connect.h
+++ b/storage/connect/ha_connect.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /** @file ha_connect.h
 	Author Olivier Bertrand
diff --git a/storage/connect/inihandl.cpp b/storage/connect/inihandl.cpp
index 8a911cb05..dacab3c48 100644
--- a/storage/connect/inihandl.cpp
+++ b/storage/connect/inihandl.cpp
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  */
 #include "my_global.h"
 
diff --git a/storage/connect/jdbconn.cpp b/storage/connect/jdbconn.cpp
index e54eeb0fc..e0aca3333 100644
--- a/storage/connect/jdbconn.cpp
+++ b/storage/connect/jdbconn.cpp
@@ -178,30 +178,38 @@ int TranslateJDBCType(int stp, char *tn, int prec, int& len, char& v)
 				v = 'Y';
 			}	// endif len
 
-		break;
-	case 92:   // TIME
-		type = TYPE_DATE;
-		len = 8 + ((prec) ? (prec+1) : 0);
-		v = 'T';
-		break;
-	case -5:   // BIGINT
-		type = TYPE_BIGINT;
-		break;
-	case 0:    // NULL
-	case -2:   // BINARY
-	case -4:   // LONGVARBINARY
-	case 70:   // DATALINK
-	case 2000: // JAVA_OBJECT
-	case 2001: // DISTINCT
-	case 2002: // STRUCT
-	case 2003: // ARRAY
-	case 2004: // BLOB
-	case 2005: // CLOB
-	case 2006: // REF
-	case 2009: // SQLXML
-	case 2011: // NCLOB
-	default:
-		type = TYPE_ERROR;
+			break;
+		case 92:   // TIME
+			type = TYPE_DATE;
+			len = 8 + ((prec) ? (prec + 1) : 0);
+			v = 'T';
+			break;
+		case -5:   // BIGINT
+			type = TYPE_BIGINT;
+			break;
+		case 1111: // UNKNOWN or UUID
+			if (!tn || !stricmp(tn, "UUID")) {
+				type = TYPE_STRING;
+				len = 36;
+				break;
+			}	// endif tn
+
+			// Pass through
+		case 0:    // NULL
+		case -2:   // BINARY
+		case -4:   // LONGVARBINARY
+		case 70:   // DATALINK
+		case 2000: // JAVA_OBJECT
+		case 2001: // DISTINCT
+		case 2002: // STRUCT
+		case 2003: // ARRAY
+		case 2004: // BLOB
+		case 2005: // CLOB
+		case 2006: // REF
+		case 2009: // SQLXML
+		case 2011: // NCLOB
+		default:
+			type = TYPE_ERROR;
 		len = 0;
 	} // endswitch type
 
diff --git a/storage/connect/mycat.cc b/storage/connect/mycat.cc
index 131245929..db56fb754 100644
--- a/storage/connect/mycat.cc
+++ b/storage/connect/mycat.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*************** Mycat CC Program Source Code File (.CC) ***************/
 /* PROGRAM NAME: MYCAT                                                 */
@@ -134,7 +134,9 @@ TABTYPE GetTypeID(const char *type)
 #endif
 #if defined(JAVA_SUPPORT)
 								 : (!stricmp(type, "JDBC"))  ? TAB_JDBC
-		             : (!stricmp(type, "MONGO")) ? TAB_MONGO
+#endif
+#if defined(JAVA_SUPPORT) || defined(CMGO_SUPPORT)
+		             : (!stricmp(type, "MONGO") && MongoEnabled()) ? TAB_MONGO
 #endif
 #if defined(JAVA_SUPPORT) || defined(CMGO_SUPPORT)
 		             : (!stricmp(type, "MONGO") && MongoEnabled()) ? TAB_MONGO
diff --git a/storage/connect/mycat.h b/storage/connect/mycat.h
index f0f889722..e5a0b783b 100644
--- a/storage/connect/mycat.h
+++ b/storage/connect/mycat.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**************** MYCAT H Declares Source Code File (.H) ***************/
 /*  Name: MYCAT.H  Version 2.3                                         */
diff --git a/storage/connect/mysql-test/connect/disabled.def b/storage/connect/mysql-test/connect/disabled.def
index 827ed58b8..1de4deb0a 100644
--- a/storage/connect/mysql-test/connect/disabled.def
+++ b/storage/connect/mysql-test/connect/disabled.def
@@ -9,15 +9,15 @@
 #  Do not use any TAB characters for whitespace.
 #
 ##############################################################################
-infoschema-9739  : Crashes with MariaDB 10.0
-jdbc             : Variable settings depend on machine configuration
-jdbc_new         : Variable settings depend on machine configuration
-jdbc_oracle      : Variable settings depend on machine configuration
-jdbc_postgresql  : Variable settings depend on machine configuration
-json_mongo_c     : Need MongoDB running and its C Driver installed
-json_java_2      : Need MongoDB running and its Java Driver installed
-json_java_3      : Need MongoDB running and its Java Driver installed
-mongo_c          : Need MongoDB running and its C Driver installed
-mongo_java_2     : Need MongoDB running and its Java Driver installed
-mongo_java_3     : Need MongoDB running and its Java Driver installed
-tbl_thread       : Bug MDEV-9844,10179,14214 03/01/2018 OB Option THREAD removed
+jdbc            : Variable settings depend on machine configuration
+jdbc_new        : Variable settings depend on machine configuration
+jdbc_oracle     : Variable settings depend on machine configuration
+jdbc_postgresql : Variable settings depend on machine configuration
+json_mongo_c    : Need MongoDB running and its C Driver installed
+json_java_2     : Need MongoDB running and its Java Driver installed
+json_java_3     : Need MongoDB running and its Java Driver installed
+mongo_c         : Need MongoDB running and its C Driver installed
+mongo_java_2    : Need MongoDB running and its Java Driver installed
+mongo_java_3    : Need MongoDB running and its Java Driver installed
+tbl_thread      : Bug MDEV-9844,10179,14214 03/01/2018 OB Option THREAD removed
+#vcol            : Different error code on different versions
diff --git a/storage/connect/mysql-test/connect/r/jdbc.result b/storage/connect/mysql-test/connect/r/jdbc.result
index 1bcd7b736..6bf67ec41 100644
--- a/storage/connect/mysql-test/connect/r/jdbc.result
+++ b/storage/connect/mysql-test/connect/r/jdbc.result
@@ -239,22 +239,34 @@ CREATE TABLE t2 (command varchar(128) not null,number int(5) not null flag=1,mes
 SELECT * FROM t2 WHERE command='drop table tx1';
 command	number	message
 drop table tx1	0	Execute: java.sql.SQLSyntaxErrorException: (conn:23) Unknown table 'connect.tx1'
+Warnings:
+Warning	1105	Execute: java.sql.SQLSyntaxErrorException: (conn:23) Unknown table 'connect.tx1'
 SELECT * FROM t2 WHERE command = 'create table tx1 (a int not null, b char(32), c double(8,2))';
 command	number	message
 create table tx1 (a int not null, b char(32), c double(8,2))	0	Affected rows
+Warnings:
+Warning	1105	Affected rows
 SELECT * FROM t2 WHERE command in ('insert into tx1 values(1,''The number one'',456.12)',"insert into tx1(a,b) values(2,'The number two'),(3,'The number three')");
 command	number	message
 insert into tx1 values(1,'The number one',456.12)	1	Affected rows
 insert into tx1(a,b) values(2,'The number two'),(3,'The number three')	2	Affected rows
+Warnings:
+Warning	1105	Affected rows
 SELECT * FROM t2 WHERE command='update tx1 set c = 3.1416 where a = 2';
 command	number	message
 update tx1 set c = 3.1416 where a = 2	1	Affected rows
+Warnings:
+Warning	1105	Affected rows
 SELECT * FROM t2 WHERE command='select * from tx1';
 command	number	message
 select * from tx1	3	Result set column number
+Warnings:
+Warning	1105	Result set column number
 SELECT * FROM t2 WHERE command='delete from tx1 where a = 2';
 command	number	message
 delete from tx1 where a = 2	1	Affected rows
+Warnings:
+Warning	1105	Affected rows
 SELECT * FROM connect.tx1;
 a	b	c
 1	The number one	456.12
diff --git a/storage/connect/mysql-test/connect/r/json_java_2.result b/storage/connect/mysql-test/connect/r/json_java_2.result
index ff87d8e2a..4bbac2362 100644
--- a/storage/connect/mysql-test/connect/r/json_java_2.result
+++ b/storage/connect/mysql-test/connect/r/json_java_2.result
@@ -381,7 +381,4 @@ planner	167	41.75
 postcard	23	5.75
 DROP TABLE t1;
 true
-<<<<<<< HEAD
-=======
 set connect_enable_mongo=0;
->>>>>>> connect/10.0
diff --git a/storage/connect/mysql-test/connect/r/tbl_thread.result b/storage/connect/mysql-test/connect/r/tbl_thread.result
index 9633f358c..3526fc43f 100644
--- a/storage/connect/mysql-test/connect/r/tbl_thread.result
+++ b/storage/connect/mysql-test/connect/r/tbl_thread.result
@@ -1,5 +1,10 @@
+connect  master,127.0.0.1,root,,test,$MASTER_MYPORT,;
+connect  slave,127.0.0.1,root,,test,$SLAVE_MYPORT,;
+connection master;
 CREATE DATABASE connect;
+connection slave;
 CREATE DATABASE connect;
+connection default;
 #
 # Checking thread TBL tables
 #
@@ -11,6 +16,7 @@ a	b
 1	test01
 2	test02
 3	test03
+connection master;
 CREATE TABLE rt2 (a int, b char(10));
 INSERT INTO rt2 VALUES (4,'test04'),(5,'test05'),(6,'test06'),(7,'test07');
 SELECT * FROM rt2;
@@ -19,6 +25,7 @@ a	b
 5	test05
 6	test06
 7	test07
+connection slave;
 USE test;
 CREATE TABLE rt3 (a int, b char(10));
 INSERT INTO rt3 VALUES (8,'test08'),(9,'test09'),(10,'test10'),(11,'test11');
@@ -44,6 +51,7 @@ a	b
 17	test17
 18	test18
 19	test19
+connection default;
 CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL
 CONNECTION='mysql://root@127.0.0.1:MASTER_PORT/test/rt2';
 SELECT * FROM t2;
@@ -103,8 +111,11 @@ a	b
 1	test01
 0	test00
 set connect_xtrace=0;
+connection master;
 DROP TABLE rt2;
+connection slave;
 DROP TABLE rt3,rt4,rt5;
+connection default;
 DROP TABLE t1,t2,t3,t4,t5,total;
 #
 # Old thread TBL tables test modified
@@ -146,7 +157,9 @@ set connect_xtrace=0;
 DROP TABLE total;
 DROP TABLE t1;
 DROP TABLE t2;
+connection master;
 DROP TABLE IF EXISTS connect.t1;
 DROP DATABASE IF EXISTS connect;
+connection slave;
 DROP TABLE IF EXISTS connect.t1;
 DROP DATABASE IF EXISTS connect;
diff --git a/storage/connect/odbconn.cpp b/storage/connect/odbconn.cpp
index 6687513fa..d08c6d1b7 100644
--- a/storage/connect/odbconn.cpp
+++ b/storage/connect/odbconn.cpp
@@ -2279,7 +2279,7 @@ int ODBConn::GetCatInfo(CATPARM *cap)
   int      i, irc;
   bool     b;
   PCSZ     fnc = "Unknown";
-  UWORD    n;
+  UWORD    n = 0;
   SWORD    ncol, len, tp;
   SQLULEN  crow = 0;
   PQRYRES  qrp = cap->Qrp;
diff --git a/storage/connect/user_connect.cc b/storage/connect/user_connect.cc
index d366e0222..3bde2fa58 100644
--- a/storage/connect/user_connect.cc
+++ b/storage/connect/user_connect.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file user_connect.cc
diff --git a/storage/connect/user_connect.h b/storage/connect/user_connect.h
index 983d9adc4..22783d7fc 100644
--- a/storage/connect/user_connect.h
+++ b/storage/connect/user_connect.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /** @file user_connect.h
 
diff --git a/storage/connect/valblk.cpp b/storage/connect/valblk.cpp
index 73ca13569..5179fa654 100644
--- a/storage/connect/valblk.cpp
+++ b/storage/connect/valblk.cpp
@@ -511,7 +511,7 @@ void TYPBLK::SetValues(PVBLK pv, int k, int n)
   CheckType(pv)
   TYPE *lp = ((TYPBLK*)pv)->Typp;
 
-  for (register int i = k; i < n; i++)          // TODO
+  for (int i = k; i < n; i++)          // TODO
     Typp[i] = lp[i];
 
   } // end of SetValues
@@ -805,7 +805,7 @@ void CHRBLK::SetValue(const char *sp, uint len, int n)
 
   if (Blanks) {
     // Suppress eventual ending zero and right fill with blanks
-    for (register int i = len; i < Long; i++)
+    for (int i = len; i < Long; i++)
       p[i] = ' ';
 
   } else if ((signed)len < Long)
diff --git a/storage/connect/xindex.cpp b/storage/connect/xindex.cpp
index efefc17b5..db4d6cbb0 100644
--- a/storage/connect/xindex.cpp
+++ b/storage/connect/xindex.cpp
@@ -272,8 +272,8 @@ void XINDEX::Close(void)
 /***********************************************************************/
 int XINDEX::Qcompare(int *i1, int *i2)
   {
-  register int  k;
-  register PXCOL kcp;
+  int  k;
+  PXCOL kcp;
 
   for (kcp = To_KeyCol, k = 0; kcp; kcp = kcp->Next)
     if ((k = kcp->Compare(*i1, *i2)))
@@ -745,7 +745,7 @@ int XINDEX::ColMaxSame(PXCOL kp)
 /***********************************************************************/
 bool XINDEX::Reorder(PGLOBAL g __attribute__((unused)))
   {
-  register int i, j, k, n;
+  int i, j, k, n;
   bool          sorted = true;
   PXCOL         kcp;
 #if 0
@@ -1870,8 +1870,8 @@ int XINDEX::Fetch(PGLOBAL g)
 /***********************************************************************/
 int XINDEX::FastFind(void)
   {
-  register int  curk, sup, inf, i= 0, k, n = 2;
-  register PXCOL kp, kcp;
+  int  curk, sup, inf, i= 0, k, n = 2;
+  PXCOL kp, kcp;
 
 //assert((int)nv == Nval);
 
@@ -2209,8 +2209,8 @@ int XINDXS::Fetch(PGLOBAL g)
 /***********************************************************************/
 int XINDXS::FastFind(void)
   {
-  register int   sup, inf, i= 0, n = 2;
-  register PXCOL kcp = To_KeyCol;
+  int   sup, inf, i= 0, n = 2;
+  PXCOL kcp = To_KeyCol;
 
   if (Nblk && Op == OP_EQ) {
     // Look in block values to find in which block to search
@@ -3235,7 +3235,7 @@ void KXYCOL::FillValue(PVAL valp)
 int KXYCOL::Compare(int i1, int i2)
   {
   // Do the actual comparison between values.
-  register int k = Kblp->CompVal(i1, i2);
+  int k = Kblp->CompVal(i1, i2);
 
   if (trace(4))
     htrc("Compare done result=%d\n", k);
@@ -3250,7 +3250,7 @@ int KXYCOL::CompVal(int i)
   {
   // Do the actual comparison between numerical values.
   if (trace(4)) {
-    register int k = (int)Kblp->CompVal(Valp, (int)i);
+    int k = (int)Kblp->CompVal(Valp, (int)i);
 
     htrc("Compare done result=%d\n", k);
     return k;
diff --git a/storage/csv/CMakeLists.txt b/storage/csv/CMakeLists.txt
index 31e41b6d3..3131ebd4a 100644
--- a/storage/csv/CMakeLists.txt
+++ b/storage/csv/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(CSV_SOURCES  ha_tina.cc ha_tina.h transparent_file.cc transparent_file.h)
 MYSQL_ADD_PLUGIN(csv ${CSV_SOURCES} STORAGE_ENGINE MANDATORY)
diff --git a/storage/csv/ha_tina.cc b/storage/csv/ha_tina.cc
index 6659e529e..4f192af64 100644
--- a/storage/csv/ha_tina.cc
+++ b/storage/csv/ha_tina.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Make sure to look at ha_tina.h for more details.
diff --git a/storage/csv/ha_tina.h b/storage/csv/ha_tina.h
index 127c6053a..7f754594b 100644
--- a/storage/csv/ha_tina.h
+++ b/storage/csv/ha_tina.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/storage/csv/transparent_file.cc b/storage/csv/transparent_file.cc
index 1f1123aef..47d63f2ca 100644
--- a/storage/csv/transparent_file.cc
+++ b/storage/csv/transparent_file.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
 #pragma implementation        // gcc: Class implementation
diff --git a/storage/csv/transparent_file.h b/storage/csv/transparent_file.h
index 2536ad16a..024fc0e3a 100644
--- a/storage/csv/transparent_file.h
+++ b/storage/csv/transparent_file.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/storage/example/CMakeLists.txt b/storage/example/CMakeLists.txt
index f0ff3e15b..5b59d1b11 100644
--- a/storage/example/CMakeLists.txt
+++ b/storage/example/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(EXAMPLE_SOURCES ha_example.cc)
 MYSQL_ADD_PLUGIN(example ${EXAMPLE_SOURCES} STORAGE_ENGINE MODULE_ONLY COMPONENT Test)
diff --git a/storage/example/ha_example.cc b/storage/example/ha_example.cc
index 3a5b269e7..b4e084035 100644
--- a/storage/example/ha_example.cc
+++ b/storage/example/ha_example.cc
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file ha_example.cc
diff --git a/storage/example/ha_example.h b/storage/example/ha_example.h
index 2d3d0c81e..63412c179 100644
--- a/storage/example/ha_example.h
+++ b/storage/example/ha_example.h
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /** @file ha_example.h
 
diff --git a/storage/federated/CMakeLists.txt b/storage/federated/CMakeLists.txt
index 057a5f28b..9d5c49c6a 100644
--- a/storage/federated/CMakeLists.txt
+++ b/storage/federated/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(FEDERATED_SOURCES  ha_federated.cc)
 MYSQL_ADD_PLUGIN(federated ${FEDERATED_SOURCES} STORAGE_ENGINE MODULE_ONLY)
diff --git a/storage/federated/ha_federated.cc b/storage/federated/ha_federated.cc
index a0b2cb1ab..26cc63885 100644
--- a/storage/federated/ha_federated.cc
+++ b/storage/federated/ha_federated.cc
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
 
diff --git a/storage/federated/ha_federated.h b/storage/federated/ha_federated.h
index 78f959634..35b299ae3 100644
--- a/storage/federated/ha_federated.h
+++ b/storage/federated/ha_federated.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Please read ha_exmple.cc before reading this file.
diff --git a/storage/heap/CMakeLists.txt b/storage/heap/CMakeLists.txt
index 3a0c2e727..f3d10e1f1 100644
--- a/storage/heap/CMakeLists.txt
+++ b/storage/heap/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(HEAP_SOURCES  _check.c _rectest.c hp_block.c hp_clear.c hp_close.c hp_create.c
 				ha_heap.cc
diff --git a/storage/heap/_check.c b/storage/heap/_check.c
index fd8652d6a..883e67046 100644
--- a/storage/heap/_check.c
+++ b/storage/heap/_check.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Check that heap-structure is ok */
 
diff --git a/storage/heap/_rectest.c b/storage/heap/_rectest.c
index f2cadad42..f611ad55a 100644
--- a/storage/heap/_rectest.c
+++ b/storage/heap/_rectest.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Test if a record has changed since last read */
 /* In heap this is only used when debugging */
diff --git a/storage/heap/ha_heap.cc b/storage/heap/ha_heap.cc
index 0298104c8..35a0dd108 100644
--- a/storage/heap/ha_heap.cc
+++ b/storage/heap/ha_heap.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
diff --git a/storage/heap/ha_heap.h b/storage/heap/ha_heap.h
index 503d3b896..a23c2c2b7 100644
--- a/storage/heap/ha_heap.h
+++ b/storage/heap/ha_heap.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_INTERFACE
diff --git a/storage/heap/heapdef.h b/storage/heap/heapdef.h
index d5c0ad96b..430fdaa89 100644
--- a/storage/heap/heapdef.h
+++ b/storage/heap/heapdef.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is included in all heap-files */
 
@@ -97,7 +97,7 @@ extern uint hp_rb_key_length(HP_KEYDEF *keydef, const uchar *key);
 extern uint hp_rb_null_key_length(HP_KEYDEF *keydef, const uchar *key);
 extern uint hp_rb_var_key_length(HP_KEYDEF *keydef, const uchar *key);
 extern my_bool hp_if_null_in_key(HP_KEYDEF *keyinfo, const uchar *record);
-extern int hp_close(register HP_INFO *info);
+extern int hp_close(HP_INFO *info);
 extern void hp_clear(HP_SHARE *info);
 extern void hp_clear_keys(HP_SHARE *info);
 extern uint hp_rb_pack_key(HP_KEYDEF *keydef, uchar *key, const uchar *old,
diff --git a/storage/heap/hp_block.c b/storage/heap/hp_block.c
index aa5343a07..480c116c0 100644
--- a/storage/heap/hp_block.c
+++ b/storage/heap/hp_block.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* functions on blocks; Keys and records are saved in blocks */
 
diff --git a/storage/heap/hp_clear.c b/storage/heap/hp_clear.c
index 2b1502e64..cb59048c8 100644
--- a/storage/heap/hp_clear.c
+++ b/storage/heap/hp_clear.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   remove all records from database
diff --git a/storage/heap/hp_close.c b/storage/heap/hp_close.c
index 52663fdaa..092048a7c 100644
--- a/storage/heap/hp_close.c
+++ b/storage/heap/hp_close.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* close a heap-database */
 
diff --git a/storage/heap/hp_create.c b/storage/heap/hp_create.c
index dcfff4e8e..171756071 100644
--- a/storage/heap/hp_create.c
+++ b/storage/heap/hp_create.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "heapdef.h"
 
diff --git a/storage/heap/hp_delete.c b/storage/heap/hp_delete.c
index 3f02e28a3..bc3c82e94 100644
--- a/storage/heap/hp_delete.c
+++ b/storage/heap/hp_delete.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* remove current record in heap-database */
 
diff --git a/storage/heap/hp_extra.c b/storage/heap/hp_extra.c
index 9a19f818d..3c554fe98 100644
--- a/storage/heap/hp_extra.c
+++ b/storage/heap/hp_extra.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Extra functions we want to do with a database */
 /* - Set flags for quicker databasehandler */
diff --git a/storage/heap/hp_hash.c b/storage/heap/hp_hash.c
index aeee87fcd..8b8a20d68 100644
--- a/storage/heap/hp_hash.c
+++ b/storage/heap/hp_hash.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* The hash functions used for saveing keys */
 
diff --git a/storage/heap/hp_info.c b/storage/heap/hp_info.c
index 10047fb2e..41596d864 100644
--- a/storage/heap/hp_info.c
+++ b/storage/heap/hp_info.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Returns info about database status */
 
diff --git a/storage/heap/hp_open.c b/storage/heap/hp_open.c
index 611eda4e7..65186d77e 100644
--- a/storage/heap/hp_open.c
+++ b/storage/heap/hp_open.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* open a heap-database */
 
diff --git a/storage/heap/hp_panic.c b/storage/heap/hp_panic.c
index e1e421a51..6872f04ad 100644
--- a/storage/heap/hp_panic.c
+++ b/storage/heap/hp_panic.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "heapdef.h"
 
diff --git a/storage/heap/hp_rename.c b/storage/heap/hp_rename.c
index 34c8218e3..34e82bbc5 100644
--- a/storage/heap/hp_rename.c
+++ b/storage/heap/hp_rename.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Rename a table
diff --git a/storage/heap/hp_rfirst.c b/storage/heap/hp_rfirst.c
index 685ecdb54..60596a2c6 100644
--- a/storage/heap/hp_rfirst.c
+++ b/storage/heap/hp_rfirst.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "heapdef.h"
 
diff --git a/storage/heap/hp_rkey.c b/storage/heap/hp_rkey.c
index 692e1a01b..2d9fae4c5 100644
--- a/storage/heap/hp_rkey.c
+++ b/storage/heap/hp_rkey.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "heapdef.h"
 
diff --git a/storage/heap/hp_rlast.c b/storage/heap/hp_rlast.c
index ff0d57228..ed9c3499d 100644
--- a/storage/heap/hp_rlast.c
+++ b/storage/heap/hp_rlast.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "heapdef.h"
 
diff --git a/storage/heap/hp_rnext.c b/storage/heap/hp_rnext.c
index 8fd469a31..f227ce4d2 100644
--- a/storage/heap/hp_rnext.c
+++ b/storage/heap/hp_rnext.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "heapdef.h"
 
diff --git a/storage/heap/hp_rprev.c b/storage/heap/hp_rprev.c
index 6e0660718..1d9420ba8 100644
--- a/storage/heap/hp_rprev.c
+++ b/storage/heap/hp_rprev.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "heapdef.h"
 
diff --git a/storage/heap/hp_rrnd.c b/storage/heap/hp_rrnd.c
index 1f2a26cb3..3947946ce 100644
--- a/storage/heap/hp_rrnd.c
+++ b/storage/heap/hp_rrnd.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Read a record from a random position */
 
diff --git a/storage/heap/hp_rsame.c b/storage/heap/hp_rsame.c
index 19767fd75..8bba4cd23 100644
--- a/storage/heap/hp_rsame.c
+++ b/storage/heap/hp_rsame.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* re-read current record */
 
diff --git a/storage/heap/hp_scan.c b/storage/heap/hp_scan.c
index 65726c37e..3315cb05b 100644
--- a/storage/heap/hp_scan.c
+++ b/storage/heap/hp_scan.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Scan through all rows */
 
diff --git a/storage/heap/hp_static.c b/storage/heap/hp_static.c
index c1c94a19f..9191e23b3 100644
--- a/storage/heap/hp_static.c
+++ b/storage/heap/hp_static.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Static variables for heap library. All definied here for easy making of
diff --git a/storage/heap/hp_test1.c b/storage/heap/hp_test1.c
index 9b14610fe..88eaf73f5 100644
--- a/storage/heap/hp_test1.c
+++ b/storage/heap/hp_test1.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Test av heap-database */
 /* Programmet skapar en heap-databas. Till denna skrivs ett antal poster.
diff --git a/storage/heap/hp_test2.c b/storage/heap/hp_test2.c
index 657d5bcd0..27d15077b 100644
--- a/storage/heap/hp_test2.c
+++ b/storage/heap/hp_test2.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Test av isam-databas: stor test */
 
diff --git a/storage/heap/hp_update.c b/storage/heap/hp_update.c
index 8757f8e87..dfcb8b1f1 100644
--- a/storage/heap/hp_update.c
+++ b/storage/heap/hp_update.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Update current record in heap-database */
 
diff --git a/storage/heap/hp_write.c b/storage/heap/hp_write.c
index fc1e82bab..3a2d1cd67 100644
--- a/storage/heap/hp_write.c
+++ b/storage/heap/hp_write.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Write a record to heap-databas */
 
diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt
index c873e77f6..44db4552e 100644
--- a/storage/innobase/CMakeLists.txt
+++ b/storage/innobase/CMakeLists.txt
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 # This is the CMakeLists for InnoDB
 
@@ -497,8 +497,7 @@ SET(INNOBASE_SOURCES
 	ut/ut0rnd.cc
 	ut/ut0ut.cc
 	ut/ut0vec.cc
-	ut/ut0wqueue.cc
-	ut/ut0timer.cc)
+	ut/ut0wqueue.cc)
 
 IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
     enable_language(ASM)
diff --git a/storage/innobase/api/api0api.cc b/storage/innobase/api/api0api.cc
index fd14fdefd..98d45c200 100644
--- a/storage/innobase/api/api0api.cc
+++ b/storage/innobase/api/api0api.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/api/api0misc.cc b/storage/innobase/api/api0misc.cc
index 5daee5de4..b16abf9b8 100644
--- a/storage/innobase/api/api0misc.cc
+++ b/storage/innobase/api/api0misc.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/btr/btr0btr.cc b/storage/innobase/btr/btr0btr.cc
index 841b14e76..02c613cab 100644
--- a/storage/innobase/btr/btr0btr.cc
+++ b/storage/innobase/btr/btr0btr.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc
index 09d84d1ec..7b2fbfa0f 100644
--- a/storage/innobase/btr/btr0cur.cc
+++ b/storage/innobase/btr/btr0cur.cc
@@ -21,7 +21,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/btr/btr0defragment.cc b/storage/innobase/btr/btr0defragment.cc
index 9f17815cd..070f6a9cc 100644
--- a/storage/innobase/btr/btr0defragment.cc
+++ b/storage/innobase/btr/btr0defragment.cc
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
-Copyright (C) 2013, 2014 Facebook, Inc. All Rights Reserved.
-Copyright (C) 2014, 2015, MariaDB Corporation. All Rights Reserved.
+Copyright (C) 2012, 2014 Facebook, Inc. All Rights Reserved.
+Copyright (C) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**************************************************//**
@@ -35,7 +35,6 @@ Modified 30/07/2014 Jan Lindström jan.lindstrom@mariadb.com
 #include "ibuf0ibuf.h"
 #include "lock0lock.h"
 #include "srv0start.h"
-#include "ut0timer.h"
 
 #include 
 
@@ -99,8 +98,7 @@ Initialize defragmentation. */
 void
 btr_defragment_init()
 {
-	srv_defragment_interval = ut_microseconds_to_timer(
-		1000000.0 / srv_defragment_frequency);
+	srv_defragment_interval = 1000000000ULL / srv_defragment_frequency;
 	mutex_create(btr_defragment_mutex_key, &btr_defragment_mutex,
 		     SYNC_ANY_LATCH);
 }
@@ -728,7 +726,7 @@ DECLARE_THREAD(btr_defragment_thread)(void*)
 		}
 
 		pcur = item->pcur;
-		ulonglong now = ut_timer_now();
+		ulonglong now = my_interval_timer();
 		ulonglong elapsed = now - item->last_processed;
 
 		if (elapsed < srv_defragment_interval) {
@@ -738,11 +736,12 @@ DECLARE_THREAD(btr_defragment_thread)(void*)
 			defragmentation of all indices queue up on a single
 			thread, it's likely other indices that follow this one
 			don't need to sleep again. */
-			os_thread_sleep(((ulint)ut_timer_to_microseconds(
-						srv_defragment_interval - elapsed)));
+			os_thread_sleep(static_cast
+					((srv_defragment_interval - elapsed)
+					 / 1000));
 		}
 
-		now = ut_timer_now();
+		now = my_interval_timer();
 		mtr_start(&mtr);
 		btr_pcur_restore_position(BTR_MODIFY_TREE, pcur, &mtr);
 		cursor = btr_pcur_get_btr_cur(pcur);
diff --git a/storage/innobase/btr/btr0pcur.cc b/storage/innobase/btr/btr0pcur.cc
index 5ba9409a7..7ba8b8f74 100644
--- a/storage/innobase/btr/btr0pcur.cc
+++ b/storage/innobase/btr/btr0pcur.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/btr/btr0sea.cc b/storage/innobase/btr/btr0sea.cc
index bd5cd02aa..a60c68fc7 100644
--- a/storage/innobase/btr/btr0sea.cc
+++ b/storage/innobase/btr/btr0sea.cc
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/buf/buf0buddy.cc b/storage/innobase/buf/buf0buddy.cc
index d11a5cf98..bcb935ff2 100644
--- a/storage/innobase/buf/buf0buddy.cc
+++ b/storage/innobase/buf/buf0buddy.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -594,7 +594,7 @@ buf_buddy_relocate(
 
 	if (buf_page_can_relocate(bpage)) {
 		/* Relocate the compressed page. */
-		ullint	usec = ut_time_us(NULL);
+		const ulonglong ns = my_interval_timer();
 
 		ut_a(bpage->zip.data == src);
 
@@ -612,11 +612,8 @@ buf_buddy_relocate(
 			reinterpret_cast(src), i);
 
 		buf_buddy_stat_t*	buddy_stat = &buf_pool->buddy_stat[i];
-
 		++buddy_stat->relocated;
-
-		buddy_stat->relocated_usec += ut_time_us(NULL) - usec;
-
+		buddy_stat->relocated_usec+= (my_interval_timer() - ns) / 1000;
 		return(true);
 	}
 
diff --git a/storage/innobase/buf/buf0buf.cc b/storage/innobase/buf/buf0buf.cc
index 78200198e..4d5b3f29f 100644
--- a/storage/innobase/buf/buf0buf.cc
+++ b/storage/innobase/buf/buf0buf.cc
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -951,26 +951,26 @@ buf_page_is_corrupted(
 	the first page of each file of the system tablespace.
 	Ignore it for the system tablespace. */
 	if (!checksum_field1 && !checksum_field2) {
-		ulint i = 0;
-		do {
-			if (read_buf[i]) {
-				return true;
-			}
-		} while (++i < FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION);
-
+		/* Checksum fields can have valid value as zero.
+		If the page is not empty then do the checksum
+		calculation for the page. */
+		bool all_zeroes = true;
+		for (size_t i = 0; i < srv_page_size; i++) {
 #ifndef UNIV_INNOCHECKSUM
-		if (!space || !space->id) {
-			/* Skip FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION
-			in the system tablespace. */
-			i += 8;
-		}
+			if (i == FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION
+			    && (!space || !space->id)) {
+				i += 8;
+			}
 #endif
-		do {
 			if (read_buf[i]) {
-				return true;
+				all_zeroes = false;
+				break;
 			}
-		} while (++i < srv_page_size);
-		return false;
+		}
+
+		if (all_zeroes) {
+			return false;
+		}
 	}
 
 	switch (curr_algo) {
@@ -1688,7 +1688,7 @@ buf_pool_init_instance(
 
 		buf_pool->zip_hash = hash_create(2 * buf_pool->curr_size);
 
-		buf_pool->last_printout_time = ut_time();
+		buf_pool->last_printout_time = time(NULL);
 	}
 	/* 2. Initialize flushing fields
 	-------------------------------- */
@@ -6160,7 +6160,7 @@ buf_refresh_io_stats(
 /*=================*/
 	buf_pool_t*	buf_pool)	/*!< in: buffer pool instance */
 {
-	buf_pool->last_printout_time = ut_time();
+	buf_pool->last_printout_time = time(NULL);
 	buf_pool->old_stat = buf_pool->stat;
 }
 
diff --git a/storage/innobase/buf/buf0checksum.cc b/storage/innobase/buf/buf0checksum.cc
index 9e5f1dfe4..bc9a96bf6 100644
--- a/storage/innobase/buf/buf0checksum.cc
+++ b/storage/innobase/buf/buf0checksum.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/buf/buf0dblwr.cc b/storage/innobase/buf/buf0dblwr.cc
index 2046d8736..99582685d 100644
--- a/storage/innobase/buf/buf0dblwr.cc
+++ b/storage/innobase/buf/buf0dblwr.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -612,20 +612,13 @@ buf_dblwr_process()
 
 		ulint decomp = fil_page_decompress(buf, page);
 		if (!decomp || (decomp != srv_page_size && zip_size)) {
-			goto bad_doublewrite;
+			continue;
 		}
 
 		if (expect_encrypted && mach_read_from_4(
 			    page + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION)
 		    ? !fil_space_verify_crypt_checksum(page, zip_size)
 		    : buf_page_is_corrupted(true, page, zip_size, space())) {
-			if (!is_all_zero) {
-bad_doublewrite:
-				ib_logf(IB_LOG_LEVEL_WARN,
-					"A doublewrite copy of page "
-					ULINTPF ":" ULINTPF " is corrupted.",
-					space_id, page_no);
-			}
 			/* Theoretically we could have another good
 			copy for this page in the doublewrite
 			buffer. If not, we will report a fatal error
diff --git a/storage/innobase/buf/buf0dump.cc b/storage/innobase/buf/buf0dump.cc
index 74d71fd97..eabc55403 100644
--- a/storage/innobase/buf/buf0dump.cc
+++ b/storage/innobase/buf/buf0dump.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/buf/buf0flu.cc b/storage/innobase/buf/buf0flu.cc
index 66704ac13..2e352c3de 100644
--- a/storage/innobase/buf/buf0flu.cc
+++ b/storage/innobase/buf/buf0flu.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/buf/buf0lru.cc b/storage/innobase/buf/buf0lru.cc
index 224e615f7..29fe81dc9 100644
--- a/storage/innobase/buf/buf0lru.cc
+++ b/storage/innobase/buf/buf0lru.cc
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -2243,8 +2243,8 @@ buf_LRU_old_ratio_update_instance(
 	buf_pool_t*	buf_pool,/*!< in: buffer pool instance */
 	uint		old_pct,/*!< in: Reserve this percentage of
 				the buffer pool for "old" blocks. */
-	ibool		adjust)	/*!< in: TRUE=adjust the LRU list;
-				FALSE=just assign buf_pool->LRU_old_ratio
+	bool		adjust)	/*!< in: true=adjust the LRU list;
+				false=just assign buf_pool->LRU_old_ratio
 				during the initialization of InnoDB */
 {
 	uint	ratio;
@@ -2282,17 +2282,17 @@ buf_LRU_old_ratio_update_instance(
 Updates buf_pool->LRU_old_ratio.
 @return	updated old_pct */
 UNIV_INTERN
-ulint
+uint
 buf_LRU_old_ratio_update(
 /*=====================*/
 	uint	old_pct,/*!< in: Reserve this percentage of
 			the buffer pool for "old" blocks. */
-	ibool	adjust)	/*!< in: TRUE=adjust the LRU list;
-			FALSE=just assign buf_pool->LRU_old_ratio
+	bool	adjust)	/*!< in: true=adjust the LRU list;
+			false=just assign buf_pool->LRU_old_ratio
 			during the initialization of InnoDB */
 {
 	ulint	i;
-	ulint	new_ratio = 0;
+	uint	new_ratio = 0;
 
 	for (i = 0; i < srv_buf_pool_instances; i++) {
 		buf_pool_t*	buf_pool;
diff --git a/storage/innobase/buf/buf0mtflu.cc b/storage/innobase/buf/buf0mtflu.cc
index ac8a8f8f4..0ecc55ed4 100644
--- a/storage/innobase/buf/buf0mtflu.cc
+++ b/storage/innobase/buf/buf0mtflu.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/buf/buf0rea.cc b/storage/innobase/buf/buf0rea.cc
index d2a489759..3b4d21f75 100644
--- a/storage/innobase/buf/buf0rea.cc
+++ b/storage/innobase/buf/buf0rea.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/compile-innodb b/storage/innobase/compile-innodb
index 77d2244f2..47073d3ce 100755
--- a/storage/innobase/compile-innodb
+++ b/storage/innobase/compile-innodb
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License along with
 # this program; if not, write to the Free Software Foundation, Inc., 
-# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 
 # we assume this script is in storage/innobase/
diff --git a/storage/innobase/data/data0data.cc b/storage/innobase/data/data0data.cc
index cda27de17..6c01176bf 100644
--- a/storage/innobase/data/data0data.cc
+++ b/storage/innobase/data/data0data.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/data/data0type.cc b/storage/innobase/data/data0type.cc
index 34ca399f9..715649f47 100644
--- a/storage/innobase/data/data0type.cc
+++ b/storage/innobase/data/data0type.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/dict/dict0boot.cc b/storage/innobase/dict/dict0boot.cc
index 80724372f..bd8e6a5af 100644
--- a/storage/innobase/dict/dict0boot.cc
+++ b/storage/innobase/dict/dict0boot.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/dict/dict0crea.cc b/storage/innobase/dict/dict0crea.cc
index 0f9024b87..5ac528dea 100644
--- a/storage/innobase/dict/dict0crea.cc
+++ b/storage/innobase/dict/dict0crea.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc
index 1e9d9f8d7..c6ccc37d5 100644
--- a/storage/innobase/dict/dict0dict.cc
+++ b/storage/innobase/dict/dict0dict.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/dict/dict0load.cc b/storage/innobase/dict/dict0load.cc
index b2065c7c4..dd9ddc5f2 100644
--- a/storage/innobase/dict/dict0load.cc
+++ b/storage/innobase/dict/dict0load.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/dict/dict0mem.cc b/storage/innobase/dict/dict0mem.cc
index 015518858..c5f845d14 100644
--- a/storage/innobase/dict/dict0mem.cc
+++ b/storage/innobase/dict/dict0mem.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -750,7 +750,7 @@ void
 dict_mem_init(void)
 {
 	/* Initialize a randomly distributed temporary file number */
-	ib_uint32_t now = static_cast(ut_time());
+	ib_uint32_t now = static_cast(time(NULL));
 
 	const byte* buf = reinterpret_cast(&now);
 	ut_ad(ut_crc32 != NULL);
diff --git a/storage/innobase/dict/dict0stats.cc b/storage/innobase/dict/dict0stats.cc
index 063646891..59c661514 100644
--- a/storage/innobase/dict/dict0stats.cc
+++ b/storage/innobase/dict/dict0stats.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -45,7 +45,7 @@ Created Jan 06, 2010 Vasil Dimov
 #include "trx0trx.h" /* trx_create() */
 #include "trx0roll.h" /* trx_rollback_to_savepoint() */
 #include "ut0rnd.h" /* ut_rnd_interval() */
-#include "ut0ut.h" /* ut_format_name(), ut_time() */
+#include "ut0ut.h" /* ut_format_name() */
 
 #include 
 #include 
@@ -1000,7 +1000,7 @@ dict_stats_update_transient(
 	table->stat_sum_of_other_index_sizes = sum_of_index_sizes
 		- index->stat_index_size;
 
-	table->stats_last_recalc = ut_time();
+	table->stats_last_recalc = time(NULL);
 
 	table->stat_modified_counter = 0;
 
@@ -2325,7 +2325,7 @@ dict_stats_update_persistent(
 			+= index->stat_index_size;
 	}
 
-	table->stats_last_recalc = ut_time();
+	table->stats_last_recalc = time(NULL);
 
 	table->stat_modified_counter = 0;
 
@@ -2535,7 +2535,7 @@ dict_stats_save(
 	/* MySQL's timestamp is 4 byte, so we use
 	pars_info_add_int4_literal() which takes a lint arg, so "now" is
 	lint */
-	now = (lint) ut_time();
+	now = (lint) time(NULL);
 
 	pinfo = pars_info_create();
 
@@ -3980,7 +3980,7 @@ dict_stats_save_defrag_summary(
 	dict_index_t*	index)	/*!< in: index */
 {
 	dberr_t	ret;
-	lint	now = (lint) ut_time();
+	lint	now = (lint) time(NULL);
 	if (dict_index_is_univ(index)) {
 		return DB_SUCCESS;
 	}
@@ -4017,7 +4017,7 @@ dict_stats_save_defrag_stats(
 		return DB_SUCCESS;
 	}
 
-	lint	now = (lint) ut_time();
+	lint	now = (lint) time(NULL);
 	mtr_t	mtr;
 	ulint	n_leaf_pages;
 	ulint	n_leaf_reserved;
diff --git a/storage/innobase/dict/dict0stats_bg.cc b/storage/innobase/dict/dict0stats_bg.cc
index 9394ca283..b4923364c 100644
--- a/storage/innobase/dict/dict0stats_bg.cc
+++ b/storage/innobase/dict/dict0stats_bg.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -437,14 +437,14 @@ dict_stats_process_entry_from_recalc_pool()
 
 	mutex_exit(&dict_sys->mutex);
 
-	/* ut_time() could be expensive, the current function
+	/* time() could be expensive, the current function
 	is called once every time a table has been changed more than 10% and
 	on a system with lots of small tables, this could become hot. If we
 	find out that this is a problem, then the check below could eventually
 	be replaced with something else, though a time interval is the natural
 	approach. */
 
-	if (ut_difftime(ut_time(), table->stats_last_recalc)
+	if (difftime(time(NULL), table->stats_last_recalc)
 	    < MIN_RECALC_INTERVAL) {
 
 		/* Stats were (re)calculated not long ago. To avoid
diff --git a/storage/innobase/dyn/dyn0dyn.cc b/storage/innobase/dyn/dyn0dyn.cc
index dd1f6863c..8302de53e 100644
--- a/storage/innobase/dyn/dyn0dyn.cc
+++ b/storage/innobase/dyn/dyn0dyn.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/eval/eval0eval.cc b/storage/innobase/eval/eval0eval.cc
index ccc547811..d62febd46 100644
--- a/storage/innobase/eval/eval0eval.cc
+++ b/storage/innobase/eval/eval0eval.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1997, 2011, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -858,7 +859,7 @@ eval_predefined(
 			       dfield_get_data(que_node_get_val(arg1)));
 
 	} else if (func == PARS_SYSDATE_TOKEN) {
-		int_val = (lint) ut_time();
+		int_val = (lint) time(NULL);
 	} else {
 		eval_predefined_2(func_node);
 
diff --git a/storage/innobase/eval/eval0proc.cc b/storage/innobase/eval/eval0proc.cc
index e6f3a32cd..7adfe1e63 100644
--- a/storage/innobase/eval/eval0proc.cc
+++ b/storage/innobase/eval/eval0proc.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/fil/fil0crypt.cc b/storage/innobase/fil/fil0crypt.cc
index 296096e44..43a3bd8ff 100644
--- a/storage/innobase/fil/fil0crypt.cc
+++ b/storage/innobase/fil/fil0crypt.cc
@@ -1,6 +1,6 @@
 /*****************************************************************************
 Copyright (C) 2013, 2015, Google Inc. All Rights Reserved.
-Copyright (c) 2014, 2018, MariaDB Corporation. All Rights Reserved.
+Copyright (c) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**************************************************//**
@@ -1698,19 +1698,18 @@ fil_crypt_get_page_throttle_func(
 
 	state->crypt_stat.pages_read_from_disk++;
 
-	ullint start = ut_time_us(NULL);
+	const ulonglong start = my_interval_timer();
 	block = buf_page_get_gen(space->id, zip_size, offset,
 				 RW_X_LATCH,
 				 NULL, BUF_GET_POSSIBLY_FREED,
 				 file, line, mtr);
-	ullint end = ut_time_us(NULL);
-
-	if (end < start) {
-		end = start; // safety...
-	}
+	const ulonglong end = my_interval_timer();
 
 	state->cnt_waited++;
-	state->sum_waited_us += (end - start);
+
+	if (end > start) {
+		state->sum_waited_us += (end - start) / 1000;
+	}
 
 	/* average page load */
 	ulint add_sleeptime_ms = 0;
@@ -2032,7 +2031,7 @@ fil_crypt_flush_space(
 		bool success = false;
 		ulint n_pages = 0;
 		ulint sum_pages = 0;
-		ullint start = ut_time_us(NULL);
+		const ulonglong start = my_interval_timer();
 
 		do {
 			success = buf_flush_list(ULINT_MAX, end_lsn, &n_pages);
@@ -2040,11 +2039,11 @@ fil_crypt_flush_space(
 			sum_pages += n_pages;
 		} while (!success && !space->is_stopping());
 
-		ullint end = ut_time_us(NULL);
+		const ulonglong end = my_interval_timer();
 
 		if (sum_pages && end > start) {
 			state->cnt_waited += sum_pages;
-			state->sum_waited_us += (end - start);
+			state->sum_waited_us += (end - start) / 1000;
 
 			/* statistics */
 			state->crypt_stat.pages_flushed += sum_pages;
diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc
index 31178b67a..7234a6c41 100644
--- a/storage/innobase/fil/fil0fil.cc
+++ b/storage/innobase/fil/fil0fil.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -2773,6 +2773,29 @@ fil_close_tablespace(
 	return(err);
 }
 
+/** Determine whether a table can be accessed in operations that are
+not (necessarily) protected by meta-data locks.
+(Rollback would generally be protected, but rollback of
+FOREIGN KEY CASCADE/SET NULL is not protected by meta-data locks
+but only by InnoDB table locks, which may be broken by
+lock_remove_all_on_table().)
+@param[in]	table	persistent table
+checked @return whether the table is accessible */
+UNIV_INTERN bool fil_table_accessible(const dict_table_t* table)
+{
+	if (UNIV_UNLIKELY(!table->is_readable() || table->corrupted)) {
+		return(false);
+	}
+
+	if (fil_space_t* space = fil_space_acquire(table->space)) {
+		bool accessible = !space->is_stopping();
+		fil_space_release(space);
+		return(accessible);
+	} else {
+		return(false);
+	}
+}
+
 /** Delete a tablespace and associated .ibd file.
 @param[in]	id		tablespace identifier
 @param[in]	drop_ahi	whether to drop the adaptive hash index
@@ -3193,8 +3216,13 @@ fil_rename_tablespace(
 		space, node, new_name, new_path);
 
 	if (success) {
+		DBUG_EXECUTE_IF("fil_rename_tablespace_failure_2",
+				goto skip_second_rename; );
 		success = os_file_rename(
 			innodb_file_data_key, old_path, new_path);
+		DBUG_EXECUTE_IF("fil_rename_tablespace_failure_2",
+skip_second_rename:
+				success = FALSE; );
 
 		if (!success) {
 			/* We have to revert the changes we made
diff --git a/storage/innobase/fil/fil0pagecompress.cc b/storage/innobase/fil/fil0pagecompress.cc
index 101f8fb0f..edc1fa913 100644
--- a/storage/innobase/fil/fil0pagecompress.cc
+++ b/storage/innobase/fil/fil0pagecompress.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/fsp/fsp0fsp.cc b/storage/innobase/fsp/fsp0fsp.cc
index b20c59c4d..13ac923eb 100644
--- a/storage/innobase/fsp/fsp0fsp.cc
+++ b/storage/innobase/fsp/fsp0fsp.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/fts/fts0ast.cc b/storage/innobase/fts/fts0ast.cc
index 4b36152cf..c69eabc0f 100644
--- a/storage/innobase/fts/fts0ast.cc
+++ b/storage/innobase/fts/fts0ast.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/fts/fts0blex.cc b/storage/innobase/fts/fts0blex.cc
index 84811050e..508069a32 100644
--- a/storage/innobase/fts/fts0blex.cc
+++ b/storage/innobase/fts/fts0blex.cc
@@ -653,7 +653,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**
diff --git a/storage/innobase/fts/fts0blex.l b/storage/innobase/fts/fts0blex.l
index ae6e8ffaa..0d1788f89 100644
--- a/storage/innobase/fts/fts0blex.l
+++ b/storage/innobase/fts/fts0blex.l
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/fts/fts0config.cc b/storage/innobase/fts/fts0config.cc
index 5b4ae5c39..940c944a4 100644
--- a/storage/innobase/fts/fts0config.cc
+++ b/storage/innobase/fts/fts0config.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2013, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -85,6 +86,7 @@ fts_config_get_value(
 	que_t*		graph;
 	dberr_t		error;
 	ulint		name_len = strlen(name);
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -100,12 +102,14 @@ fts_config_get_value(
 	pars_info_bind_varchar_literal(info, "name", (byte*) name, name_len);
 
 	fts_table->suffix = "CONFIG";
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
 
 	graph = fts_parse_sql(
 		fts_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
-		"DECLARE CURSOR c IS SELECT value FROM \"%s\""
+		"DECLARE CURSOR c IS SELECT value FROM $table_name"
 		" WHERE key = :name;\n"
 		"BEGIN\n"
 		""
@@ -212,6 +216,7 @@ fts_config_set_value(
 	undo_no_t	undo_no;
 	undo_no_t	n_rows_updated;
 	ulint		name_len = strlen(name);
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -219,11 +224,17 @@ fts_config_set_value(
 	pars_info_bind_varchar_literal(info, "value",
 				       value->f_str, value->f_len);
 
+	const bool dict_locked = fts_table->table->fts->fts_status
+		& TABLE_DICT_LOCKED;
+
 	fts_table->suffix = "CONFIG";
+	fts_get_table_name(fts_table, table_name, dict_locked);
+	pars_info_bind_id(info, true, "table_name", table_name);
 
 	graph = fts_parse_sql(
 		fts_table, info,
-		"BEGIN UPDATE \"%s\" SET value = :value WHERE key = :name;");
+		"BEGIN UPDATE $table_name SET value = :value "
+		"WHERE key = :name;");
 
 	trx->op_info = "setting FTS config value";
 
@@ -245,10 +256,13 @@ fts_config_set_value(
 		pars_info_bind_varchar_literal(
 			info, "value", value->f_str, value->f_len);
 
+		fts_get_table_name(fts_table, table_name, dict_locked);
+		pars_info_bind_id(info, true, "table_name", table_name);
+
 		graph = fts_parse_sql(
 			fts_table, info,
 			"BEGIN\n"
-			"INSERT INTO \"%s\" VALUES(:name, :value);");
+			"INSERT INTO $table_name VALUES(:name, :value);");
 
 		trx->op_info = "inserting FTS config value";
 
@@ -465,6 +479,7 @@ fts_config_increment_value(
 	que_t*		graph = NULL;
 	ulint		name_len = strlen(name);
 	pars_info_t*	info = pars_info_create();
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	/* We set the length of value to the max bytes it can hold. This
 	information is used by the callback that reads the value.*/
@@ -479,11 +494,13 @@ fts_config_increment_value(
 		info, "my_func", fts_config_fetch_value, &value);
 
 	fts_table->suffix = "CONFIG";
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "config_table", table_name);
 
 	graph = fts_parse_sql(
 		fts_table, info,
 		"DECLARE FUNCTION my_func;\n"
-		"DECLARE CURSOR c IS SELECT value FROM \"%s\""
+		"DECLARE CURSOR c IS SELECT value FROM $config_table"
 		" WHERE key = :name FOR UPDATE;\n"
 		"BEGIN\n"
 		""
diff --git a/storage/innobase/fts/fts0fts.cc b/storage/innobase/fts/fts0fts.cc
index 1ea3a8d2c..264c520bb 100644
--- a/storage/innobase/fts/fts0fts.cc
+++ b/storage/innobase/fts/fts0fts.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -77,8 +77,8 @@ UNIV_INTERN ulong	fts_min_token_size;
 
 
 // FIXME: testing
-ib_time_t elapsed_time = 0;
-ulint n_nodes = 0;
+static time_t elapsed_time;
+static ulint n_nodes;
 
 /** Error condition reported by fts_utf8_decode() */
 const ulint UTF8_ERROR = 0xFFFFFFFF;
@@ -107,11 +107,6 @@ UNIV_INTERN mysql_pfs_key_t	fts_doc_id_mutex_key;
 UNIV_INTERN mysql_pfs_key_t	fts_pll_tokenize_mutex_key;
 #endif /* UNIV_PFS_MUTEX */
 
-/** variable to record innodb_fts_internal_tbl_name for information
-schema table INNODB_FTS_INSERTED etc. */
-UNIV_INTERN char* fts_internal_tbl_name		= NULL;
-UNIV_INTERN char* fts_internal_tbl_name2	= NULL;
-
 /** InnoDB default stopword list:
 There are different versions of stopwords, the stop words listed
 below comes from "Google Stopword" list. Reference:
@@ -167,38 +162,39 @@ struct fts_aux_table_t {
 	char*		name;		/*!< Name of the table */
 };
 
-/** SQL statements for creating the ancillary common FTS tables. */
+/** SQL statements for creating the ancillary common FTS tables.
+The table name here shall be consistent with fts_common_tables. */
 static const char* fts_create_common_tables_sql = {
 	"BEGIN\n"
 	""
-	"CREATE TABLE \"%s_DELETED\" (\n"
+	"CREATE TABLE $DELETED (\n"
 	"  doc_id BIGINT UNSIGNED\n"
 	") COMPACT;\n"
-	"CREATE UNIQUE CLUSTERED INDEX IND ON \"%s_DELETED\"(doc_id);\n"
+	"CREATE UNIQUE CLUSTERED INDEX IND ON $DELETED (doc_id);\n"
 	""
-	"CREATE TABLE \"%s_DELETED_CACHE\" (\n"
+	"CREATE TABLE $DELETED_CACHE (\n"
 	"  doc_id BIGINT UNSIGNED\n"
 	") COMPACT;\n"
 	"CREATE UNIQUE CLUSTERED INDEX IND "
-		"ON \"%s_DELETED_CACHE\"(doc_id);\n"
+		"ON $DELETED_CACHE(doc_id);\n"
 	""
-	"CREATE TABLE \"%s_BEING_DELETED\" (\n"
+	"CREATE TABLE $BEING_DELETED (\n"
 	"  doc_id BIGINT UNSIGNED\n"
 	") COMPACT;\n"
 	"CREATE UNIQUE CLUSTERED INDEX IND "
-		"ON \"%s_BEING_DELETED\"(doc_id);\n"
+		"ON $BEING_DELETED(doc_id);\n"
 	""
-	"CREATE TABLE \"%s_BEING_DELETED_CACHE\" (\n"
+	"CREATE TABLE $BEING_DELETED_CACHE (\n"
 	"  doc_id BIGINT UNSIGNED\n"
 	") COMPACT;\n"
 	"CREATE UNIQUE CLUSTERED INDEX IND "
-		"ON \"%s_BEING_DELETED_CACHE\"(doc_id);\n"
+		"ON $BEING_DELETED_CACHE(doc_id);\n"
 	""
-	"CREATE TABLE \"%s_CONFIG\" (\n"
+	"CREATE TABLE $CONFIG (\n"
 	"  key CHAR(50),\n"
 	"  value CHAR(200) NOT NULL\n"
 	") COMPACT;\n"
-	"CREATE UNIQUE CLUSTERED INDEX IND ON \"%s_CONFIG\"(key);\n"
+	"CREATE UNIQUE CLUSTERED INDEX IND ON $CONFIG(key);\n"
 };
 
 #ifdef FTS_DOC_STATS_DEBUG
@@ -207,11 +203,11 @@ mainly designed for the statistics work in the future */
 static const char* fts_create_index_tables_sql = {
 	"BEGIN\n"
 	""
-	"CREATE TABLE \"%s_DOC_ID\" (\n"
+	"CREATE TABLE $doc_id_table (\n"
 	"   doc_id BIGINT UNSIGNED,\n"
 	"   word_count INTEGER UNSIGNED NOT NULL\n"
 	") COMPACT;\n"
-	"CREATE UNIQUE CLUSTERED INDEX IND ON \"%s_DOC_ID\"(doc_id);\n"
+	"CREATE UNIQUE CLUSTERED INDEX IND ON $doc_id_table(doc_id);\n"
 };
 #endif
 
@@ -220,11 +216,11 @@ static const char* fts_create_index_sql = {
 	"BEGIN\n"
 	""
 	"CREATE UNIQUE CLUSTERED INDEX FTS_INDEX_TABLE_IND "
-		"ON \"%s\"(word, first_doc_id);\n"
+		"ON $table (word, first_doc_id);\n"
 };
 
 /** FTS auxiliary table suffixes that are common to all FT indexes. */
-static const char* fts_common_tables[] = {
+const char* fts_common_tables[] = {
 	"BEING_DELETED",
 	"BEING_DELETED_CACHE",
 	"CONFIG",
@@ -248,19 +244,19 @@ const  fts_index_selector_t fts_index_selector[] = {
 static const char* fts_config_table_insert_values_sql =
 	"BEGIN\n"
 	"\n"
-	"INSERT INTO \"%s\" VALUES('"
+	"INSERT INTO $config_table VALUES('"
 		FTS_MAX_CACHE_SIZE_IN_MB "', '256');\n"
 	""
-	"INSERT INTO \"%s\" VALUES('"
+	"INSERT INTO $config_table VALUES('"
 		FTS_OPTIMIZE_LIMIT_IN_SECS  "', '180');\n"
 	""
-	"INSERT INTO \"%s\" VALUES ('"
+	"INSERT INTO $config_table VALUES ('"
 		FTS_SYNCED_DOC_ID "', '0');\n"
 	""
-	"INSERT INTO \"%s\" VALUES ('"
+	"INSERT INTO $config_table VALUES ('"
 		FTS_TOTAL_DELETED_COUNT "', '0');\n"
 	"" /* Note: 0 == FTS_TABLE_STATE_RUNNING */
-	"INSERT INTO \"%s\" VALUES ('"
+	"INSERT INTO $config_table VALUES ('"
 		FTS_TABLE_STATE "', '0');\n";
 
 /** Run SYNC on the table, i.e., write out data from the cache to the
@@ -334,7 +330,6 @@ dberr_t
 fts_update_sync_doc_id(
 /*===================*/
 	const dict_table_t*	table,		/*!< in: table */
-	const char*		table_name,	/*!< in: table name, or NULL */
 	doc_id_t		doc_id,		/*!< in: last document id */
 	trx_t*			trx)		/*!< in: update trx, or NULL */
 	MY_ATTRIBUTE((nonnull(1)));
@@ -1586,19 +1581,17 @@ fts_rename_aux_tables(
 
 	FTS_INIT_FTS_TABLE(&fts_table, NULL, FTS_COMMON_TABLE, table);
 
+	dberr_t err = DB_SUCCESS;
+	char old_table_name[MAX_FULL_NAME_LEN];
+
 	/* Rename common auxiliary tables */
 	for (i = 0; fts_common_tables[i] != NULL; ++i) {
-		char*	old_table_name;
-		dberr_t	err = DB_SUCCESS;
-
 		fts_table.suffix = fts_common_tables[i];
 
-		old_table_name = fts_get_table_name(&fts_table);
+		fts_get_table_name(&fts_table, old_table_name, true);
 
 		err = fts_rename_one_aux_table(new_name, old_table_name, trx);
 
-		mem_free(old_table_name);
-
 		if (err != DB_SUCCESS) {
 			return(err);
 		}
@@ -1617,12 +1610,8 @@ fts_rename_aux_tables(
 		FTS_INIT_INDEX_TABLE(&fts_table, NULL, FTS_INDEX_TABLE, index);
 
 		for (ulint j = 0; fts_index_selector[j].value; ++j) {
-			dberr_t	err;
-			char*	old_table_name;
-
 			fts_table.suffix = fts_get_suffix(j);
-
-			old_table_name = fts_get_table_name(&fts_table);
+			fts_get_table_name(&fts_table, old_table_name, true);
 
 			err = fts_rename_one_aux_table(
 				new_name, old_table_name, trx);
@@ -1631,8 +1620,6 @@ fts_rename_aux_tables(
 					err = DB_DEADLOCK;
 					fts_sql_rollback(trx););
 
-			mem_free(old_table_name);
-
 			if (err != DB_SUCCESS) {
 				return(err);
 			}
@@ -1660,11 +1647,11 @@ fts_drop_common_tables(
 
 	for (i = 0; fts_common_tables[i] != NULL; ++i) {
 		dberr_t	err;
-		char*	table_name;
+		char	table_name[MAX_FULL_NAME_LEN];
 
 		fts_table->suffix = fts_common_tables[i];
 
-		table_name = fts_get_table_name(fts_table);
+		fts_get_table_name(fts_table, table_name, true);
 
 		err = fts_drop_table(trx, table_name);
 
@@ -1672,8 +1659,6 @@ fts_drop_common_tables(
 		if (err != DB_SUCCESS && err != DB_FAIL) {
 			error = err;
 		}
-
-		mem_free(table_name);
 	}
 
 	return(error);
@@ -1699,11 +1684,11 @@ fts_drop_index_split_tables(
 
 	for (i = 0; fts_index_selector[i].value; ++i) {
 		dberr_t	err;
-		char*	table_name;
+		char	table_name[MAX_FULL_NAME_LEN];
 
 		fts_table.suffix = fts_get_suffix(i);
 
-		table_name = fts_get_table_name(&fts_table);
+		fts_get_table_name(&fts_table, table_name, true);
 
 		err = fts_drop_table(trx, table_name);
 
@@ -1711,8 +1696,6 @@ fts_drop_index_split_tables(
 		if (err != DB_SUCCESS && err != DB_FAIL) {
 			error = err;
 		}
-
-		mem_free(table_name);
 	}
 
 	return(error);
@@ -1749,11 +1732,11 @@ fts_drop_index_tables(
 	FTS_INIT_INDEX_TABLE(&fts_table, NULL, FTS_INDEX_TABLE, index);
 
 	for (ulint i = 0; index_tables[i] != NULL; ++i) {
-		char*	table_name;
+		char	table_name[MAX_FULL_NAME_LEN];
 
 		fts_table.suffix = index_tables[i];
 
-		table_name = fts_get_table_name(&fts_table);
+		fts_get_table_name(&fts_table, table_name, true);
 
 		err = fts_drop_table(trx, table_name);
 
@@ -1761,8 +1744,6 @@ fts_drop_index_tables(
 		if (err != DB_SUCCESS && err != DB_FAIL) {
 			error = err;
 		}
-
-		mem_free(table_name);
 	}
 #endif /* FTS_DOC_STATS_DEBUG */
 
@@ -1831,26 +1812,6 @@ fts_drop_tables(
 	return(error);
 }
 
-/*********************************************************************//**
-Prepare the SQL, so that all '%s' are replaced by the common prefix.
-@return sql string, use mem_free() to free the memory */
-static
-char*
-fts_prepare_sql(
-/*============*/
-	fts_table_t*	fts_table,	/*!< in: table name info */
-	const char*	my_template)	/*!< in: sql template */
-{
-	char*		sql;
-	char*		name_prefix;
-
-	name_prefix = fts_get_table_name_prefix(fts_table);
-	sql = ut_strreplace(my_template, "%s", name_prefix);
-	mem_free(name_prefix);
-
-	return(sql);
-}
-
 /*********************************************************************//**
 Creates the common ancillary tables needed for supporting an FTS index
 on the given table. row_mysql_lock_data_dictionary must have been called
@@ -1865,12 +1826,15 @@ fts_create_common_tables(
 	const char*	name,		/*!< in: table name normalized.*/
 	bool		skip_doc_id_index)/*!< in: Skip index on doc id */
 {
-	char*		sql;
 	dberr_t		error;
 	que_t*		graph;
 	fts_table_t	fts_table;
 	mem_heap_t*	heap = mem_heap_create(1024);
 	pars_info_t*	info;
+	char		fts_name[MAX_FULL_NAME_LEN];
+	char		full_name[sizeof(fts_common_tables) / sizeof(char*)]
+				[MAX_FULL_NAME_LEN];
+	ulint		i;
 
 	FTS_INIT_FTS_TABLE(&fts_table, NULL, FTS_COMMON_TABLE, table);
 
@@ -1882,9 +1846,19 @@ fts_create_common_tables(
 	}
 
 	/* Create the FTS tables that are common to an FTS index. */
-	sql = fts_prepare_sql(&fts_table, fts_create_common_tables_sql);
-	graph = fts_parse_sql_no_dict_lock(NULL, NULL, sql);
-	mem_free(sql);
+	info = pars_info_create();
+
+	for (i = 0; fts_common_tables[i] != NULL; ++i) {
+
+		fts_table.suffix = fts_common_tables[i];
+		fts_get_table_name(&fts_table, full_name[i], true);
+
+		pars_info_bind_id(info, true,
+				  fts_common_tables[i], full_name[i]);
+	}
+
+	graph = fts_parse_sql_no_dict_lock(NULL, info,
+					   fts_create_common_tables_sql);
 
 	error = fts_eval_sql(trx, graph);
 
@@ -1896,9 +1870,14 @@ fts_create_common_tables(
 	}
 
 	/* Write the default settings to the config table. */
+	info = pars_info_create();
+
 	fts_table.suffix = "CONFIG";
+	fts_get_table_name(&fts_table, fts_name, true);
+	pars_info_bind_id(info, true, "config_table", fts_name);
+
 	graph = fts_parse_sql_no_dict_lock(
-		&fts_table, NULL, fts_config_table_insert_values_sql);
+		&fts_table, info, fts_config_table_insert_values_sql);
 
 	error = fts_eval_sql(trx, graph);
 
@@ -1966,13 +1945,15 @@ fts_create_one_index_table(
 {
 	dict_field_t*		field;
 	dict_table_t*		new_table = NULL;
-	char*			table_name = fts_get_table_name(fts_table);
+	char			table_name[MAX_FULL_NAME_LEN];
 	dberr_t			error;
 	CHARSET_INFO*		charset;
 	ulint			flags2 = 0;
 
 	ut_ad(index->type & DICT_FTS);
 
+	fts_get_table_name(fts_table, table_name, true);
+
 	if (srv_file_per_table) {
 		flags2 = DICT_TF2_USE_TABLESPACE;
 	}
@@ -2016,8 +1997,6 @@ fts_create_one_index_table(
 			"Fail to create FTS index table %s", table_name);
 	}
 
-	mem_free(table_name);
-
 	return(new_table);
 }
 
@@ -2040,23 +2019,27 @@ fts_create_index_tables_low(
 	que_t*		graph;
 	fts_table_t	fts_table;
 	dberr_t		error = DB_SUCCESS;
+	pars_info_t*	info;
 	mem_heap_t*	heap = mem_heap_create(1024);
+	char		fts_name[MAX_FULL_NAME_LEN];
 
 	fts_table.type = FTS_INDEX_TABLE;
 	fts_table.index_id = index->id;
 	fts_table.table_id = table_id;
-	fts_table.parent = table_name;
 	fts_table.table = index->table;
 
 #ifdef FTS_DOC_STATS_DEBUG
-	char*		sql;
-
 	/* Create the FTS auxiliary tables that are specific
 	to an FTS index. */
-	sql = fts_prepare_sql(&fts_table, fts_create_index_tables_sql);
+	info = pars_info_create();
+
+	fts_table.suffix = "DOC_ID";
+	fts_get_table_name(&fts_table, fts_name, true);
 
-	graph = fts_parse_sql_no_dict_lock(NULL, NULL, sql);
-	mem_free(sql);
+	pars_info_bind_id(info, true, "doc_id_table", fts_name);
+
+	graph = fts_parse_sql_no_dict_lock(NULL, info,
+					   fts_create_index_tables_sql);
 
 	error = fts_eval_sql(trx, graph);
 	que_graph_free(graph);
@@ -2065,6 +2048,8 @@ fts_create_index_tables_low(
 	for (i = 0; fts_index_selector[i].value && error == DB_SUCCESS; ++i) {
 		dict_table_t*	new_table;
 
+		info = pars_info_create();
+
 		/* Create the FTS auxiliary tables that are specific
 		to an FTS index. We need to preserve the table_id %s
 		which fts_parse_sql_no_dict_lock() will fill in for us. */
@@ -2078,8 +2063,12 @@ fts_create_index_tables_low(
 			break;
 		}
 
+		fts_get_table_name(&fts_table, fts_name, true);
+
+		pars_info_bind_id(info, true, "table", fts_name);
+
 		graph = fts_parse_sql_no_dict_lock(
-			&fts_table, NULL, fts_create_index_sql);
+			&fts_table, info, fts_create_index_sql);
 
 		error = fts_eval_sql(trx, graph);
 		que_graph_free(graph);
@@ -2632,7 +2621,6 @@ fts_update_next_doc_id(
 /*===================*/
 	trx_t*			trx,		/*!< in/out: transaction */
 	const dict_table_t*	table,		/*!< in: table */
-	const char*		table_name,	/*!< in: table name, or NULL */
 	doc_id_t		doc_id)		/*!< in: DOC ID to set */
 {
 	table->fts->cache->synced_doc_id = doc_id;
@@ -2641,7 +2629,7 @@ fts_update_next_doc_id(
 	table->fts->cache->first_doc_id = table->fts->cache->next_doc_id;
 
 	fts_update_sync_doc_id(
-		table, table_name, table->fts->cache->synced_doc_id, trx);
+		table, table->fts->cache->synced_doc_id, trx);
 
 }
 
@@ -2704,6 +2692,7 @@ fts_cmp_set_sync_doc_id(
 	fts_table_t	fts_table;
 	que_t*		graph = NULL;
 	fts_cache_t*	cache = table->fts->cache;
+	char		table_name[MAX_FULL_NAME_LEN];
 retry:
 	ut_a(table->fts->doc_col != ULINT_UNDEFINED);
 
@@ -2712,8 +2701,6 @@ fts_cmp_set_sync_doc_id(
 	fts_table.type = FTS_COMMON_TABLE;
 	fts_table.table = table;
 
-	fts_table.parent = table->name;
-
 	trx = trx_allocate_for_background();
 
 	trx->op_info = "update the next FTS document id";
@@ -2723,10 +2710,13 @@ fts_cmp_set_sync_doc_id(
 	pars_info_bind_function(
 		info, "my_func", fts_fetch_store_doc_id, doc_id);
 
+	fts_get_table_name(&fts_table, table_name);
+	pars_info_bind_id(info, true, "config_table", table_name);
+
 	graph = fts_parse_sql(
 		&fts_table, info,
 		"DECLARE FUNCTION my_func;\n"
-		"DECLARE CURSOR c IS SELECT value FROM \"%s\""
+		"DECLARE CURSOR c IS SELECT value FROM $config_table"
 		" WHERE key = 'synced_doc_id' FOR UPDATE;\n"
 		"BEGIN\n"
 		""
@@ -2770,7 +2760,7 @@ fts_cmp_set_sync_doc_id(
 
 	if (doc_id_cmp > *doc_id) {
 		error = fts_update_sync_doc_id(
-			table, table->name, cache->synced_doc_id, trx);
+			table, cache->synced_doc_id, trx);
 	}
 
 	*doc_id = cache->next_doc_id;
@@ -2808,7 +2798,6 @@ dberr_t
 fts_update_sync_doc_id(
 /*===================*/
 	const dict_table_t*	table,		/*!< in: table */
-	const char*		table_name,	/*!< in: table name, or NULL */
 	doc_id_t		doc_id,		/*!< in: last document id */
 	trx_t*			trx)		/*!< in: update trx, or NULL */
 {
@@ -2820,16 +2809,12 @@ fts_update_sync_doc_id(
 	dberr_t		error;
 	ibool		local_trx = FALSE;
 	fts_cache_t*	cache = table->fts->cache;
+	char		fts_name[MAX_FULL_NAME_LEN];
 
 	fts_table.suffix = "CONFIG";
 	fts_table.table_id = table->id;
 	fts_table.type = FTS_COMMON_TABLE;
 	fts_table.table = table;
-	if (table_name) {
-		fts_table.parent = table_name;
-	} else {
-		fts_table.parent = table->name;
-	}
 
 	if (!trx) {
 		trx = trx_allocate_for_background();
@@ -2845,10 +2830,14 @@ fts_update_sync_doc_id(
 
 	pars_info_bind_varchar_literal(info, "doc_id", id, id_len);
 
+	fts_get_table_name(&fts_table, fts_name,
+			   table->fts->fts_status & TABLE_DICT_LOCKED);
+	pars_info_bind_id(info, true, "table_name", fts_name);
+
 	graph = fts_parse_sql(
 		&fts_table, info,
 		"BEGIN "
-		"UPDATE \"%s\" SET value = :doc_id"
+		"UPDATE $table_name SET value = :doc_id"
 		" WHERE key = 'synced_doc_id';");
 
 	error = fts_eval_sql(trx, graph);
@@ -2895,22 +2884,6 @@ fts_doc_ids_create(void)
 	return(fts_doc_ids);
 }
 
-/*********************************************************************//**
-Free a fts_doc_ids_t. */
-
-void
-fts_doc_ids_free(
-/*=============*/
-	fts_doc_ids_t*	fts_doc_ids)
-{
-	mem_heap_t*	heap = static_cast(
-		fts_doc_ids->self_heap->arg);
-
-	memset(fts_doc_ids, 0, sizeof(*fts_doc_ids));
-
-	mem_heap_free(heap);
-}
-
 /*********************************************************************//**
 Do commit-phase steps necessary for the insertion of a new row. */
 void
@@ -2995,6 +2968,7 @@ fts_delete(
 
 	/* Note the deleted document for OPTIMIZE to purge. */
 	if (error == DB_SUCCESS) {
+		char	table_name[MAX_FULL_NAME_LEN];
 
 		trx->op_info = "adding doc id to FTS DELETED";
 
@@ -3002,10 +2976,13 @@ fts_delete(
 
 		fts_table.suffix = "DELETED";
 
+		fts_get_table_name(&fts_table, table_name);
+		pars_info_bind_id(info, true, "deleted", table_name);
+
 		graph = fts_parse_sql(
 			&fts_table,
 			info,
-			"BEGIN INSERT INTO \"%s\" VALUES (:doc_id);");
+			"BEGIN INSERT INTO $deleted VALUES (:doc_id);");
 
 		error = fts_eval_sql(trx, graph);
 
@@ -3821,14 +3798,18 @@ fts_write_node(
 	pars_info_t*	info;
 	dberr_t		error;
 	ib_uint32_t	doc_count;
-	ib_time_t	start_time;
+	time_t		start_time;
 	doc_id_t	last_doc_id;
 	doc_id_t	first_doc_id;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	if (*graph) {
 		info = (*graph)->info;
 	} else {
 		info = pars_info_create();
+
+		fts_get_table_name(fts_table, table_name);
+		pars_info_bind_id(info, true, "index_table_name", table_name);
 	}
 
 	pars_info_bind_varchar_literal(info, "token", word->f_str, word->f_len);
@@ -3854,18 +3835,19 @@ fts_write_node(
 		DATA_BLOB, DATA_BINARY_TYPE);
 
 	if (!*graph) {
+
 		*graph = fts_parse_sql(
 			fts_table,
 			info,
 			"BEGIN\n"
-			"INSERT INTO \"%s\" VALUES "
+			"INSERT INTO $index_table_name VALUES "
 			"(:token, :first_doc_id,"
 			" :last_doc_id, :doc_count, :ilist);");
 	}
 
-	start_time = ut_time();
+	start_time = time(NULL);
 	error = fts_eval_sql(trx, *graph);
-	elapsed_time += ut_time() - start_time;
+	elapsed_time += time(NULL) - start_time;
 	++n_nodes;
 
 	return(error);
@@ -3885,6 +3867,7 @@ fts_sync_add_deleted_cache(
 	pars_info_t*	info;
 	que_t*		graph;
 	fts_table_t	fts_table;
+	char		table_name[MAX_FULL_NAME_LEN];
 	doc_id_t	dummy = 0;
 	dberr_t		error = DB_SUCCESS;
 	ulint		n_elems = ib_vector_size(doc_ids);
@@ -3900,10 +3883,13 @@ fts_sync_add_deleted_cache(
 	FTS_INIT_FTS_TABLE(
 		&fts_table, "DELETED_CACHE", FTS_COMMON_TABLE, sync->table);
 
+	fts_get_table_name(&fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
+
 	graph = fts_parse_sql(
 		&fts_table,
 		info,
-		"BEGIN INSERT INTO \"%s\" VALUES (:doc_id);");
+		"BEGIN INSERT INTO $table_name VALUES (:doc_id);");
 
 	for (i = 0; i < n_elems && error == DB_SUCCESS; ++i) {
 		fts_update_t*	update;
@@ -4080,6 +4066,7 @@ fts_sync_write_doc_stat(
 	doc_id_t	doc_id;
 	dberr_t		error = DB_SUCCESS;
 	ib_uint32_t	word_count;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	if (*graph) {
 		info = (*graph)->info;
@@ -4102,10 +4089,15 @@ fts_sync_write_doc_stat(
 		FTS_INIT_INDEX_TABLE(
 			&fts_table, "DOC_ID", FTS_INDEX_TABLE, index);
 
+		fts_get_table_name(&fts_table, table_name);
+
+		pars_info_bind_id(info, true, "doc_id_table", table_name);
+
 		*graph = fts_parse_sql(
 			&fts_table,
 			info,
-			"BEGIN INSERT INTO \"%s\" VALUES (:doc_id, :count);");
+			"BEGIN "
+			"INSERT INTO $doc_id_table VALUES (:doc_id, :count);");
 	}
 
 	for (;;) {
@@ -4227,6 +4219,7 @@ fts_is_word_in_index(
 {
 	pars_info_t*	info;
 	dberr_t		error;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	trx->op_info = "looking up word in FTS index";
 
@@ -4236,6 +4229,8 @@ fts_is_word_in_index(
 		info = pars_info_create();
 	}
 
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
 	pars_info_bind_function(info, "my_func", fts_lookup_word, found);
 	pars_info_bind_varchar_literal(info, "word", word->f_str, word->f_len);
 
@@ -4246,7 +4241,7 @@ fts_is_word_in_index(
 			"DECLARE FUNCTION my_func;\n"
 			"DECLARE CURSOR c IS"
 			" SELECT doc_count\n"
-			" FROM \"%s\"\n"
+			" FROM $table_name\n"
 			" WHERE word = :word "
 			" ORDER BY first_doc_id;\n"
 			"BEGIN\n"
@@ -4303,7 +4298,7 @@ fts_sync_begin(
 	n_nodes = 0;
 	elapsed_time = 0;
 
-	sync->start_time = ut_time();
+	sync->start_time = time(NULL);
 
 	sync->trx = trx_allocate_for_background();
 
@@ -4462,7 +4457,7 @@ fts_sync_commit(
 			"SYNC for table %s: SYNC time : %lu secs: "
 			"elapsed %lf ins/sec",
 			sync->table->name,
-			(ulong) (ut_time() - sync->start_time),
+			(ulong) (time(NULL) - sync->start_time),
 			(double) n_nodes/ (double) elapsed_time);
 	}
 
@@ -4995,6 +4990,7 @@ fts_get_rows_count(
 	que_t*		graph;
 	dberr_t		error;
 	ulint		count = 0;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	trx = trx_allocate_for_background();
 
@@ -5004,13 +5000,16 @@ fts_get_rows_count(
 
 	pars_info_bind_function(info, "my_func", fts_read_ulint, &count);
 
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
+
 	graph = fts_parse_sql(
 		fts_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
 		"DECLARE CURSOR c IS"
 		" SELECT COUNT(*) "
-		" FROM \"%s\";\n"
+		" FROM $table_name;\n"
 		"BEGIN\n"
 		"\n"
 		"OPEN c;\n"
@@ -6219,7 +6218,7 @@ fts_rename_one_aux_table_to_hex_format(
 {
 	const char*     ptr;
 	fts_table_t	fts_table;
-	char*		new_name;
+	char		new_name[MAX_FULL_NAME_LEN];
 	dberr_t		error;
 
 	ptr = strchr(aux_table->name, '/');
@@ -6260,12 +6259,11 @@ fts_rename_one_aux_table_to_hex_format(
 
 	ut_a(fts_table.suffix != NULL);
 
-	fts_table.parent = parent_table->name;
 	fts_table.table_id = aux_table->parent_id;
 	fts_table.index_id = aux_table->index_id;
 	fts_table.table = parent_table;
 
-	new_name = fts_get_table_name(&fts_table);
+	fts_get_table_name(&fts_table, new_name);
 	ut_ad(strcmp(new_name, aux_table->name) != 0);
 
 	if (trx_get_dict_operation(trx) == TRX_DICT_OP_NONE) {
@@ -6286,8 +6284,6 @@ fts_rename_one_aux_table_to_hex_format(
 			aux_table->name, new_name);
 	}
 
-	mem_free(new_name);
-
 	return (error);
 }
 
diff --git a/storage/innobase/fts/fts0opt.cc b/storage/innobase/fts/fts0opt.cc
index 28e704eb9..2f8739d3d 100644
--- a/storage/innobase/fts/fts0opt.cc
+++ b/storage/innobase/fts/fts0opt.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -43,6 +43,9 @@ Completed 2011/7/10 Sunny and Jimmy Yang
 /** The FTS optimize thread's work queue. */
 static ib_wqueue_t* fts_optimize_wq;
 
+/** The FTS vector to store fts_slot_t */
+static ib_vector_t*  fts_slots;
+
 /** Time to wait for a message. */
 static const ulint FTS_QUEUE_WAIT_IN_USECS = 5000000;
 
@@ -56,16 +59,7 @@ static bool fts_opt_start_shutdown = false;
 static const ulint FTS_WORD_NODES_INIT_SIZE = 64;
 
 /** Last time we did check whether system need a sync */
-static ib_time_t	last_check_sync_time;
-
-/** State of a table within the optimization sub system. */
-enum fts_state_t {
-	FTS_STATE_LOADED,
-	FTS_STATE_RUNNING,
-	FTS_STATE_SUSPENDED,
-	FTS_STATE_DONE,
-	FTS_STATE_EMPTY
-};
+static time_t	last_check_sync_time;
 
 /** FTS optimize thread message types. */
 enum fts_msg_type_t {
@@ -175,11 +169,11 @@ struct fts_encode_t {
 /** We use this information to determine when to start the optimize
 cycle for a table. */
 struct fts_slot_t {
-	dict_table_t*	table;		/*!< Table to optimize */
-
-	table_id_t	table_id;	/*!< Table id */
+	/** table identifier, or 0 if the slot is empty */
+	table_id_t	table_id;
 
-	fts_state_t	state;		/*!< State of this slot */
+	/** whether this slot is being processed */
+	bool		running;
 
 	ulint		added;		/*!< Number of doc ids added since the
 					last time this table was optimized */
@@ -187,12 +181,11 @@ struct fts_slot_t {
 	ulint		deleted;	/*!< Number of doc ids deleted since the
 					last time this table was optimized */
 
-	ib_time_t	last_run;	/*!< Time last run completed */
+	/** time(NULL) of completing fts_optimize_table_bk() */
+	time_t		last_run;
 
-	ib_time_t	completed;	/*!< Optimize finish time */
-
-	ib_time_t	interval_time;	/*!< Minimum time to wait before
-					optimizing the table again. */
+	/** time(NULL) of latest successful fts_optimize_table() */
+	time_t		completed;
 };
 
 /** A table remove message for the FTS optimize thread. */
@@ -229,30 +222,33 @@ UNIV_INTERN char	fts_enable_diag_print;
 /** ZLib compressed block size.*/
 static ulint FTS_ZIP_BLOCK_SIZE	= 1024;
 
-/** The amount of time optimizing in a single pass, in milliseconds. */
-static ib_time_t fts_optimize_time_limit = 0;
+/** The amount of time optimizing in a single pass, in seconds. */
+static ulint fts_optimize_time_limit;
+
+/** It's defined in fts0fts.cc  */
+extern const char* fts_common_tables[];
 
 /** SQL Statement for changing state of rows to be deleted from FTS Index. */
 static	const char* fts_init_delete_sql =
 	"BEGIN\n"
 	"\n"
-	"INSERT INTO \"%s_BEING_DELETED\"\n"
-		"SELECT doc_id FROM \"%s_DELETED\";\n"
+	"INSERT INTO $BEING_DELETED\n"
+		"SELECT doc_id FROM $DELETED;\n"
 	"\n"
-	"INSERT INTO \"%s_BEING_DELETED_CACHE\"\n"
-		"SELECT doc_id FROM \"%s_DELETED_CACHE\";\n";
+	"INSERT INTO $BEING_DELETED_CACHE\n"
+		"SELECT doc_id FROM $DELETED_CACHE;\n";
 
 static const char* fts_delete_doc_ids_sql =
 	"BEGIN\n"
 	"\n"
-	"DELETE FROM \"%s_DELETED\" WHERE doc_id = :doc_id1;\n"
-	"DELETE FROM \"%s_DELETED_CACHE\" WHERE doc_id = :doc_id2;\n";
+	"DELETE FROM $DELETED WHERE doc_id = :doc_id1;\n"
+	"DELETE FROM $DELETED_CACHE WHERE doc_id = :doc_id2;\n";
 
 static const char* fts_end_delete_sql =
 	"BEGIN\n"
 	"\n"
-	"DELETE FROM \"%s_BEING_DELETED\";\n"
-	"DELETE FROM \"%s_BEING_DELETED_CACHE\";\n";
+	"DELETE FROM $BEING_DELETED;\n"
+	"DELETE FROM $BEING_DELETED_CACHE;\n";
 
 /**********************************************************************//**
 Initialize fts_zip_t. */
@@ -483,21 +479,17 @@ fts_index_fetch_nodes(
 {
 	pars_info_t*	info;
 	dberr_t		error;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	trx->op_info = "fetching FTS index nodes";
 
 	if (*graph) {
 		info = (*graph)->info;
 	} else {
-		info = pars_info_create();
-	}
-
-	pars_info_bind_function(info, "my_func", fetch->read_record, fetch);
-	pars_info_bind_varchar_literal(info, "word", word->f_str, word->f_len);
-
-	if (!*graph) {
 		ulint	selected;
 
+		info = pars_info_create();
+
 		ut_a(fts_table->type == FTS_INDEX_TABLE);
 
 		selected = fts_select_index(fts_table->charset,
@@ -505,6 +497,16 @@ fts_index_fetch_nodes(
 
 		fts_table->suffix = fts_get_suffix(selected);
 
+		fts_get_table_name(fts_table, table_name);
+
+		pars_info_bind_id(info, true, "table_name", table_name);
+	}
+
+	pars_info_bind_function(info, "my_func", fetch->read_record, fetch);
+	pars_info_bind_varchar_literal(info, "word", word->f_str, word->f_len);
+
+	if (!*graph) {
+
 		*graph = fts_parse_sql(
 			fts_table,
 			info,
@@ -512,7 +514,7 @@ fts_index_fetch_nodes(
 			"DECLARE CURSOR c IS"
 			" SELECT word, doc_count, first_doc_id, last_doc_id, "
 				"ilist\n"
-			" FROM \"%s\"\n"
+			" FROM $table_name\n"
 			" WHERE word LIKE :word\n"
 			" ORDER BY first_doc_id;\n"
 			"BEGIN\n"
@@ -812,6 +814,8 @@ fts_index_fetch_words(
 	     fts_index_selector[selected].value;
 	     selected++) {
 
+		char	table_name[MAX_FULL_NAME_LEN];
+
 		optim->fts_index_table.suffix = fts_get_suffix(selected);
 
 		/* We've search all indexes. */
@@ -827,13 +831,16 @@ fts_index_fetch_words(
 		pars_info_bind_varchar_literal(
 			info, "word", word->f_str, word->f_len);
 
+		fts_get_table_name(&optim->fts_index_table, table_name);
+		pars_info_bind_id(info, true, "table_name", table_name);
+
 		graph = fts_parse_sql(
 			&optim->fts_index_table,
 			info,
 			"DECLARE FUNCTION my_func;\n"
 			"DECLARE CURSOR c IS"
 			" SELECT word\n"
-			" FROM \"%s\"\n"
+			" FROM $table_name\n"
 			" WHERE word > :word\n"
 			" ORDER BY word;\n"
 			"BEGIN\n"
@@ -975,6 +982,7 @@ fts_table_fetch_doc_ids(
 	que_t*		graph;
 	pars_info_t*	info = pars_info_create();
 	ibool		alloc_bk_trx = FALSE;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	ut_a(fts_table->suffix != NULL);
 	ut_a(fts_table->type == FTS_COMMON_TABLE);
@@ -988,12 +996,15 @@ fts_table_fetch_doc_ids(
 
 	pars_info_bind_function(info, "my_func", fts_fetch_doc_ids, doc_ids);
 
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
+
 	graph = fts_parse_sql(
 		fts_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
 		"DECLARE CURSOR c IS"
-		" SELECT doc_id FROM \"%s\";\n"
+		" SELECT doc_id FROM $table_name;\n"
 		"BEGIN\n"
 		"\n"
 		"OPEN c;\n"
@@ -1446,7 +1457,7 @@ fts_optimize_write_word(
 	que_t*		graph;
 	ulint		selected;
 	dberr_t		error = DB_SUCCESS;
-	char*		table_name = fts_get_table_name(fts_table);
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -1464,11 +1475,13 @@ fts_optimize_write_word(
 				    word->f_str, word->f_len);
 
 	fts_table->suffix = fts_get_suffix(selected);
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
 
 	graph = fts_parse_sql(
 		fts_table,
 		info,
-		"BEGIN DELETE FROM \"%s\" WHERE word = :word;");
+		"BEGIN DELETE FROM $table_name WHERE word = :word;");
 
 	error = fts_eval_sql(trx, graph);
 
@@ -1482,8 +1495,6 @@ fts_optimize_write_word(
 	fts_que_graph_free(graph);
 	graph = NULL;
 
-	mem_free(table_name);
-
 	/* Even if the operation needs to be rolled back and redone,
 	we iterate over the nodes in order to free the ilist. */
 	for (i = 0; i < ib_vector_size(nodes); ++i) {
@@ -1541,7 +1552,7 @@ fts_optimize_compact(
 /*=================*/
 	fts_optimize_t*	optim,		/*!< in: optimize state data */
 	dict_index_t*	index,		/*!< in: current FTS being optimized */
-	ib_time_t	start_time)	/*!< in: optimize start time */
+	time_t		start_time)	/*!< in: optimize start time */
 {
 	ulint		i;
 	dberr_t		error = DB_SUCCESS;
@@ -1574,8 +1585,11 @@ fts_optimize_compact(
 		/* Free the word that was optimized. */
 		fts_word_free(word);
 
+		ulint interval = ulint(time(NULL) - start_time);
+
 		if (fts_optimize_time_limit > 0
-		    && (ut_time() - start_time) > fts_optimize_time_limit) {
+		    && (lint(interval) < 0
+			|| interval > fts_optimize_time_limit)) {
 
 			optim->done = TRUE;
 		}
@@ -1609,12 +1623,10 @@ fts_optimize_create(
 
 	optim->trx = trx_allocate_for_background();
 
-	optim->fts_common_table.parent = table->name;
 	optim->fts_common_table.table_id = table->id;
 	optim->fts_common_table.type = FTS_COMMON_TABLE;
 	optim->fts_common_table.table = table;
 
-	optim->fts_index_table.parent = table->name;
 	optim->fts_index_table.table_id = table->id;
 	optim->fts_index_table.type = FTS_INDEX_TABLE;
 	optim->fts_index_table.table = table;
@@ -1636,7 +1648,7 @@ fts_optimize_get_index_start_time(
 /*==============================*/
 	trx_t*		trx,			/*!< in: transaction */
 	dict_index_t*	index,			/*!< in: FTS index */
-	ib_time_t*	start_time)		/*!< out: time in secs */
+	time_t*		start_time)		/*!< out: time in secs */
 {
 	return(fts_config_get_index_ulint(
 		       trx, index, FTS_OPTIMIZE_START_TIME,
@@ -1652,7 +1664,7 @@ fts_optimize_set_index_start_time(
 /*==============================*/
 	trx_t*		trx,			/*!< in: transaction */
 	dict_index_t*	index,			/*!< in: FTS index */
-	ib_time_t	start_time)		/*!< in: start time */
+	time_t		start_time)		/*!< in: start time */
 {
 	return(fts_config_set_index_ulint(
 		       trx, index, FTS_OPTIMIZE_START_TIME,
@@ -1668,7 +1680,7 @@ fts_optimize_get_index_end_time(
 /*============================*/
 	trx_t*		trx,			/*!< in: transaction */
 	dict_index_t*	index,			/*!< in: FTS index */
-	ib_time_t*	end_time)		/*!< out: time in secs */
+	time_t*		end_time)		/*!< out: time in secs */
 {
 	return(fts_config_get_index_ulint(
 		       trx, index, FTS_OPTIMIZE_END_TIME, (ulint*) end_time));
@@ -1683,7 +1695,7 @@ fts_optimize_set_index_end_time(
 /*============================*/
 	trx_t*		trx,			/*!< in: transaction */
 	dict_index_t*	index,			/*!< in: FTS index */
-	ib_time_t	end_time)		/*!< in: end time */
+	time_t		end_time)		/*!< in: end time */
 {
 	return(fts_config_set_index_ulint(
 		       trx, index, FTS_OPTIMIZE_END_TIME, (ulint) end_time));
@@ -1735,7 +1747,7 @@ fts_optimize_free(
 	fts_doc_ids_free(optim->to_delete);
 	fts_optimize_graph_free(&optim->graph);
 
-	mem_free(optim->name_prefix);
+	ut_free(optim->name_prefix);
 
 	/* This will free the heap from which optim itself was allocated. */
 	mem_heap_free(heap);
@@ -1745,22 +1757,23 @@ fts_optimize_free(
 Get the max time optimize should run in millisecs.
 @return max optimize time limit in millisecs. */
 static
-ib_time_t
+ulint
 fts_optimize_get_time_limit(
 /*========================*/
 	trx_t*		trx,			/*!< in: transaction */
 	fts_table_t*	fts_table)		/*!< in: aux table */
 {
-	ib_time_t	time_limit = 0;
+	ulint	time_limit = 0;
 
 	fts_config_get_ulint(
 		trx, fts_table,
-		FTS_OPTIMIZE_LIMIT_IN_SECS, (ulint*) &time_limit);
+		FTS_OPTIMIZE_LIMIT_IN_SECS, &time_limit);
 
+	/* FIXME: This is returning milliseconds, while the variable
+	is being stored and interpreted as seconds! */
 	return(time_limit * 1000);
 }
 
-
 /**********************************************************************//**
 Run OPTIMIZE on the given table. Note: this can take a very long time
 (hours). */
@@ -1773,7 +1786,6 @@ fts_optimize_words(
 	fts_string_t*	word)	/*!< in: the starting word to optimize */
 {
 	fts_fetch_t	fetch;
-	ib_time_t	start_time;
 	que_t*		graph = NULL;
 	CHARSET_INFO*	charset = optim->fts_index_table.charset;
 
@@ -1783,14 +1795,12 @@ fts_optimize_words(
 	fts_optimize_time_limit = fts_optimize_get_time_limit(
 		optim->trx, &optim->fts_common_table);
 
-	start_time = ut_time();
+	const time_t start_time = time(NULL);
 
 	/* Setup the callback to use for fetching the word ilist etc. */
 	fetch.read_arg = optim->words;
 	fetch.read_record = fts_optimize_index_fetch_node;
 
-	fprintf(stderr, "%.*s\n", (int) word->f_len, word->f_str);
-
 	while(!optim->done) {
 		dberr_t	error;
 		trx_t*	trx = optim->trx;
@@ -1908,7 +1918,7 @@ fts_optimize_index_completed(
 	dberr_t		error;
 	byte		buf[sizeof(ulint)];
 #ifdef FTS_OPTIMIZE_DEBUG
-	ib_time_t	end_time = ut_time();
+	time_t		end_time = time(NULL);
 
 	error = fts_optimize_set_index_end_time(optim->trx, index, end_time);
 #endif
@@ -2075,9 +2085,10 @@ fts_optimize_purge_deleted_doc_ids(
 	pars_info_t*	info;
 	que_t*		graph;
 	fts_update_t*	update;
-	char*		sql_str;
 	doc_id_t	write_doc_id;
 	dberr_t		error = DB_SUCCESS;
+	char		deleted[MAX_FULL_NAME_LEN];
+	char		deleted_cache[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -2094,14 +2105,17 @@ fts_optimize_purge_deleted_doc_ids(
 	fts_bind_doc_id(info, "doc_id1", &write_doc_id);
 	fts_bind_doc_id(info, "doc_id2", &write_doc_id);
 
-	/* Since we only replace the table_id and don't construct the full
-	name, we do substitution ourselves. Remember to free sql_str. */
-	sql_str = ut_strreplace(
-		fts_delete_doc_ids_sql, "%s", optim->name_prefix);
+	/* Make sure the following two names are consistent with the name
+	used in the fts_delete_doc_ids_sql */
+	optim->fts_common_table.suffix = fts_common_tables[3];
+	fts_get_table_name(&optim->fts_common_table, deleted);
+	pars_info_bind_id(info, true, fts_common_tables[3], deleted);
 
-	graph = fts_parse_sql(NULL, info, sql_str);
+	optim->fts_common_table.suffix = fts_common_tables[4];
+	fts_get_table_name(&optim->fts_common_table, deleted_cache);
+	pars_info_bind_id(info, true, fts_common_tables[4], deleted_cache);
 
-	mem_free(sql_str);
+	graph = fts_parse_sql(NULL, info, fts_delete_doc_ids_sql);
 
 	/* Delete the doc ids that were copied at the start. */
 	for (i = 0; i < ib_vector_size(optim->to_delete->doc_ids); ++i) {
@@ -2142,17 +2156,26 @@ fts_optimize_purge_deleted_doc_id_snapshot(
 {
 	dberr_t		error;
 	que_t*		graph;
-	char*		sql_str;
+	pars_info_t*	info;
+	char		being_deleted[MAX_FULL_NAME_LEN];
+	char		being_deleted_cache[MAX_FULL_NAME_LEN];
 
-	/* Since we only replace the table_id and don't construct
-	the full name, we do the '%s' substitution ourselves. */
-	sql_str = ut_strreplace(fts_end_delete_sql, "%s", optim->name_prefix);
+	info = pars_info_create();
+
+	/* Make sure the following two names are consistent with the name
+	used in the fts_end_delete_sql */
+	optim->fts_common_table.suffix = fts_common_tables[0];
+	fts_get_table_name(&optim->fts_common_table, being_deleted);
+	pars_info_bind_id(info, true, fts_common_tables[0], being_deleted);
+
+	optim->fts_common_table.suffix = fts_common_tables[1];
+	fts_get_table_name(&optim->fts_common_table, being_deleted_cache);
+	pars_info_bind_id(info, true, fts_common_tables[1],
+			  being_deleted_cache);
 
 	/* Delete the doc ids that were copied to delete pending state at
 	the start of optimize. */
-	graph = fts_parse_sql(NULL, NULL, sql_str);
-
-	mem_free(sql_str);
+	graph = fts_parse_sql(NULL, info, fts_end_delete_sql);
 
 	error = fts_eval_sql(optim->trx, graph);
 	fts_que_graph_free(graph);
@@ -2192,16 +2215,35 @@ fts_optimize_create_deleted_doc_id_snapshot(
 {
 	dberr_t		error;
 	que_t*		graph;
-	char*		sql_str;
+	pars_info_t*	info;
+	char		being_deleted[MAX_FULL_NAME_LEN];
+	char		deleted[MAX_FULL_NAME_LEN];
+	char		being_deleted_cache[MAX_FULL_NAME_LEN];
+	char		deleted_cache[MAX_FULL_NAME_LEN];
+
+	info = pars_info_create();
 
-	/* Since we only replace the table_id and don't construct the
-	full name, we do the substitution ourselves. */
-	sql_str = ut_strreplace(fts_init_delete_sql, "%s", optim->name_prefix);
+	/* Make sure the following four names are consistent with the name
+	used in the fts_init_delete_sql */
+	optim->fts_common_table.suffix = fts_common_tables[0];
+	fts_get_table_name(&optim->fts_common_table, being_deleted);
+	pars_info_bind_id(info, true, fts_common_tables[0], being_deleted);
 
-	/* Move doc_ids that are to be deleted to state being deleted. */
-	graph = fts_parse_sql(NULL, NULL, sql_str);
+	optim->fts_common_table.suffix = fts_common_tables[3];
+	fts_get_table_name(&optim->fts_common_table, deleted);
+	pars_info_bind_id(info, true, fts_common_tables[3], deleted);
 
-	mem_free(sql_str);
+	optim->fts_common_table.suffix = fts_common_tables[1];
+	fts_get_table_name(&optim->fts_common_table, being_deleted_cache);
+	pars_info_bind_id(info, true, fts_common_tables[1],
+			  being_deleted_cache);
+
+	optim->fts_common_table.suffix = fts_common_tables[4];
+	fts_get_table_name(&optim->fts_common_table, deleted_cache);
+	pars_info_bind_id(info, true, fts_common_tables[4], deleted_cache);
+
+	/* Move doc_ids that are to be deleted to state being deleted. */
+	graph = fts_parse_sql(NULL, info, fts_init_delete_sql);
 
 	error = fts_eval_sql(optim->trx, graph);
 
@@ -2274,8 +2316,8 @@ fts_optimize_indexes(
 		dict_index_t*	index;
 
 #ifdef	FTS_OPTIMIZE_DEBUG
-		ib_time_t	end_time;
-		ib_time_t	start_time;
+		time_t	end_time;
+		time_t	start_time;
 
 		/* Get the start and end optimize times for this index. */
 		error = fts_optimize_get_index_start_time(
@@ -2295,14 +2337,14 @@ fts_optimize_indexes(
 		/* Start time will be 0 only for the first time or after
 		completing the optimization of all FTS indexes. */
 		if (start_time == 0) {
-			start_time = ut_time();
+			start_time = time(NULL);
 
 			error = fts_optimize_set_index_start_time(
 				optim->trx, index, start_time);
 		}
 
 		/* Check if this index needs to be optimized or not. */
-		if (ut_difftime(end_time, start_time) < 0) {
+		if (difftime(end_time, start_time) < 0) {
 			error = fts_optimize_index(optim, index);
 
 			if (error != DB_SUCCESS) {
@@ -2374,7 +2416,7 @@ fts_optimize_reset_start_time(
 	for (uint i = 0; i < ib_vector_size(fts->indexes); ++i) {
 		dict_index_t*	index;
 
-		ib_time_t	start_time = 0;
+		time_t	start_time = 0;
 
 		/* Reset the start time to 0 for this index. */
 		error = fts_optimize_set_index_start_time(
@@ -2403,32 +2445,45 @@ fts_optimize_table_bk(
 /*==================*/
 	fts_slot_t*	slot)	/*!< in: table to optimiza */
 {
-	dberr_t		error;
-	dict_table_t*	table = slot->table;
-	fts_t*		fts = table->fts;
+	const time_t now = time(NULL);
+	const ulint interval = ulint(now - slot->last_run);
 
 	/* Avoid optimizing tables that were optimized recently. */
 	if (slot->last_run > 0
-	    && (ut_time() - slot->last_run) < slot->interval_time) {
+	    && lint(interval) >= 0
+	    && interval < FTS_OPTIMIZE_INTERVAL_IN_SECS) {
 
 		return(DB_SUCCESS);
+	}
+
+	dict_table_t* table = dict_table_open_on_id(
+		slot->table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
-	} else if (fts && fts->cache
-		   && fts->cache->deleted >= FTS_OPTIMIZE_THRESHOLD) {
+	if (!table) {
+		slot->last_run = now;
+		return DB_SUCCESS;
+	}
+
+	dberr_t		error;
 
+	if (fil_table_accessible(table)
+	    && table->fts && table->fts->cache
+	    && table->fts->cache->deleted >= FTS_OPTIMIZE_THRESHOLD) {
 		error = fts_optimize_table(table);
 
+		slot->last_run = time(NULL);
+
 		if (error == DB_SUCCESS) {
-			slot->state = FTS_STATE_DONE;
-			slot->last_run = 0;
-			slot->completed = ut_time();
+			slot->running = false;
+			slot->completed = slot->last_run;
 		}
 	} else {
+		/* Note time this run completed. */
+		slot->last_run = now;
 		error = DB_SUCCESS;
 	}
 
-	/* Note time this run completed. */
-	slot->last_run = ut_time();
+	dict_table_close(table, FALSE, FALSE);
 
 	return(error);
 }
@@ -2647,85 +2702,59 @@ fts_optimize_request_sync_table(
 	ib_wqueue_add(fts_optimize_wq, msg, msg->heap);
 }
 
-/**********************************************************************//**
-Add the table to the vector if it doesn't already exist. */
-static
-ibool
-fts_optimize_new_table(
-/*===================*/
-	ib_vector_t*	tables,			/*!< in/out: vector of tables */
-	dict_table_t*	table)			/*!< in: table to add */
+/** Add a table to fts_slots if it doesn't already exist. */
+static bool fts_optimize_new_table(dict_table_t* table)
 {
 	ulint		i;
 	fts_slot_t*	slot;
-	ulint		empty_slot = ULINT_UNDEFINED;
+	fts_slot_t*	empty = NULL;
+	const table_id_t table_id = table->id;
+	ut_ad(table_id);
 
 	/* Search for duplicates, also find a free slot if one exists. */
-	for (i = 0; i < ib_vector_size(tables); ++i) {
+	for (i = 0; i < ib_vector_size(fts_slots); ++i) {
 
-		slot = static_cast(
-			ib_vector_get(tables, i));
+		slot = static_cast(ib_vector_get(fts_slots, i));
 
-		if (slot->state == FTS_STATE_EMPTY) {
-			empty_slot = i;
-		} else if (slot->table->id == table->id) {
+		if (!slot->table_id) {
+			empty = slot;
+		} else if (slot->table_id == table_id) {
 			/* Already exists in our optimize queue. */
-			ut_ad(slot->table_id = table->id);
 			return(FALSE);
 		}
 	}
 
-	/* Reuse old slot. */
-	if (empty_slot != ULINT_UNDEFINED) {
-
-		slot = static_cast(
-			ib_vector_get(tables, empty_slot));
-
-		ut_a(slot->state == FTS_STATE_EMPTY);
-
-	} else { /* Create a new slot. */
-
-		slot = static_cast(ib_vector_push(tables, NULL));
-	}
+	slot = empty ? empty : static_cast(
+		ib_vector_push(fts_slots, NULL));
 
 	memset(slot, 0x0, sizeof(*slot));
 
-	slot->table = table;
 	slot->table_id = table->id;
-	slot->state = FTS_STATE_LOADED;
-	slot->interval_time = FTS_OPTIMIZE_INTERVAL_IN_SECS;
+	slot->running = false;
 
 	return(TRUE);
 }
 
-/**********************************************************************//**
-Remove the table from the vector if it exists. */
-static
-ibool
-fts_optimize_del_table(
-/*===================*/
-	ib_vector_t*	tables,			/*!< in/out: vector of tables */
-	fts_msg_del_t*	msg)			/*!< in: table to delete */
+/** Remove a table from fts_slots if it exists.
+@param[in,out]	table	table to be removed from fts_slots */
+static bool fts_optimize_del_table(const dict_table_t* table)
 {
-	ulint		i;
-	dict_table_t*	table = msg->table;
+	const table_id_t table_id = table->id;
+	ut_ad(table_id);
 
-	for (i = 0; i < ib_vector_size(tables); ++i) {
+	for (ulint i = 0; i < ib_vector_size(fts_slots); ++i) {
 		fts_slot_t*	slot;
 
-		slot = static_cast(ib_vector_get(tables, i));
+		slot = static_cast(ib_vector_get(fts_slots, i));
 
-		/* FIXME: Should we assert on this ? */
-		if (slot->state != FTS_STATE_EMPTY
-		    && slot->table->id == table->id) {
-
-			ut_print_timestamp(stderr);
-			fprintf(stderr, " InnoDB: FTS Optimize Removing "
-				"table %s\n", table->name);
-
-			slot->table = NULL;
-			slot->state = FTS_STATE_EMPTY;
+		if (slot->table_id == table_id) {
+			if (fts_enable_diag_print) {
+				ib_logf(IB_LOG_LEVEL_INFO,
+					"FTS Optimize Removing table %s",
+					table->name);
+			}
 
+			slot->table_id = 0;
 			return(TRUE);
 		}
 	}
@@ -2734,58 +2763,28 @@ fts_optimize_del_table(
 }
 
 /**********************************************************************//**
-Calculate how many of the registered tables need to be optimized.
+Calculate how many tables in fts_slots need to be optimized.
 @return no. of tables to optimize */
-static
-ulint
-fts_optimize_how_many(
-/*==================*/
-	const ib_vector_t*	tables)		/*!< in: registered tables
-						vector*/
+static ulint fts_optimize_how_many()
 {
-	ulint		i;
-	ib_time_t	delta;
-	ulint		n_tables = 0;
-	ib_time_t	current_time;
-
-	current_time = ut_time();
-
-	for (i = 0; i < ib_vector_size(tables); ++i) {
-		const fts_slot_t*	slot;
-
-		slot = static_cast(
-			ib_vector_get_const(tables, i));
-
-		switch (slot->state) {
-		case FTS_STATE_DONE:
-		case FTS_STATE_LOADED:
-			ut_a(slot->completed <= current_time);
+	ulint n_tables = 0;
+	const time_t current_time = time(NULL);
 
-			delta = current_time - slot->completed;
-
-			/* Skip slots that have been optimized recently. */
-			if (delta >= slot->interval_time) {
-				++n_tables;
-			}
-			break;
-
-		case FTS_STATE_RUNNING:
-			ut_a(slot->last_run <= current_time);
+	for (ulint i = 0; i < ib_vector_size(fts_slots); ++i) {
+		const fts_slot_t* slot = static_cast(
+			ib_vector_get_const(fts_slots, i));
+		if (slot->table_id == 0) {
+			continue;
+		}
 
-			delta = current_time - slot->last_run;
+		const time_t end = slot->running
+			? slot->last_run : slot->completed;
+		ulint interval = ulint(current_time - end);
 
-			if (delta > slot->interval_time) {
-				++n_tables;
-			}
-			break;
-
-			/* Slots in a state other than the above
-			are ignored. */
-		case FTS_STATE_EMPTY:
-		case FTS_STATE_SUSPENDED:
-			break;
+		if (lint(interval) < 0
+		    || interval >= FTS_OPTIMIZE_INTERVAL_IN_SECS) {
+			++n_tables;
 		}
-
 	}
 
 	return(n_tables);
@@ -2794,33 +2793,38 @@ fts_optimize_how_many(
 /**********************************************************************//**
 Check if the total memory used by all FTS table exceeds the maximum limit.
 @return true if a sync is needed, false otherwise */
-static
-bool
-fts_is_sync_needed(
-/*===============*/
-	const ib_vector_t*	tables)		/*!< in: registered tables
-						vector*/
+static bool fts_is_sync_needed()
 {
 	ulint		total_memory = 0;
-	double		time_diff = difftime(ut_time(), last_check_sync_time);
+	const time_t	now = time(NULL);
+	double		time_diff = difftime(now, last_check_sync_time);
 
-	if (fts_need_sync || time_diff < 5) {
+	if (fts_need_sync || (time_diff >= 0 && time_diff < 5)) {
 		return(false);
 	}
 
-	last_check_sync_time = ut_time();
+	last_check_sync_time = now;
+
+	for (ulint i = 0; i < ib_vector_size(fts_slots); ++i) {
+		const fts_slot_t* slot = static_cast(
+			ib_vector_get_const(fts_slots, i));
 
-	for (ulint i = 0; i < ib_vector_size(tables); ++i) {
-		const fts_slot_t*	slot;
+		if (slot->table_id == 0) {
+			continue;
+		}
 
-		slot = static_cast(
-			ib_vector_get_const(tables, i));
+		dict_table_t* table = dict_table_open_on_id(
+			slot->table_id, FALSE, DICT_TABLE_OP_NORMAL);
+		if (!table) {
+			continue;
+		}
 
-		if (slot->state != FTS_STATE_EMPTY && slot->table
-		    && slot->table->fts) {
-			total_memory += slot->table->fts->cache->total_size;
+		if (table->fts && table->fts->cache) {
+			total_memory += table->fts->cache->total_size;
 		}
 
+		dict_table_close(table, FALSE, FALSE);
+
 		if (total_memory > fts_max_total_cache_size) {
 			return(true);
 		}
@@ -2831,16 +2835,12 @@ fts_is_sync_needed(
 
 /** Sync fts cache of a table
 @param[in]	table_id	table id */
-void
-fts_optimize_sync_table(
-	table_id_t	table_id)
+static void fts_optimize_sync_table(table_id_t table_id)
 {
-	dict_table_t*   table = NULL;
-
-	table = dict_table_open_on_id(table_id, FALSE, DICT_TABLE_OP_NORMAL);
-
-	if (table) {
-		if (dict_table_has_fts_index(table) && table->fts->cache) {
+	if (dict_table_t* table = dict_table_open_on_id(
+		    table_id, FALSE, DICT_TABLE_OP_NORMAL)) {
+		if (fil_table_accessible(table)
+		    && table->fts && table->fts->cache) {
 			fts_sync_table(table, true, false, false);
 		}
 
@@ -2858,7 +2858,6 @@ fts_optimize_thread(
 	void*		arg)			/*!< in: work queue*/
 {
 	mem_heap_t*	heap;
-	ib_vector_t*	tables;
 	ib_alloc_t*	heap_alloc;
 	ulint		current = 0;
 	ibool		done = FALSE;
@@ -2873,7 +2872,7 @@ fts_optimize_thread(
 	heap = mem_heap_create(sizeof(dict_table_t*) * 64);
 	heap_alloc = ib_heap_allocator_create(heap);
 
-	tables = ib_vector_create(heap_alloc, sizeof(fts_slot_t), 4);
+	fts_slots = ib_vector_create(heap_alloc, sizeof(fts_slot_t), 4);
 
 	while(!done && srv_shutdown_state == SRV_SHUTDOWN_NONE) {
 
@@ -2884,28 +2883,18 @@ fts_optimize_thread(
 		    && ib_wqueue_is_empty(wq)
 		    && n_tables > 0
 		    && n_optimize > 0) {
-
-			fts_slot_t*	slot;
-
-			ut_a(ib_vector_size(tables) > 0);
-
-			slot = static_cast(
-				ib_vector_get(tables, current));
+			fts_slot_t* slot = static_cast(
+				ib_vector_get(fts_slots, current));
 
 			/* Handle the case of empty slots. */
-			if (slot->state != FTS_STATE_EMPTY) {
-
-				slot->state = FTS_STATE_RUNNING;
-
+			if (slot->table_id) {
+				slot->running = true;
 				fts_optimize_table_bk(slot);
 			}
 
-			++current;
-
 			/* Wrap around the counter. */
-			if (current >= ib_vector_size(tables)) {
-				n_optimize = fts_optimize_how_many(tables);
-
+			if (++current >= ib_vector_size(fts_slots)) {
+				n_optimize = fts_optimize_how_many();
 				current = 0;
 			}
 
@@ -2917,7 +2906,7 @@ fts_optimize_thread(
 
 			/* Timeout ? */
 			if (msg == NULL) {
-				if (fts_is_sync_needed(tables)) {
+				if (fts_is_sync_needed()) {
 					fts_need_sync = true;
 				}
 
@@ -2933,17 +2922,16 @@ fts_optimize_thread(
 			case FTS_MSG_ADD_TABLE:
 				ut_a(!done);
 				if (fts_optimize_new_table(
-					tables,
-					static_cast(
-					msg->ptr))) {
+					    static_cast(
+						    msg->ptr))) {
 					++n_tables;
 				}
 				break;
 
 			case FTS_MSG_DEL_TABLE:
 				if (fts_optimize_del_table(
-					tables, static_cast(
-						msg->ptr))) {
+					    static_cast(
+						    msg->ptr)->table)) {
 					--n_tables;
 				}
 
@@ -2967,33 +2955,25 @@ fts_optimize_thread(
 			}
 
 			mem_heap_free(msg->heap);
-
-			if (!done) {
-				n_optimize = fts_optimize_how_many(tables);
-			} else {
-				n_optimize = 0;
-			}
+			n_optimize = done ? 0 : fts_optimize_how_many();
 		}
 	}
 
 	/* Server is being shutdown, sync the data from FTS cache to disk
 	if needed */
 	if (n_tables > 0) {
-		ulint	i;
-
-		for (i = 0; i < ib_vector_size(tables); i++) {
-			fts_slot_t*	slot;
-
-			slot = static_cast(
-				ib_vector_get(tables, i));
+		for (ulint i = 0; i < ib_vector_size(fts_slots); i++) {
+			fts_slot_t* slot = static_cast(
+				ib_vector_get(fts_slots, i));
 
-			if (slot->state != FTS_STATE_EMPTY) {
-				fts_optimize_sync_table(slot->table_id);
+			if (table_id_t table_id = slot->table_id) {
+				fts_optimize_sync_table(table_id);
 			}
 		}
 	}
 
-	ib_vector_free(tables);
+	ib_vector_free(fts_slots);
+	fts_slots = NULL;
 
 	ib_logf(IB_LOG_LEVEL_INFO, "FTS optimize thread exiting.");
 
@@ -3021,7 +3001,7 @@ fts_optimize_init(void)
 
 	fts_optimize_wq = ib_wqueue_create();
 	ut_a(fts_optimize_wq != NULL);
-	last_check_sync_time = ut_time();
+	last_check_sync_time = time(NULL);
 
 	os_thread_create(fts_optimize_thread, fts_optimize_wq, NULL);
 }
diff --git a/storage/innobase/fts/fts0pars.y b/storage/innobase/fts/fts0pars.y
index 65c4189ee..31895e8a8 100644
--- a/storage/innobase/fts/fts0pars.y
+++ b/storage/innobase/fts/fts0pars.y
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/fts/fts0que.cc b/storage/innobase/fts/fts0que.cc
index 7983181c2..ce6151e63 100644
--- a/storage/innobase/fts/fts0que.cc
+++ b/storage/innobase/fts/fts0que.cc
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2018, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -2032,13 +2032,22 @@ fts_query_find_term(
 	fts_select_t		select;
 	doc_id_t		match_doc_id;
 	trx_t*			trx = query->trx;
+	char			table_name[MAX_FULL_NAME_LEN];
 
 	trx->op_info = "fetching FTS index matching nodes";
 
 	if (*graph) {
 		info = (*graph)->info;
 	} else {
+		ulint	selected;
+
 		info = pars_info_create();
+
+		selected = fts_select_index(*word->f_str);
+		query->fts_index_table.suffix = fts_get_suffix(selected);
+
+		fts_get_table_name(&query->fts_index_table, table_name);
+		pars_info_bind_id(info, true, "index_table_name", table_name);
 	}
 
 	select.found = FALSE;
@@ -2057,11 +2066,6 @@ fts_query_find_term(
 	fts_bind_doc_id(info, "max_doc_id", &match_doc_id);
 
 	if (!*graph) {
-		ulint		selected;
-
-		selected = fts_select_index(*word->f_str);
-
-		query->fts_index_table.suffix = fts_get_suffix(selected);
 
 		*graph = fts_parse_sql(
 			&query->fts_index_table,
@@ -2069,7 +2073,7 @@ fts_query_find_term(
 			"DECLARE FUNCTION my_func;\n"
 			"DECLARE CURSOR c IS"
 			" SELECT doc_count, ilist\n"
-			" FROM \"%s\"\n"
+			" FROM $index_table_name\n"
 			" WHERE word LIKE :word AND "
 			"	first_doc_id <= :min_doc_id AND "
 			"	last_doc_id >= :max_doc_id\n"
@@ -2168,6 +2172,7 @@ fts_query_total_docs_containing_term(
 	que_t*			graph;
 	ulint			selected;
 	trx_t*			trx = query->trx;
+	char			table_name[MAX_FULL_NAME_LEN]
 
 	trx->op_info = "fetching FTS index document count";
 
@@ -2182,13 +2187,17 @@ fts_query_total_docs_containing_term(
 
 	query->fts_index_table.suffix = fts_get_suffix(selected);
 
+	fts_get_table_name(&query->fts_index_table, table_name);
+
+	pars_info_bind_id(info, true, "index_table_name", table_name);
+
 	graph = fts_parse_sql(
 		&query->fts_index_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
 		"DECLARE CURSOR c IS"
 		" SELECT doc_count\n"
-		" FROM %s\n"
+		" FROM $index_table_name\n"
 		" WHERE word = :word "
 		" ORDER BY first_doc_id;\n"
 		"BEGIN\n"
@@ -2247,6 +2256,7 @@ fts_query_terms_in_document(
 	que_t*		graph;
 	doc_id_t	read_doc_id;
 	trx_t*		trx = query->trx;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	trx->op_info = "fetching FTS document term count";
 
@@ -2262,13 +2272,17 @@ fts_query_terms_in_document(
 
 	query->fts_index_table.suffix = "DOC_ID";
 
+	fts_get_table_name(&query->fts_index_table, table_name);
+
+	pars_info_bind_id(info, true, "index_table_name", table_name);
+
 	graph = fts_parse_sql(
 		&query->fts_index_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
 		"DECLARE CURSOR c IS"
 		" SELECT count\n"
-		" FROM \"%s\"\n"
+		" FROM $index_table_name\n"
 		" WHERE doc_id = :doc_id "
 		"BEGIN\n"
 		"\n"
@@ -3870,7 +3884,6 @@ fts_query(
 
 	query.fts_common_table.type = FTS_COMMON_TABLE;
 	query.fts_common_table.table_id = index->table->id;
-	query.fts_common_table.parent = index->table->name;
 	query.fts_common_table.table = index->table;
 
 	charset = fts_index_get_charset(index);
@@ -3878,7 +3891,6 @@ fts_query(
 	query.fts_index_table.type = FTS_INDEX_TABLE;
 	query.fts_index_table.index_id = index->id;
 	query.fts_index_table.table_id = index->table->id;
-	query.fts_index_table.parent = index->table->name;
 	query.fts_index_table.charset = charset;
 	query.fts_index_table.table = index->table;
 
diff --git a/storage/innobase/fts/fts0sql.cc b/storage/innobase/fts/fts0sql.cc
index cb8eff3ca..258164415 100644
--- a/storage/innobase/fts/fts0sql.cc
+++ b/storage/innobase/fts/fts0sql.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2013, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -35,8 +36,7 @@ Created 2007-03-27 Sunny Bains
 #include "fts0vlc.ic"
 #endif
 
-/** SQL statements for creating the ancillary FTS tables. %s must be replaced
-with the indexed table's id. */
+/** SQL statements for creating the ancillary FTS tables. */
 
 /** Preamble to all SQL statements. */
 static const char* fts_sql_begin=
@@ -95,76 +95,56 @@ fts_get_table_id(
 	return(len);
 }
 
-/******************************************************************//**
-Construct the prefix name of an FTS table.
-@return own: table name, must be freed with mem_free() */
-UNIV_INTERN
-char*
-fts_get_table_name_prefix(
-/*======================*/
-	const fts_table_t*
-			fts_table)	/*!< in: Auxiliary table type */
+/** Construct the name of an internal FTS table for the given table.
+@param[in]	fts_table	metadata on fulltext-indexed table
+@param[in]	dict_locked	whether dict_sys->mutex is being held
+@return	the prefix, must be freed with ut_free() */
+UNIV_INTERN char* fts_get_table_name_prefix(const fts_table_t* fts_table)
 {
-	int		len;
-	const char*	slash;
-	char*		prefix_name;
-	int		dbname_len = 0;
-	int		prefix_name_len;
 	char		table_id[FTS_AUX_MIN_TABLE_ID_LENGTH];
-
-	slash = static_cast(
-		memchr(fts_table->parent, '/', strlen(fts_table->parent)));
-
-	if (slash) {
-		/* Print up to and including the separator. */
-		dbname_len = static_cast(slash - fts_table->parent) + 1;
-	}
-
-	len = fts_get_table_id(fts_table, table_id);
-
-	prefix_name_len = dbname_len + 4 + len + 1;
-
-	prefix_name = static_cast(mem_alloc(prefix_name_len));
-
-	len = sprintf(prefix_name, "%.*sFTS_%s",
-		      dbname_len, fts_table->parent, table_id);
-
-	ut_a(len > 0);
-	ut_a(len == prefix_name_len - 1);
-
-	return(prefix_name);
+	const size_t table_id_len = size_t(fts_get_table_id(fts_table,
+							    table_id)) + 1;
+	mutex_enter(&dict_sys->mutex);
+	const char* slash = strchr(fts_table->table->name, '/');
+	ut_ad(slash);
+	/* Include the separator as well. */
+	const size_t dbname_len = (slash - fts_table->table->name) + 1;
+	ut_ad(dbname_len > 1);
+	const size_t prefix_name_len = dbname_len + 4 + table_id_len;
+	char* prefix_name = static_cast(ut_malloc(prefix_name_len));
+	memcpy(prefix_name, fts_table->table->name, dbname_len);
+	mutex_exit(&dict_sys->mutex);
+	memcpy(prefix_name + dbname_len, "FTS_", 4);
+	memcpy(prefix_name + dbname_len + 4, table_id, table_id_len);
+	return prefix_name;
 }
 
-/******************************************************************//**
-Construct the name of an ancillary FTS table.
-@return own: table name, must be freed with mem_free() */
+/** Construct the name of an internal FTS table for the given table.
+@param[in]	fts_table	metadata on fulltext-indexed table
+@param[out]	table_name	a name up to MAX_FULL_NAME_LEN
+@param[in]	dict_locked	whether dict_sys->mutex is being held */
 UNIV_INTERN
-char*
-fts_get_table_name(
-/*===============*/
-	const fts_table_t*	fts_table)
-					/*!< in: Auxiliary table type */
+void fts_get_table_name(const fts_table_t* fts_table, char* table_name,
+			bool dict_locked)
 {
-	int		len;
-	char*		name;
-	int		name_len;
-	char*		prefix_name;
-
-	prefix_name = fts_get_table_name_prefix(fts_table);
-
-	name_len = static_cast(
-		strlen(prefix_name) + 1 + strlen(fts_table->suffix) + 1);
-
-	name = static_cast(mem_alloc(name_len));
-
-	len = sprintf(name, "%s_%s", prefix_name, fts_table->suffix);
-
-	ut_a(len > 0);
-	ut_a(len == name_len - 1);
-
-	mem_free(prefix_name);
-
-	return(name);
+	if (!dict_locked) {
+		mutex_enter(&dict_sys->mutex);
+	}
+	ut_ad(mutex_own(&dict_sys->mutex));
+	const char* slash = strchr(fts_table->table->name, '/');
+	ut_ad(slash);
+	/* Include the separator as well. */
+	const size_t dbname_len = (slash - fts_table->table->name) + 1;
+	ut_ad(dbname_len > 1);
+	memcpy(table_name, fts_table->table->name, dbname_len);
+	if (!dict_locked) {
+		mutex_exit(&dict_sys->mutex);
+	}
+	memcpy(table_name += dbname_len, "FTS_", 4);
+	table_name += 4;
+	table_name += fts_get_table_id(fts_table, table_name);
+	*table_name++ = '_';
+	strcpy(table_name, fts_table->suffix);
 }
 
 /******************************************************************//**
@@ -180,24 +160,9 @@ fts_parse_sql(
 {
 	char*		str;
 	que_t*		graph;
-	char*		str_tmp;
 	ibool		dict_locked;
 
-	if (fts_table != NULL) {
-		char*	table_name;
-
-		table_name = fts_get_table_name(fts_table);
-		str_tmp = ut_strreplace(sql, "%s", table_name);
-		mem_free(table_name);
-	} else {
-		ulint	sql_len = strlen(sql) + 1;
-
-		str_tmp = static_cast(mem_alloc(sql_len));
-		strcpy(str_tmp, sql);
-	}
-
-	str = ut_str3cat(fts_sql_begin, str_tmp, fts_sql_end);
-	mem_free(str_tmp);
+	str = ut_str3cat(fts_sql_begin, sql, fts_sql_end);
 
 	dict_locked = (fts_table && fts_table->table->fts
 		       && (fts_table->table->fts->fts_status
@@ -223,7 +188,7 @@ fts_parse_sql(
 }
 
 /******************************************************************//**
-Parse an SQL string. %s is replaced with the table's id.
+Parse an SQL string.
 @return query graph */
 UNIV_INTERN
 que_t*
@@ -235,28 +200,10 @@ fts_parse_sql_no_dict_lock(
 {
 	char*		str;
 	que_t*		graph;
-	char*		str_tmp = NULL;
 
-#ifdef UNIV_DEBUG
 	ut_ad(mutex_own(&dict_sys->mutex));
-#endif
-
-	if (fts_table != NULL) {
-		char*		table_name;
-
-		table_name = fts_get_table_name(fts_table);
-		str_tmp = ut_strreplace(sql, "%s", table_name);
-		mem_free(table_name);
-	}
-
-	if (str_tmp != NULL) {
-		str = ut_str3cat(fts_sql_begin, str_tmp, fts_sql_end);
-		mem_free(str_tmp);
-	} else {
-		str = ut_str3cat(fts_sql_begin, sql, fts_sql_end);
-	}
 
-	//fprintf(stderr, "%s\n", str);
+	str = ut_str3cat(fts_sql_begin, sql, fts_sql_end);
 
 	graph = pars_sql(info, str);
 	ut_a(graph);
diff --git a/storage/innobase/fts/fts0tlex.cc b/storage/innobase/fts/fts0tlex.cc
index 73c34a607..9cb46c70e 100644
--- a/storage/innobase/fts/fts0tlex.cc
+++ b/storage/innobase/fts/fts0tlex.cc
@@ -649,7 +649,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**
diff --git a/storage/innobase/fts/fts0tlex.l b/storage/innobase/fts/fts0tlex.l
index 4f55a83af..bcf5439ae 100644
--- a/storage/innobase/fts/fts0tlex.l
+++ b/storage/innobase/fts/fts0tlex.l
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/fts/make_parser.sh b/storage/innobase/fts/make_parser.sh
index 52b63eff6..6b82c5ba6 100755
--- a/storage/innobase/fts/make_parser.sh
+++ b/storage/innobase/fts/make_parser.sh
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License along with
 # this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 
 TMPF=t.$$
diff --git a/storage/innobase/fut/fut0fut.cc b/storage/innobase/fut/fut0fut.cc
index 9bb1c5121..74814acbb 100644
--- a/storage/innobase/fut/fut0fut.cc
+++ b/storage/innobase/fut/fut0fut.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/fut/fut0lst.cc b/storage/innobase/fut/fut0lst.cc
index dd3fa1238..76cf3cadd 100644
--- a/storage/innobase/fut/fut0lst.cc
+++ b/storage/innobase/fut/fut0lst.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ha/ha0ha.cc b/storage/innobase/ha/ha0ha.cc
index ae1eb5598..499412ade 100644
--- a/storage/innobase/ha/ha0ha.cc
+++ b/storage/innobase/ha/ha0ha.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ha/ha0storage.cc b/storage/innobase/ha/ha0storage.cc
index 6820591f3..2a8ee8b24 100644
--- a/storage/innobase/ha/ha0storage.cc
+++ b/storage/innobase/ha/ha0storage.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ha/hash0hash.cc b/storage/innobase/ha/hash0hash.cc
index 174b6bcb5..40354aafa 100644
--- a/storage/innobase/ha/hash0hash.cc
+++ b/storage/innobase/ha/hash0hash.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index cd605b6b7..081fcbd9c 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -29,7 +29,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -95,7 +95,6 @@ MYSQL_PLUGIN_IMPORT extern char mysql_unpacked_real_data_home[];
 #include "dict0stats_bg.h"
 #include "ha_prototypes.h"
 #include "ut0mem.h"
-#include "ut0timer.h"
 #include "ibuf0ibuf.h"
 #include "dict0dict.h"
 #include "srv0mon.h"
@@ -1685,13 +1684,14 @@ innobase_srv_conc_enter_innodb(
 
 		} else if (trx->mysql_thd != NULL
 			   && thd_is_replication_slave_thread(trx->mysql_thd)) {
-
-			UT_WAIT_FOR(
-				srv_conc_get_active_threads()
-				< srv_thread_concurrency,
-				srv_replication_delay * 1000);
-
-		}  else {
+			const ulonglong end = my_interval_timer()
+				+ ulonglong(srv_replication_delay) * 1000000;
+			while (srv_conc_get_active_threads()
+			       >= srv_thread_concurrency
+			       || my_interval_timer() >= end) {
+				os_thread_sleep(2000 /* 2 ms */);
+			}
+		} else {
 			srv_conc_enter_innodb(trx);
 		}
 	}
@@ -12645,11 +12645,12 @@ ha_innobase::delete_table(
 	++trx->will_lock;
 	trx->ddl = true;
 
+	const int sqlcom = thd_sql_command(thd);
+
 	/* Drop the table in InnoDB */
 	err = row_drop_table_for_mysql(
-		norm_name, trx, thd_sql_command(thd) == SQLCOM_DROP_DB,
-		FALSE);
-
+		norm_name, trx, sqlcom == SQLCOM_DROP_DB,
+		sqlcom == SQLCOM_CREATE_TABLE /* CREATE TABLE ... SELECT */);
 
 	if (err == DB_TABLE_NOT_FOUND
 	    && innobase_get_lower_case_table_names() == 1) {
@@ -12679,8 +12680,9 @@ ha_innobase::delete_table(
 #endif
 			err = row_drop_table_for_mysql(
 				par_case_name, trx,
-				thd_sql_command(thd) == SQLCOM_DROP_DB,
-				FALSE);
+				sqlcom == SQLCOM_DROP_DB,
+				sqlcom == SQLCOM_CREATE_TABLE
+				/* CREATE TABLE ... SELECT */);
 		}
 	}
 
@@ -13520,7 +13522,7 @@ innodb_rec_per_key(
 		}
 
 		/* If the number of NULL values is the same as or
-		large than that of the distinct values, we could
+		larger than that of the distinct values, we could
 		consider that the table consists mostly of NULL value.
 		Set rec_per_key to 1. */
 		if (n_diff <= n_null) {
@@ -14455,6 +14457,10 @@ get_foreign_key_info(
 	LEX_STRING*		referenced_key_name;
 	LEX_STRING*		name = NULL;
 
+	if (row_is_mysql_tmp_table_name(foreign->foreign_table_name)) {
+		return NULL;
+	}
+
 	ptr = dict_remove_db_name(foreign->id);
 	f_key_info.foreign_id = thd_make_lex_string(thd, 0, ptr,
 						    (uint) strlen(ptr), 1);
@@ -17114,98 +17120,36 @@ innodb_stopword_table_validate(
 	return(ret);
 }
 
-/*************************************************************//**
-Check whether valid argument given to "innodb_fts_internal_tbl_name"
-This function is registered as a callback with MySQL.
-@return 0 for valid stopword table */
-static
-int
-innodb_internal_table_validate(
-/*===========================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to system
-						variable */
-	void*				save,	/*!< out: immediate result
-						for update function */
-	struct st_mysql_value*		value)	/*!< in: incoming string */
-{
-	const char*	table_name;
-	char		buff[STRING_BUFFER_USUAL_SIZE];
-	int		len = sizeof(buff);
-	int		ret = 1;
-	dict_table_t*	user_table;
-
-	ut_a(save != NULL);
-	ut_a(value != NULL);
-
-	table_name = value->val_str(value, buff, &len);
-
-	if (!table_name) {
-		*static_cast(save) = NULL;
-		return(0);
-	}
-
-	user_table = dict_table_open_on_name(
-		table_name, FALSE, TRUE, DICT_ERR_IGNORE_NONE);
-
-	if (user_table) {
-		if (dict_table_has_fts_index(user_table)) {
-			*static_cast(save) = table_name;
-			ret = 0;
+/** The latest assigned innodb_ft_aux_table name */
+static char* innodb_ft_aux_table;
+
+/** Update innodb_ft_aux_table_id on SET GLOBAL innodb_ft_aux_table.
+@param[out]	save	new value of innodb_ft_aux_table
+@param[in]	value	user-specified value */
+static int innodb_ft_aux_table_validate(THD*, st_mysql_sys_var*,
+					void* save, st_mysql_value* value)
+{
+	char buf[STRING_BUFFER_USUAL_SIZE];
+	int len = sizeof buf;
+
+	if (const char* table_name = value->val_str(value, buf, &len)) {
+		if (dict_table_t* table = dict_table_open_on_name(
+			    table_name, FALSE, TRUE, DICT_ERR_IGNORE_NONE)) {
+			const table_id_t id = dict_table_has_fts_index(table)
+				? table->id : 0;
+			dict_table_close(table, FALSE, FALSE);
+			if (id) {
+				innodb_ft_aux_table_id = id;
+				*static_cast(save) = table_name;
+				return 0;
+			}
 		}
 
-		dict_table_close(user_table, FALSE, TRUE);
-
-		DBUG_EXECUTE_IF("innodb_evict_autoinc_table",
-			mutex_enter(&dict_sys->mutex);
-			dict_table_remove_from_cache_low(user_table, TRUE);
-			mutex_exit(&dict_sys->mutex);
-		);
-	}
-
-	return(ret);
-}
-
-/****************************************************************//**
-Update global variable "fts_internal_tbl_name" with the "saved"
-stopword table name value. This function is registered as a callback
-with MySQL. */
-static
-void
-innodb_internal_table_update(
-/*=========================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to
-						system variable */
-	void*				var_ptr,/*!< out: where the
-						formal string goes */
-	const void*			save)	/*!< in: immediate result
-						from check function */
-{
-	const char*	table_name;
-	char*		old;
-
-	ut_a(save != NULL);
-	ut_a(var_ptr != NULL);
-
-	table_name = *static_cast(save);
-	old = *(char**) var_ptr;
-
-	if (table_name) {
-		*(char**) var_ptr =  my_strdup(table_name,  MYF(0));
-	} else {
-		*(char**) var_ptr = NULL;
-	}
-
-	if (old) {
-		my_free(old);
-	}
-
-	fts_internal_tbl_name2 = *(char**) var_ptr;
-	if (fts_internal_tbl_name2 == NULL) {
-		fts_internal_tbl_name = const_cast("default");
+		return 1;
 	} else {
-		fts_internal_tbl_name = fts_internal_tbl_name2;
+		*static_cast(save) = NULL;
+		innodb_ft_aux_table_id = 0;
+		return 0;
 	}
 }
 
@@ -17224,11 +17168,13 @@ innodb_adaptive_hash_index_update(
 	const void*			save)	/*!< in: immediate result
 						from check function */
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	if (*(my_bool*) save) {
 		btr_search_enable();
 	} else {
 		btr_search_disable();
 	}
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
 /****************************************************************//**
@@ -17249,7 +17195,9 @@ innodb_cmp_per_index_update(
 	/* Reset the stats whenever we enable the table
 	INFORMATION_SCHEMA.innodb_cmp_per_index. */
 	if (!srv_cmp_per_index_enabled && *(my_bool*) save) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		page_zip_reset_stat_per_index();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 
 	srv_cmp_per_index_enabled = !!(*(my_bool*) save);
@@ -17270,9 +17218,11 @@ innodb_old_blocks_pct_update(
 	const void*			save)	/*!< in: immediate result
 						from check function */
 {
-	innobase_old_blocks_pct = static_cast(
-		buf_LRU_old_ratio_update(
-			*static_cast(save), TRUE));
+	mysql_mutex_unlock(&LOCK_global_system_variables);
+	uint ratio = buf_LRU_old_ratio_update(*static_cast(save),
+					      true);
+	mysql_mutex_lock(&LOCK_global_system_variables);
+	innobase_old_blocks_pct = ratio;
 }
 
 /****************************************************************//**
@@ -17290,9 +17240,10 @@ innodb_change_buffer_max_size_update(
 	const void*			save)	/*!< in: immediate result
 						from check function */
 {
-	innobase_change_buffer_max_size =
-			(*static_cast(save));
+	innobase_change_buffer_max_size = *static_cast(save);
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	ibuf_max_size_update(innobase_change_buffer_max_size);
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
 #ifdef UNIV_DEBUG
@@ -17336,6 +17287,7 @@ innodb_make_page_dirty(
 {
 	mtr_t mtr;
 	ulong space_id = *static_cast(save);
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 
 	mtr_start(&mtr);
 
@@ -17353,6 +17305,7 @@ innodb_make_page_dirty(
 				 MLOG_2BYTES, &mtr);
 	}
 	mtr_commit(&mtr);
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 #endif // UNIV_DEBUG
 
@@ -17991,8 +17944,11 @@ innodb_buffer_pool_evict_update(
 {
 	if (const char* op = *static_cast(save)) {
 		if (!strcmp(op, "uncompressed")) {
+			mysql_mutex_unlock(&LOCK_global_system_variables);
 			for (uint tries = 0; tries < 10000; tries++) {
 				if (innodb_buffer_pool_evict_uncompressed()) {
+					mysql_mutex_lock(
+						&LOCK_global_system_variables);
 					return;
 				}
 
@@ -18095,8 +18051,7 @@ innodb_defragment_frequency_update(
 	          from check function */
 {
 	srv_defragment_frequency = (*static_cast(save));
-	srv_defragment_interval = ut_microseconds_to_timer(
-		1000000.0 / srv_defragment_frequency);
+	srv_defragment_interval = 1000000000ULL / srv_defragment_frequency;
 }
 
 /****************************************************************//**
@@ -18295,7 +18250,9 @@ purge_run_now_set(
 						check function */
 {
 	if (*(my_bool*) save && trx_purge_state() != PURGE_STATE_DISABLED) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		trx_purge_run();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -18318,7 +18275,9 @@ purge_stop_now_set(
 						check function */
 {
 	if (*(my_bool*) save && trx_purge_state() != PURGE_STATE_DISABLED) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		trx_purge_stop();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -18340,6 +18299,8 @@ checkpoint_now_set(
 						check function */
 {
 	if (*(my_bool*) save) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
+
 		while (log_sys->last_checkpoint_lsn < log_sys->lsn) {
 			log_make_checkpoint_at(LSN_MAX, TRUE);
 			fil_flush_file_spaces(FIL_LOG);
@@ -18353,6 +18314,8 @@ checkpoint_now_set(
 				"system tablespace at checkpoint err=%s",
 				ut_strerr(err));
 		}
+
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -18374,8 +18337,10 @@ buf_flush_list_now_set(
 						check function */
 {
 	if (*(my_bool*) save) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		buf_flush_list(ULINT_MAX, LSN_MAX, NULL);
 		buf_flush_wait_batch_end(NULL, BUF_FLUSH_LIST);
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 #endif /* UNIV_DEBUG */
@@ -18477,7 +18442,9 @@ buffer_pool_dump_now(
 						check function */
 {
 	if (*(my_bool*) save && !srv_read_only_mode) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		buf_dump_start();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -18500,7 +18467,9 @@ buffer_pool_load_now(
 						check function */
 {
 	if (*(my_bool*) save && !srv_read_only_mode) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		buf_load_start();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -18523,96 +18492,71 @@ buffer_pool_load_abort(
 						check function */
 {
 	if (*(my_bool*) save && !srv_read_only_mode) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		buf_load_abort();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
 /** Update innodb_status_output or innodb_status_output_locks,
 which control InnoDB "status monitor" output to the error log.
-@param[in]	thd	thread handle
-@param[in]	var	system variable
-@param[out]	var_ptr	current value
+@param[out]	var	current value
 @param[in]	save	to-be-assigned value */
 static
 void
-innodb_status_output_update(
-/*========================*/
-	THD*				thd __attribute__((unused)),
-	struct st_mysql_sys_var*	var __attribute__((unused)),
-	void*				var_ptr __attribute__((unused)),
-	const void*			save __attribute__((unused)))
+innodb_status_output_update(THD*,st_mysql_sys_var*,void*var,const void*save)
 {
-	*static_cast(var_ptr) = *static_cast(save);
+	*static_cast(var) = *static_cast(save);
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	/* Wakeup server monitor thread. */
 	os_event_set(srv_monitor_event);
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
-/******************************************************************
-Update the system variable innodb_encryption_threads */
+/** Update the system variable innodb_encryption_threads.
+@param[in]	save	to-be-assigned value */
 static
 void
-innodb_encryption_threads_update(
-/*=============================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to
-						system variable */
-	void*				var_ptr,/*!< out: where the
-						formal string goes */
-	const void*			save)	/*!< in: immediate result
-						from check function */
+innodb_encryption_threads_update(THD*,st_mysql_sys_var*,void*,const void*save)
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	fil_crypt_set_thread_cnt(*static_cast(save));
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
-/******************************************************************
-Update the system variable innodb_encryption_rotate_key_age */
+/** Update the system variable innodb_encryption_rotate_key_age.
+@param[in]	save	to-be-assigned value */
 static
 void
-innodb_encryption_rotate_key_age_update(
-/*====================================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to
-						system variable */
-	void*				var_ptr,/*!< out: where the
-						formal string goes */
-	const void*			save)	/*!< in: immediate result
-						from check function */
+innodb_encryption_rotate_key_age_update(THD*,st_mysql_sys_var*,void*,
+					const void*save)
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	fil_crypt_set_rotate_key_age(*static_cast(save));
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
-/******************************************************************
-Update the system variable innodb_encryption_rotation_iops */
+/** Update the system variable innodb_encryption_rotation_iops.
+@param[in]	save	to-be-assigned value */
 static
 void
-innodb_encryption_rotation_iops_update(
-/*===================================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to
-						system variable */
-	void*				var_ptr,/*!< out: where the
-						formal string goes */
-	const void*			save)	/*!< in: immediate result
-						from check function */
+innodb_encryption_rotation_iops_update(THD*,st_mysql_sys_var*,void*,
+				       const void*save)
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	fil_crypt_set_rotation_iops(*static_cast(save));
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
-/******************************************************************
-Update the system variable innodb_encrypt_tables*/
+/** Update the system variable innodb_encrypt_tables.
+@param[in]	save	to-be-assigned value */
 static
 void
-innodb_encrypt_tables_update(
-/*=========================*/
-	THD*                            thd,    /*!< in: thread handle */
-	struct st_mysql_sys_var*        var,    /*!< in: pointer to
-						system variable */
-	void*                           var_ptr,/*!< out: where the
-						formal string goes */
-	const void*                     save)   /*!< in: immediate result
-						from check function */
+innodb_encrypt_tables_update(THD*,st_mysql_sys_var*,void*,const void*save)
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	fil_crypt_set_encrypt_tables(*static_cast(save));
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
 static SHOW_VAR innodb_status_variables_export[]= {
@@ -19472,11 +19416,10 @@ static MYSQL_SYSVAR_BOOL(disable_sort_file_cache, srv_disable_sort_file_cache,
   "Whether to disable OS system file cache for sort I/O",
   NULL, NULL, FALSE);
 
-static MYSQL_SYSVAR_STR(ft_aux_table, fts_internal_tbl_name2,
-  PLUGIN_VAR_NOCMDARG,
+static MYSQL_SYSVAR_STR(ft_aux_table, innodb_ft_aux_table,
+  PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_MEMALLOC,
   "FTS internal auxiliary table to be checked",
-  innodb_internal_table_validate,
-  innodb_internal_table_update, NULL);
+  innodb_ft_aux_table_validate, NULL, NULL);
 
 static MYSQL_SYSVAR_ULONG(ft_cache_size, fts_max_cache_size,
   PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
@@ -19795,12 +19738,15 @@ innobase_disallow_writes_update(
 						variable */
 	const void*		save)		/* in: temporary storage */
 {
-	*(my_bool*)var_ptr = *(my_bool*)save;
+	const my_bool val = *static_cast(save);
+	*static_cast(var_ptr) = val;
 	ut_a(srv_allow_writes_event);
-	if (*(my_bool*)var_ptr)
+	mysql_mutex_unlock(&LOCK_global_system_variables);
+	if (val)
 		os_event_reset(srv_allow_writes_event);
 	else
 		os_event_set(srv_allow_writes_event);
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
 static MYSQL_SYSVAR_BOOL(disallow_writes, innobase_disallow_writes,
diff --git a/storage/innobase/handler/ha_innodb.h b/storage/innobase/handler/ha_innodb.h
index 2429c8a3f..a417828f2 100644
--- a/storage/innobase/handler/ha_innodb.h
+++ b/storage/innobase/handler/ha_innodb.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -208,7 +208,7 @@ class ha_innobase: public handler
 			     char* remote_path);
 	const char* check_table_options(THD *thd, TABLE* table,
 		HA_CREATE_INFO*	create_info, const bool use_tablespace, const ulint file_format);
-	int create(const char *name, register TABLE *form,
+	int create(const char *name, TABLE *form,
 					HA_CREATE_INFO *create_info);
 	int truncate();
 	int delete_table(const char *name);
diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc
index 0d0982fa4..24db706d0 100644
--- a/storage/innobase/handler/handler0alter.cc
+++ b/storage/innobase/handler/handler0alter.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/handler/i_s.cc b/storage/innobase/handler/i_s.cc
index 8ea6fca63..2729a7555 100644
--- a/storage/innobase/handler/i_s.cc
+++ b/storage/innobase/handler/i_s.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -64,6 +64,9 @@ Modified Dec 29, 2014 Jan Lindström (Added sys_semaphore_waits)
 #include "fil0fil.h"
 #include "fil0crypt.h"
 
+/** The latest successfully looked up innodb_fts_aux_table */
+UNIV_INTERN table_id_t innodb_ft_aux_table_id;
+
 /** structure associates a name string with a file page type and/or buffer
 page state. */
 struct buf_page_desc_t{
@@ -2934,25 +2937,21 @@ i_s_fts_deleted_generic_fill(
 		DBUG_RETURN(0);
 	}
 
-	if (!fts_internal_tbl_name) {
-		DBUG_RETURN(0);
-	}
+	RETURN_IF_INNODB_NOT_STARTED(tables->schema_table_name);
 
-	/* Prevent DDL to drop fts aux tables. */
+	/* Prevent DROP of the internal tables for fulltext indexes.
+	FIXME: acquire DDL-blocking MDL on the user table name! */
 	rw_lock_s_lock(&dict_operation_lock);
 
-	user_table = dict_table_open_on_name(
-		fts_internal_tbl_name, FALSE, FALSE, DICT_ERR_IGNORE_NONE);
+	user_table = dict_table_open_on_id(
+		innodb_ft_aux_table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
 	if (!user_table) {
 		rw_lock_s_unlock(&dict_operation_lock);
-
 		DBUG_RETURN(0);
 	} else if (!dict_table_has_fts_index(user_table)) {
 		dict_table_close(user_table, FALSE, FALSE);
-
 		rw_lock_s_unlock(&dict_operation_lock);
-
 		DBUG_RETURN(0);
 	}
 
@@ -2967,6 +2966,12 @@ i_s_fts_deleted_generic_fill(
 
 	fts_table_fetch_doc_ids(trx, &fts_table, deleted);
 
+	dict_table_close(user_table, FALSE, FALSE);
+
+	rw_lock_s_unlock(&dict_operation_lock);
+
+	trx_free_for_background(trx);
+
 	fields = table->field;
 
 	int	ret = 0;
@@ -2981,14 +2986,8 @@ i_s_fts_deleted_generic_fill(
 		BREAK_IF(ret = schema_table_store_record(thd, table));
 	}
 
-	trx_free_for_background(trx);
-
 	fts_doc_ids_free(deleted);
 
-	dict_table_close(user_table, FALSE, FALSE);
-
-	rw_lock_s_unlock(&dict_operation_lock);
-
 	DBUG_RETURN(ret);
 }
 
@@ -3348,32 +3347,33 @@ i_s_fts_index_cache_fill(
 		DBUG_RETURN(0);
 	}
 
-	if (!fts_internal_tbl_name) {
-		DBUG_RETURN(0);
-	}
+	RETURN_IF_INNODB_NOT_STARTED(tables->schema_table_name);
 
-	user_table = dict_table_open_on_name(
-		fts_internal_tbl_name, FALSE, FALSE, DICT_ERR_IGNORE_NONE);
+	/* Prevent DROP of the internal tables for fulltext indexes.
+	FIXME: acquire DDL-blocking MDL on the user table name! */
+	rw_lock_s_lock(&dict_operation_lock);
+
+	user_table = dict_table_open_on_id(
+		innodb_ft_aux_table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
 	if (!user_table) {
+no_fts:
+		rw_lock_s_unlock(&dict_operation_lock);
 		DBUG_RETURN(0);
 	}
 
-	if (user_table->fts == NULL || user_table->fts->cache == NULL) {
+	if (!user_table->fts || !user_table->fts->cache) {
 		dict_table_close(user_table, FALSE, FALSE);
-
-		DBUG_RETURN(0);
+		goto no_fts;
 	}
 
 	cache = user_table->fts->cache;
 
-	ut_a(cache);
-
 	int			ret = 0;
 	fts_string_t		conv_str;
-	conv_str.f_len = system_charset_info->mbmaxlen
-		* FTS_MAX_WORD_LEN_IN_CHAR;
-	conv_str.f_str = static_cast(ut_malloc(conv_str.f_len));
+	byte			word[HA_FT_MAXBYTELEN + 1];
+	conv_str.f_len = sizeof word;
+	conv_str.f_str = word;
 
 	for (ulint i = 0; i < ib_vector_size(cache->indexes); i++) {
 		fts_index_cache_t*      index_cache;
@@ -3385,9 +3385,8 @@ i_s_fts_index_cache_fill(
 				 index_cache, thd, &conv_str, tables));
 	}
 
-	ut_free(conv_str.f_str);
-
 	dict_table_close(user_table, FALSE, FALSE);
+	rw_lock_s_unlock(&dict_operation_lock);
 
 	DBUG_RETURN(ret);
 }
@@ -3479,6 +3478,7 @@ i_s_fts_index_table_fill_selected(
 	que_t*			graph;
 	dberr_t			error;
 	fts_fetch_t		fetch;
+	char			table_name[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -3499,6 +3499,8 @@ i_s_fts_index_table_fill_selected(
 
 	FTS_INIT_INDEX_TABLE(&fts_table, fts_get_suffix(selected),
 			     FTS_INDEX_TABLE, index);
+	fts_get_table_name(&fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
 
 	graph = fts_parse_sql(
 		&fts_table, info,
@@ -3506,7 +3508,7 @@ i_s_fts_index_table_fill_selected(
 		"DECLARE CURSOR c IS"
 		" SELECT word, doc_count, first_doc_id, last_doc_id, "
 		"ilist\n"
-		" FROM %s WHERE word >= :word;\n"
+		" FROM $table_name WHERE word >= :word;\n"
 		"BEGIN\n"
 		"\n"
 		"OPEN c;\n"
@@ -3798,19 +3800,17 @@ i_s_fts_index_table_fill(
 		DBUG_RETURN(0);
 	}
 
-	if (!fts_internal_tbl_name) {
-		DBUG_RETURN(0);
-	}
+	RETURN_IF_INNODB_NOT_STARTED(tables->schema_table_name);
 
-	/* Prevent DDL to drop fts aux tables. */
+	/* Prevent DROP of the internal tables for fulltext indexes.
+	FIXME: acquire DDL-blocking MDL on the user table name! */
 	rw_lock_s_lock(&dict_operation_lock);
 
-	user_table = dict_table_open_on_name(
-		fts_internal_tbl_name, FALSE, FALSE, DICT_ERR_IGNORE_NONE);
+	user_table = dict_table_open_on_id(
+		innodb_ft_aux_table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
 	if (!user_table) {
 		rw_lock_s_unlock(&dict_operation_lock);
-
 		DBUG_RETURN(0);
 	}
 
@@ -3963,32 +3963,28 @@ i_s_fts_config_fill(
 		DBUG_RETURN(0);
 	}
 
-	if (!fts_internal_tbl_name) {
-		DBUG_RETURN(0);
-	}
-
-	DEBUG_SYNC_C("i_s_fts_config_fille_check");
-
-	fields = table->field;
+	RETURN_IF_INNODB_NOT_STARTED(tables->schema_table_name);
 
-	/* Prevent DDL to drop fts aux tables. */
+	/* Prevent DROP of the internal tables for fulltext indexes.
+	FIXME: acquire DDL-blocking MDL on the user table name! */
 	rw_lock_s_lock(&dict_operation_lock);
 
-	user_table = dict_table_open_on_name(
-		fts_internal_tbl_name, FALSE, FALSE, DICT_ERR_IGNORE_NONE);
+	user_table = dict_table_open_on_id(
+		innodb_ft_aux_table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
 	if (!user_table) {
+no_fts:
 		rw_lock_s_unlock(&dict_operation_lock);
-
 		DBUG_RETURN(0);
-	} else if (!dict_table_has_fts_index(user_table)) {
-		dict_table_close(user_table, FALSE, FALSE);
-
-		rw_lock_s_unlock(&dict_operation_lock);
+	}
 
-		DBUG_RETURN(0);
+	if (!dict_table_has_fts_index(user_table)) {
+		dict_table_close(user_table, FALSE, FALSE);
+		goto no_fts;
 	}
 
+	fields = table->field;
+
 	trx = trx_allocate_for_background();
 	trx->op_info = "Select for FTS CONFIG TABLE";
 
@@ -4040,12 +4036,12 @@ i_s_fts_config_fill(
 
 	fts_sql_commit(trx);
 
-	trx_free_for_background(trx);
-
 	dict_table_close(user_table, FALSE, FALSE);
 
 	rw_lock_s_unlock(&dict_operation_lock);
 
+	trx_free_for_background(trx);
+
 	DBUG_RETURN(ret);
 }
 
diff --git a/storage/innobase/handler/i_s.h b/storage/innobase/handler/i_s.h
index 98494c38d..9dc025fa6 100644
--- a/storage/innobase/handler/i_s.h
+++ b/storage/innobase/handler/i_s.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2013, Oracle and/or its affiliates. All Rights Reserved.
-Copyrigth (c) 2014, 2017, MariaDB Corporation.
+Copyrigth (c) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -27,6 +27,7 @@ Modified Dec 29, 2014 Jan Lindström
 
 #ifndef i_s_h
 #define i_s_h
+#include "dict0types.h"
 
 const char plugin_author[] = "Oracle Corporation";
 const char maria_plugin_author[] = "MariaDB Corporation";
@@ -64,6 +65,9 @@ extern struct st_maria_plugin	i_s_innodb_tablespaces_encryption;
 extern struct st_maria_plugin	i_s_innodb_tablespaces_scrubbing;
 extern struct st_maria_plugin	i_s_innodb_sys_semaphore_waits;
 
+/** The latest successfully looked up innodb_fts_aux_table */
+extern table_id_t innodb_ft_aux_table_id;
+
 /** maximum number of buffer page info we would cache. */
 #define MAX_BUF_INFO_CACHED		10000
 
diff --git a/storage/innobase/ibuf/ibuf0ibuf.cc b/storage/innobase/ibuf/ibuf0ibuf.cc
index 17fe3ae75..baaa19f32 100644
--- a/storage/innobase/ibuf/ibuf0ibuf.cc
+++ b/storage/innobase/ibuf/ibuf0ibuf.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/api0api.h b/storage/innobase/include/api0api.h
index 500bf4fe3..1d4882d1f 100644
--- a/storage/innobase/include/api0api.h
+++ b/storage/innobase/include/api0api.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/api0misc.h b/storage/innobase/include/api0misc.h
index fcd748390..4827b53d2 100644
--- a/storage/innobase/include/api0misc.h
+++ b/storage/innobase/include/api0misc.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0btr.h b/storage/innobase/include/btr0btr.h
index a1882cdd0..a5661c23f 100644
--- a/storage/innobase/include/btr0btr.h
+++ b/storage/innobase/include/btr0btr.h
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0btr.ic b/storage/innobase/include/btr0btr.ic
index 57fccede9..4215a1092 100644
--- a/storage/innobase/include/btr0btr.ic
+++ b/storage/innobase/include/btr0btr.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0cur.h b/storage/innobase/include/btr0cur.h
index 51ff300fa..214ae4356 100644
--- a/storage/innobase/include/btr0cur.h
+++ b/storage/innobase/include/btr0cur.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0cur.ic b/storage/innobase/include/btr0cur.ic
index 43ee3304c..c27956f29 100644
--- a/storage/innobase/include/btr0cur.ic
+++ b/storage/innobase/include/btr0cur.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0defragment.h b/storage/innobase/include/btr0defragment.h
index 477824c1a..9f6aba490 100644
--- a/storage/innobase/include/btr0defragment.h
+++ b/storage/innobase/include/btr0defragment.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0pcur.h b/storage/innobase/include/btr0pcur.h
index dafe14ce5..bcb9fb6db 100644
--- a/storage/innobase/include/btr0pcur.h
+++ b/storage/innobase/include/btr0pcur.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0pcur.ic b/storage/innobase/include/btr0pcur.ic
index 1cd138245..05ac35c1e 100644
--- a/storage/innobase/include/btr0pcur.ic
+++ b/storage/innobase/include/btr0pcur.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0sea.h b/storage/innobase/include/btr0sea.h
index 4e1df7066..06f18c2d2 100644
--- a/storage/innobase/include/btr0sea.h
+++ b/storage/innobase/include/btr0sea.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0sea.ic b/storage/innobase/include/btr0sea.ic
index 0bd869be1..9a512427f 100644
--- a/storage/innobase/include/btr0sea.ic
+++ b/storage/innobase/include/btr0sea.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/btr0types.h b/storage/innobase/include/btr0types.h
index 04b69d814..56705932c 100644
--- a/storage/innobase/include/btr0types.h
+++ b/storage/innobase/include/btr0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0buddy.h b/storage/innobase/include/buf0buddy.h
index 7fc440850..be4415e65 100644
--- a/storage/innobase/include/buf0buddy.h
+++ b/storage/innobase/include/buf0buddy.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0buddy.ic b/storage/innobase/include/buf0buddy.ic
index 4352ebe89..4ff19eb5e 100644
--- a/storage/innobase/include/buf0buddy.ic
+++ b/storage/innobase/include/buf0buddy.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0buf.h b/storage/innobase/include/buf0buf.h
index 4850d2432..bcb2252e7 100644
--- a/storage/innobase/include/buf0buf.h
+++ b/storage/innobase/include/buf0buf.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0buf.ic b/storage/innobase/include/buf0buf.ic
index e77c5a842..9901ca922 100644
--- a/storage/innobase/include/buf0buf.ic
+++ b/storage/innobase/include/buf0buf.ic
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0checksum.h b/storage/innobase/include/buf0checksum.h
index 6818345f9..8a87c4815 100644
--- a/storage/innobase/include/buf0checksum.h
+++ b/storage/innobase/include/buf0checksum.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0dblwr.h b/storage/innobase/include/buf0dblwr.h
index 7b7464761..3d51c1e10 100644
--- a/storage/innobase/include/buf0dblwr.h
+++ b/storage/innobase/include/buf0dblwr.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0dump.h b/storage/innobase/include/buf0dump.h
index c704a8e97..32db2a0eb 100644
--- a/storage/innobase/include/buf0dump.h
+++ b/storage/innobase/include/buf0dump.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0flu.h b/storage/innobase/include/buf0flu.h
index f503d5280..676a412f6 100644
--- a/storage/innobase/include/buf0flu.h
+++ b/storage/innobase/include/buf0flu.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0flu.ic b/storage/innobase/include/buf0flu.ic
index a763cd115..dd049daa7 100644
--- a/storage/innobase/include/buf0flu.ic
+++ b/storage/innobase/include/buf0flu.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0lru.h b/storage/innobase/include/buf0lru.h
index b04086287..09100b35e 100644
--- a/storage/innobase/include/buf0lru.h
+++ b/storage/innobase/include/buf0lru.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -202,13 +202,13 @@ buf_LRU_make_block_old(
 Updates buf_pool->LRU_old_ratio.
 @return	updated old_pct */
 UNIV_INTERN
-ulint
+uint
 buf_LRU_old_ratio_update(
 /*=====================*/
 	uint	old_pct,/*!< in: Reserve this percentage of
 			the buffer pool for "old" blocks. */
-	ibool	adjust);/*!< in: TRUE=adjust the LRU list;
-			FALSE=just assign buf_pool->LRU_old_ratio
+	bool	adjust);/*!< in: true=adjust the LRU list;
+			false=just assign buf_pool->LRU_old_ratio
 			during the initialization of InnoDB */
 /********************************************************************//**
 Update the historical stats that we are collecting for LRU eviction
diff --git a/storage/innobase/include/buf0lru.ic b/storage/innobase/include/buf0lru.ic
index 6e0da7a25..b39fc06e9 100644
--- a/storage/innobase/include/buf0lru.ic
+++ b/storage/innobase/include/buf0lru.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0mtflu.h b/storage/innobase/include/buf0mtflu.h
index 0475335bb..5f11de572 100644
--- a/storage/innobase/include/buf0mtflu.h
+++ b/storage/innobase/include/buf0mtflu.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0rea.h b/storage/innobase/include/buf0rea.h
index 83f145d8d..5ca9ea478 100644
--- a/storage/innobase/include/buf0rea.h
+++ b/storage/innobase/include/buf0rea.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/buf0types.h b/storage/innobase/include/buf0types.h
index 511240d66..8a7b5c6d9 100644
--- a/storage/innobase/include/buf0types.h
+++ b/storage/innobase/include/buf0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/data0data.h b/storage/innobase/include/data0data.h
index 1d954bfc0..2cd9f61ba 100644
--- a/storage/innobase/include/data0data.h
+++ b/storage/innobase/include/data0data.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/data0data.ic b/storage/innobase/include/data0data.ic
index deac969a0..21f534d1b 100644
--- a/storage/innobase/include/data0data.ic
+++ b/storage/innobase/include/data0data.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/data0type.h b/storage/innobase/include/data0type.h
index 281827821..11ff98ca1 100644
--- a/storage/innobase/include/data0type.h
+++ b/storage/innobase/include/data0type.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/data0type.ic b/storage/innobase/include/data0type.ic
index c04da618a..9d1d6d58b 100644
--- a/storage/innobase/include/data0type.ic
+++ b/storage/innobase/include/data0type.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/data0types.h b/storage/innobase/include/data0types.h
index bd2bb5776..bcd6b8bc2 100644
--- a/storage/innobase/include/data0types.h
+++ b/storage/innobase/include/data0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/db0err.h b/storage/innobase/include/db0err.h
index 4bd007323..09eafc0e9 100644
--- a/storage/innobase/include/db0err.h
+++ b/storage/innobase/include/db0err.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0boot.h b/storage/innobase/include/dict0boot.h
index 477e1150f..186c8b50b 100644
--- a/storage/innobase/include/dict0boot.h
+++ b/storage/innobase/include/dict0boot.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0boot.ic b/storage/innobase/include/dict0boot.ic
index 2b156a4f6..2f12e7a5d 100644
--- a/storage/innobase/include/dict0boot.ic
+++ b/storage/innobase/include/dict0boot.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0crea.h b/storage/innobase/include/dict0crea.h
index 150c76b2e..2a92c523e 100644
--- a/storage/innobase/include/dict0crea.h
+++ b/storage/innobase/include/dict0crea.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0crea.ic b/storage/innobase/include/dict0crea.ic
index 3eb3ddfa8..59d6fb9d8 100644
--- a/storage/innobase/include/dict0crea.ic
+++ b/storage/innobase/include/dict0crea.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0dict.h b/storage/innobase/include/dict0dict.h
index 7011f4a92..37f2a4e2b 100644
--- a/storage/innobase/include/dict0dict.h
+++ b/storage/innobase/include/dict0dict.h
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0dict.ic b/storage/innobase/include/dict0dict.ic
index 60c33fc06..bd1d529f7 100644
--- a/storage/innobase/include/dict0dict.ic
+++ b/storage/innobase/include/dict0dict.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0load.h b/storage/innobase/include/dict0load.h
index dcbc3de8e..1d68fcc58 100644
--- a/storage/innobase/include/dict0load.h
+++ b/storage/innobase/include/dict0load.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0load.ic b/storage/innobase/include/dict0load.ic
index 2c0f1ff38..a0b0feb56 100644
--- a/storage/innobase/include/dict0load.ic
+++ b/storage/innobase/include/dict0load.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0mem.h b/storage/innobase/include/dict0mem.h
index 0b8a9acdf..505d49253 100644
--- a/storage/innobase/include/dict0mem.h
+++ b/storage/innobase/include/dict0mem.h
@@ -2,7 +2,7 @@
 
 Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2012, Facebook Inc.
-Copyright (c) 2013, 2018, MariaDB Corporation.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1181,7 +1181,7 @@ struct dict_table_t{
 				goes to zero. If it's -1, means there's DDL
 		                on the table, DML from memcached will be
 				blocked. */
-	ib_time_t	stats_last_recalc;
+	time_t		stats_last_recalc;
 				/*!< Timestamp of last recalc of the stats */
 	ib_uint32_t	stat_persistent;
 				/*!< The two bits below are set in the
diff --git a/storage/innobase/include/dict0mem.ic b/storage/innobase/include/dict0mem.ic
index 38d51f617..9acdd6a45 100644
--- a/storage/innobase/include/dict0mem.ic
+++ b/storage/innobase/include/dict0mem.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0pagecompress.h b/storage/innobase/include/dict0pagecompress.h
index 6503c86ff..9c0c551d9 100644
--- a/storage/innobase/include/dict0pagecompress.h
+++ b/storage/innobase/include/dict0pagecompress.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0pagecompress.ic b/storage/innobase/include/dict0pagecompress.ic
index 13c2b46c5..6311668ee 100644
--- a/storage/innobase/include/dict0pagecompress.ic
+++ b/storage/innobase/include/dict0pagecompress.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0priv.h b/storage/innobase/include/dict0priv.h
index e034662ab..3ebd75997 100644
--- a/storage/innobase/include/dict0priv.h
+++ b/storage/innobase/include/dict0priv.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0priv.ic b/storage/innobase/include/dict0priv.ic
index 983218af7..e9b111c32 100644
--- a/storage/innobase/include/dict0priv.ic
+++ b/storage/innobase/include/dict0priv.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0stats.h b/storage/innobase/include/dict0stats.h
index 72501bf94..4eda752c4 100644
--- a/storage/innobase/include/dict0stats.h
+++ b/storage/innobase/include/dict0stats.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0stats.ic b/storage/innobase/include/dict0stats.ic
index ec9a90654..940100077 100644
--- a/storage/innobase/include/dict0stats.ic
+++ b/storage/innobase/include/dict0stats.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0stats_bg.h b/storage/innobase/include/dict0stats_bg.h
index 66fcf7a09..a14c183c6 100644
--- a/storage/innobase/include/dict0stats_bg.h
+++ b/storage/innobase/include/dict0stats_bg.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0stats_bg.ic b/storage/innobase/include/dict0stats_bg.ic
index 87e3225de..7e0d596af 100644
--- a/storage/innobase/include/dict0stats_bg.ic
+++ b/storage/innobase/include/dict0stats_bg.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dict0types.h b/storage/innobase/include/dict0types.h
index 35430e8ea..25facfbaf 100644
--- a/storage/innobase/include/dict0types.h
+++ b/storage/innobase/include/dict0types.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dyn0dyn.h b/storage/innobase/include/dyn0dyn.h
index 1bd10b6bf..2fbfb838b 100644
--- a/storage/innobase/include/dyn0dyn.h
+++ b/storage/innobase/include/dyn0dyn.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/dyn0dyn.ic b/storage/innobase/include/dyn0dyn.ic
index 130038626..6f2fbc4a1 100644
--- a/storage/innobase/include/dyn0dyn.ic
+++ b/storage/innobase/include/dyn0dyn.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/eval0eval.h b/storage/innobase/include/eval0eval.h
index e3b1e6c16..4301b491a 100644
--- a/storage/innobase/include/eval0eval.h
+++ b/storage/innobase/include/eval0eval.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/eval0eval.ic b/storage/innobase/include/eval0eval.ic
index e4b1dd080..47d70d593 100644
--- a/storage/innobase/include/eval0eval.ic
+++ b/storage/innobase/include/eval0eval.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/eval0proc.h b/storage/innobase/include/eval0proc.h
index 7755fb103..6dfeff1cc 100644
--- a/storage/innobase/include/eval0proc.h
+++ b/storage/innobase/include/eval0proc.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/eval0proc.ic b/storage/innobase/include/eval0proc.ic
index 81418bae2..c3ba8a97d 100644
--- a/storage/innobase/include/eval0proc.ic
+++ b/storage/innobase/include/eval0proc.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fil0crypt.h b/storage/innobase/include/fil0crypt.h
index 5e828ae41..2b4f92424 100644
--- a/storage/innobase/include/fil0crypt.h
+++ b/storage/innobase/include/fil0crypt.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fil0crypt.ic b/storage/innobase/include/fil0crypt.ic
index cb9ba0834..0c3b01144 100644
--- a/storage/innobase/include/fil0crypt.ic
+++ b/storage/innobase/include/fil0crypt.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fil0fil.h b/storage/innobase/include/fil0fil.h
index 79a598b36..4bd394ff9 100644
--- a/storage/innobase/include/fil0fil.h
+++ b/storage/innobase/include/fil0fil.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2013, 2018, MariaDB Corporation.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -843,6 +843,18 @@ fil_op_log_parse_or_replay(
 				only be parsed but not replayed */
 	ulint	log_flags);	/*!< in: redo log flags
 				(stored in the page number parameter) */
+
+/** Determine whether a table can be accessed in operations that are
+not (necessarily) protected by meta-data locks.
+(Rollback would generally be protected, but rollback of
+FOREIGN KEY CASCADE/SET NULL is not protected by meta-data locks
+but only by InnoDB table locks, which may be broken by
+lock_remove_all_on_table().)
+@param[in]	table	persistent table
+checked @return whether the table is accessible */
+UNIV_INTERN bool fil_table_accessible(const dict_table_t* table)
+	MY_ATTRIBUTE((warn_unused_result, nonnull));
+
 /** Delete a tablespace and associated .ibd file.
 @param[in]	id		tablespace identifier
 @param[in]	drop_ahi	whether to drop the adaptive hash index
diff --git a/storage/innobase/include/fil0fil.ic b/storage/innobase/include/fil0fil.ic
index 3f21c5293..e9e681ffb 100644
--- a/storage/innobase/include/fil0fil.ic
+++ b/storage/innobase/include/fil0fil.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fil0pagecompress.h b/storage/innobase/include/fil0pagecompress.h
index 934372c55..c2f94247d 100644
--- a/storage/innobase/include/fil0pagecompress.h
+++ b/storage/innobase/include/fil0pagecompress.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fsp0fsp.h b/storage/innobase/include/fsp0fsp.h
index c11c48d58..90939e02d 100644
--- a/storage/innobase/include/fsp0fsp.h
+++ b/storage/innobase/include/fsp0fsp.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fsp0fsp.ic b/storage/innobase/include/fsp0fsp.ic
index 59c732b7a..a59f00018 100644
--- a/storage/innobase/include/fsp0fsp.ic
+++ b/storage/innobase/include/fsp0fsp.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fsp0pagecompress.h b/storage/innobase/include/fsp0pagecompress.h
index c623d11c3..0dfbc258e 100644
--- a/storage/innobase/include/fsp0pagecompress.h
+++ b/storage/innobase/include/fsp0pagecompress.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fsp0pagecompress.ic b/storage/innobase/include/fsp0pagecompress.ic
index 99d0dfb3c..159b0526b 100644
--- a/storage/innobase/include/fsp0pagecompress.ic
+++ b/storage/innobase/include/fsp0pagecompress.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fsp0types.h b/storage/innobase/include/fsp0types.h
index 94063cc66..88bd62928 100644
--- a/storage/innobase/include/fsp0types.h
+++ b/storage/innobase/include/fsp0types.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fts0ast.h b/storage/innobase/include/fts0ast.h
index 983a35797..b7d467e00 100644
--- a/storage/innobase/include/fts0ast.h
+++ b/storage/innobase/include/fts0ast.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fts0fts.h b/storage/innobase/include/fts0fts.h
index ce30a17c4..a1fab6597 100644
--- a/storage/innobase/include/fts0fts.h
+++ b/storage/innobase/include/fts0fts.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2011, 2018, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2016, 2017, MariaDB Corporation.
+Copyright (c) 2016, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -151,7 +151,6 @@ do {								\
 	(fts_table)->suffix = m_suffix;				\
         (fts_table)->type = m_type;				\
         (fts_table)->table_id = m_table->id;			\
-        (fts_table)->parent = m_table->name;			\
         (fts_table)->table = m_table;				\
 } while (0);
 
@@ -160,7 +159,6 @@ do {								\
 	(fts_table)->suffix = m_suffix;				\
         (fts_table)->type = m_type;				\
         (fts_table)->table_id = m_index->table->id;		\
-        (fts_table)->parent = m_index->table->name;		\
         (fts_table)->table = m_index->table;			\
         (fts_table)->index_id = m_index->id;			\
 } while (0);
@@ -265,10 +263,6 @@ struct fts_result_t {
 table id and the index id to generate the column specific FTS auxiliary
 table name. */
 struct fts_table_t {
-	const char*	parent;		/*!< Parent table name, this is
-					required only for the database
-					name */
-
 	fts_table_type_t
 			type;		/*!< The auxiliary table type */
 
@@ -373,11 +367,6 @@ extern bool		fts_need_sync;
 /** Maximum possible Fulltext word length (in characters) */
 #define FTS_MAX_WORD_LEN_IN_CHAR	HA_FT_MAXCHARLEN
 
-/** Variable specifying the table that has Fulltext index to display its
-content through information schema table */
-extern char*		fts_internal_tbl_name;
-extern char*		fts_internal_tbl_name2;
-
 #define	fts_que_graph_free(graph)			\
 do {							\
 	mutex_enter(&dict_sys->mutex);			\
@@ -424,7 +413,6 @@ fts_update_next_doc_id(
 /*===================*/
 	trx_t*			trx,		/*!< in/out: transaction */
 	const dict_table_t*	table,		/*!< in: table */
-	const char*		table_name,	/*!< in: table name, or NULL */
 	doc_id_t		doc_id)		/*!< in: DOC ID to set */
 	MY_ATTRIBUTE((nonnull(2)));
 
@@ -436,13 +424,11 @@ fts_doc_ids_t*
 fts_doc_ids_create(void);
 /*=====================*/
 
-/******************************************************************//**
-Free a fts_doc_ids_t. */
-UNIV_INTERN
-void
-fts_doc_ids_free(
-/*=============*/
-	fts_doc_ids_t*	doc_ids);		/*!< in: doc_ids to free */
+/** Free fts_doc_ids_t */
+inline void fts_doc_ids_free(fts_doc_ids_t* doc_ids)
+{
+	mem_heap_free(static_cast(doc_ids->self_heap->arg));
+}
 
 /******************************************************************//**
 Notify the FTS system about an operation on an FTS-indexed table. */
diff --git a/storage/innobase/include/fts0opt.h b/storage/innobase/include/fts0opt.h
index 92eaf8270..e8bd4be95 100644
--- a/storage/innobase/include/fts0opt.h
+++ b/storage/innobase/include/fts0opt.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fts0priv.h b/storage/innobase/include/fts0priv.h
index a3936f54a..266534c95 100644
--- a/storage/innobase/include/fts0priv.h
+++ b/storage/innobase/include/fts0priv.h
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2011, 2018, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -132,16 +133,15 @@ fts_eval_sql(
 	trx_t*		trx,		/*!< in: transaction */
 	que_t*		graph)		/*!< in: Parsed statement */
 	MY_ATTRIBUTE((nonnull, warn_unused_result));
-/******************************************************************//**
-Construct the name of an ancillary FTS table for the given table.
-@return own: table name, must be freed with mem_free() */
+
+/** Construct the name of an internal FTS table for the given table.
+@param[in]	fts_table	metadata on fulltext-indexed table
+@param[out]	table_name	a name up to MAX_FULL_NAME_LEN
+@param[in]	dict_locked	whether dict_sys->mutex is being held */
 UNIV_INTERN
-char*
-fts_get_table_name(
-/*===============*/
-	const fts_table_t*
-			fts_table)	/*!< in: FTS aux table info */
-	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
+void fts_get_table_name(const fts_table_t* fts_table, char* table_name,
+			bool dict_locked = false)
+	MY_ATTRIBUTE((nonnull));
 /******************************************************************//**
 Construct the column specification part of the SQL string for selecting the
 indexed FTS columns for the given table. Adds the necessary bound
@@ -597,15 +597,11 @@ fts_get_table_id(
 					FTS_AUX_MIN_TABLE_ID_LENGTH bytes
 					long */
 	MY_ATTRIBUTE((nonnull, warn_unused_result));
-/******************************************************************//**
-Construct the prefix name of an FTS table.
-@return own: table name, must be freed with mem_free() */
-UNIV_INTERN
-char*
-fts_get_table_name_prefix(
-/*======================*/
-	const fts_table_t*
-			fts_table)	/*!< in: Auxiliary table type */
+/** Construct the name of an internal FTS table for the given table.
+@param[in]	fts_table	metadata on fulltext-indexed table
+@param[in]	dict_locked	whether dict_sys->mutex is being held
+@return	the prefix, must be freed with ut_free() */
+UNIV_INTERN char* fts_get_table_name_prefix(const fts_table_t* fts_table)
 	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
 /******************************************************************//**
 Add node positions. */
diff --git a/storage/innobase/include/fts0priv.ic b/storage/innobase/include/fts0priv.ic
index 88f2d67c7..6d52edc75 100644
--- a/storage/innobase/include/fts0priv.ic
+++ b/storage/innobase/include/fts0priv.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fts0types.h b/storage/innobase/include/fts0types.h
index 9ecd90808..3cb01a92d 100644
--- a/storage/innobase/include/fts0types.h
+++ b/storage/innobase/include/fts0types.h
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -122,7 +123,8 @@ struct fts_sync_t {
 	doc_id_t	max_doc_id;	/*!< The doc id at which the cache was
 					noted as being full, we use this to
 					set the upper_limit field */
-	ib_time_t	start_time;	/*!< SYNC start time */
+	time_t		start_time;	/*!< SYNC start time; only used if
+					fts_enable_diag_print */
 	bool		in_progress;	/*!< flag whether sync is in progress.*/
 	bool		unlock_cache;	/*!< flag whether unlock cache when
 					write fts node */
diff --git a/storage/innobase/include/fts0types.ic b/storage/innobase/include/fts0types.ic
index f0dfd023a..5e29cf6d8 100644
--- a/storage/innobase/include/fts0types.ic
+++ b/storage/innobase/include/fts0types.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fts0vlc.ic b/storage/innobase/include/fts0vlc.ic
index e79bcf593..75d853505 100644
--- a/storage/innobase/include/fts0vlc.ic
+++ b/storage/innobase/include/fts0vlc.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fut0fut.h b/storage/innobase/include/fut0fut.h
index 851cdb44c..4f7b9af2e 100644
--- a/storage/innobase/include/fut0fut.h
+++ b/storage/innobase/include/fut0fut.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fut0fut.ic b/storage/innobase/include/fut0fut.ic
index b065b10b9..fd46f2d7f 100644
--- a/storage/innobase/include/fut0fut.ic
+++ b/storage/innobase/include/fut0fut.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fut0lst.h b/storage/innobase/include/fut0lst.h
index 8554cc60c..f8a99bf1b 100644
--- a/storage/innobase/include/fut0lst.h
+++ b/storage/innobase/include/fut0lst.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/fut0lst.ic b/storage/innobase/include/fut0lst.ic
index d18cf2137..ba617ff0d 100644
--- a/storage/innobase/include/fut0lst.ic
+++ b/storage/innobase/include/fut0lst.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ha0ha.h b/storage/innobase/include/ha0ha.h
index a4ea5f637..879f1269e 100644
--- a/storage/innobase/include/ha0ha.h
+++ b/storage/innobase/include/ha0ha.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ha0ha.ic b/storage/innobase/include/ha0ha.ic
index c478ff543..b09a24dce 100644
--- a/storage/innobase/include/ha0ha.ic
+++ b/storage/innobase/include/ha0ha.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ha0storage.h b/storage/innobase/include/ha0storage.h
index 0073930b5..d4e680a10 100644
--- a/storage/innobase/include/ha0storage.h
+++ b/storage/innobase/include/ha0storage.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ha0storage.ic b/storage/innobase/include/ha0storage.ic
index 7150ca045..03df7be5e 100644
--- a/storage/innobase/include/ha0storage.ic
+++ b/storage/innobase/include/ha0storage.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ha_prototypes.h b/storage/innobase/include/ha_prototypes.h
index be423c8bd..bcf8a8936 100644
--- a/storage/innobase/include/ha_prototypes.h
+++ b/storage/innobase/include/ha_prototypes.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/handler0alter.h b/storage/innobase/include/handler0alter.h
index 63379ad93..ca71edb42 100644
--- a/storage/innobase/include/handler0alter.h
+++ b/storage/innobase/include/handler0alter.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/hash0hash.h b/storage/innobase/include/hash0hash.h
index 9a4077bef..aff679c53 100644
--- a/storage/innobase/include/hash0hash.h
+++ b/storage/innobase/include/hash0hash.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/hash0hash.ic b/storage/innobase/include/hash0hash.ic
index 254f3f82e..f32c33e5d 100644
--- a/storage/innobase/include/hash0hash.ic
+++ b/storage/innobase/include/hash0hash.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ibuf0ibuf.h b/storage/innobase/include/ibuf0ibuf.h
index 09c48822b..bfd1d75d8 100644
--- a/storage/innobase/include/ibuf0ibuf.h
+++ b/storage/innobase/include/ibuf0ibuf.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ibuf0ibuf.ic b/storage/innobase/include/ibuf0ibuf.ic
index a5df9f7b6..d26a8c60a 100644
--- a/storage/innobase/include/ibuf0ibuf.ic
+++ b/storage/innobase/include/ibuf0ibuf.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ibuf0types.h b/storage/innobase/include/ibuf0types.h
index 3fdbf078b..6b7c47208 100644
--- a/storage/innobase/include/ibuf0types.h
+++ b/storage/innobase/include/ibuf0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/lock0iter.h b/storage/innobase/include/lock0iter.h
index 0054850b5..e63ed54bb 100644
--- a/storage/innobase/include/lock0iter.h
+++ b/storage/innobase/include/lock0iter.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/lock0lock.h b/storage/innobase/include/lock0lock.h
index b4259cd48..2628cdfc4 100644
--- a/storage/innobase/include/lock0lock.h
+++ b/storage/innobase/include/lock0lock.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -615,22 +615,6 @@ lock_report_trx_id_insanity(
 	trx_id_t	max_trx_id)	/*!< in: trx_sys_get_max_trx_id() */
 	MY_ATTRIBUTE((nonnull));
 /*********************************************************************//**
-Prints info of a table lock. */
-UNIV_INTERN
-void
-lock_table_print(
-/*=============*/
-	FILE*		file,	/*!< in: file where to print */
-	const lock_t*	lock);	/*!< in: table type lock */
-/*********************************************************************//**
-Prints info of a record lock. */
-UNIV_INTERN
-void
-lock_rec_print(
-/*===========*/
-	FILE*		file,	/*!< in: file where to print */
-	const lock_t*	lock);	/*!< in: record type lock */
-/*********************************************************************//**
 Prints info of locks for all transactions.
 @return FALSE if not able to obtain lock mutex and exits without
 printing info */
diff --git a/storage/innobase/include/lock0lock.ic b/storage/innobase/include/lock0lock.ic
index 736936954..bce04e582 100644
--- a/storage/innobase/include/lock0lock.ic
+++ b/storage/innobase/include/lock0lock.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/lock0priv.h b/storage/innobase/include/lock0priv.h
index b60dd0d92..ef502be90 100644
--- a/storage/innobase/include/lock0priv.h
+++ b/storage/innobase/include/lock0priv.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -74,10 +74,14 @@ struct lock_t {
 					lock */
 	dict_index_t*	index;		/*!< index for a record lock */
 
-	/* Statistics for how long lock has been held and time
-	how long this lock had to be waited before it was granted */
-	time_t		requested_time; /*!< Lock request time */
-	ulint		wait_time;	/*!< Time waited this lock or 0 */
+	/** time(NULL) of the lock request creation.
+	Used for computing wait_time and diagnostics only.
+	Note: bogus durations may be reported
+	when the system time is adjusted! */
+	time_t		requested_time;
+	/** Cumulated wait time in seconds.
+	Note: may be bogus when the system time is adjusted! */
+	ulint		wait_time;
 
 	union {
 		lock_table_t	tab_lock;/*!< table lock */
diff --git a/storage/innobase/include/lock0priv.ic b/storage/innobase/include/lock0priv.ic
index 6b70dc33d..02c4ff093 100644
--- a/storage/innobase/include/lock0priv.ic
+++ b/storage/innobase/include/lock0priv.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/lock0types.h b/storage/innobase/include/lock0types.h
index cf32e72f8..90c6f6cea 100644
--- a/storage/innobase/include/lock0types.h
+++ b/storage/innobase/include/lock0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/log0crypt.h b/storage/innobase/include/log0crypt.h
index b7a221e0a..97ceac7b8 100644
--- a/storage/innobase/include/log0crypt.h
+++ b/storage/innobase/include/log0crypt.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**************************************************//**
diff --git a/storage/innobase/include/log0log.h b/storage/innobase/include/log0log.h
index 4403f3538..a30bf563d 100644
--- a/storage/innobase/include/log0log.h
+++ b/storage/innobase/include/log0log.h
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/log0log.ic b/storage/innobase/include/log0log.ic
index 38ed2b51a..7bcd7f130 100644
--- a/storage/innobase/include/log0log.ic
+++ b/storage/innobase/include/log0log.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/log0recv.h b/storage/innobase/include/log0recv.h
index dca99f2a7..f030881ed 100644
--- a/storage/innobase/include/log0recv.h
+++ b/storage/innobase/include/log0recv.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -426,7 +426,7 @@ struct recv_sys_t{
 				log record, or there is a log parsing
 				buffer overflow */
 	/** the time when progress was last reported */
-	ib_time_t	progress_time;
+	time_t		progress_time;
 #ifdef UNIV_LOG_ARCHIVE
 	log_group_t*	archive_group;
 				/*!< in archive recovery: the log group whose
@@ -444,7 +444,7 @@ struct recv_sys_t{
 	@param[in]	time	the current time
 	@return	whether progress should be reported
 		(the last report was at least 15 seconds ago) */
-	bool report(ib_time_t time)
+	bool report(time_t time)
 	{
 		if (time - progress_time < 15) {
 			return false;
diff --git a/storage/innobase/include/log0recv.ic b/storage/innobase/include/log0recv.ic
index 32c28dd03..332d65625 100644
--- a/storage/innobase/include/log0recv.ic
+++ b/storage/innobase/include/log0recv.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mach0data.h b/storage/innobase/include/mach0data.h
index 9859def0a..24eee4a00 100644
--- a/storage/innobase/include/mach0data.h
+++ b/storage/innobase/include/mach0data.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mach0data.ic b/storage/innobase/include/mach0data.ic
index 72e793da8..c4837596f 100644
--- a/storage/innobase/include/mach0data.ic
+++ b/storage/innobase/include/mach0data.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mem0dbg.h b/storage/innobase/include/mem0dbg.h
index cc339b829..448e5f80f 100644
--- a/storage/innobase/include/mem0dbg.h
+++ b/storage/innobase/include/mem0dbg.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mem0dbg.ic b/storage/innobase/include/mem0dbg.ic
index ec60ed353..69bb5fd8d 100644
--- a/storage/innobase/include/mem0dbg.ic
+++ b/storage/innobase/include/mem0dbg.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mem0mem.h b/storage/innobase/include/mem0mem.h
index de9b8b29f..b01a0fdee 100644
--- a/storage/innobase/include/mem0mem.h
+++ b/storage/innobase/include/mem0mem.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mem0mem.ic b/storage/innobase/include/mem0mem.ic
index 2b4638718..3010bbf5c 100644
--- a/storage/innobase/include/mem0mem.ic
+++ b/storage/innobase/include/mem0mem.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mem0pool.h b/storage/innobase/include/mem0pool.h
index a65ba50fd..d6fb23f74 100644
--- a/storage/innobase/include/mem0pool.h
+++ b/storage/innobase/include/mem0pool.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mem0pool.ic b/storage/innobase/include/mem0pool.ic
index f4bafb8ba..d99daf59e 100644
--- a/storage/innobase/include/mem0pool.ic
+++ b/storage/innobase/include/mem0pool.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mtr0log.h b/storage/innobase/include/mtr0log.h
index 18a345d05..929f68122 100644
--- a/storage/innobase/include/mtr0log.h
+++ b/storage/innobase/include/mtr0log.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mtr0log.ic b/storage/innobase/include/mtr0log.ic
index bdfd98709..c23914078 100644
--- a/storage/innobase/include/mtr0log.ic
+++ b/storage/innobase/include/mtr0log.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mtr0mtr.h b/storage/innobase/include/mtr0mtr.h
index 1df9fba5e..6c0ee2c7a 100644
--- a/storage/innobase/include/mtr0mtr.h
+++ b/storage/innobase/include/mtr0mtr.h
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mtr0mtr.ic b/storage/innobase/include/mtr0mtr.ic
index 3f897ae1d..5763c054a 100644
--- a/storage/innobase/include/mtr0mtr.ic
+++ b/storage/innobase/include/mtr0mtr.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/mtr0types.h b/storage/innobase/include/mtr0types.h
index 43368c0b7..715e9d8b5 100644
--- a/storage/innobase/include/mtr0types.h
+++ b/storage/innobase/include/mtr0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/os0file.h b/storage/innobase/include/os0file.h
index 55e41f6eb..434b209d3 100644
--- a/storage/innobase/include/os0file.h
+++ b/storage/innobase/include/os0file.h
@@ -22,7 +22,7 @@ Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 ***********************************************************************/
 
diff --git a/storage/innobase/include/os0file.ic b/storage/innobase/include/os0file.ic
index 2e7c12ecd..f5fe35dd9 100644
--- a/storage/innobase/include/os0file.ic
+++ b/storage/innobase/include/os0file.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/os0once.h b/storage/innobase/include/os0once.h
index a8bbaf1d2..aaf2db117 100644
--- a/storage/innobase/include/os0once.h
+++ b/storage/innobase/include/os0once.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/os0proc.h b/storage/innobase/include/os0proc.h
index 613e3bd69..3103bddb9 100644
--- a/storage/innobase/include/os0proc.h
+++ b/storage/innobase/include/os0proc.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/os0proc.ic b/storage/innobase/include/os0proc.ic
index 506f4f8ce..4726eb56f 100644
--- a/storage/innobase/include/os0proc.ic
+++ b/storage/innobase/include/os0proc.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/os0sync.h b/storage/innobase/include/os0sync.h
index bb225c53d..c4185e814 100644
--- a/storage/innobase/include/os0sync.h
+++ b/storage/innobase/include/os0sync.h
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/os0sync.ic b/storage/innobase/include/os0sync.ic
index 4ebf84dba..f0eba9b44 100644
--- a/storage/innobase/include/os0sync.ic
+++ b/storage/innobase/include/os0sync.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/os0thread.h b/storage/innobase/include/os0thread.h
index 54f3d7554..dd129edef 100644
--- a/storage/innobase/include/os0thread.h
+++ b/storage/innobase/include/os0thread.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/os0thread.ic b/storage/innobase/include/os0thread.ic
index 0622d22f2..15f9b277f 100644
--- a/storage/innobase/include/os0thread.ic
+++ b/storage/innobase/include/os0thread.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/page0cur.h b/storage/innobase/include/page0cur.h
index f04667ff2..aec7c6356 100644
--- a/storage/innobase/include/page0cur.h
+++ b/storage/innobase/include/page0cur.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/page0cur.ic b/storage/innobase/include/page0cur.ic
index 6e068d9f7..9d0e8408c 100644
--- a/storage/innobase/include/page0cur.ic
+++ b/storage/innobase/include/page0cur.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/page0page.h b/storage/innobase/include/page0page.h
index 9c6d430eb..64ae31905 100644
--- a/storage/innobase/include/page0page.h
+++ b/storage/innobase/include/page0page.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/page0page.ic b/storage/innobase/include/page0page.ic
index 7a1a3be91..638ff609e 100644
--- a/storage/innobase/include/page0page.ic
+++ b/storage/innobase/include/page0page.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/page0size.h b/storage/innobase/include/page0size.h
index b1e1254bf..0b3fa905c 100644
--- a/storage/innobase/include/page0size.h
+++ b/storage/innobase/include/page0size.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/page0types.h b/storage/innobase/include/page0types.h
index 2892e8608..cba2d7a7a 100644
--- a/storage/innobase/include/page0types.h
+++ b/storage/innobase/include/page0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/page0zip.h b/storage/innobase/include/page0zip.h
index 0bf77e2fc..f45dd412f 100644
--- a/storage/innobase/include/page0zip.h
+++ b/storage/innobase/include/page0zip.h
@@ -15,7 +15,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/page0zip.ic b/storage/innobase/include/page0zip.ic
index 3fa8a08c4..45979e4d0 100644
--- a/storage/innobase/include/page0zip.ic
+++ b/storage/innobase/include/page0zip.ic
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/pars0grm.h b/storage/innobase/include/pars0grm.h
index 8e725fe95..d3228f7c0 100644
--- a/storage/innobase/include/pars0grm.h
+++ b/storage/innobase/include/pars0grm.h
@@ -18,7 +18,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   Boston, MA 02110-1335  USA.  */
 
 /* As a special exception, you may create a larger work that contains
    part or all of the Bison parser skeleton and distribute that work
diff --git a/storage/innobase/include/pars0opt.h b/storage/innobase/include/pars0opt.h
index 1084d644c..ce3e4410e 100644
--- a/storage/innobase/include/pars0opt.h
+++ b/storage/innobase/include/pars0opt.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/pars0opt.ic b/storage/innobase/include/pars0opt.ic
index 786d911ca..99075c81d 100644
--- a/storage/innobase/include/pars0opt.ic
+++ b/storage/innobase/include/pars0opt.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/pars0pars.h b/storage/innobase/include/pars0pars.h
index 313380a40..1032862b2 100644
--- a/storage/innobase/include/pars0pars.h
+++ b/storage/innobase/include/pars0pars.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/pars0pars.ic b/storage/innobase/include/pars0pars.ic
index 4c88337a2..f788f4479 100644
--- a/storage/innobase/include/pars0pars.ic
+++ b/storage/innobase/include/pars0pars.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/pars0sym.h b/storage/innobase/include/pars0sym.h
index bcf736392..d423f84ab 100644
--- a/storage/innobase/include/pars0sym.h
+++ b/storage/innobase/include/pars0sym.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/pars0sym.ic b/storage/innobase/include/pars0sym.ic
index 266c1a631..6401a525c 100644
--- a/storage/innobase/include/pars0sym.ic
+++ b/storage/innobase/include/pars0sym.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/pars0types.h b/storage/innobase/include/pars0types.h
index 47f4b432d..f5b695225 100644
--- a/storage/innobase/include/pars0types.h
+++ b/storage/innobase/include/pars0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/que0que.h b/storage/innobase/include/que0que.h
index f37581cbf..4ec24f408 100644
--- a/storage/innobase/include/que0que.h
+++ b/storage/innobase/include/que0que.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/que0que.ic b/storage/innobase/include/que0que.ic
index eff5a86d9..177546778 100644
--- a/storage/innobase/include/que0que.ic
+++ b/storage/innobase/include/que0que.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/que0types.h b/storage/innobase/include/que0types.h
index 0f11cad30..025cf818a 100644
--- a/storage/innobase/include/que0types.h
+++ b/storage/innobase/include/que0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/read0read.h b/storage/innobase/include/read0read.h
index ae75cfac6..fb30719b6 100644
--- a/storage/innobase/include/read0read.h
+++ b/storage/innobase/include/read0read.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/read0read.ic b/storage/innobase/include/read0read.ic
index 82c1028f1..ed2b2dae3 100644
--- a/storage/innobase/include/read0read.ic
+++ b/storage/innobase/include/read0read.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/read0types.h b/storage/innobase/include/read0types.h
index 969f4ebb6..1ad501d93 100644
--- a/storage/innobase/include/read0types.h
+++ b/storage/innobase/include/read0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/rem0cmp.h b/storage/innobase/include/rem0cmp.h
index 65116229f..828e1175e 100644
--- a/storage/innobase/include/rem0cmp.h
+++ b/storage/innobase/include/rem0cmp.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/rem0cmp.ic b/storage/innobase/include/rem0cmp.ic
index 67a2dcacb..9dee05a76 100644
--- a/storage/innobase/include/rem0cmp.ic
+++ b/storage/innobase/include/rem0cmp.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/rem0rec.h b/storage/innobase/include/rem0rec.h
index 4adfc128d..4d10e98f4 100644
--- a/storage/innobase/include/rem0rec.h
+++ b/storage/innobase/include/rem0rec.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/rem0rec.ic b/storage/innobase/include/rem0rec.ic
index 122ea7330..e0d0682ff 100644
--- a/storage/innobase/include/rem0rec.ic
+++ b/storage/innobase/include/rem0rec.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/rem0types.h b/storage/innobase/include/rem0types.h
index f8133f774..cc59bd910 100644
--- a/storage/innobase/include/rem0types.h
+++ b/storage/innobase/include/rem0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0ext.h b/storage/innobase/include/row0ext.h
index a098e2f9b..02f46867d 100644
--- a/storage/innobase/include/row0ext.h
+++ b/storage/innobase/include/row0ext.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0ext.ic b/storage/innobase/include/row0ext.ic
index 39e150d91..913b51b34 100644
--- a/storage/innobase/include/row0ext.ic
+++ b/storage/innobase/include/row0ext.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0ftsort.h b/storage/innobase/include/row0ftsort.h
index b00638537..7b99eb377 100644
--- a/storage/innobase/include/row0ftsort.h
+++ b/storage/innobase/include/row0ftsort.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0import.h b/storage/innobase/include/row0import.h
index a821c230a..4f9f372ff 100644
--- a/storage/innobase/include/row0import.h
+++ b/storage/innobase/include/row0import.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0import.ic b/storage/innobase/include/row0import.ic
index c5bbab49f..75b45e771 100644
--- a/storage/innobase/include/row0import.ic
+++ b/storage/innobase/include/row0import.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0ins.h b/storage/innobase/include/row0ins.h
index 71ee39070..54e7fa6d1 100644
--- a/storage/innobase/include/row0ins.h
+++ b/storage/innobase/include/row0ins.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0ins.ic b/storage/innobase/include/row0ins.ic
index 9c191d869..f1f0a4497 100644
--- a/storage/innobase/include/row0ins.ic
+++ b/storage/innobase/include/row0ins.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0log.h b/storage/innobase/include/row0log.h
index 5ff148ff0..6d91e25e6 100644
--- a/storage/innobase/include/row0log.h
+++ b/storage/innobase/include/row0log.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0log.ic b/storage/innobase/include/row0log.ic
index b0f37dbd8..53f99da15 100644
--- a/storage/innobase/include/row0log.ic
+++ b/storage/innobase/include/row0log.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0merge.h b/storage/innobase/include/row0merge.h
index 6129d03fa..a3738f8fb 100644
--- a/storage/innobase/include/row0merge.h
+++ b/storage/innobase/include/row0merge.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/row0mysql.h b/storage/innobase/include/row0mysql.h
index a38e9b6b3..2069caf7f 100644
--- a/storage/innobase/include/row0mysql.h
+++ b/storage/innobase/include/row0mysql.h
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2015, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -491,7 +492,7 @@ row_drop_table_for_mysql(
 	const char*	name,	/*!< in: table name */
 	trx_t*		trx,	/*!< in: dictionary transaction handle */
 	bool		drop_db,/*!< in: true=dropping whole database */
-	ibool		create_failed,/*!lock.wait_started */
 	ullint		trx_weight;	/*!< TRX_WEIGHT() */
 	ulint		trx_mysql_thread_id; /*!< thd_get_thread_id() */
 	const char*	trx_query;	/*!< MySQL statement being
diff --git a/storage/innobase/include/trx0purge.h b/storage/innobase/include/trx0purge.h
index f72652963..f5b3b6efa 100644
--- a/storage/innobase/include/trx0purge.h
+++ b/storage/innobase/include/trx0purge.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0purge.ic b/storage/innobase/include/trx0purge.ic
index ca9cc1fb8..a32ecefe4 100644
--- a/storage/innobase/include/trx0purge.ic
+++ b/storage/innobase/include/trx0purge.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0rec.h b/storage/innobase/include/trx0rec.h
index ec15250ec..cfb3bd812 100644
--- a/storage/innobase/include/trx0rec.h
+++ b/storage/innobase/include/trx0rec.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0rec.ic b/storage/innobase/include/trx0rec.ic
index 08704f6b8..57d1e9aff 100644
--- a/storage/innobase/include/trx0rec.ic
+++ b/storage/innobase/include/trx0rec.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0roll.h b/storage/innobase/include/trx0roll.h
index 274a3b038..fcafd1b5b 100644
--- a/storage/innobase/include/trx0roll.h
+++ b/storage/innobase/include/trx0roll.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0roll.ic b/storage/innobase/include/trx0roll.ic
index 178e9bb73..e6f9dd5eb 100644
--- a/storage/innobase/include/trx0roll.ic
+++ b/storage/innobase/include/trx0roll.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0rseg.h b/storage/innobase/include/trx0rseg.h
index 2fe5df14c..acf2f9d04 100644
--- a/storage/innobase/include/trx0rseg.h
+++ b/storage/innobase/include/trx0rseg.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0rseg.ic b/storage/innobase/include/trx0rseg.ic
index 30743da9b..4bcbebaf6 100644
--- a/storage/innobase/include/trx0rseg.ic
+++ b/storage/innobase/include/trx0rseg.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0sys.h b/storage/innobase/include/trx0sys.h
index f70c53b57..6b1ff959a 100644
--- a/storage/innobase/include/trx0sys.h
+++ b/storage/innobase/include/trx0sys.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0sys.ic b/storage/innobase/include/trx0sys.ic
index e097e29b5..04c858118 100644
--- a/storage/innobase/include/trx0sys.ic
+++ b/storage/innobase/include/trx0sys.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0trx.h b/storage/innobase/include/trx0trx.h
index 165ebe82d..0291140a9 100644
--- a/storage/innobase/include/trx0trx.h
+++ b/storage/innobase/include/trx0trx.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -867,10 +867,11 @@ struct trx_t{
 					when trx->in_rw_trx_list. Initially
 					set to TRX_ID_MAX. */
 
-	time_t		start_time;	/*!< time the trx state last time became
-					TRX_STATE_ACTIVE */
-	ib_uint64_t	start_time_micro;	/*!< start time of transaction in
-					microseconds */
+	/** wall-clock time of the latest transition to TRX_STATE_ACTIVE;
+	used for diagnostic purposes only */
+	time_t		start_time;
+	/** microsecond_interval_timer() of transaction start */
+	ulonglong	start_time_micro;
 	trx_id_t	id;		/*!< transaction id */
 	XID		xid;		/*!< X/Open XA transaction
 					identification to identify a
diff --git a/storage/innobase/include/trx0trx.ic b/storage/innobase/include/trx0trx.ic
index 0011f2ca7..d037696a0 100644
--- a/storage/innobase/include/trx0trx.ic
+++ b/storage/innobase/include/trx0trx.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0types.h b/storage/innobase/include/trx0types.h
index a0b398fff..1c869bdd4 100644
--- a/storage/innobase/include/trx0types.h
+++ b/storage/innobase/include/trx0types.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0undo.h b/storage/innobase/include/trx0undo.h
index 266ca3254..210b7a433 100644
--- a/storage/innobase/include/trx0undo.h
+++ b/storage/innobase/include/trx0undo.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0undo.ic b/storage/innobase/include/trx0undo.ic
index 577759d6c..4ab197f57 100644
--- a/storage/innobase/include/trx0undo.ic
+++ b/storage/innobase/include/trx0undo.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/trx0xa.h b/storage/innobase/include/trx0xa.h
index 4d5adc68d..cb5d67cf5 100644
--- a/storage/innobase/include/trx0xa.h
+++ b/storage/innobase/include/trx0xa.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/univ.i b/storage/innobase/include/univ.i
index e056f0f4b..02ab9e8b9 100644
--- a/storage/innobase/include/univ.i
+++ b/storage/innobase/include/univ.i
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -45,7 +45,7 @@ Created 1/20/1994 Heikki Tuuri
 
 #define INNODB_VERSION_MAJOR	5
 #define INNODB_VERSION_MINOR	6
-#define INNODB_VERSION_BUGFIX	44
+#define INNODB_VERSION_BUGFIX	45
 
 /* The following is the InnoDB version as shown in
 SELECT plugin_version FROM information_schema.plugins;
diff --git a/storage/innobase/include/usr0sess.h b/storage/innobase/include/usr0sess.h
index b5c80b97b..5978332d5 100644
--- a/storage/innobase/include/usr0sess.h
+++ b/storage/innobase/include/usr0sess.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/usr0sess.ic b/storage/innobase/include/usr0sess.ic
index 284e59537..65e404fb7 100644
--- a/storage/innobase/include/usr0sess.ic
+++ b/storage/innobase/include/usr0sess.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/usr0types.h b/storage/innobase/include/usr0types.h
index 6ba937cac..693bb239a 100644
--- a/storage/innobase/include/usr0types.h
+++ b/storage/innobase/include/usr0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0bh.h b/storage/innobase/include/ut0bh.h
index 1085736c7..bde310a7d 100644
--- a/storage/innobase/include/ut0bh.h
+++ b/storage/innobase/include/ut0bh.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0bh.ic b/storage/innobase/include/ut0bh.ic
index b11de5b8b..579a487fa 100644
--- a/storage/innobase/include/ut0bh.ic
+++ b/storage/innobase/include/ut0bh.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0byte.h b/storage/innobase/include/ut0byte.h
index 4893ab9f9..eb75ecd0f 100644
--- a/storage/innobase/include/ut0byte.h
+++ b/storage/innobase/include/ut0byte.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0byte.ic b/storage/innobase/include/ut0byte.ic
index 1a7af5ae3..504744ad2 100644
--- a/storage/innobase/include/ut0byte.ic
+++ b/storage/innobase/include/ut0byte.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0counter.h b/storage/innobase/include/ut0counter.h
index 6fde8a7a6..d2a6c1eb3 100644
--- a/storage/innobase/include/ut0counter.h
+++ b/storage/innobase/include/ut0counter.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0crc32.h b/storage/innobase/include/ut0crc32.h
index af6f0bc74..391c239c5 100644
--- a/storage/innobase/include/ut0crc32.h
+++ b/storage/innobase/include/ut0crc32.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0dbg.h b/storage/innobase/include/ut0dbg.h
index b4c941bc1..efc670184 100644
--- a/storage/innobase/include/ut0dbg.h
+++ b/storage/innobase/include/ut0dbg.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0list.h b/storage/innobase/include/ut0list.h
index 796a272db..4f35624ac 100644
--- a/storage/innobase/include/ut0list.h
+++ b/storage/innobase/include/ut0list.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0list.ic b/storage/innobase/include/ut0list.ic
index 7a7f53adb..89f411a2a 100644
--- a/storage/innobase/include/ut0list.ic
+++ b/storage/innobase/include/ut0list.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0lst.h b/storage/innobase/include/ut0lst.h
index b53e7ade4..741d55dca 100644
--- a/storage/innobase/include/ut0lst.h
+++ b/storage/innobase/include/ut0lst.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0mem.h b/storage/innobase/include/ut0mem.h
index 81470358f..12f93764d 100644
--- a/storage/innobase/include/ut0mem.h
+++ b/storage/innobase/include/ut0mem.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0mem.ic b/storage/innobase/include/ut0mem.ic
index 5c9071d52..f102bf959 100644
--- a/storage/innobase/include/ut0mem.ic
+++ b/storage/innobase/include/ut0mem.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0rbt.h b/storage/innobase/include/ut0rbt.h
index 59e3fc945..dd4838367 100644
--- a/storage/innobase/include/ut0rbt.h
+++ b/storage/innobase/include/ut0rbt.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /******************************************************************//**
diff --git a/storage/innobase/include/ut0rnd.h b/storage/innobase/include/ut0rnd.h
index 6ed3ee3b2..0f8474225 100644
--- a/storage/innobase/include/ut0rnd.h
+++ b/storage/innobase/include/ut0rnd.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0rnd.ic b/storage/innobase/include/ut0rnd.ic
index 987dfac03..ce8c7203c 100644
--- a/storage/innobase/include/ut0rnd.ic
+++ b/storage/innobase/include/ut0rnd.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0sort.h b/storage/innobase/include/ut0sort.h
index 75648b5c3..12f482078 100644
--- a/storage/innobase/include/ut0sort.h
+++ b/storage/innobase/include/ut0sort.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0timer.h b/storage/innobase/include/ut0timer.h
deleted file mode 100644
index 3015771b4..000000000
--- a/storage/innobase/include/ut0timer.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*****************************************************************************
-
-Copyright (c) 2013, 2014, Facebook, Inc. All Rights Reserved.
-Copyright (c) 2014, 2018, MariaDB Corporation.
-
-This program is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
-
-*****************************************************************************/
-
-/********************************************************************//**
-@file include/ut0timer.h
-Timer routines
-
-Created 30/07/2014 Jan Lindström jan.lindstrom@skysql.com
-modified from https://github.com/facebook/mysql-5.6/commit/c75a413edeb96eb99bf11d7269bdfea06f96d6b6
-*************************************************************************/
-#ifndef ut0timer_h
-#define ut0timer_h
-
-#include "univ.i"
-
-/* Current timer stats */
-extern struct my_timer_unit_info ut_timer;
-
-/**************************************************************//**
-Function pointer to point selected timer function.
-@return	timer current value */
-extern ulonglong (*ut_timer_now)(void);
-
-/**************************************************************//**
-Sets up the data required for use of my_timer_* functions.
-Selects the best timer by high frequency, and tight resolution.
-Points my_timer_now() to the selected timer function.
-Initializes my_timer struct to contain the info for selected timer.*/
-UNIV_INTERN
-void ut_init_timer(void);
-
-/**************************************************************//**
-Convert native timer units in a ulonglong into microseconds in a double
-@return time in microseconds */
-UNIV_INLINE
-double
-ut_timer_to_microseconds(
-/*=====================*/
-	ulonglong	when); /*!< in: time where to calculate */
-/**************************************************************//**
-Convert microseconds in a double to native timer units in a ulonglong
-@return time in microseconds */
-UNIV_INLINE
-ulonglong
-ut_microseconds_to_timer(
-/*=====================*/
-	ulonglong	when); /*!< in: time where to calculate */
-
-#ifndef UNIV_NONINL
-#include "ut0timer.ic"
-#endif
-
-#endif
diff --git a/storage/innobase/include/ut0timer.ic b/storage/innobase/include/ut0timer.ic
deleted file mode 100644
index 34886481e..000000000
--- a/storage/innobase/include/ut0timer.ic
+++ /dev/null
@@ -1,56 +0,0 @@
-/*****************************************************************************
-
-Copyright (c) 2013, 2014, Facebook, Inc. All Rights Reserved.
-Copyright (c) 2014, 2018, MariaDB Corporation.
-
-This program is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
-
-*****************************************************************************/
-
-/********************************************************************//**
-@file include/ut0timer.ic
-Timer routines
-
-Created 30/07/2014 Jan Lindström jan.lindstrom@skysql.com
-modified from https://github.com/facebook/mysql-5.6/commit/c75a413edeb96eb99bf11d7269bdfea06f96d6b6
-*************************************************************************/
-
-/**************************************************************//**
-Convert native timer units in a ulonglong into microseconds in a double
-@return time in microseconds */
-UNIV_INLINE
-double
-ut_timer_to_microseconds(
-/*=====================*/
-	ulonglong	when) /*!< in: time where to calculate */
-{
-	double ret = (double)(when);
-	ret *= 1000000.0;
-	ret /= (double)(ut_timer.frequency);
-	return ret;
-}
-
-/**************************************************************//**
-Convert microseconds in a double to native timer units in a ulonglong
-@return time in microseconds */
-UNIV_INLINE
-ulonglong
-ut_microseconds_to_timer(
-/*=====================*/
-	ulonglong 	when) /*!< in: time where to calculate */
-{
-	double ret = (double)when;
-	ret *= (double)(ut_timer.frequency);
-	ret /= 1000000.0;
-	return (ulonglong)ret;
-}
diff --git a/storage/innobase/include/ut0ut.h b/storage/innobase/include/ut0ut.h
index ffdb13ddf..da94e78d6 100644
--- a/storage/innobase/include/ut0ut.h
+++ b/storage/innobase/include/ut0ut.h
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1994, 2017, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -52,9 +53,6 @@ Created 1/20/1994 Heikki Tuuri
 /** Index name prefix in fast index creation, as a string constant */
 #define TEMP_INDEX_PREFIX_STR	"\377"
 
-/** Time stamp */
-typedef time_t	ib_time_t;
-
 /* In order to call a piece of code, when a function returns or when the
 scope ends, use this utility class.  It will invoke the given function
 object in its destructor. */
@@ -111,22 +109,6 @@ struct ut_when_dtor {
 #  define UT_LOW_PRIORITY_CPU() ((void)0)
 #  define UT_RESUME_PRIORITY_CPU() ((void)0)
 # endif
-
-/*********************************************************************//**
-Delays execution for at most max_wait_us microseconds or returns earlier
-if cond becomes true.
-@param cond		in: condition to wait for; evaluated every 2 ms
-@param max_wait_us	in: maximum delay to wait, in microseconds */
-#define UT_WAIT_FOR(cond, max_wait_us)				\
-do {								\
-	ullint	start_us;					\
-	start_us = ut_time_us(NULL);				\
-	while (!(cond) 						\
-	       && ut_time_us(NULL) - start_us < (max_wait_us)) {\
-								\
-		os_thread_sleep(2000 /* 2 ms */);		\
-	}							\
-} while (0)
 #endif /* !UNIV_HOTBACKUP */
 
 template  T ut_min(T a, T b) { return(a < b ? a : b); }
@@ -250,50 +232,6 @@ store the given number of bits.
 #define UT_BITS_IN_BYTES(b) (((b) + 7) / 8)
 
 #ifndef UNIV_INNOCHECKSUM
-/**********************************************************//**
-Returns system time. We do not specify the format of the time returned:
-the only way to manipulate it is to use the function ut_difftime.
-@return	system time */
-UNIV_INTERN
-ib_time_t
-ut_time(void);
-/*=========*/
-#ifndef UNIV_HOTBACKUP
-/**********************************************************//**
-Returns system time.
-Upon successful completion, the value 0 is returned; otherwise the
-value -1 is returned and the global variable errno is set to indicate the
-error.
-@return	0 on success, -1 otherwise */
-UNIV_INTERN
-int
-ut_usectime(
-/*========*/
-	ulint*	sec,	/*!< out: seconds since the Epoch */
-	ulint*	ms);	/*!< out: microseconds since the Epoch+*sec */
-
-/**********************************************************//**
-Returns the number of microseconds since epoch. Similar to
-time(3), the return value is also stored in *tloc, provided
-that tloc is non-NULL.
-@return	us since epoch */
-UNIV_INTERN
-ullint
-ut_time_us(
-/*=======*/
-	ullint*	tloc);	/*!< out: us since epoch, if non-NULL */
-/**********************************************************//**
-Returns the number of milliseconds since some epoch.  The
-value may wrap around.  It should only be used for heuristic
-purposes.
-@return	ms since epoch */
-UNIV_INTERN
-ulint
-ut_time_ms(void);
-/*============*/
-
-#endif /* !UNIV_HOTBACKUP */
-
 /**********************************************************//**
 Returns the number of milliseconds since some epoch.  The
 value may wrap around.  It should only be used for heuristic
@@ -303,17 +241,6 @@ UNIV_INTERN
 ulint
 ut_time_ms(void);
 /*============*/
-
-/**********************************************************//**
-Returns the difference of two times in seconds.
-@return	time2 - time1 expressed in seconds */
-UNIV_INTERN
-double
-ut_difftime(
-/*========*/
-	ib_time_t	time2,	/*!< in: time */
-	ib_time_t	time1);	/*!< in: time */
-
 #endif /* !UNIV_INNOCHECKSUM */
 
 /**********************************************************//**
@@ -343,15 +270,6 @@ void
 ut_sprintf_timestamp_without_extra_chars(
 /*=====================================*/
 	char*	buf); /*!< in: buffer where to sprintf */
-/**********************************************************//**
-Returns current year, month, day. */
-UNIV_INTERN
-void
-ut_get_year_month_day(
-/*==================*/
-	ulint*	year,	/*!< out: current year */
-	ulint*	month,	/*!< out: month */
-	ulint*	day);	/*!< out: day */
 #else /* UNIV_HOTBACKUP */
 /*************************************************************//**
 Runs an idle loop on CPU. The argument gives the desired delay
diff --git a/storage/innobase/include/ut0ut.ic b/storage/innobase/include/ut0ut.ic
index 4e0f76e19..380c58873 100644
--- a/storage/innobase/include/ut0ut.ic
+++ b/storage/innobase/include/ut0ut.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0vec.h b/storage/innobase/include/ut0vec.h
index 432fb348a..a08380fff 100644
--- a/storage/innobase/include/ut0vec.h
+++ b/storage/innobase/include/ut0vec.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0vec.ic b/storage/innobase/include/ut0vec.ic
index f41a85e1d..1d4c0539c 100644
--- a/storage/innobase/include/ut0vec.ic
+++ b/storage/innobase/include/ut0vec.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/include/ut0wqueue.h b/storage/innobase/include/ut0wqueue.h
index dcd3feabe..b81b78530 100644
--- a/storage/innobase/include/ut0wqueue.h
+++ b/storage/innobase/include/ut0wqueue.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -89,7 +89,7 @@ ib_wqueue_timedwait(
 /*================*/
 					/* out: work item or NULL on timeout*/
 	ib_wqueue_t*	wq,		/* in: work queue */
-	ib_time_t	wait_in_usecs); /* in: wait time in micro seconds */
+	ulint		wait_in_usecs); /* in: wait time in micro seconds */
 
 /********************************************************************
 Return first item on work queue or NULL if queue is empty
diff --git a/storage/innobase/lock/lock0iter.cc b/storage/innobase/lock/lock0iter.cc
index b424d2fc7..56bb69fa4 100644
--- a/storage/innobase/lock/lock0iter.cc
+++ b/storage/innobase/lock/lock0iter.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/lock/lock0lock.cc b/storage/innobase/lock/lock0lock.cc
index 1ad5b9881..0fade62e7 100644
--- a/storage/innobase/lock/lock0lock.cc
+++ b/storage/innobase/lock/lock0lock.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -383,6 +383,20 @@ struct lock_stack_t {
 	ulint		heap_no;		/*!< heap number if rec lock */
 };
 
+/** Pretty-print a table lock.
+@param[in,out]	file	output stream
+@param[in]	lock	table lock
+@param[in]	now	current time */
+static void lock_table_print(FILE* file, const lock_t* lock, time_t now);
+
+/** Pretty-print a record lock.
+@param[in,out]	file	output stream
+@param[in]	lock	record lock
+@param[in]	now	current time
+@param[in,out]	mtr	mini-transaction */
+static void lock_rec_print(FILE* file, const lock_t* lock, time_t now,
+			   mtr_t* mtr = NULL);
+
 /*********************************************************************//**
 Checks if a waiting record lock request still has to wait in a queue.
 @return lock that is causing the wait */
@@ -466,20 +480,18 @@ UNIV_INTERN ibool	lock_deadlock_found = FALSE;
 /** Only created if !srv_read_only_mode */
 static FILE*		lock_latest_err_file;
 
-/********************************************************************//**
-Checks if a joining lock request results in a deadlock. If a deadlock is
+/** Check if a joining lock request results in a deadlock. If a deadlock is
 found this function will resolve the dadlock by choosing a victim transaction
-and rolling it back. It will attempt to resolve all deadlocks. The returned
-transaction id will be the joining transaction id or 0 if some other
-transaction was chosen as a victim and rolled back or no deadlock found.
-
-@return id of transaction chosen as victim or 0 */
-static
-trx_id_t
-lock_deadlock_check_and_resolve(
-/*===========================*/
-	const lock_t*	lock,	/*!< in: lock the transaction is requesting */
-	const trx_t*	trx);	/*!< in: transaction */
+and rolling it back. It will attempt to resolve all deadlocks.
+@param[in]	trx	joining transaction
+@param[in]	lock	the requested lock
+@param[in]	now	current time
+@return trx->id of the victim transaction
+@retval 0	if some other transaction was chosen as a victim and
+rolled back, or no deadlock was found. */
+static trx_id_t lock_deadlock_check_and_resolve(const trx_t* trx,
+						const lock_t* lock,
+						time_t now);
 
 /*********************************************************************//**
 Gets the nth bit of a record lock.
@@ -1135,12 +1147,11 @@ lock_rec_has_to_wait(
 		   thread, we need to look at trx ordering and lock types */
 		if (wsrep_thd_is_BF(trx->mysql_thd, FALSE)         &&
 		    wsrep_thd_is_BF(lock2->trx->mysql_thd, TRUE)) {
-
 			if (wsrep_debug) {
 				fprintf(stderr,
 					"BF-BF lock conflict, locking: %lu\n",
 					for_locking);
-				lock_rec_print(stderr, lock2);
+				lock_rec_print(stderr, lock2, time(NULL));
 			}
 
 			if (wsrep_trx_order_before(trx->mysql_thd,
@@ -1159,7 +1170,8 @@ lock_rec_has_to_wait(
 						"conflicts states: my %d locked %d\n",
 						wsrep_thd_conflict_state(trx->mysql_thd, FALSE),
 						wsrep_thd_conflict_state(lock2->trx->mysql_thd, FALSE) );
-					lock_rec_print(stderr, lock2);
+					lock_rec_print(stderr, lock2,
+						       time(NULL));
 					if (for_locking) return FALSE;
 					//abort();
 				}
@@ -1786,10 +1798,12 @@ wsrep_kill_victim(
 				fputs("*** WAITING FOR THIS LOCK TO BE GRANTED:\n",
 				      stderr);
 
+				time_t now = time(NULL);
+
 				if (lock_get_type(lock) == LOCK_REC) {
-					lock_rec_print(stderr, lock);
+					lock_rec_print(stderr, lock, now);
 				} else {
-					lock_table_print(stderr, lock);
+					lock_table_print(stderr, lock, now);
 				}
 			}
 
@@ -2032,16 +2046,20 @@ wsrep_print_wait_locks(
 {
 	if (wsrep_debug &&  c_lock->trx->lock.wait_lock != c_lock) {
 		fprintf(stderr, "WSREP: c_lock != wait lock\n");
+		time_t now = time(NULL);
+
 		if (lock_get_type_low(c_lock) & LOCK_TABLE) {
-			lock_table_print(stderr, c_lock);
+			lock_table_print(stderr, c_lock, now);
 		} else {
-			lock_rec_print(stderr, c_lock);
+			lock_rec_print(stderr, c_lock, now);
 		}
 
 		if (lock_get_type_low(c_lock->trx->lock.wait_lock) & LOCK_TABLE) {
-			lock_table_print(stderr, c_lock->trx->lock.wait_lock);
+			lock_table_print(stderr, c_lock->trx->lock.wait_lock,
+					 now);
 		} else {
-			lock_rec_print(stderr, c_lock->trx->lock.wait_lock);
+			lock_rec_print(stderr, c_lock->trx->lock.wait_lock,
+				       now);
 		}
 	}
 }
@@ -2153,7 +2171,7 @@ lock_rec_create(
 	/* Set the bit corresponding to rec */
 	lock_rec_set_nth_bit(lock, heap_no);
 
-	lock->requested_time = ut_time();
+	lock->requested_time = time(NULL);
 	lock->wait_time = 0;
 
 	index->table->n_rec_locks++;
@@ -2279,10 +2297,7 @@ If neither of them is wait lock, the first one has higher priority.
 If only one of them is a wait lock, it has lower priority.
 Otherwise, the one with an older transaction has higher priority.
 @returns true if lock1 has higher priority, false otherwise. */
-bool
-has_higher_priority(
-	lock_t *lock1,
-	lock_t *lock2)
+static bool has_higher_priority(lock_t *lock1, lock_t *lock2)
 {
 	if (lock1 == NULL) {
 		return false;
@@ -2480,7 +2495,8 @@ lock_rec_enqueue_waiting(
 
 	trx_mutex_exit(trx);
 
-	victim_trx_id = lock_deadlock_check_and_resolve(lock, trx);
+	const time_t now = time(NULL);
+	victim_trx_id = lock_deadlock_check_and_resolve(trx, lock, now);
 
 	trx_mutex_enter(trx);
 
@@ -2504,7 +2520,7 @@ lock_rec_enqueue_waiting(
 		trx->lock.que_state = TRX_QUE_LOCK_WAIT;
 
 		trx->lock.was_chosen_as_deadlock_victim = FALSE;
-		trx->lock.wait_started = ut_time();
+		trx->lock.wait_started = now;
 
 		ut_a(que_thr_stop(thr));
 
@@ -2645,7 +2661,8 @@ lock_rec_add_to_queue(
 						"BF skipping wait: "
 						TRX_ID_FMT "\n",
 						trx->id);
-					lock_rec_print(stderr, lock);
+					lock_rec_print(stderr, lock,
+						       time(NULL));
 				}
 		  } else
 #endif
@@ -2961,13 +2978,14 @@ lock_rec_has_to_wait_in_queue(
 			if (wsrep_thd_is_BF(wait_lock->trx->mysql_thd, FALSE) &&
 			    wsrep_thd_is_BF(lock->trx->mysql_thd, TRUE)) {
 				if (wsrep_debug) {
+					time_t now = time(NULL);
 					fprintf(stderr,
 						"BF-BF lock conflict " TRX_ID_FMT
 						" : " TRX_ID_FMT "\n",
 						wait_lock->trx->id,
 						lock->trx->id);
-					lock_rec_print(stderr, wait_lock);
-					lock_rec_print(stderr, lock);
+					lock_rec_print(stderr, wait_lock, now);
+					lock_rec_print(stderr, lock, now);
 				}
 				/* don't wait for another BF lock */
 				continue;
@@ -3034,16 +3052,18 @@ lock_grant(
 		}
 	}
 
+	const time_t now = time(NULL);
+
 	/* Cumulate total lock wait time for statistics */
 	if (lock_get_type_low(lock) & LOCK_TABLE) {
 		lock->trx->total_table_lock_wait_time +=
-			(ulint)difftime(ut_time(), lock->trx->lock.wait_started);
+			(ulint)difftime(now, lock->trx->lock.wait_started);
 	} else {
 		lock->trx->total_rec_lock_wait_time +=
-			(ulint)difftime(ut_time(), lock->trx->lock.wait_started);
+			(ulint)difftime(now, lock->trx->lock.wait_started);
 	}
 
-	lock->wait_time = (ulint)difftime(ut_time(), lock->requested_time);
+	lock->wait_time = (ulint)difftime(now, lock->requested_time);
 
 	if (!owns_trx_mutex) {
 		trx_mutex_exit(lock->trx);
@@ -4296,28 +4316,26 @@ lock_deadlock_trx_print(
 	mutex_exit(&trx_sys->mutex);
 }
 
-/*********************************************************************//**
-Print lock data to the deadlock file and possibly to stderr. */
-UNIV_INLINE
-void
-lock_deadlock_lock_print(
-/*=====================*/
-	const lock_t*	lock)	/*!< in: record or table type lock */
+/** Print lock data to the deadlock file and possibly to stderr.
+@param[in]	lock	record or table lock
+@param[in]	now	current time */
+static void lock_deadlock_lock_print(const lock_t* lock, time_t now)
 {
 	ut_ad(lock_mutex_own());
 	ut_ad(!srv_read_only_mode);
 
 	if (lock_get_type_low(lock) == LOCK_REC) {
-		lock_rec_print(lock_latest_err_file, lock);
+		mtr_t mtr;
+		lock_rec_print(lock_latest_err_file, lock, now, &mtr);
 
 		if (srv_print_all_deadlocks) {
-			lock_rec_print(stderr, lock);
+			lock_rec_print(stderr, lock, now, &mtr);
 		}
 	} else {
-		lock_table_print(lock_latest_err_file, lock);
+		lock_table_print(lock_latest_err_file, lock, now);
 
 		if (srv_print_all_deadlocks) {
-			lock_table_print(stderr, lock);
+			lock_table_print(stderr, lock, now);
 		}
 	}
 }
@@ -4430,6 +4448,8 @@ lock_deadlock_notify(
 	ut_ad(lock_mutex_own());
 	ut_ad(!srv_read_only_mode);
 
+	const time_t now = time(NULL);
+
 	lock_deadlock_start_print();
 
 	lock_deadlock_fputs("\n*** (1) TRANSACTION:\n");
@@ -4438,7 +4458,7 @@ lock_deadlock_notify(
 
 	lock_deadlock_fputs("*** (1) WAITING FOR THIS LOCK TO BE GRANTED:\n");
 
-	lock_deadlock_lock_print(ctx->wait_lock);
+	lock_deadlock_lock_print(ctx->wait_lock, now);
 
 	lock_deadlock_fputs("*** (2) TRANSACTION:\n");
 
@@ -4446,7 +4466,7 @@ lock_deadlock_notify(
 
 	lock_deadlock_fputs("*** (2) HOLDS THE LOCK(S):\n");
 
-	lock_deadlock_lock_print(lock);
+	lock_deadlock_lock_print(lock, now);
 
 	/* It is possible that the joining transaction was granted its
 	lock when we rolled back some other waiting transaction. */
@@ -4455,7 +4475,7 @@ lock_deadlock_notify(
 		lock_deadlock_fputs(
 			"*** (2) WAITING FOR THIS LOCK TO BE GRANTED:\n");
 
-		lock_deadlock_lock_print(ctx->start->lock.wait_lock);
+		lock_deadlock_lock_print(ctx->start->lock.wait_lock, now);
 	}
 
 #ifdef UNIV_DEBUG
@@ -4703,14 +4723,12 @@ lock_deadlock_search(
 	return(0);
 }
 
-/********************************************************************//**
-Print info about transaction that was rolled back. */
-static
-void
-lock_deadlock_joining_trx_print(
-/*============================*/
-	const trx_t*	trx,		/*!< in: transaction rolled back */
-	const lock_t*	lock)		/*!< in: lock trx wants */
+/** Print info about transaction that was rolled back.
+@param[in]	trx	victim transaction
+@param[in]	lock	the requested lock
+@param[in]	now	current time */
+static void lock_deadlock_joining_trx_print(const trx_t* trx,
+					    const lock_t* lock, time_t now)
 {
 	ut_ad(lock_mutex_own());
 	ut_ad(!srv_read_only_mode);
@@ -4730,7 +4748,7 @@ lock_deadlock_joining_trx_print(
 
 	lock_deadlock_fputs("*** WAITING FOR THIS LOCK TO BE GRANTED:\n");
 
-	lock_deadlock_lock_print(lock);
+	lock_deadlock_lock_print(lock, now);
 }
 
 /********************************************************************//**
@@ -4800,20 +4818,17 @@ lock_report_waiters_to_mysql(
 }
 
 
-/********************************************************************//**
-Checks if a joining lock request results in a deadlock. If a deadlock is
+/** Check if a joining lock request results in a deadlock. If a deadlock is
 found this function will resolve the dadlock by choosing a victim transaction
-and rolling it back. It will attempt to resolve all deadlocks. The returned
-transaction id will be the joining transaction id or 0 if some other
-transaction was chosen as a victim and rolled back or no deadlock found.
-
-@return id of transaction chosen as victim or 0 */
-static
-trx_id_t
-lock_deadlock_check_and_resolve(
-/*============================*/
-	const lock_t*	lock,	/*!< in: lock the transaction is requesting */
-	const trx_t*	trx)	/*!< in: transaction */
+and rolling it back. It will attempt to resolve all deadlocks.
+@param[in]	trx	joining transaction
+@param[in]	lock	the requested lock
+@param[in]	now	current time
+@return trx->id of the victim transaction
+@retval 0	if some other transaction was chosen as a victim and
+rolled back, or no deadlock was found. */
+static trx_id_t lock_deadlock_check_and_resolve(const trx_t* trx,
+						const lock_t* lock, time_t now)
 {
 	trx_id_t		victim_trx_id;
 	struct thd_wait_reports	waitee_buf;
@@ -4865,17 +4880,12 @@ lock_deadlock_check_and_resolve(
 			ut_a(victim_trx_id == trx->id);
 
 #ifdef WITH_WSREP
-			if (!wsrep_thd_is_BF(ctx.start->mysql_thd, TRUE))
-			{
+			if (!wsrep_thd_is_BF(ctx.start->mysql_thd, TRUE)); else
 #endif /* WITH_WSREP */
-				if (!srv_read_only_mode) {
-					lock_deadlock_joining_trx_print(trx, lock);
-				}
-#ifdef WITH_WSREP
-			} else {
-			  /* BF processor */;
+			if (!srv_read_only_mode) {
+				lock_deadlock_joining_trx_print(trx, lock,
+								now);
 			}
-#endif /* WITH_WSREP */
 
 			MONITOR_INC(MONITOR_DEADLOCK);
 
@@ -4953,7 +4963,7 @@ lock_table_create(
 
 	lock->type_mode = type_mode | LOCK_TABLE;
 	lock->trx = trx;
-	lock->requested_time = ut_time();
+	lock->requested_time = time(NULL);
 	lock->wait_time = 0;
 
 	lock->un_member.tab_lock.table = table;
@@ -5221,7 +5231,9 @@ lock_table_enqueue_waiting(
 
 	trx_mutex_exit(trx);
 
-	victim_trx_id = lock_deadlock_check_and_resolve(lock, trx);
+	const time_t now = time(NULL);
+
+	victim_trx_id = lock_deadlock_check_and_resolve(trx, lock, now);
 
 	trx_mutex_enter(trx);
 
@@ -5243,7 +5255,7 @@ lock_table_enqueue_waiting(
 
 	trx->lock.que_state = TRX_QUE_LOCK_WAIT;
 
-	trx->lock.wait_started = ut_time();
+	trx->lock.wait_started = now;
 	trx->lock.was_chosen_as_deadlock_victim = FALSE;
 	trx->n_table_lock_waits++;
 
@@ -5987,14 +5999,11 @@ lock_remove_all_on_table(
 
 /*===================== VALIDATION AND DEBUGGING  ====================*/
 
-/*********************************************************************//**
-Prints info of a table lock. */
-UNIV_INTERN
-void
-lock_table_print(
-/*=============*/
-	FILE*		file,	/*!< in: file where to print */
-	const lock_t*	lock)	/*!< in: table type lock */
+/** Pretty-print a table lock.
+@param[in,out]	file	output stream
+@param[in]	lock	table lock
+@param[in]	now	current time */
+static void lock_table_print(FILE* file, const lock_t* lock, time_t now)
 {
 	ut_ad(lock_mutex_own());
 	ut_a(lock_get_type_low(lock) == LOCK_TABLE);
@@ -6024,30 +6033,22 @@ lock_table_print(
 	}
 
 	fprintf(file, " lock hold time %lu wait time before grant %lu ",
-		(ulint)difftime(ut_time(), lock->requested_time),
+		(ulint)difftime(now, lock->requested_time),
 		lock->wait_time);
 
 	putc('\n', file);
 }
 
-/*********************************************************************//**
-Prints info of a record lock. */
-UNIV_INTERN
-void
-lock_rec_print(
-/*===========*/
-	FILE*		file,	/*!< in: file where to print */
-	const lock_t*	lock)	/*!< in: record type lock */
+/** Pretty-print a record lock.
+@param[in,out]	file	output stream
+@param[in]	lock	record lock
+@param[in]	now	current time
+@param[in,out]	mtr	mini-transaction */
+static void lock_rec_print(FILE* file, const lock_t* lock, time_t now,
+			   mtr_t* mtr)
 {
-	const buf_block_t*	block;
 	ulint			space;
 	ulint			page_no;
-	ulint			i;
-	mtr_t			mtr;
-	mem_heap_t*		heap		= NULL;
-	ulint			offsets_[REC_OFFS_NORMAL_SIZE];
-	ulint*			offsets		= offsets_;
-	rec_offs_init(offsets_);
 
 	ut_ad(lock_mutex_own());
 	ut_a(lock_get_type_low(lock) == LOCK_REC);
@@ -6092,17 +6093,25 @@ lock_rec_print(
 		fputs(" waiting", file);
 	}
 
-	mtr_start(&mtr);
-
 	fprintf(file, " lock hold time %lu wait time before grant %lu ",
-		(ulint)difftime(ut_time(), lock->requested_time),
+		(ulint)difftime(now, lock->requested_time),
 		lock->wait_time);
 
 	putc('\n', file);
 
-	block = buf_page_try_get(space, page_no, &mtr);
+	if (!mtr) {
+		return;
+	}
 
-	for (i = 0; i < lock_rec_get_n_bits(lock); ++i) {
+	mem_heap_t*		heap		= NULL;
+	ulint			offsets_[REC_OFFS_NORMAL_SIZE];
+	ulint*			offsets		= offsets_;
+	rec_offs_init(offsets_);
+
+	mtr_start(mtr);
+	const buf_block_t* block = buf_page_try_get(space, page_no, mtr);
+
+	for (ulint i = 0; i < lock_rec_get_n_bits(lock); ++i) {
 
 		if (!lock_rec_get_nth_bit(lock, i)) {
 			continue;
@@ -6127,7 +6136,7 @@ lock_rec_print(
 		putc('\n', file);
 	}
 
-	mtr_commit(&mtr);
+	mtr_commit(mtr);
 	if (UNIV_LIKELY_NULL(heap)) {
 		mem_heap_free(heap);
 	}
@@ -6283,6 +6292,8 @@ lock_print_info_all_transactions(
 
 	ut_ad(lock_mutex_own());
 
+	const time_t now = time(NULL);
+
 	mutex_enter(&trx_sys->mutex);
 
 	/* First print info on non-active transactions */
@@ -6369,13 +6380,14 @@ lock_print_info_all_transactions(
 			fprintf(file,
 				"------- TRX HAS BEEN WAITING %lu SEC"
 				" FOR THIS LOCK TO BE GRANTED:\n",
-				(ulong) difftime(ut_time(),
-						 trx->lock.wait_started));
+				(ulong) difftime(now, trx->lock.wait_started));
 
 			if (lock_get_type_low(trx->lock.wait_lock) == LOCK_REC) {
-				lock_rec_print(file, trx->lock.wait_lock);
+				lock_rec_print(file, trx->lock.wait_lock, now,
+					       &mtr);
 			} else {
-				lock_table_print(file, trx->lock.wait_lock);
+				lock_table_print(file, trx->lock.wait_lock,
+						 now);
 			}
 
 			fputs("------------------\n", file);
@@ -6460,11 +6472,11 @@ lock_print_info_all_transactions(
 		}
 
 print_rec:
-		lock_rec_print(file, lock);
+		lock_rec_print(file, lock, now, &mtr);
 	} else {
 		ut_ad(lock_get_type_low(lock) & LOCK_TABLE);
 
-		lock_table_print(file, lock);
+		lock_table_print(file, lock, now);
 	}
 
 	load_page_first = TRUE;
diff --git a/storage/innobase/lock/lock0wait.cc b/storage/innobase/lock/lock0wait.cc
index a0f557e18..ca697ab8b 100644
--- a/storage/innobase/lock/lock0wait.cc
+++ b/storage/innobase/lock/lock0wait.cc
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2014, 2017, MariaDB Corporation.
+Copyright (c) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -60,7 +60,7 @@ lock_wait_table_print(void)
 			(ulong) slot->in_use,
 			(ulong) slot->suspended,
 			slot->wait_timeout,
-			(ulong) difftime(ut_time(), slot->suspend_time));
+			(ulong) difftime(time(NULL), slot->suspend_time));
 	}
 }
 
@@ -157,7 +157,7 @@ lock_wait_table_reserve_slot(
 
 			os_event_reset(slot->event);
 			slot->suspended = TRUE;
-			slot->suspend_time = ut_time();
+			slot->suspend_time = time(NULL);
 			slot->wait_timeout = wait_timeout;
 
 			if (slot == lock_sys->last_slot) {
@@ -226,14 +226,9 @@ lock_wait_suspend_thread(
 				user OS thread */
 {
 	srv_slot_t*	slot;
-	double		wait_time;
 	trx_t*		trx;
 	ulint		had_dict_lock;
 	ibool		was_declared_inside_innodb;
-	ib_int64_t	start_time			= 0;
-	ib_int64_t	finish_time;
-	ulint		sec;
-	ulint		ms;
 	ulong		lock_wait_timeout;
 
 	trx = thr_get_trx(thr);
@@ -279,15 +274,12 @@ lock_wait_suspend_thread(
 	lock_wait_mutex_exit();
 	trx_mutex_exit(trx);
 
+	ulonglong start_time = 0;
+
 	if (thr->lock_state == QUE_THR_LOCK_ROW) {
 		srv_stats.n_lock_wait_count.inc();
 		srv_stats.n_lock_wait_current_count.inc();
-
-		if (ut_usectime(&sec, &ms) == -1) {
-			start_time = -1;
-		} else {
-			start_time = (ib_int64_t) sec * 1000000 + ms;
-		}
+		start_time = my_interval_timer();
 	}
 
 	ulint	lock_type = ULINT_UNDEFINED;
@@ -367,39 +359,32 @@ lock_wait_suspend_thread(
 		row_mysql_freeze_data_dictionary(trx);
 	}
 
-	wait_time = ut_difftime(ut_time(), slot->suspend_time);
+	double wait_time = difftime(time(NULL), slot->suspend_time);
 
 	/* Release the slot for others to use */
 
 	lock_wait_table_release_slot(slot);
 
 	if (thr->lock_state == QUE_THR_LOCK_ROW) {
-		ulint	diff_time;
-
-		if (ut_usectime(&sec, &ms) == -1) {
-			finish_time = -1;
-		} else {
-			finish_time = (ib_int64_t) sec * 1000000 + ms;
-		}
-
-		diff_time = (finish_time > start_time) ?
-			    (ulint) (finish_time - start_time) : 0;
-
 		srv_stats.n_lock_wait_current_count.dec();
-		srv_stats.n_lock_wait_time.add(diff_time);
 
-		/* Only update the variable if we successfully
-		retrieved the start and finish times. See Bug#36819. */
-		if (diff_time > lock_sys->n_lock_max_wait_time
-		    && start_time != -1
-		    && finish_time != -1) {
+		const ulonglong finish_time = my_interval_timer();
+		ulint diff_time;
 
-			lock_sys->n_lock_max_wait_time = diff_time;
+		if (finish_time < start_time) {
+			diff_time = 0;
+		} else {
+			diff_time = ulint((finish_time - start_time) / 1000);
+			srv_stats.n_lock_wait_time.add(diff_time);
+			/* Only update the variable if we successfully
+			retrieved the start and finish times. See Bug#36819. */
+			if (diff_time > lock_sys->n_lock_max_wait_time) {
+				lock_sys->n_lock_max_wait_time = diff_time;
+			}
 		}
 
 		/* Record the lock wait time for this thread */
 		thd_set_lock_wait_time(trx->mysql_thd, diff_time);
-
 	}
 
 	if (lock_wait_timeout < 100000000
@@ -465,19 +450,12 @@ lock_wait_check_and_cancel(
 	const srv_slot_t*	slot)	/*!< in: slot reserved by a user
 					thread when the wait started */
 {
-	trx_t*		trx;
-	double		wait_time;
-	ib_time_t	suspend_time = slot->suspend_time;
-
 	ut_ad(lock_wait_mutex_own());
-
 	ut_ad(slot->in_use);
-
 	ut_ad(slot->suspended);
 
-	wait_time = ut_difftime(ut_time(), suspend_time);
-
-	trx = thr_get_trx(slot->thr);
+	double wait_time = difftime(time(NULL), slot->suspend_time);
+	trx_t* trx = thr_get_trx(slot->thr);
 
 	if (trx_is_interrupted(trx)
 	    || (slot->wait_timeout < 100000000
@@ -511,7 +489,6 @@ lock_wait_check_and_cancel(
 
 		trx_mutex_exit(trx);
 	}
-
 }
 
 /*********************************************************************//**
diff --git a/storage/innobase/log/log0crypt.cc b/storage/innobase/log/log0crypt.cc
index ec3c72cab..a1d634761 100644
--- a/storage/innobase/log/log0crypt.cc
+++ b/storage/innobase/log/log0crypt.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**************************************************//**
diff --git a/storage/innobase/log/log0log.cc b/storage/innobase/log/log0log.cc
index cd00394cd..86d483ae6 100644
--- a/storage/innobase/log/log0log.cc
+++ b/storage/innobase/log/log0log.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2009, Google Inc.
-Copyright (c) 2014, 2018, MariaDB Corporation.
+Copyright (c) 2014, 2019, MariaDB Corporation.
 
 Portions of this file contain modifications contributed and copyrighted by
 Google, Inc. Those modifications are gratefully acknowledged and are described
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1197,7 +1197,6 @@ log_io_complete(
 
 	group->n_pending_writes--;
 	log_sys->n_pending_writes--;
-	MONITOR_DEC(MONITOR_PENDING_LOG_WRITE);
 
 	unlock = log_group_check_flush_completion(group);
 	unlock = unlock | log_sys_check_flush_completion();
@@ -1246,8 +1245,6 @@ log_group_file_header_flush(
 	if (log_do_write) {
 		log_sys->n_log_ios++;
 
-		MONITOR_INC(MONITOR_LOG_IO);
-
 		srv_stats.os_log_pending_writes.inc();
 
 		fil_io(OS_FILE_WRITE | OS_FILE_LOG, true, group->space_id, 0,
@@ -1373,8 +1370,6 @@ log_group_write_buf(
 	if (log_do_write) {
 		log_sys->n_log_ios++;
 
-		MONITOR_INC(MONITOR_LOG_IO);
-
 		srv_stats.os_log_pending_writes.inc();
 
 		ut_a(next_offset / UNIV_PAGE_SIZE <= ULINT_MAX);
@@ -1514,7 +1509,6 @@ log_write_up_to(
 	}
 #endif /* UNIV_DEBUG */
 	log_sys->n_pending_writes++;
-	MONITOR_INC(MONITOR_PENDING_LOG_WRITE);
 
 	group = UT_LIST_GET_FIRST(log_sys->log_groups);
 	group->n_pending_writes++;	/*!< We assume here that we have only
@@ -1604,7 +1598,6 @@ log_write_up_to(
 
 	group->n_pending_writes--;
 	log_sys->n_pending_writes--;
-	MONITOR_DEC(MONITOR_PENDING_LOG_WRITE);
 
 	unlock = log_group_check_flush_completion(group);
 	unlock = unlock | log_sys_check_flush_completion();
@@ -1788,7 +1781,6 @@ log_io_complete_checkpoint(void)
 	ut_ad(log_sys->n_pending_checkpoint_writes > 0);
 
 	log_sys->n_pending_checkpoint_writes--;
-	MONITOR_DEC(MONITOR_PENDING_CHECKPOINT_WRITE);
 
 	if (log_sys->n_pending_checkpoint_writes == 0) {
 		log_complete_checkpoint();
@@ -1936,12 +1928,9 @@ log_group_checkpoint(
 		}
 
 		log_sys->n_pending_checkpoint_writes++;
-		MONITOR_INC(MONITOR_PENDING_CHECKPOINT_WRITE);
 
 		log_sys->n_log_ios++;
 
-		MONITOR_INC(MONITOR_LOG_IO);
-
 		/* We send as the last parameter the group machine address
 		added with 1, as we want to distinguish between a normal log
 		file write and a checkpoint field write */
@@ -2028,8 +2017,6 @@ log_group_read_checkpoint_info(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	fil_io(OS_FILE_READ | OS_FILE_LOG, true, group->space_id, 0,
 	       field / UNIV_PAGE_SIZE, field % UNIV_PAGE_SIZE,
 		OS_FILE_LOG_BLOCK_SIZE, log_sys->checkpoint_buf, NULL, 0);
@@ -2325,8 +2312,6 @@ log_group_read_log_seg(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	ut_a(source_offset / UNIV_PAGE_SIZE <= ULINT_MAX);
 
 	fil_io(OS_FILE_READ | OS_FILE_LOG, sync, group->space_id, 0,
@@ -2355,7 +2340,7 @@ log_group_read_log_seg(
 	start_lsn += len;
 	buf += len;
 
-	if (recv_sys->report(ut_time())) {
+	if (recv_sys->report(time(NULL))) {
 		ib_logf(IB_LOG_LEVEL_INFO, "Read redo log up to LSN=" LSN_PF,
 			start_lsn);
 		service_manager_extend_timeout(INNODB_EXTEND_TIMEOUT_INTERVAL,
@@ -2417,8 +2402,6 @@ log_group_archive_file_header_write(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	fil_io(OS_FILE_WRITE | OS_FILE_LOG, true, group->archive_space_id,
 	       dest_offset / UNIV_PAGE_SIZE,
 	       dest_offset % UNIV_PAGE_SIZE,
@@ -2452,8 +2435,6 @@ log_group_archive_completed_header_write(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	fil_io(OS_FILE_WRITE | OS_FILE_LOG, true, group->archive_space_id,
 	       dest_offset / UNIV_PAGE_SIZE,
 	       dest_offset % UNIV_PAGE_SIZE,
@@ -2581,8 +2562,6 @@ log_group_archive(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	//TODO (jonaso): This must be dead code??
 	log_encrypt_before_write(log_sys->next_checkpoint_no,
 				 buf, start_lsn, len);
diff --git a/storage/innobase/log/log0recv.cc b/storage/innobase/log/log0recv.cc
index deaf5e88d..3b3c7c232 100644
--- a/storage/innobase/log/log0recv.cc
+++ b/storage/innobase/log/log0recv.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 1997, 2017, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2012, Facebook Inc.
-Copyright (c) 2013, 2017, MariaDB Corporation.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -423,7 +423,7 @@ recv_sys_init(
 		recv_sys->last_block_buf_start, OS_FILE_LOG_BLOCK_SIZE));
 
 	recv_sys->found_corrupt_log = FALSE;
-	recv_sys->progress_time = ut_time();
+	recv_sys->progress_time = time(NULL);
 
 	recv_max_page_lsn = 0;
 
@@ -1702,7 +1702,7 @@ recv_recover_page_func(
 
 	mtr_commit(&mtr);
 
-	ib_time_t time = ut_time();
+	time_t now = time(NULL);
 
 	mutex_enter(&recv_sys->mutex);
 
@@ -1714,7 +1714,7 @@ recv_recover_page_func(
 
 	ut_a(recv_sys->n_addrs > 0);
 	if (ulint n = --recv_sys->n_addrs) {
-		if (recv_sys->report(time)) {
+		if (recv_sys->report(now)) {
 			ib_logf(IB_LOG_LEVEL_INFO,
 				"To recover: " ULINTPF " pages from log", n);
 			service_manager_extend_timeout(
@@ -2631,30 +2631,30 @@ recv_scan_log_recs(
 		fprintf(stderr, "Scanned lsn no %lu\n",
 		log_block_convert_lsn_to_no(scanned_lsn));
 		*/
-		if (no != log_block_convert_lsn_to_no(scanned_lsn)
-		    || !log_block_checksum_is_ok_or_old_format(log_block, true)) {
+		if (no != log_block_convert_lsn_to_no(scanned_lsn)) {
+			/* Garbage or an incompletely written log block.
+			We will not report any error; because this can happen
+			when InnoDB was killed while it was writing
+			redo log. We simply treat this as an abrupt end of the
+			redo log. */
+			finished = true;
+			break;
+		} else if (!log_block_checksum_is_ok_or_old_format(
+					log_block, true)) {
 
-			if (no == log_block_convert_lsn_to_no(scanned_lsn)
-			    && !log_block_checksum_is_ok_or_old_format(
-				    log_block, true)) {
-				fprintf(stderr,
-					"InnoDB: Log block no %lu at"
-					" lsn " LSN_PF " has\n"
-					"InnoDB: ok header, but checksum field"
-					" contains %lu, should be %lu\n",
-					(ulong) no,
-					scanned_lsn,
-					(ulong) log_block_get_checksum(
-						log_block),
-					(ulong) log_block_calc_checksum(
-						log_block));
-			}
+			fprintf(stderr,
+				"InnoDB: Log block no %lu at"
+				" lsn " LSN_PF " has\n"
+				"InnoDB: ok header, but checksum field"
+				" contains %lu, should be %lu\n",
+				(ulong) no,
+				scanned_lsn,
+				(ulong) log_block_get_checksum(log_block),
+				(ulong) log_block_calc_checksum(log_block));
 
 			maybe_encrypted = log_crypt_block_maybe_encrypted(log_block,
 					&log_crypt_err);
 
-			/* Garbage or an incompletely written log block */
-
 			/* Print checkpoint encryption keys if present */
 			log_crypt_print_checkpoint_keys(log_block);
 			finished = TRUE;
diff --git a/storage/innobase/mach/mach0data.cc b/storage/innobase/mach/mach0data.cc
index feeedb016..064d997cd 100644
--- a/storage/innobase/mach/mach0data.cc
+++ b/storage/innobase/mach/mach0data.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/mem/mem0dbg.cc b/storage/innobase/mem/mem0dbg.cc
index a77785a36..2d8db48db 100644
--- a/storage/innobase/mem/mem0dbg.cc
+++ b/storage/innobase/mem/mem0dbg.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/mem/mem0mem.cc b/storage/innobase/mem/mem0mem.cc
index f91126697..82c1292b4 100644
--- a/storage/innobase/mem/mem0mem.cc
+++ b/storage/innobase/mem/mem0mem.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/mem/mem0pool.cc b/storage/innobase/mem/mem0pool.cc
index fe9a84d21..5002a5b39 100644
--- a/storage/innobase/mem/mem0pool.cc
+++ b/storage/innobase/mem/mem0pool.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/mtr/mtr0log.cc b/storage/innobase/mtr/mtr0log.cc
index 82df1df63..189d52d68 100644
--- a/storage/innobase/mtr/mtr0log.cc
+++ b/storage/innobase/mtr/mtr0log.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/mtr/mtr0mtr.cc b/storage/innobase/mtr/mtr0mtr.cc
index e40aa4319..2db6e62cb 100644
--- a/storage/innobase/mtr/mtr0mtr.cc
+++ b/storage/innobase/mtr/mtr0mtr.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/os/os0file.cc b/storage/innobase/os/os0file.cc
index a417de126..3a403f880 100644
--- a/storage/innobase/os/os0file.cc
+++ b/storage/innobase/os/os0file.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2009, Percona Inc.
-Copyright (c) 2013, 2018, MariaDB Corporation.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 Portions of this file contain modifications contributed and copyrighted
 by Percona Inc.. Those modifications are
@@ -22,7 +22,7 @@ Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 ***********************************************************************/
 
@@ -4208,7 +4208,7 @@ os_aio_init(
 
 	os_aio_validate();
 
-	os_last_printout = ut_time();
+	os_last_printout = time(NULL);
 
 	if (srv_use_native_aio) {
 		return(TRUE);
@@ -4521,7 +4521,7 @@ os_aio_array_reserve_slot(
 	}
 
 	slot->reserved = TRUE;
-	slot->reservation_time = ut_time();
+	slot->reservation_time = time(NULL);
 	slot->message1 = message1;
 	slot->message2 = message2;
 	slot->file     = file;
@@ -5600,7 +5600,7 @@ os_aio_simulated_handle(
 		if (slot->reserved) {
 
 			age = (ulint) difftime(
-				ut_time(), slot->reservation_time);
+				time(NULL), slot->reservation_time);
 
 			if ((age >= 2 && age > biggest_age)
 			    || (age >= 2 && age == biggest_age
@@ -6014,7 +6014,7 @@ os_aio_print(
 	}
 
 	putc('\n', file);
-	current_time = ut_time();
+	current_time = time(NULL);
 	time_elapsed = 0.001 + difftime(current_time, os_last_printout);
 
 	fprintf(file,
diff --git a/storage/innobase/os/os0proc.cc b/storage/innobase/os/os0proc.cc
index f711fbb02..46adace85 100644
--- a/storage/innobase/os/os0proc.cc
+++ b/storage/innobase/os/os0proc.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/os/os0sync.cc b/storage/innobase/os/os0sync.cc
index 03c538488..fadc9e877 100644
--- a/storage/innobase/os/os0sync.cc
+++ b/storage/innobase/os/os0sync.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -72,9 +72,6 @@ UNIV_INTERN ulint	os_event_count		= 0;
 UNIV_INTERN ulint	os_mutex_count		= 0;
 UNIV_INTERN ulint	os_fast_mutex_count	= 0;
 
-/* The number of microsecnds in a second. */
-static const ulint MICROSECS_IN_A_SECOND = 1000000;
-
 #ifdef UNIV_PFS_MUTEX
 UNIV_INTERN mysql_pfs_key_t	event_os_mutex_key;
 UNIV_INTERN mysql_pfs_key_t	os_mutex_key;
@@ -654,26 +651,9 @@ os_event_wait_time_low(
 	struct timespec	abstime;
 
 	if (time_in_usec != OS_SYNC_INFINITE_TIME) {
-		struct timeval	tv;
-		int		ret;
-		ulint		sec;
-		ulint		usec;
-
-		ret = ut_usectime(&sec, &usec);
-		ut_a(ret == 0);
-
-		tv.tv_sec = sec;
-		tv.tv_usec = usec;
-
-		tv.tv_usec += time_in_usec;
-
-		if ((ulint) tv.tv_usec >= MICROSECS_IN_A_SECOND) {
-			tv.tv_sec += tv.tv_usec / MICROSECS_IN_A_SECOND;
-			tv.tv_usec %= MICROSECS_IN_A_SECOND;
-		}
-
-		abstime.tv_sec  = tv.tv_sec;
-		abstime.tv_nsec = tv.tv_usec * 1000;
+		ulonglong usec = ulonglong(time_in_usec) + my_hrtime().val;
+		abstime.tv_sec = usec / 1000000;
+		abstime.tv_nsec = (usec % 1000000) * 1000;
 	} else {
 		abstime.tv_nsec = 999999999;
 		abstime.tv_sec = (time_t) ULINT_MAX;
diff --git a/storage/innobase/os/os0thread.cc b/storage/innobase/os/os0thread.cc
index 205bef020..792d9cc4e 100644
--- a/storage/innobase/os/os0thread.cc
+++ b/storage/innobase/os/os0thread.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/page/page0cur.cc b/storage/innobase/page/page0cur.cc
index 692cb393a..e9ac4b4bb 100644
--- a/storage/innobase/page/page0cur.cc
+++ b/storage/innobase/page/page0cur.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -48,7 +48,7 @@ number between 0 and 2^64-1 inclusive. The formula and the constants
 being used are:
 X[n+1] = (a * X[n] + c) mod m
 where:
-X[0] = ut_time_us(NULL)
+X[0] = my_interval_timer()
 a = 1103515245 (3^5 * 5 * 7 * 129749)
 c = 12345 (3 * 5 * 823)
 m = 18446744073709551616 (2^64)
@@ -61,12 +61,10 @@ page_cur_lcg_prng(void)
 {
 #define LCG_a	1103515245
 #define LCG_c	12345
-	static ib_uint64_t	lcg_current = 0;
-	static ibool		initialized = FALSE;
+	static uint64_t	lcg_current;
 
-	if (!initialized) {
-		lcg_current = (ib_uint64_t) ut_time_us(NULL);
-		initialized = TRUE;
+	if (!lcg_current) {
+		lcg_current = my_interval_timer();
 	}
 
 	/* no need to "% 2^64" explicitly because lcg_current is
diff --git a/storage/innobase/page/page0page.cc b/storage/innobase/page/page0page.cc
index 9d267f3f0..ac16d7132 100644
--- a/storage/innobase/page/page0page.cc
+++ b/storage/innobase/page/page0page.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/page/page0zip.cc b/storage/innobase/page/page0zip.cc
index 5090aa405..233ccaa6a 100644
--- a/storage/innobase/page/page0zip.cc
+++ b/storage/innobase/page/page0zip.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2012, Facebook Inc.
-Copyright (c) 2014, 2018, MariaDB Corporation.
+Copyright (c) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1234,7 +1234,7 @@ page_zip_compress(
 	ulint		n_blobs	= 0;
 	byte*		storage;/* storage of uncompressed columns */
 #ifndef UNIV_HOTBACKUP
-	ullint		usec = ut_time_us(NULL);
+	const ulonglong	ns = my_interval_timer();
 #endif /* !UNIV_HOTBACKUP */
 #ifdef PAGE_ZIP_COMPRESS_DBG
 	FILE*		logfile = NULL;
@@ -1483,7 +1483,7 @@ page_zip_compress(
 			dict_index_zip_failure(index);
 		}
 
-		ullint	time_diff = ut_time_us(NULL) - usec;
+		const ullint time_diff = (my_interval_timer() - ns) / 1000;
 		page_zip_stat[page_zip->ssize - 1].compressed_usec
 			+= time_diff;
 		if (cmp_per_index_enabled) {
@@ -1551,7 +1551,7 @@ page_zip_compress(
 	}
 #endif /* PAGE_ZIP_COMPRESS_DBG */
 #ifndef UNIV_HOTBACKUP
-	ullint	time_diff = ut_time_us(NULL) - usec;
+	const ullint time_diff = (my_interval_timer() - ns) / 1000;
 	page_zip_stat[page_zip->ssize - 1].compressed_ok++;
 	page_zip_stat[page_zip->ssize - 1].compressed_usec += time_diff;
 	if (cmp_per_index_enabled) {
@@ -3000,7 +3000,7 @@ page_zip_decompress(
 	mem_heap_t*	heap;
 	ulint*		offsets;
 #ifndef UNIV_HOTBACKUP
-	ullint		usec = ut_time_us(NULL);
+	const ulonglong	ns = my_interval_timer();
 #endif /* !UNIV_HOTBACKUP */
 
 	ut_ad(page_zip_simple_validate(page_zip));
@@ -3186,7 +3186,7 @@ page_zip_decompress(
 	page_zip_fields_free(index);
 	mem_heap_free(heap);
 #ifndef UNIV_HOTBACKUP
-	ullint	time_diff = ut_time_us(NULL) - usec;
+	const uint64_t time_diff = (my_interval_timer() - ns) / 1000;
 	page_zip_stat[page_zip->ssize - 1].decompressed++;
 	page_zip_stat[page_zip->ssize - 1].decompressed_usec += time_diff;
 
diff --git a/storage/innobase/pars/lexyy.cc b/storage/innobase/pars/lexyy.cc
index 33de48e7b..ed6e2b53c 100644
--- a/storage/innobase/pars/lexyy.cc
+++ b/storage/innobase/pars/lexyy.cc
@@ -912,7 +912,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /******************************************************
diff --git a/storage/innobase/pars/make_bison.sh b/storage/innobase/pars/make_bison.sh
index 2618be102..a1722f5f6 100755
--- a/storage/innobase/pars/make_bison.sh
+++ b/storage/innobase/pars/make_bison.sh
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License along with
 # this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # generate parser files from bison input files.
 
diff --git a/storage/innobase/pars/make_flex.sh b/storage/innobase/pars/make_flex.sh
index 54aebb259..b976a56a9 100755
--- a/storage/innobase/pars/make_flex.sh
+++ b/storage/innobase/pars/make_flex.sh
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU General Public License along with
 # this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # generate lexer files from flex input files.
 
diff --git a/storage/innobase/pars/pars0grm.cc b/storage/innobase/pars/pars0grm.cc
index b360f36e5..c3649d925 100644
--- a/storage/innobase/pars/pars0grm.cc
+++ b/storage/innobase/pars/pars0grm.cc
@@ -18,7 +18,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   Boston, MA 02110-1335  USA.  */
 
 /* As a special exception, you may create a larger work that contains
    part or all of the Bison parser skeleton and distribute that work
diff --git a/storage/innobase/pars/pars0grm.y b/storage/innobase/pars/pars0grm.y
index 60913287c..2e4776caa 100644
--- a/storage/innobase/pars/pars0grm.y
+++ b/storage/innobase/pars/pars0grm.y
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/pars/pars0lex.l b/storage/innobase/pars/pars0lex.l
index 60756413c..71699d2f0 100644
--- a/storage/innobase/pars/pars0lex.l
+++ b/storage/innobase/pars/pars0lex.l
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/pars/pars0opt.cc b/storage/innobase/pars/pars0opt.cc
index 5a7e1861d..135402f81 100644
--- a/storage/innobase/pars/pars0opt.cc
+++ b/storage/innobase/pars/pars0opt.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/pars/pars0pars.cc b/storage/innobase/pars/pars0pars.cc
index 24bbeb1d3..3c7f5a812 100644
--- a/storage/innobase/pars/pars0pars.cc
+++ b/storage/innobase/pars/pars0pars.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St,
-Fifth Floor, Boston, MA 02110-1301 USA
+Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/pars/pars0sym.cc b/storage/innobase/pars/pars0sym.cc
index b01a69cb3..4ce1946d7 100644
--- a/storage/innobase/pars/pars0sym.cc
+++ b/storage/innobase/pars/pars0sym.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/que/que0que.cc b/storage/innobase/que/que0que.cc
index 957a90e71..602b92854 100644
--- a/storage/innobase/que/que0que.cc
+++ b/storage/innobase/que/que0que.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/read/read0read.cc b/storage/innobase/read/read0read.cc
index faf410243..be304dfcc 100644
--- a/storage/innobase/read/read0read.cc
+++ b/storage/innobase/read/read0read.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/rem/rem0cmp.cc b/storage/innobase/rem/rem0cmp.cc
index 616ef322f..5f9c497cb 100644
--- a/storage/innobase/rem/rem0cmp.cc
+++ b/storage/innobase/rem/rem0cmp.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/rem/rem0rec.cc b/storage/innobase/rem/rem0rec.cc
index 0b01bddb5..daab2d217 100644
--- a/storage/innobase/rem/rem0rec.cc
+++ b/storage/innobase/rem/rem0rec.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/row/row0ext.cc b/storage/innobase/row/row0ext.cc
index 32b78391d..bfc8165c9 100644
--- a/storage/innobase/row/row0ext.cc
+++ b/storage/innobase/row/row0ext.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/row/row0ftsort.cc b/storage/innobase/row/row0ftsort.cc
index 6af93fb83..5a8e085ad 100644
--- a/storage/innobase/row/row0ftsort.cc
+++ b/storage/innobase/row/row0ftsort.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1500,7 +1500,6 @@ row_fts_merge_insert(
 	ins_ctx.fts_table.type = FTS_INDEX_TABLE;
 	ins_ctx.fts_table.index_id = index->id;
 	ins_ctx.fts_table.table_id = table->id;
-	ins_ctx.fts_table.parent = index->table->name;
 	ins_ctx.fts_table.table = index->table;
 	space = table->space;
 
diff --git a/storage/innobase/row/row0import.cc b/storage/innobase/row/row0import.cc
index 2351b1d0a..e15549491 100644
--- a/storage/innobase/row/row0import.cc
+++ b/storage/innobase/row/row0import.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/row/row0ins.cc b/storage/innobase/row/row0ins.cc
index 14b52f21e..4a4c5112f 100644
--- a/storage/innobase/row/row0ins.cc
+++ b/storage/innobase/row/row0ins.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1293,7 +1293,7 @@ row_ins_foreign_check_on_constraint(
 	err = wsrep_append_foreign_key(
 				       thr_get_trx(thr),
 				       foreign,
-				       clust_rec,
+				       cascade->pcur->old_rec,
 				       clust_index,
 				       FALSE, WSREP_KEY_EXCLUSIVE);
 	if (err != DB_SUCCESS) {
@@ -1664,6 +1664,11 @@ row_ins_check_foreign_constraint(
 						check_index,
 						check_ref,
 						key_type);
+
+					if (err != DB_SUCCESS) {
+						fprintf(stderr,
+							"WSREP: foreign key append failed: %d\n", err);
+					}
 #endif /* WITH_WSREP */
 					goto end_scan;
 				} else if (foreign->type != 0) {
diff --git a/storage/innobase/row/row0log.cc b/storage/innobase/row/row0log.cc
index c170e7e8c..4d2ee8302 100644
--- a/storage/innobase/row/row0log.cc
+++ b/storage/innobase/row/row0log.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/row/row0merge.cc b/storage/innobase/row/row0merge.cc
index 4d836cebd..ac7eddfed 100644
--- a/storage/innobase/row/row0merge.cc
+++ b/storage/innobase/row/row0merge.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -27,6 +27,7 @@ Completed by Sunny Bains and Marko Makela
 #include 
 #include 
 #include 
+#include 
 
 #include "row0merge.h"
 #include "row0ext.h"
@@ -42,15 +43,8 @@ Completed by Sunny Bains and Marko Makela
 #include "row0import.h"
 #include "handler0alter.h"
 #include "ha_prototypes.h"
-#include "math.h" /* log() */
 #include "fil0crypt.h"
 
-float my_log2f(float n)
-{
-	/* log(n) / log(2) is log2. */
-	return (float)(log((double)n) / log((double)2));
-}
-
 /* Ignore posix_fadvise() on those platforms where it does not exist */
 #if defined __WIN__
 # define posix_fadvise(fd, offset, len, advice) /* nothing */
@@ -1922,6 +1916,7 @@ row_merge_read_clustered_index(
 			UNIV_MEM_INVALID(&block[0], srv_sort_buf_size);
 
 			merge_buf[i] = row_merge_buf_empty(buf);
+			buf = merge_buf[i];
 
 			if (UNIV_LIKELY(row != NULL)) {
 				/* Try writing the record again, now
@@ -2070,8 +2065,7 @@ row_merge_read_clustered_index(
 				     false, true, false);
 
 		if (err == DB_SUCCESS) {
-			fts_update_next_doc_id(
-				0, new_table, old_table->name, max_doc_id);
+			fts_update_next_doc_id(NULL, new_table, max_doc_id);
 		}
 	}
 
@@ -2504,18 +2498,13 @@ row_merge_sort(
 	/* Record the number of merge runs we need to perform */
 	num_runs = file->offset;
 
-	/* Find the number N which 2^N is greater or equal than num_runs */
-	/* N is merge sort running count */
-	total_merge_sort_count = ceil(my_log2f(num_runs));
-	if(total_merge_sort_count <= 0) {
-		total_merge_sort_count=1;
-	}
-
 	/* If num_runs are less than 1, nothing to merge */
 	if (num_runs <= 1) {
 		DBUG_RETURN(error);
 	}
 
+	total_merge_sort_count = ceil(log2f(num_runs));
+
 	/* "run_offset" records each run's first offset number */
 	run_offset = (ulint*) mem_alloc(file->offset * sizeof(ulint));
 
diff --git a/storage/innobase/row/row0mysql.cc b/storage/innobase/row/row0mysql.cc
index 47e0368e7..52aa43384 100644
--- a/storage/innobase/row/row0mysql.cc
+++ b/storage/innobase/row/row0mysql.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1490,8 +1490,9 @@ row_insert_for_mysql(
 		doc_id = fts_get_doc_id_from_row(table, node->row);
 
 		if (doc_id <= 0) {
-			fprintf(stderr,
-				"InnoDB: FTS Doc ID must be large than 0 \n");
+			ib_logf(IB_LOG_LEVEL_ERROR,
+				"FTS_DOC_ID must be larger than 0"
+				" for table %s", table->name);
 			err = DB_FTS_INVALID_DOCID;
 			trx->error_state = DB_FTS_INVALID_DOCID;
 			goto error_exit;
@@ -1502,12 +1503,10 @@ row_insert_for_mysql(
 				= table->fts->cache->next_doc_id;
 
 			if (doc_id < next_doc_id) {
-				fprintf(stderr,
-					"InnoDB: FTS Doc ID must be large than"
-					" " UINT64PF " for table",
-					next_doc_id - 1);
-				ut_print_name(stderr, trx, TRUE, table->name);
-				putc('\n', stderr);
+				ib_logf(IB_LOG_LEVEL_ERROR,
+					"FTS_DOC_ID must be larger than "
+					UINT64PF " for table %s",
+					next_doc_id - 1, table->name);
 
 				err = DB_FTS_INVALID_DOCID;
 				trx->error_state = DB_FTS_INVALID_DOCID;
@@ -3831,7 +3830,7 @@ row_truncate_table_for_mysql(
 					os_thread_sleep(10000000););
 
 			table->fts->fts_status |= TABLE_DICT_LOCKED;
-			fts_update_next_doc_id(trx, table, NULL, 0);
+			fts_update_next_doc_id(trx, table, 0);
 			fts_cache_clear(table->fts->cache);
 			fts_cache_init(table->fts->cache);
 			table->fts->fts_status &= ~TABLE_DICT_LOCKED;
@@ -3884,7 +3883,7 @@ row_drop_table_for_mysql(
 	const char*	name,	/*!< in: table name */
 	trx_t*		trx,	/*!< in: transaction handle */
 	bool		drop_db,/*!< in: true=dropping whole database */
-	ibool		create_failed,/*!(
+	 MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT),
 	 MONITOR_DEFAULT_START, MONITOR_PENDING_LOG_WRITE},
 
 	{"log_pending_checkpoint_writes", "recovery", "Pending checkpoints",
-	 MONITOR_NONE,
+	 static_cast(
+	 MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT),
 	 MONITOR_DEFAULT_START, MONITOR_PENDING_CHECKPOINT_WRITE},
 
 	{"log_num_log_io", "recovery", "Number of log I/Os",
-	 MONITOR_NONE,
+	 static_cast(
+	 MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT),
 	 MONITOR_DEFAULT_START, MONITOR_LOG_IO},
 
 	{"log_waits", "recovery",
@@ -1970,6 +1973,25 @@ srv_mon_process_existing_counter(
 		value = (mon_type_t) log_sys->lsn;
 		break;
 
+	case MONITOR_PENDING_LOG_WRITE:
+		mutex_enter(&log_sys->mutex);
+		value = static_cast(log_sys->n_pending_writes);
+		mutex_exit(&log_sys->mutex);
+		break;
+
+	case MONITOR_PENDING_CHECKPOINT_WRITE:
+		mutex_enter(&log_sys->mutex);
+		value = static_cast(
+		    log_sys->n_pending_checkpoint_writes);
+		mutex_exit(&log_sys->mutex);
+		break;
+
+	case MONITOR_LOG_IO:
+		mutex_enter(&log_sys->mutex);
+		value = static_cast(log_sys->n_log_ios);
+		mutex_exit(&log_sys->mutex);
+		break;
+
 	case MONITOR_OVLD_BUF_OLDEST_LSN:
 		value = (mon_type_t) buf_pool_get_oldest_modification();
 		break;
diff --git a/storage/innobase/srv/srv0srv.cc b/storage/innobase/srv/srv0srv.cc
index f17a6ddd9..af9474dd9 100644
--- a/storage/innobase/srv/srv0srv.cc
+++ b/storage/innobase/srv/srv0srv.cc
@@ -28,7 +28,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1716,10 +1716,11 @@ DECLARE_THREAD(srv_monitor_thread)(void*)
 	pfs_register_thread(srv_monitor_thread_key);
 #endif /* UNIV_PFS_THREAD */
 
-	srv_last_monitor_time = ut_time();
-	last_table_monitor_time = ut_time();
-	last_tablespace_monitor_time = ut_time();
-	last_monitor_time = ut_time();
+	current_time = time(NULL);
+	srv_last_monitor_time = current_time;
+	last_table_monitor_time = current_time;
+	last_tablespace_monitor_time = current_time;
+	last_monitor_time = current_time;
 	mutex_skipped = 0;
 	last_srv_print_monitor = srv_print_innodb_monitor;
 loop:
@@ -1730,12 +1731,12 @@ DECLARE_THREAD(srv_monitor_thread)(void*)
 
 	os_event_wait_time_low(srv_monitor_event, 5000000, sig_count);
 
-	current_time = ut_time();
+	current_time = time(NULL);
 
 	time_elapsed = difftime(current_time, last_monitor_time);
 
 	if (time_elapsed > 15) {
-		last_monitor_time = ut_time();
+		last_monitor_time = current_time;
 
 		if (srv_print_innodb_monitor) {
 			/* Reset mutex_skipped counter everytime
@@ -1782,7 +1783,7 @@ DECLARE_THREAD(srv_monitor_thread)(void*)
 		if (srv_print_innodb_tablespace_monitor
 		    && difftime(current_time,
 				last_tablespace_monitor_time) > 60) {
-			last_tablespace_monitor_time = ut_time();
+			last_tablespace_monitor_time = current_time;
 
 			fputs("========================"
 			      "========================\n",
@@ -1808,7 +1809,7 @@ DECLARE_THREAD(srv_monitor_thread)(void*)
 		if (srv_print_innodb_table_monitor
 		    && difftime(current_time, last_table_monitor_time) > 60) {
 
-			last_table_monitor_time = ut_time();
+			last_table_monitor_time = current_time;
 
 			fprintf(stderr, "Warning: %s\n",
 				DEPRECATED_MSG_INNODB_TABLE_MONITOR);
@@ -2183,20 +2184,16 @@ static
 void
 srv_shutdown_print_master_pending(
 /*==============================*/
-	ib_time_t*	last_print_time,	/*!< last time the function
+	time_t*		last_print_time,	/*!< last time the function
 						print the message */
 	ulint		n_tables_to_drop,	/*!< number of tables to
 						be dropped */
 	ulint		n_bytes_merged)		/*!< number of change buffer
 						just merged */
 {
-	ib_time_t	current_time;
-	double		time_elapsed;
+	time_t current_time = time(NULL);
 
-	current_time = ut_time();
-	time_elapsed = ut_difftime(current_time, *last_print_time);
-
-	if (time_elapsed > 60) {
+	if (difftime(current_time, *last_print_time) > 60) {
 		*last_print_time = current_time;
 
 		if (n_tables_to_drop) {
@@ -2231,8 +2228,8 @@ void
 srv_master_do_active_tasks(void)
 /*============================*/
 {
-	ib_time_t	cur_time = ut_time();
-	ullint		counter_time = ut_time_us(NULL);
+	time_t		cur_time = time(NULL);
+	ulonglong	counter_time = microsecond_interval_timer();
 	ulint		n_evicted = 0;
 
 	/* First do the tasks that we are suppose to do at each
@@ -2261,7 +2258,7 @@ srv_master_do_active_tasks(void)
 
 	/* Do an ibuf merge */
 	srv_main_thread_op_info = "doing insert buffer merge";
-	counter_time = ut_time_us(NULL);
+	counter_time = microsecond_interval_timer();
 	ibuf_merge_in_background(false);
 	MONITOR_INC_TIME_IN_MICRO_SECS(
 		MONITOR_SRV_IBUF_MERGE_MICROSECOND, counter_time);
@@ -2323,9 +2320,7 @@ void
 srv_master_do_idle_tasks(void)
 /*==========================*/
 {
-	ullint	counter_time;
 	ulint	n_evicted = 0;
-
 	++srv_main_idle_loops;
 
 	MONITOR_INC(MONITOR_MASTER_IDLE_LOOPS);
@@ -2334,7 +2329,7 @@ srv_master_do_idle_tasks(void)
 	/* ALTER TABLE in MySQL requires on Unix that the table handler
 	can drop tables lazily after there no longer are SELECT
 	queries to them. */
-	counter_time = ut_time_us(NULL);
+	ulonglong counter_time = microsecond_interval_timer();
 	srv_main_thread_op_info = "doing background drop tables";
 	row_drop_tables_for_mysql_in_background();
 	MONITOR_INC_TIME_IN_MICRO_SECS(
@@ -2351,7 +2346,7 @@ srv_master_do_idle_tasks(void)
 	log_free_check();
 
 	/* Do an ibuf merge */
-	counter_time = ut_time_us(NULL);
+	counter_time = microsecond_interval_timer();
 	srv_main_thread_op_info = "doing insert buffer merge";
 	ibuf_merge_in_background(true);
 	MONITOR_INC_TIME_IN_MICRO_SECS(
@@ -2392,7 +2387,7 @@ srv_shutdown(bool ibuf_merge)
 {
 	ulint		n_bytes_merged	= 0;
 	ulint		n_tables_to_drop;
-	ib_time_t	now = ut_time();
+	time_t		now = time(NULL);
 
 	do {
 		ut_ad(!srv_read_only_mode);
@@ -2541,10 +2536,10 @@ srv_purge_should_exit(ulint n_purged)
 	/* Slow shutdown was requested. */
 	if (n_purged) {
 #if defined HAVE_SYSTEMD && !defined EMBEDDED_LIBRARY
-		static ib_time_t progress_time;
-		ib_time_t time = ut_time();
-		if (time - progress_time >= 15) {
-			progress_time = time;
+		static time_t progress_time;
+		time_t now = time(NULL);
+		if (now - progress_time >= 15) {
+			progress_time = now;
 			service_manager_extend_timeout(
 				INNODB_EXTEND_TIMEOUT_INTERVAL,
 				"InnoDB: to purge " ULINTPF " transactions",
diff --git a/storage/innobase/srv/srv0start.cc b/storage/innobase/srv/srv0start.cc
index b300724e2..a73e67e9f 100644
--- a/storage/innobase/srv/srv0start.cc
+++ b/storage/innobase/srv/srv0start.cc
@@ -28,7 +28,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -43,7 +43,6 @@ Created 2/16/1996 Heikki Tuuri
 #include "pars0pars.h"
 #include "row0ftsort.h"
 #include "ut0mem.h"
-#include "ut0timer.h"
 #include "mem0mem.h"
 #include "data0data.h"
 #include "data0type.h"
@@ -1669,9 +1668,6 @@ innobase_start_or_create_for_mysql()
 
 	os_fast_mutex_free(&srv_os_test_mutex);
 
-	/* This should be initialized early */
-	ut_init_timer();
-
 	if (srv_force_recovery == SRV_FORCE_NO_LOG_REDO) {
 		srv_read_only_mode = 1;
 	}
diff --git a/storage/innobase/sync/sync0arr.cc b/storage/innobase/sync/sync0arr.cc
index 167ad1d9e..9af6cfe5f 100644
--- a/storage/innobase/sync/sync0arr.cc
+++ b/storage/innobase/sync/sync0arr.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2008, Google Inc.
-Copyright (c) 2013, 2015, MariaDB Corporation. All Rights Reserved.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 Portions of this file contain modifications contributed and copyrighted by
 Google, Inc. Those modifications are gratefully acknowledged and are described
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -122,8 +122,10 @@ struct sync_cell_t {
 					has not been signalled in the
 					period between the reset and
 					wait call. */
-	time_t		reservation_time;/*!< time when the thread reserved
-					the wait cell */
+	/** time(NULL) when the wait cell was reserved.
+	FIXME: sync_array_print_long_waits_low() may display bogus
+	warnings when the system time is adjusted to the past! */
+	time_t		reservation_time;
 };
 
 /* NOTE: It is allowed for a thread to wait
@@ -403,7 +405,7 @@ sync_array_reserve_cell(
                         event = sync_cell_get_event(cell);
 			cell->signal_count = os_event_reset(event);
 
-			cell->reservation_time = ut_time();
+			cell->reservation_time = time(NULL);
 
 			cell->thread = os_thread_get_curr_id();
 
diff --git a/storage/innobase/sync/sync0rw.cc b/storage/innobase/sync/sync0rw.cc
index 8919716ff..46428e266 100644
--- a/storage/innobase/sync/sync0rw.cc
+++ b/storage/innobase/sync/sync0rw.cc
@@ -19,7 +19,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/sync/sync0sync.cc b/storage/innobase/sync/sync0sync.cc
index 9abad30a9..2c9084945 100644
--- a/storage/innobase/sync/sync0sync.cc
+++ b/storage/innobase/sync/sync0sync.cc
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/trx/trx0i_s.cc b/storage/innobase/trx/trx0i_s.cc
index b05161a99..57057f2f8 100644
--- a/storage/innobase/trx/trx0i_s.cc
+++ b/storage/innobase/trx/trx0i_s.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2012, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -152,9 +153,8 @@ struct i_s_table_cache_t {
 struct trx_i_s_cache_t {
 	rw_lock_t	rw_lock;	/*!< read-write lock protecting
 					the rest of this structure */
-	ullint		last_read;	/*!< last time the cache was read;
-					measured in microseconds since
-					epoch */
+	ulonglong	last_read;	/*!< last time the cache was read;
+					measured in nanoseconds */
 	i_s_table_cache_t innodb_trx;	/*!< innodb_trx table */
 	i_s_table_cache_t innodb_locks;	/*!< innodb_locks table */
 	i_s_table_cache_t innodb_lock_waits;/*!< innodb_lock_waits table */
@@ -475,7 +475,7 @@ fill_trx_row(
 	ut_ad(lock_mutex_own());
 
 	row->trx_id = trx->id;
-	row->trx_started = (ib_time_t) trx->start_time;
+	row->trx_started = trx->start_time;
 	row->trx_state = trx_get_que_state_str(trx);
 	row->requested_lock_row = requested_lock_row;
 	ut_ad(requested_lock_row == NULL
@@ -484,7 +484,7 @@ fill_trx_row(
 	if (trx->lock.wait_lock != NULL) {
 
 		ut_a(requested_lock_row != NULL);
-		row->trx_wait_started = (ib_time_t) trx->lock.wait_started;
+		row->trx_wait_started = trx->lock.wait_started;
 	} else {
 		ut_a(requested_lock_row == NULL);
 		row->trx_wait_started = 0;
@@ -1217,33 +1217,20 @@ add_trx_relevant_locks_to_cache(
 }
 
 /** The minimum time that a cache must not be updated after it has been
-read for the last time; measured in microseconds. We use this technique
+read for the last time; measured in nanoseconds. We use this technique
 to ensure that SELECTs which join several INFORMATION SCHEMA tables read
 the same version of the cache. */
-#define CACHE_MIN_IDLE_TIME_US	100000 /* 0.1 sec */
+#define CACHE_MIN_IDLE_TIME_NS	100000000 /* 0.1 sec */
 
 /*******************************************************************//**
 Checks if the cache can safely be updated.
-@return	TRUE if can be updated */
-static
-ibool
-can_cache_be_updated(
-/*=================*/
-	trx_i_s_cache_t*	cache)	/*!< in: cache */
+@return whether the cache can be updated */
+static bool can_cache_be_updated(trx_i_s_cache_t* cache)
 {
-	ullint	now;
-
 #ifdef UNIV_SYNC_DEBUG
 	ut_a(rw_lock_own(&cache->rw_lock, RW_LOCK_EX));
 #endif
-
-	now = ut_time_us(NULL);
-	if (now - cache->last_read > CACHE_MIN_IDLE_TIME_US) {
-
-		return(TRUE);
-	}
-
-	return(FALSE);
+	return my_interval_timer() - cache->last_read > CACHE_MIN_IDLE_TIME_NS;
 }
 
 /*******************************************************************//**
@@ -1375,8 +1362,6 @@ trx_i_s_possibly_fetch_data_into_cache(
 /*===================================*/
 	trx_i_s_cache_t*	cache)	/*!< in/out: cache */
 {
-	ullint	now;
-
 #ifdef UNIV_SYNC_DEBUG
 	ut_a(rw_lock_own(&cache->rw_lock, RW_LOCK_EX));
 #endif
@@ -1399,8 +1384,7 @@ trx_i_s_possibly_fetch_data_into_cache(
 	lock_mutex_exit();
 
 	/* update cache last read time */
-	now = ut_time_us(NULL);
-	cache->last_read = now;
+	cache->last_read = my_interval_timer();
 
 	return(0);
 }
diff --git a/storage/innobase/trx/trx0purge.cc b/storage/innobase/trx/trx0purge.cc
index 5c7146fd7..bd61bc859 100644
--- a/storage/innobase/trx/trx0purge.cc
+++ b/storage/innobase/trx/trx0purge.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -146,7 +146,8 @@ trx_purge_sys_create(
 	here only because the query threads code requires it. It is otherwise
 	quite unnecessary. We should get rid of it eventually. */
 	purge_sys->trx->id = 0;
-	purge_sys->trx->start_time = ut_time();
+	purge_sys->trx->start_time = time(NULL);
+	purge_sys->trx->start_time_micro = microsecond_interval_timer();
 	purge_sys->trx->state = TRX_STATE_ACTIVE;
 	purge_sys->trx->op_info = "purge trx";
 
diff --git a/storage/innobase/trx/trx0rec.cc b/storage/innobase/trx/trx0rec.cc
index f70f8a613..c1cc794eb 100644
--- a/storage/innobase/trx/trx0rec.cc
+++ b/storage/innobase/trx/trx0rec.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/trx/trx0roll.cc b/storage/innobase/trx/trx0roll.cc
index af17cfe6b..de673208d 100644
--- a/storage/innobase/trx/trx0roll.cc
+++ b/storage/innobase/trx/trx0roll.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -738,11 +738,11 @@ trx_roll_must_shutdown()
 		return true;
 	}
 
-	ib_time_t time = ut_time();
+	time_t now = time(NULL);
 	mutex_enter(&trx_sys->mutex);
 	mutex_enter(&recv_sys->mutex);
 
-	if (recv_sys->report(time)) {
+	if (recv_sys->report(now)) {
 		ulint n_trx = 0;
 		ulonglong n_rows = 0;
 		for (const trx_t* t = UT_LIST_GET_FIRST(trx_sys->rw_trx_list);
diff --git a/storage/innobase/trx/trx0rseg.cc b/storage/innobase/trx/trx0rseg.cc
index 16fa33487..944e2353d 100644
--- a/storage/innobase/trx/trx0rseg.cc
+++ b/storage/innobase/trx/trx0rseg.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/trx/trx0sys.cc b/storage/innobase/trx/trx0sys.cc
index da2e4917c..13fd37f4e 100644
--- a/storage/innobase/trx/trx0sys.cc
+++ b/storage/innobase/trx/trx0sys.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/trx/trx0trx.cc b/storage/innobase/trx/trx0trx.cc
index 4175777cc..06de737a5 100644
--- a/storage/innobase/trx/trx0trx.cc
+++ b/storage/innobase/trx/trx0trx.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -570,7 +570,8 @@ trx_resurrect_insert(
 	/* trx_start_low() is not called with resurrect, so need to initialize
 	start time here.*/
 	if (trx->state != TRX_STATE_COMMITTED_IN_MEMORY) {
-		trx->start_time = ut_time();
+		trx->start_time = time(NULL);
+		trx->start_time_micro = microsecond_interval_timer();
 	}
 
 	if (undo->dict_operation) {
@@ -656,7 +657,8 @@ trx_resurrect_update(
 	start time here.*/
 	if (trx->state == TRX_STATE_ACTIVE
 	    || trx->state == TRX_STATE_PREPARED) {
-		trx->start_time = ut_time();
+		trx->start_time = time(NULL);
+		trx->start_time_micro = microsecond_interval_timer();
 	}
 
 	if (undo->dict_operation) {
@@ -905,10 +907,11 @@ trx_start_low(
 
 	mutex_exit(&trx_sys->mutex);
 
-	trx->start_time = ut_time();
+	trx->start_time = time(NULL);
 
-	trx->start_time_micro =
-		trx->mysql_thd ? thd_query_start_micro(trx->mysql_thd) : 0;
+	trx->start_time_micro = trx->mysql_thd
+		? thd_query_start_micro(trx->mysql_thd)
+		: microsecond_interval_timer();
 
 	MONITOR_INC(MONITOR_TRX_ACTIVE);
 }
diff --git a/storage/innobase/trx/trx0undo.cc b/storage/innobase/trx/trx0undo.cc
index b137c461e..03acdefd2 100644
--- a/storage/innobase/trx/trx0undo.cc
+++ b/storage/innobase/trx/trx0undo.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/usr/usr0sess.cc b/storage/innobase/usr/usr0sess.cc
index e1bd71ff1..911a3c91c 100644
--- a/storage/innobase/usr/usr0sess.cc
+++ b/storage/innobase/usr/usr0sess.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ut/ut0bh.cc b/storage/innobase/ut/ut0bh.cc
index 1a3038a0d..a74d56f50 100644
--- a/storage/innobase/ut/ut0bh.cc
+++ b/storage/innobase/ut/ut0bh.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ut/ut0byte.cc b/storage/innobase/ut/ut0byte.cc
index bc592edc6..2a56bcc0b 100644
--- a/storage/innobase/ut/ut0byte.cc
+++ b/storage/innobase/ut/ut0byte.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ut/ut0crc32.cc b/storage/innobase/ut/ut0crc32.cc
index 8f3c699c2..4d2d311ff 100644
--- a/storage/innobase/ut/ut0crc32.cc
+++ b/storage/innobase/ut/ut0crc32.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -59,7 +59,7 @@ mysys/my_perf.c, contributed by Facebook under the following license.
 
    You should have received a copy of the GNU General Public License along with
    this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* The below CRC32 implementation is based on the implementation included with
  * zlib with modifications to process 8 bytes at a time and using SSE 4.2
@@ -316,26 +316,7 @@ ut_crc32_init()
 	ut_cpuid(vend, &model, &family, &stepping,
 		 &features_ecx, &features_edx);
 
-	/* Valgrind does not understand the CRC32 instructions:
-
-	vex amd64->IR: unhandled instruction bytes: 0xF2 0x48 0xF 0x38 0xF0 0xA
-	valgrind: Unrecognised instruction at address 0xad3db5.
-	Your program just tried to execute an instruction that Valgrind
-	did not recognise.  There are two possible reasons for this.
-	1. Your program has a bug and erroneously jumped to a non-code
-	   location.  If you are running Memcheck and you just saw a
-	   warning about a bad jump, it's probably your program's fault.
-	2. The instruction is legitimate but Valgrind doesn't handle it,
-	   i.e. it's Valgrind's fault.  If you think this is the case or
-	   you are not sure, please let us know and we'll try to fix it.
-	Either way, Valgrind will now raise a SIGILL signal which will
-	probably kill your program.
-
-	*/
-#ifndef UNIV_DEBUG_VALGRIND
 	ut_crc32_sse2_enabled = (features_ecx >> 20) & 1;
-#endif /* UNIV_DEBUG_VALGRIND */
-
 #endif /* defined(__GNUC__) && defined(__x86_64__) */
 
 #if defined(__linux__) && defined(__powerpc__) && defined(AT_HWCAP2) \
diff --git a/storage/innobase/ut/ut0dbg.cc b/storage/innobase/ut/ut0dbg.cc
index a0bd82b38..fa766de28 100644
--- a/storage/innobase/ut/ut0dbg.cc
+++ b/storage/innobase/ut/ut0dbg.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ut/ut0list.cc b/storage/innobase/ut/ut0list.cc
index f906061d1..f33b6ed31 100644
--- a/storage/innobase/ut/ut0list.cc
+++ b/storage/innobase/ut/ut0list.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ut/ut0mem.cc b/storage/innobase/ut/ut0mem.cc
index 2bb5d9ce3..e75418fe7 100644
--- a/storage/innobase/ut/ut0mem.cc
+++ b/storage/innobase/ut/ut0mem.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ut/ut0rbt.cc b/storage/innobase/ut/ut0rbt.cc
index e93844af6..693f6a809 100644
--- a/storage/innobase/ut/ut0rbt.cc
+++ b/storage/innobase/ut/ut0rbt.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /********************************************************************//**
diff --git a/storage/innobase/ut/ut0rnd.cc b/storage/innobase/ut/ut0rnd.cc
index 3b4d73811..f881636e2 100644
--- a/storage/innobase/ut/ut0rnd.cc
+++ b/storage/innobase/ut/ut0rnd.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ut/ut0timer.cc b/storage/innobase/ut/ut0timer.cc
deleted file mode 100644
index 85292cce2..000000000
--- a/storage/innobase/ut/ut0timer.cc
+++ /dev/null
@@ -1,92 +0,0 @@
-/*****************************************************************************
-
-Copyright (c) 2013, 2014, Facebook, Inc. All Rights Reserved.
-Copyright (c) 2014, SkySQL Ab. All Rights Reserved.
-
-This program is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
-
-*****************************************************************************/
-
-/********************************************************************//**
-@file ut/ut0timer.cc
-Timer rountines
-
-Created 30/07/2014 Jan Lindström jan.lindstrom@skysql.com
-modified from https://github.com/facebook/mysql-5.6/commit/c75a413edeb96eb99bf11d7269bdfea06f96d6b6
-*************************************************************************/
-
-#include "data0type.h"
-#include 
-#include 
-
-/**************************************************************//**
-Initial timer definition
-@return	0 */
-static
-ulonglong
-ut_timer_none(void)
-/*===============*/
-{
-	return 0;
-}
-
-/**************************************************************//**
-Function pointer to point selected timer function.
-@return	timer current value */
-ulonglong (*ut_timer_now)(void) = &ut_timer_none;
-
-struct my_timer_unit_info ut_timer;
-
-/**************************************************************//**
-Sets up the data required for use of my_timer_* functions.
-Selects the best timer by high frequency, and tight resolution.
-Points my_timer_now() to the selected timer function.
-Initializes my_timer struct to contain the info for selected timer.*/
-UNIV_INTERN
-void
-ut_init_timer(void)
-/*===============*/
-{
-	MY_TIMER_INFO all_timer_info;
-	my_timer_init(&all_timer_info);
-
-	if (all_timer_info.cycles.frequency > 1000000 &&
-	    all_timer_info.cycles.resolution == 1) {
-		ut_timer = all_timer_info.cycles;
-		ut_timer_now = &my_timer_cycles;
-	} else if (all_timer_info.nanoseconds.frequency > 1000000 &&
-		 all_timer_info.nanoseconds.resolution == 1) {
-		ut_timer = all_timer_info.nanoseconds;
-		ut_timer_now = &my_timer_nanoseconds;
-	} else if (all_timer_info.microseconds.frequency >= 1000000 &&
-		all_timer_info.microseconds.resolution == 1) {
-		ut_timer = all_timer_info.microseconds;
-		ut_timer_now = &my_timer_microseconds;
-
-	} else if (all_timer_info.milliseconds.frequency >= 1000 &&
-		all_timer_info.milliseconds.resolution == 1) {
-		ut_timer = all_timer_info.milliseconds;
-		ut_timer_now = &my_timer_milliseconds;
-	} else if (all_timer_info.ticks.frequency >= 1000 &&
-		 /* Will probably be false */
-		all_timer_info.ticks.resolution == 1) {
-		ut_timer = all_timer_info.ticks;
-		ut_timer_now = &my_timer_ticks;
-	} else {
-		/* None are acceptable, so leave it as "None", and fill in struct */
-		ut_timer.frequency = 1; /* Avoid div-by-zero */
-		ut_timer.overhead = 0; /* Since it doesn't do anything */
-		ut_timer.resolution = 10; /* Another sign it's bad */
-		ut_timer.routine = 0; /* None */
-	}
-}
diff --git a/storage/innobase/ut/ut0ut.cc b/storage/innobase/ut/ut0ut.cc
index 2a430c9c4..6e4061bc7 100644
--- a/storage/innobase/ut/ut0ut.cc
+++ b/storage/innobase/ut/ut0ut.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1994, 2017, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -43,142 +44,6 @@ Created 5/11/1994 Heikki Tuuri
 # include "ha_prototypes.h"
 # include "mysql_com.h" /* NAME_LEN */
 # include 
-#endif /* UNIV_HOTBACKUP */
-
-#ifdef __WIN__
-typedef VOID(WINAPI *time_fn)(LPFILETIME);
-static time_fn ut_get_system_time_as_file_time = GetSystemTimeAsFileTime;
-
-/*****************************************************************//**
-NOTE: The Windows epoch starts from 1601/01/01 whereas the Unix
-epoch starts from 1970/1/1. For selection of constant see:
-http://support.microsoft.com/kb/167296/ */
-#define WIN_TO_UNIX_DELTA_USEC  ((ib_int64_t) 11644473600000000ULL)
-
-
-/*****************************************************************//**
-This is the Windows version of gettimeofday(2).
-@return	0 if all OK else -1 */
-static
-int
-ut_gettimeofday(
-/*============*/
-	struct timeval*	tv,	/*!< out: Values are relative to Unix epoch */
-	void*		tz)	/*!< in: not used */
-{
-	FILETIME	ft;
-	ib_int64_t	tm;
-
-	if (!tv) {
-		errno = EINVAL;
-		return(-1);
-	}
-
-	ut_get_system_time_as_file_time(&ft);
-
-	tm = (ib_int64_t) ft.dwHighDateTime << 32;
-	tm |= ft.dwLowDateTime;
-
-	ut_a(tm >= 0);	/* If tm wraps over to negative, the quotient / 10
-			does not work */
-
-	tm /= 10;	/* Convert from 100 nsec periods to usec */
-
-	/* If we don't convert to the Unix epoch the value for
-	struct timeval::tv_sec will overflow.*/
-	tm -= WIN_TO_UNIX_DELTA_USEC;
-
-	tv->tv_sec  = (long) (tm / 1000000L);
-	tv->tv_usec = (long) (tm % 1000000L);
-
-	return(0);
-}
-#else
-/** An alias for gettimeofday(2).  On Microsoft Windows, we have to
-reimplement this function. */
-#define	ut_gettimeofday		gettimeofday
-#endif
-
-/**********************************************************//**
-Returns system time. We do not specify the format of the time returned:
-the only way to manipulate it is to use the function ut_difftime.
-@return	system time */
-UNIV_INTERN
-ib_time_t
-ut_time(void)
-/*=========*/
-{
-	return(time(NULL));
-}
-
-#ifndef UNIV_HOTBACKUP
-/**********************************************************//**
-Returns system time.
-Upon successful completion, the value 0 is returned; otherwise the
-value -1 is returned and the global variable errno is set to indicate the
-error.
-@return	0 on success, -1 otherwise */
-UNIV_INTERN
-int
-ut_usectime(
-/*========*/
-	ulint*	sec,	/*!< out: seconds since the Epoch */
-	ulint*	ms)	/*!< out: microseconds since the Epoch+*sec */
-{
-	struct timeval	tv;
-	int		ret;
-	int		errno_gettimeofday;
-	int		i;
-
-	for (i = 0; i < 10; i++) {
-
-		ret = ut_gettimeofday(&tv, NULL);
-
-		if (ret == -1) {
-			errno_gettimeofday = errno;
-			ut_print_timestamp(stderr);
-			fprintf(stderr, "  InnoDB: gettimeofday(): %s\n",
-				strerror(errno_gettimeofday));
-			os_thread_sleep(100000);  /* 0.1 sec */
-			errno = errno_gettimeofday;
-		} else {
-			break;
-		}
-	}
-
-	if (ret != -1) {
-		*sec = (ulint) tv.tv_sec;
-		*ms  = (ulint) tv.tv_usec;
-	}
-
-	return(ret);
-}
-
-/**********************************************************//**
-Returns the number of microseconds since epoch. Similar to
-time(3), the return value is also stored in *tloc, provided
-that tloc is non-NULL.
-@return	us since epoch */
-UNIV_INTERN
-ullint
-ut_time_us(
-/*=======*/
-	ullint*	tloc)	/*!< out: us since epoch, if non-NULL */
-{
-	struct timeval	tv;
-	ullint		us;
-
-	ut_gettimeofday(&tv, NULL);
-
-	us = (ullint) tv.tv_sec * 1000000 + tv.tv_usec;
-
-	if (tloc != NULL) {
-		*tloc = us;
-	}
-
-	return(us);
-}
-
 /**********************************************************//**
 Returns the number of milliseconds since some epoch.  The
 value may wrap around.  It should only be used for heuristic
@@ -189,27 +54,9 @@ ulint
 ut_time_ms(void)
 /*============*/
 {
-	struct timeval	tv;
-
-	ut_gettimeofday(&tv, NULL);
-
-	return((ulint) tv.tv_sec * 1000 + tv.tv_usec / 1000);
+	return static_cast(my_interval_timer() / 1000000);
 }
 #endif /* !UNIV_HOTBACKUP */
-
-/**********************************************************//**
-Returns the difference of two times in seconds.
-@return	time2 - time1 expressed in seconds */
-UNIV_INTERN
-double
-ut_difftime(
-/*========*/
-	ib_time_t	time2,	/*!< in: time */
-	ib_time_t	time1)	/*!< in: time */
-{
-	return(difftime(time2, time1));
-}
-
 #endif /* !UNIV_INNOCHECKSUM */
 
 /**********************************************************//**
@@ -352,43 +199,6 @@ ut_sprintf_timestamp_without_extra_chars(
 		cal_tm_ptr->tm_sec);
 #endif
 }
-
-/**********************************************************//**
-Returns current year, month, day. */
-UNIV_INTERN
-void
-ut_get_year_month_day(
-/*==================*/
-	ulint*	year,	/*!< out: current year */
-	ulint*	month,	/*!< out: month */
-	ulint*	day)	/*!< out: day */
-{
-#ifdef __WIN__
-	SYSTEMTIME cal_tm;
-
-	GetLocalTime(&cal_tm);
-
-	*year = (ulint) cal_tm.wYear;
-	*month = (ulint) cal_tm.wMonth;
-	*day = (ulint) cal_tm.wDay;
-#else
-	struct tm* cal_tm_ptr;
-	time_t	   tm;
-
-#ifdef HAVE_LOCALTIME_R
-	struct tm  cal_tm;
-	time(&tm);
-	localtime_r(&tm, &cal_tm);
-	cal_tm_ptr = &cal_tm;
-#else
-	time(&tm);
-	cal_tm_ptr = localtime(&tm);
-#endif
-	*year = (ulint) cal_tm_ptr->tm_year + 1900;
-	*month = (ulint) cal_tm_ptr->tm_mon + 1;
-	*day = (ulint) cal_tm_ptr->tm_mday;
-#endif
-}
 #endif /* UNIV_HOTBACKUP */
 
 #ifndef UNIV_HOTBACKUP
diff --git a/storage/innobase/ut/ut0vec.cc b/storage/innobase/ut/ut0vec.cc
index 5842d9f1c..591895049 100644
--- a/storage/innobase/ut/ut0vec.cc
+++ b/storage/innobase/ut/ut0vec.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/innobase/ut/ut0wqueue.cc b/storage/innobase/ut/ut0wqueue.cc
index fce39bd81..f8ba9fd30 100644
--- a/storage/innobase/ut/ut0wqueue.cc
+++ b/storage/innobase/ut/ut0wqueue.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -127,7 +127,7 @@ ib_wqueue_timedwait(
 /*================*/
 					/* out: work item or NULL on timeout*/
 	ib_wqueue_t*	wq,		/* in: work queue */
-	ib_time_t	wait_in_usecs)	/* in: wait time in micro seconds */
+	ulint		wait_in_usecs)	/* in: wait time in micro seconds */
 {
 	ib_list_node_t*	node = NULL;
 
diff --git a/storage/maria/CMakeLists.txt b/storage/maria/CMakeLists.txt
index b8e3350ca..2c46492c9 100644
--- a/storage/maria/CMakeLists.txt
+++ b/storage/maria/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 
 INCLUDE(CMakeDependentOption)
 
diff --git a/storage/maria/ft_maria.c b/storage/maria/ft_maria.c
index 4a5c660af..9d4b86899 100644
--- a/storage/maria/ft_maria.c
+++ b/storage/maria/ft_maria.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ha_maria.cc b/storage/maria/ha_maria.cc
index d438aa903..5f73a1dc1 100644
--- a/storage/maria/ha_maria.cc
+++ b/storage/maria/ha_maria.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
@@ -3044,7 +3044,7 @@ static enum data_file_type maria_row_type(HA_CREATE_INFO *info)
 }
 
 
-int ha_maria::create(const char *name, register TABLE *table_arg,
+int ha_maria::create(const char *name, TABLE *table_arg,
                      HA_CREATE_INFO *ha_create_info)
 {
   int error;
diff --git a/storage/maria/ha_maria.h b/storage/maria/ha_maria.h
index f3548a381..865e3a2a7 100644
--- a/storage/maria/ha_maria.h
+++ b/storage/maria/ha_maria.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface                               /* gcc class implementation */
diff --git a/storage/maria/lockman.c b/storage/maria/lockman.c
index efdf7e1c4..a23558e46 100644
--- a/storage/maria/lockman.c
+++ b/storage/maria/lockman.c
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Generic Lock Manager
diff --git a/storage/maria/lockman.h b/storage/maria/lockman.h
index 2a5fc038b..35d0d8f5b 100644
--- a/storage/maria/lockman.h
+++ b/storage/maria/lockman.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _lockman_h
 #define _lockman_h
diff --git a/storage/maria/ma_bitmap.c b/storage/maria/ma_bitmap.c
index e8e2bc56b..f03aef9b2 100644
--- a/storage/maria/ma_bitmap.c
+++ b/storage/maria/ma_bitmap.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Bitmap handling (for records in block)
diff --git a/storage/maria/ma_blockrec.c b/storage/maria/ma_blockrec.c
index e2f72b400..9effdd7cd 100644
--- a/storage/maria/ma_blockrec.c
+++ b/storage/maria/ma_blockrec.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Storage of records in block
@@ -7549,7 +7549,7 @@ void _ma_print_block_info(MARIA_SHARE *share, uchar *buff)
 {
   LSN lsn= lsn_korr(buff);
 
-  printf("LSN: %lu,0x%lx  type: %u  dir_entries: %u  dir_free: %u  empty_space: %u\n",
+  printf("LSN: " LSN_FMT "  type: %u  dir_entries: %u  dir_free: %u  empty_space: %u\n",
          LSN_IN_PARTS(lsn),
          (uint)buff[PAGE_TYPE_OFFSET],
          (uint)buff[DIR_COUNT_OFFSET],
diff --git a/storage/maria/ma_blockrec.h b/storage/maria/ma_blockrec.h
index da865d9f5..a8eaeef7b 100644
--- a/storage/maria/ma_blockrec.h
+++ b/storage/maria/ma_blockrec.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Storage of records in block
@@ -190,8 +190,7 @@ MARIA_RECORD_POS _ma_write_init_block_record(MARIA_HA *info,
                                              const uchar *record);
 my_bool _ma_write_block_record(MARIA_HA *info, const uchar *record);
 my_bool _ma_write_abort_block_record(MARIA_HA *info);
-my_bool _ma_compare_block_record(register MARIA_HA *info,
-                                 register const uchar *record);
+my_bool _ma_compare_block_record(MARIA_HA *info, const uchar *record);
 void    _ma_compact_block_page(MARIA_SHARE *share, uchar *buff, uint rownr,
                                my_bool extend_block, TrID min_read_from,
                                uint min_row_length);
diff --git a/storage/maria/ma_cache.c b/storage/maria/ma_cache.c
index 0a45b4371..764aad078 100644
--- a/storage/maria/ma_cache.c
+++ b/storage/maria/ma_cache.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Functions for read record cacheing with maria
diff --git a/storage/maria/ma_changed.c b/storage/maria/ma_changed.c
index de591a590..ef708a12a 100644
--- a/storage/maria/ma_changed.c
+++ b/storage/maria/ma_changed.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Check if somebody has changed table since last check. */
 
diff --git a/storage/maria/ma_check.c b/storage/maria/ma_check.c
index 41086b930..789a4d0d5 100644
--- a/storage/maria/ma_check.c
+++ b/storage/maria/ma_check.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Describe, check and repair of MARIA tables */
 
diff --git a/storage/maria/ma_check_standalone.h b/storage/maria/ma_check_standalone.h
index 48d8e5295..24c1779fb 100644
--- a/storage/maria/ma_check_standalone.h
+++ b/storage/maria/ma_check_standalone.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 
diff --git a/storage/maria/ma_checkpoint.c b/storage/maria/ma_checkpoint.c
index c00278781..79b33e0b1 100644
--- a/storage/maria/ma_checkpoint.c
+++ b/storage/maria/ma_checkpoint.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   WL#3071 Maria checkpoint
@@ -170,7 +170,7 @@ static int really_execute_checkpoint(void)
     "Horizon" is a lower bound of the LSN of the next log record.
   */
   checkpoint_start_log_horizon= translog_get_horizon();
-  DBUG_PRINT("info",("checkpoint_start_log_horizon (%lu,0x%lx)",
+  DBUG_PRINT("info",("checkpoint_start_log_horizon " LSN_FMT "",
                      LSN_IN_PARTS(checkpoint_start_log_horizon)));
   lsn_store(checkpoint_start_log_horizon_char, checkpoint_start_log_horizon);
 
@@ -375,7 +375,7 @@ static void flush_all_tables(int what_to_flush)
                                   MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET|
                                   MA_STATE_INFO_WRITE_LOCK);
         DBUG_PRINT("maria_flush_states",
-                   ("is_of_horizon: LSN (%lu,0x%lx)",
+                   ("is_of_horizon: LSN " LSN_FMT "",
                     LSN_IN_PARTS(info->s->state.is_of_horizon)));
         break;
       case 2:
diff --git a/storage/maria/ma_checkpoint.h b/storage/maria/ma_checkpoint.h
index df877ad2b..b306268ba 100644
--- a/storage/maria/ma_checkpoint.h
+++ b/storage/maria/ma_checkpoint.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   WL#3071 Maria checkpoint
diff --git a/storage/maria/ma_checksum.c b/storage/maria/ma_checksum.c
index 106e1f014..0182dc7fd 100644
--- a/storage/maria/ma_checksum.c
+++ b/storage/maria/ma_checksum.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Calculate a checksum for a row */
 
diff --git a/storage/maria/ma_close.c b/storage/maria/ma_close.c
index b63340e23..5e4b286f8 100644
--- a/storage/maria/ma_close.c
+++ b/storage/maria/ma_close.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* close a isam-database */
 /*
diff --git a/storage/maria/ma_commit.c b/storage/maria/ma_commit.c
index 3850af824..4bd64bfde 100644
--- a/storage/maria/ma_commit.c
+++ b/storage/maria/ma_commit.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "trnman.h"
diff --git a/storage/maria/ma_commit.h b/storage/maria/ma_commit.h
index 5cb86d8b3..77114bbbe 100644
--- a/storage/maria/ma_commit.h
+++ b/storage/maria/ma_commit.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 C_MODE_START
 int ma_commit(TRN *trn);
diff --git a/storage/maria/ma_control_file.c b/storage/maria/ma_control_file.c
index f037589db..c2a8e439d 100644
--- a/storage/maria/ma_control_file.c
+++ b/storage/maria/ma_control_file.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   WL#3234 Maria control file
diff --git a/storage/maria/ma_control_file.h b/storage/maria/ma_control_file.h
index 155c778c1..268de184d 100644
--- a/storage/maria/ma_control_file.h
+++ b/storage/maria/ma_control_file.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   WL#3234 Maria control file
diff --git a/storage/maria/ma_create.c b/storage/maria/ma_create.c
index f3af97014..263d8a307 100644
--- a/storage/maria/ma_create.c
+++ b/storage/maria/ma_create.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Create a MARIA table */
 
diff --git a/storage/maria/ma_crypt.c b/storage/maria/ma_crypt.c
index cc605d799..606593f36 100644
--- a/storage/maria/ma_crypt.c
+++ b/storage/maria/ma_crypt.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include "maria_def.h"
diff --git a/storage/maria/ma_crypt.h b/storage/maria/ma_crypt.h
index 309a8300e..2bbc1cda0 100644
--- a/storage/maria/ma_crypt.h
+++ b/storage/maria/ma_crypt.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef STORAGE_MARIA_MA_CRYPT_INCLUDED
 #define STORAGE_MARIA_MA_CRYPT_INCLUDED
diff --git a/storage/maria/ma_dbug.c b/storage/maria/ma_dbug.c
index 677a5270c..63bbc9edd 100644
--- a/storage/maria/ma_dbug.c
+++ b/storage/maria/ma_dbug.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Support rutiner with are using with dbug */
 
diff --git a/storage/maria/ma_delete.c b/storage/maria/ma_delete.c
index 5d66015b9..bb004361d 100644
--- a/storage/maria/ma_delete.c
+++ b/storage/maria/ma_delete.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "ma_fulltext.h"
 #include "ma_rt_index.h"
diff --git a/storage/maria/ma_delete_all.c b/storage/maria/ma_delete_all.c
index a14603b24..e1d049972 100644
--- a/storage/maria/ma_delete_all.c
+++ b/storage/maria/ma_delete_all.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Remove all rows from a MARIA table */
 /* This clears the status information and truncates files */
diff --git a/storage/maria/ma_delete_table.c b/storage/maria/ma_delete_table.c
index 067ab280f..fee001df1 100644
--- a/storage/maria/ma_delete_table.c
+++ b/storage/maria/ma_delete_table.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "ma_fulltext.h"
 #include "trnman_public.h"
diff --git a/storage/maria/ma_dynrec.c b/storage/maria/ma_dynrec.c
index 0234eb5fb..db9024ba3 100644
--- a/storage/maria/ma_dynrec.c
+++ b/storage/maria/ma_dynrec.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Functions to handle space-packed-records and blobs
diff --git a/storage/maria/ma_extra.c b/storage/maria/ma_extra.c
index f3800bc36..90ad853aa 100644
--- a/storage/maria/ma_extra.c
+++ b/storage/maria/ma_extra.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #ifdef HAVE_SYS_MMAN_H
diff --git a/storage/maria/ma_ft_boolean_search.c b/storage/maria/ma_ft_boolean_search.c
index cce926839..8db97368c 100644
--- a/storage/maria/ma_ft_boolean_search.c
+++ b/storage/maria/ma_ft_boolean_search.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_ft_eval.c b/storage/maria/ma_ft_eval.c
index 1811a98ab..22b19b993 100644
--- a/storage/maria/ma_ft_eval.c
+++ b/storage/maria/ma_ft_eval.c
@@ -8,7 +8,7 @@
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code
    added support for long options (my_getopt) 22.5.2002 by Jani Tolonen */
diff --git a/storage/maria/ma_ft_eval.h b/storage/maria/ma_ft_eval.h
index cd232d2bf..460171345 100644
--- a/storage/maria/ma_ft_eval.h
+++ b/storage/maria/ma_ft_eval.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_ft_nlq_search.c b/storage/maria/ma_ft_nlq_search.c
index 438394d94..8e13d1278 100644
--- a/storage/maria/ma_ft_nlq_search.c
+++ b/storage/maria/ma_ft_nlq_search.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_ft_parser.c b/storage/maria/ma_ft_parser.c
index 5e4d0deaa..8e997cbb5 100644
--- a/storage/maria/ma_ft_parser.c
+++ b/storage/maria/ma_ft_parser.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_ft_stem.c b/storage/maria/ma_ft_stem.c
index fdce49569..9f3d28581 100644
--- a/storage/maria/ma_ft_stem.c
+++ b/storage/maria/ma_ft_stem.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_ft_test1.c b/storage/maria/ma_ft_test1.c
index 6839fcb9d..f1b1b53ea 100644
--- a/storage/maria/ma_ft_test1.c
+++ b/storage/maria/ma_ft_test1.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code
    added support for long options (my_getopt) 22.5.2002 by Jani Tolonen */
diff --git a/storage/maria/ma_ft_test1.h b/storage/maria/ma_ft_test1.h
index c724a368f..0f4997a71 100644
--- a/storage/maria/ma_ft_test1.h
+++ b/storage/maria/ma_ft_test1.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_ft_update.c b/storage/maria/ma_ft_update.c
index bd5e06dbc..212d7d94a 100644
--- a/storage/maria/ma_ft_update.c
+++ b/storage/maria/ma_ft_update.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_ftdefs.h b/storage/maria/ma_ftdefs.h
index 2a03e2d32..90ca6feb0 100644
--- a/storage/maria/ma_ftdefs.h
+++ b/storage/maria/ma_ftdefs.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_fulltext.h b/storage/maria/ma_fulltext.h
index 89f726897..944df3b81 100644
--- a/storage/maria/ma_fulltext.h
+++ b/storage/maria/ma_fulltext.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_info.c b/storage/maria/ma_info.c
index da44da123..01ae4f56e 100644
--- a/storage/maria/ma_info.c
+++ b/storage/maria/ma_info.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Return useful base information for an open table */
 
diff --git a/storage/maria/ma_init.c b/storage/maria/ma_init.c
index 3b8f3ce90..a104818ee 100644
--- a/storage/maria/ma_init.c
+++ b/storage/maria/ma_init.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Initialize an maria-database */
 
diff --git a/storage/maria/ma_key.c b/storage/maria/ma_key.c
index 693959a61..aa9efff35 100644
--- a/storage/maria/ma_key.c
+++ b/storage/maria/ma_key.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Functions to handle keys */
 
diff --git a/storage/maria/ma_key_recover.c b/storage/maria/ma_key_recover.c
index 610810756..8bfc41684 100644
--- a/storage/maria/ma_key_recover.c
+++ b/storage/maria/ma_key_recover.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Redo of index */
 
diff --git a/storage/maria/ma_key_recover.h b/storage/maria/ma_key_recover.h
index 4eaf1fd4e..b5b50279d 100644
--- a/storage/maria/ma_key_recover.h
+++ b/storage/maria/ma_key_recover.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   When we have finished the write/update/delete of a row, we have cleanups to
diff --git a/storage/maria/ma_keycache.c b/storage/maria/ma_keycache.c
index c3083445a..38004ca5d 100644
--- a/storage/maria/ma_keycache.c
+++ b/storage/maria/ma_keycache.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Key cache assignments
diff --git a/storage/maria/ma_locking.c b/storage/maria/ma_locking.c
index 4723c04e3..a8cf936c8 100644
--- a/storage/maria/ma_locking.c
+++ b/storage/maria/ma_locking.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Locking of Maria-tables.
diff --git a/storage/maria/ma_loghandler.c b/storage/maria/ma_loghandler.c
index 8a5ce0168..beda5f46f 100644
--- a/storage/maria/ma_loghandler.c
+++ b/storage/maria/ma_loghandler.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "trnman.h"
@@ -1175,7 +1175,7 @@ static my_bool translog_max_lsn_to_header(File file, LSN lsn)
   my_bool rc;
   DBUG_ENTER("translog_max_lsn_to_header");
   DBUG_PRINT("enter", ("File descriptor: %ld  "
-                       "lsn: (%lu,0x%lx)",
+                       "lsn: " LSN_FMT,
                        (long) file,
                        LSN_IN_PARTS(lsn)));
 
@@ -1248,7 +1248,7 @@ my_bool translog_read_file_header(LOGHANDLER_FILE_INFO *desc, File file)
   translog_interpret_file_header(desc, page_buff);
   DBUG_PRINT("info", ("timestamp: %llu  aria ver: %lu mysql ver: %lu  "
                       "server id %lu page size %lu file number %lu  "
-                      "max lsn: (%lu,0x%lx)",
+                      "max lsn: " LSN_FMT,
                       (ulonglong) desc->timestamp,
                       (ulong) desc->maria_version,
                       (ulong) desc->mysql_version,
@@ -1277,7 +1277,7 @@ static my_bool translog_set_lsn_for_files(uint32 from_file, uint32 to_file,
 {
   uint32 file;
   DBUG_ENTER("translog_set_lsn_for_files");
-  DBUG_PRINT("enter", ("From: %lu  to: %lu  lsn: (%lu,0x%lx)  locked: %d",
+  DBUG_PRINT("enter", ("From: %lu  to: %lu  lsn: " LSN_FMT "  locked: %d",
                        (ulong) from_file, (ulong) to_file,
                        LSN_IN_PARTS(lsn),
                        is_locked));
@@ -1506,7 +1506,7 @@ LSN translog_get_file_max_lsn_stored(uint32 file)
       info.max_lsn= LSN_ERROR;
     }
 
-    DBUG_PRINT("info", ("Max lsn: (%lu,0x%lx)", LSN_IN_PARTS(info.max_lsn)));
+    DBUG_PRINT("info", ("Max lsn: " LSN_FMT, LSN_IN_PARTS(info.max_lsn)));
     DBUG_RETURN(info.max_lsn);
   }
 }
@@ -1792,7 +1792,7 @@ static void translog_new_page_header(TRANSLOG_ADDRESS *horizon,
   if (log_descriptor.flags & TRANSLOG_PAGE_CRC)
   {
 #ifndef DBUG_OFF
-    DBUG_PRINT("info", ("write  0x11223344 CRC to (%lu,0x%lx)",
+    DBUG_PRINT("info", ("write  0x11223344 CRC to " LSN_FMT,
                         LSN_IN_PARTS(*horizon)));
     /* This will be overwritten by real CRC; This is just for debugging */
     int4store(ptr, 0x11223344);
@@ -1819,7 +1819,7 @@ static void translog_new_page_header(TRANSLOG_ADDRESS *horizon,
   }
   cursor->ptr= ptr;
   DBUG_PRINT("info", ("NewP buffer #%u: 0x%lx  chaser: %d  Size: %lu (%lu)  "
-                      "Horizon: (%lu,0x%lx)",
+                      "Horizon: " LSN_FMT,
                       (uint) cursor->buffer->buffer_no, (ulong) cursor->buffer,
                       cursor->chaser, (ulong) cursor->buffer->size,
                       (ulong) (cursor->ptr - cursor->buffer->buffer),
@@ -1924,14 +1924,14 @@ static void translog_finish_page(TRANSLOG_ADDRESS *horizon,
   uchar *page= cursor->ptr - cursor->current_page_fill;
   DBUG_ENTER("translog_finish_page");
   DBUG_PRINT("enter", ("Buffer: #%u 0x%lx  "
-                       "Buffer addr: (%lu,0x%lx)  "
-                       "Page addr: (%lu,0x%lx)  "
+                       "Buffer addr: " LSN_FMT "  "
+                       "Page addr: " LSN_FMT "  "
                        "size:%lu (%lu)  Pg:%u  left:%u",
                        (uint) cursor->buffer_no, (ulong) cursor->buffer,
                        LSN_IN_PARTS(cursor->buffer->offset),
-                       (ulong) LSN_FILE_NO(*horizon),
-                       (ulong) (LSN_OFFSET(*horizon) -
-                                cursor->current_page_fill),
+                       (uint) LSN_FILE_NO(*horizon),
+                       (uint) (LSN_OFFSET(*horizon) -
+                               cursor->current_page_fill),
                        (ulong) cursor->buffer->size,
                        (ulong) (cursor->ptr -cursor->buffer->buffer),
                        (uint) cursor->current_page_fill, (uint) left));
@@ -2197,7 +2197,7 @@ static my_bool translog_buffer_next(TRANSLOG_ADDRESS *horizon,
   my_bool chasing= cursor->chaser;
   DBUG_ENTER("translog_buffer_next");
 
-  DBUG_PRINT("info", ("horizon: (%lu,0x%lx)  chasing: %d",
+  DBUG_PRINT("info", ("horizon: " LSN_FMT "  chasing: %d",
                       LSN_IN_PARTS(log_descriptor.horizon), chasing));
 
   DBUG_ASSERT(cmp_translog_addr(log_descriptor.horizon, *horizon) >= 0);
@@ -2249,7 +2249,7 @@ static my_bool translog_buffer_next(TRANSLOG_ADDRESS *horizon,
       BUFFER_MAX_LSN(log_descriptor.buffers + old_buffer_no);
   }
   log_descriptor.buffers[old_buffer_no].next_buffer_offset= new_buffer->offset;
-  DBUG_PRINT("info", ("prev_last_lsn set to (%lu,0x%lx)  buffer: 0x%lx",
+  DBUG_PRINT("info", ("prev_last_lsn set to " LSN_FMT "  buffer: 0x%lx",
                       LSN_IN_PARTS(new_buffer->prev_last_lsn),
                       (ulong) new_buffer));
   translog_new_page_header(horizon, cursor);
@@ -2274,9 +2274,9 @@ static void translog_set_sent_to_disk(struct st_translog_buffer *buffer)
 
   DBUG_ENTER("translog_set_sent_to_disk");
   mysql_mutex_lock(&log_descriptor.sent_to_disk_lock);
-  DBUG_PRINT("enter", ("lsn: (%lu,0x%lx) in_buffers: (%lu,0x%lx)  "
-                       "in_buffers_only: (%lu,0x%lx)  start: (%lu,0x%lx)  "
-                       "sent_to_disk: (%lu,0x%lx)",
+  DBUG_PRINT("enter", ("lsn: " LSN_FMT " in_buffers: " LSN_FMT "  "
+                       "in_buffers_only: " LSN_FMT "  start: " LSN_FMT "  "
+                       "sent_to_disk: " LSN_FMT,
                        LSN_IN_PARTS(lsn),
                        LSN_IN_PARTS(in_buffers),
                        LSN_IN_PARTS(log_descriptor.log_start),
@@ -2314,8 +2314,8 @@ static void translog_set_only_in_buffers(TRANSLOG_ADDRESS in_buffers)
 {
   DBUG_ENTER("translog_set_only_in_buffers");
   mysql_mutex_lock(&log_descriptor.sent_to_disk_lock);
-  DBUG_PRINT("enter", ("in_buffers: (%lu,0x%lx)  "
-                       "in_buffers_only: (%lu,0x%lx)",
+  DBUG_PRINT("enter", ("in_buffers: " LSN_FMT "  "
+                       "in_buffers_only: " LSN_FMT,
                        LSN_IN_PARTS(in_buffers),
                        LSN_IN_PARTS(log_descriptor.in_buffers_only)));
   /* LSN_IMPOSSIBLE == 0 => it will work for very first time */
@@ -2369,7 +2369,7 @@ static LSN translog_get_sent_to_disk()
   DBUG_ENTER("translog_get_sent_to_disk");
   mysql_mutex_lock(&log_descriptor.sent_to_disk_lock);
   lsn= log_descriptor.sent_to_disk;
-  DBUG_PRINT("info", ("sent to disk up to (%lu,0x%lx)", LSN_IN_PARTS(lsn)));
+  DBUG_PRINT("info", ("sent to disk up to " LSN_FMT, LSN_IN_PARTS(lsn)));
   mysql_mutex_unlock(&log_descriptor.sent_to_disk_lock);
   DBUG_RETURN(lsn);
 }
@@ -2578,8 +2578,8 @@ my_bool translog_prev_buffer_flush_wait(struct st_translog_buffer *buffer)
   TRANSLOG_FILE *file= buffer->file;
   uint8 ver= buffer->ver;
   DBUG_ENTER("translog_prev_buffer_flush_wait");
-  DBUG_PRINT("enter", ("buffer: 0x%lx  #%u  offset: (%lu,0x%lx)  "
-                       "prev sent: (%lu,0x%lx) prev offset: (%lu,0x%lx)",
+  DBUG_PRINT("enter", ("buffer: 0x%lx  #%u  offset: " LSN_FMT "  "
+                       "prev sent: " LSN_FMT " prev offset: " LSN_FMT,
                        (ulong) buffer, (uint) buffer->buffer_no,
                        LSN_IN_PARTS(buffer->offset),
                        LSN_IN_PARTS(buffer->prev_sent_to_disk),
@@ -2619,8 +2619,8 @@ static my_bool translog_buffer_flush(struct st_translog_buffer *buffer)
   uint skipped_data;
   DBUG_ENTER("translog_buffer_flush");
   DBUG_PRINT("enter",
-             ("Buffer: #%u 0x%lx file: %d  offset: (%lu,0x%lx)  size: %lu",
-              (uint) buffer->buffer_no, (ulong) buffer,
+             ("Buffer: #%u %p file: %d  offset: " LSN_FMT "  size: %lu",
+              (uint) buffer->buffer_no, buffer,
               buffer->file->handler.file,
               LSN_IN_PARTS(buffer->offset),
               (ulong) buffer->size));
@@ -2659,11 +2659,11 @@ static my_bool translog_buffer_flush(struct st_translog_buffer *buffer)
 #ifndef DBUG_OFF
     TRANSLOG_ADDRESS addr= (buffer->offset + i);
 #endif
-    DBUG_PRINT("info", ("send log form %lu till %lu  address: (%lu,0x%lx)  "
-                        "page #: %lu  buffer size: %lu  buffer: 0x%lx",
+    DBUG_PRINT("info", ("send log form %lu till %lu  address: " LSN_FMT "  "
+                        "page #: %lu  buffer size: %lu  buffer: %p",
                         (ulong) i, (ulong) (i + TRANSLOG_PAGE_SIZE),
                         LSN_IN_PARTS(addr), (ulong) pg, (ulong) buffer->size,
-                        (ulong) buffer));
+                        buffer));
     DBUG_ASSERT(log_descriptor.pagecache->block_size == TRANSLOG_PAGE_SIZE);
     DBUG_ASSERT(i + TRANSLOG_PAGE_SIZE <= buffer->size);
     if (translog_status != TRANSLOG_OK && translog_status != TRANSLOG_SHUTDOWN)
@@ -2680,9 +2680,9 @@ static my_bool translog_buffer_flush(struct st_translog_buffer *buffer)
                         TRANSLOG_PAGE_SIZE - skipped_data))
     {
       DBUG_PRINT("error",
-                 ("Can't write page (%lu,0x%lx) to pagecache, error: %d",
-                  (ulong) buffer->file->number,
-                  (ulong) (LSN_OFFSET(buffer->offset)+ i),
+                 ("Can't write page " LSN_FMT " to pagecache, error: %d",
+                  buffer->file->number,
+                  (uint) (LSN_OFFSET(buffer->offset)+ i),
                   my_errno));
       translog_stop_writing();
       DBUG_RETURN(1);
@@ -2695,10 +2695,10 @@ static my_bool translog_buffer_flush(struct st_translog_buffer *buffer)
                 LSN_OFFSET(buffer->offset) + buffer->skipped_data,
                 log_write_flags))
   {
-    DBUG_PRINT("error", ("Can't write buffer (%lu,0x%lx) size %lu "
+    DBUG_PRINT("error", ("Can't write buffer " LSN_FMT " size %lu "
                          "to the disk (%d)",
-                         (ulong) file->handler.file,
-                         (ulong) LSN_OFFSET(buffer->offset),
+                         (uint) file->handler.file,
+                         (uint) LSN_OFFSET(buffer->offset),
                          (ulong) buffer->size, errno));
     translog_stop_writing();
     DBUG_RETURN(1);
@@ -2918,10 +2918,10 @@ static my_bool translog_page_validator(int res, PAGECACHE_IO_HOOK_ARGS *args)
   if ((pgcache_page_no_t) uint3korr(page) != page_no ||
       (uint32) uint3korr(page + 3) != data->number)
   {
-    DBUG_PRINT("error", ("Page (%lu,0x%lx): "
+    DBUG_PRINT("error", ("Page " LSN_FMT ": "
                          "page address written in the page is incorrect: "
                          "File %lu instead of %lu or page %lu instead of %lu",
-                         (ulong) data->number, (ulong) offset,
+                         (uint)data->number, (uint)offset,
                          (ulong) uint3korr(page + 3), (ulong) data->number,
                          (ulong) uint3korr(page),
                          (ulong) page_no));
@@ -2932,9 +2932,9 @@ static my_bool translog_page_validator(int res, PAGECACHE_IO_HOOK_ARGS *args)
   if (flags & ~(TRANSLOG_PAGE_CRC | TRANSLOG_SECTOR_PROTECTION |
                 TRANSLOG_RECORD_CRC))
   {
-    DBUG_PRINT("error", ("Page (%lu,0x%lx): "
+    DBUG_PRINT("error", ("Page " LSN_FMT ": "
                          "Garbage in the page flags field detected : %x",
-                         (ulong) data->number, (ulong) offset,
+                         (uint) data->number, (uint) offset,
                          (uint) flags));
     DBUG_RETURN(1);
   }
@@ -2946,9 +2946,9 @@ static my_bool translog_page_validator(int res, PAGECACHE_IO_HOOK_ARGS *args)
                              this_page_page_overhead);
     if (crc != uint4korr(page_pos))
     {
-      DBUG_PRINT("error", ("Page (%lu,0x%lx): "
+      DBUG_PRINT("error", ("Page " LSN_FMT ": "
                            "CRC mismatch: calculated: %lx on the page %lx",
-                           (ulong) data->number, (ulong) offset,
+                           (uint) data->number, (uint) offset,
                            (ulong) crc, (ulong) uint4korr(page_pos)));
       DBUG_RETURN(1);
     }
@@ -3029,10 +3029,10 @@ static uchar *translog_get_page(TRANSLOG_VALIDATOR_DATA *data, uchar *buffer,
   uint32 file_no= LSN_FILE_NO(addr);
   TRANSLOG_FILE *file;
   DBUG_ENTER("translog_get_page");
-  DBUG_PRINT("enter", ("File: %lu  Offset: %lu(0x%lx)",
-                       (ulong) file_no,
-                       (ulong) LSN_OFFSET(addr),
-                       (ulong) LSN_OFFSET(addr)));
+  DBUG_PRINT("enter", ("File: %u  Offset: %u(0x%x)",
+                       file_no,
+                       (uint) LSN_OFFSET(addr),
+                       (uint) LSN_OFFSET(addr)));
 
   /* it is really page address */
   DBUG_ASSERT(LSN_OFFSET(addr) % TRANSLOG_PAGE_SIZE == 0);
@@ -3042,7 +3042,7 @@ static uchar *translog_get_page(TRANSLOG_VALIDATOR_DATA *data, uchar *buffer,
 restart:
 
   in_buffers= translog_only_in_buffers();
-  DBUG_PRINT("info", ("in_buffers: (%lu,0x%lx)",
+  DBUG_PRINT("info", ("in_buffers: " LSN_FMT,
                       LSN_IN_PARTS(in_buffers)));
   if (in_buffers != LSN_IMPOSSIBLE &&
       cmp_translog_addr(addr, in_buffers) >= 0)
@@ -3424,8 +3424,8 @@ static my_bool translog_truncate_log(TRANSLOG_ADDRESS addr)
   uchar page_buff[TRANSLOG_PAGE_SIZE];
   DBUG_ENTER("translog_truncate_log");
   /* TODO: write warning to the client */
-  DBUG_PRINT("warning", ("removing all records from (%lu,0x%lx) "
-                         "till (%lu,0x%lx)",
+  DBUG_PRINT("warning", ("removing all records from " LSN_FMT " "
+                         "till " LSN_FMT,
                          LSN_IN_PARTS(addr),
                          LSN_IN_PARTS(log_descriptor.horizon)));
   DBUG_ASSERT(cmp_translog_addr(addr, log_descriptor.horizon) < 0);
@@ -3856,7 +3856,14 @@ my_bool translog_init_with_table(const char *directory,
     my_bool pageok;
 
     DBUG_PRINT("info", ("The log is really present"));
-    DBUG_ASSERT(sure_page <= last_page);
+    if (sure_page > last_page)
+    {
+      my_printf_error(HA_ERR_GENERIC, "Aria engine: log data error\n"
+                      "last_log_page:   " LSN_FMT " is less than\n"
+                      "checkpoint page: " LSN_FMT, MYF(0),
+                      LSN_IN_PARTS(last_page), LSN_IN_PARTS(sure_page));
+      goto err;
+    }
 
     /* TODO: check page size */
 
@@ -4004,7 +4011,7 @@ my_bool translog_init_with_table(const char *directory,
   if (!logs_found)
   {
     TRANSLOG_FILE *file= (TRANSLOG_FILE*)my_malloc(sizeof(TRANSLOG_FILE),
-                                                   MYF(0));
+                                                   MYF(MY_WME));
     DBUG_PRINT("info", ("The log is not found => we will create new log"));
     if (file == NULL)
        goto err;
@@ -4139,7 +4146,7 @@ my_bool translog_init_with_table(const char *directory,
             There is no harm in leaving it "as-is".
           */
           log_descriptor.previous_flush_horizon= log_descriptor.horizon;
-          DBUG_PRINT("info", ("previous_flush_horizon: (%lu,0x%lx)",
+          DBUG_PRINT("info", ("previous_flush_horizon: " LSN_FMT,
                               LSN_IN_PARTS(log_descriptor.
                                            previous_flush_horizon)));
           DBUG_RETURN(0);
@@ -4167,7 +4174,7 @@ my_bool translog_init_with_table(const char *directory,
       translog_size_t rec_len;
       int len;
       uchar buffer[1];
-      DBUG_PRINT("info", ("going to check the last found record (%lu,0x%lx)",
+      DBUG_PRINT("info", ("going to check the last found record " LSN_FMT,
                           LSN_IN_PARTS(last_lsn)));
 
       len=
@@ -4176,7 +4183,7 @@ my_bool translog_init_with_table(const char *directory,
                     len == RECHEADER_READ_EOF))
       {
         DBUG_PRINT("error", ("unexpected end of log or record during "
-                             "reading record header: (%lu,0x%lx)  len: %d",
+                             "reading record header: " LSN_FMT "  len: %d",
                              LSN_IN_PARTS(last_lsn), len));
         if (readonly)
           log_descriptor.log_start= log_descriptor.horizon= last_lsn;
@@ -4200,7 +4207,7 @@ my_bool translog_init_with_table(const char *directory,
           if (rec_len != 1)
           {
             DBUG_PRINT("error", ("unexpected end of log or record during "
-                                 "reading record body: (%lu,0x%lx)  len: %d",
+                                 "reading record body: " LSN_FMT "  len: %d",
                                  LSN_IN_PARTS(rec.lsn),
                                  len));
             if (readonly)
@@ -4218,7 +4225,7 @@ my_bool translog_init_with_table(const char *directory,
     }
   }
   log_descriptor.previous_flush_horizon= log_descriptor.horizon;
-  DBUG_PRINT("info", ("previous_flush_horizon: (%lu,0x%lx)",
+  DBUG_PRINT("info", ("previous_flush_horizon: " LSN_FMT,
                       LSN_IN_PARTS(log_descriptor.previous_flush_horizon)));
   DBUG_RETURN(0);
 err:
@@ -4237,7 +4244,7 @@ static void translog_buffer_destroy(struct st_translog_buffer *buffer)
 {
   DBUG_ENTER("translog_buffer_destroy");
   DBUG_PRINT("enter",
-             ("Buffer #%u: 0x%lx  file: %d  offset: (%lu,0x%lx)  size: %lu",
+             ("Buffer #%u: 0x%lx  file: %d  offset: " LSN_FMT "  size: %lu",
               (uint) buffer->buffer_no, (ulong) buffer,
               (buffer->file ? buffer->file->handler.file : -1),
               LSN_IN_PARTS(buffer->offset),
@@ -4502,7 +4509,7 @@ static my_bool translog_write_parts_on_page(TRANSLOG_ADDRESS *horizon,
     }
   } while (left);
 
-  DBUG_PRINT("info", ("Horizon: (%lu,0x%lx)  Length %lu(0x%lx)",
+  DBUG_PRINT("info", ("Horizon: " LSN_FMT "  Length %lu(0x%lx)",
                       LSN_IN_PARTS(*horizon),
                       (ulong) length, (ulong) length));
   parts->current= cur;
@@ -4516,7 +4523,7 @@ static my_bool translog_write_parts_on_page(TRANSLOG_ADDRESS *horizon,
   */
   DBUG_PRINT("info", ("Write parts buffer #%u: 0x%lx  "
                       "chaser: %d  Size: %lu (%lu)  "
-                      "Horizon: (%lu,0x%lx)  buff offset: 0x%lx",
+                      "Horizon: " LSN_FMT "  buff offset: 0x%lx",
                       (uint) cursor->buffer->buffer_no, (ulong) cursor->buffer,
                       cursor->chaser, (ulong) cursor->buffer->size,
                       (ulong) (cursor->ptr - cursor->buffer->buffer),
@@ -4747,7 +4754,7 @@ static my_bool translog_advance_pointer(int pages, uint16 last_page_data,
                            pages * TRANSLOG_PAGE_SIZE + last_page_offset);
   translog_size_t buffer_end_offset, file_end_offset, min_offset;
   DBUG_ENTER("translog_advance_pointer");
-  DBUG_PRINT("enter", ("Pointer:  (%lu, 0x%lx) + %u + %u pages + %u + %u",
+  DBUG_PRINT("enter", ("Pointer:  " LSN_FMT " + %u + %u pages + %u + %u",
                        LSN_IN_PARTS(log_descriptor.horizon),
                        (uint) (TRANSLOG_PAGE_SIZE -
                                log_descriptor.bc.current_page_fill),
@@ -4799,20 +4806,20 @@ static my_bool translog_advance_pointer(int pages, uint16 last_page_data,
       file_end_offset= (TRANSLOG_PAGE_SIZE -
                         log_descriptor.bc.current_page_fill);
     }
-    DBUG_PRINT("info", ("offset: %lu  buffer_end_offs: %lu, "
-                        "file_end_offs:  %lu",
-                        (ulong) offset, (ulong) buffer_end_offset,
-                        (ulong) file_end_offset));
-    DBUG_PRINT("info", ("Buff #%u %u (0x%lx) offset 0x%lx + size 0x%lx = "
-                        "0x%lx (0x%lx)",
-                        (uint) log_descriptor.bc.buffer->buffer_no,
-                        (uint) log_descriptor.bc.buffer_no,
-                        (ulong) log_descriptor.bc.buffer,
-                        (ulong) LSN_OFFSET(log_descriptor.bc.buffer->offset),
-                        (ulong) log_descriptor.bc.buffer->size,
-                        (ulong) (LSN_OFFSET(log_descriptor.bc.buffer->offset) +
-                                 log_descriptor.bc.buffer->size),
-                        (ulong) LSN_OFFSET(log_descriptor.horizon)));
+    DBUG_PRINT("info", ("offset: %u  buffer_end_offs: %u, "
+                        "file_end_offs:  %u",
+                        offset, buffer_end_offset,
+                        file_end_offset));
+    DBUG_PRINT("info", ("Buff #%u %u (%p) offset 0x%x + size 0x%x = "
+                        "0x%x (0x%x)",
+                        log_descriptor.bc.buffer->buffer_no,
+                        log_descriptor.bc.buffer_no,
+                        log_descriptor.bc.buffer,
+                        (uint) LSN_OFFSET(log_descriptor.bc.buffer->offset),
+                        log_descriptor.bc.buffer->size,
+                        (uint) (LSN_OFFSET(log_descriptor.bc.buffer->offset) +
+                                log_descriptor.bc.buffer->size),
+                        (uint) LSN_OFFSET(log_descriptor.horizon)));
     DBUG_ASSERT(LSN_OFFSET(log_descriptor.bc.buffer->offset) +
                 log_descriptor.bc.buffer->size ==
                 LSN_OFFSET(log_descriptor.horizon));
@@ -4845,9 +4852,9 @@ static my_bool translog_advance_pointer(int pages, uint16 last_page_data,
     /* TODO: check is it ptr or size enough */
     log_descriptor.bc.buffer->size+= min_offset;
     log_descriptor.bc.ptr+= min_offset;
-    DBUG_PRINT("info", ("NewP buffer #%u: 0x%lx  chaser: %d  Size: %lu (%lu)",
+    DBUG_PRINT("info", ("NewP buffer #%u: %p  chaser: %d  Size: %lu (%lu)",
                         (uint) log_descriptor.bc.buffer->buffer_no,
-                        (ulong) log_descriptor.bc.buffer,
+                        log_descriptor.bc.buffer,
                         log_descriptor.bc.chaser,
                         (ulong) log_descriptor.bc.buffer->size,
                         (ulong) (log_descriptor.bc.ptr -log_descriptor.bc.
@@ -4898,10 +4905,10 @@ static my_bool translog_advance_pointer(int pages, uint16 last_page_data,
   used_buffs_add(buffs, log_descriptor.bc.buffer);
   log_descriptor.horizon+= offset; /* offset increasing */
   log_descriptor.bc.current_page_fill= last_page_offset;
-  DBUG_PRINT("info", ("NewP buffer #%u: 0x%lx  chaser: %d  Size: %lu (%lu)  "
+  DBUG_PRINT("info", ("NewP buffer #%u: %p  chaser: %d  Size: %lu (%lu)  "
                       "offset: %u  last page: %u",
                       (uint) log_descriptor.bc.buffer->buffer_no,
-                      (ulong) log_descriptor.bc.buffer,
+                      log_descriptor.bc.buffer,
                       log_descriptor.bc.chaser,
                       (ulong) log_descriptor.bc.buffer->size,
                       (ulong) (log_descriptor.bc.ptr -
@@ -4909,7 +4916,7 @@ static my_bool translog_advance_pointer(int pages, uint16 last_page_data,
                                buffer), (uint) offset,
                       (uint) last_page_offset));
   DBUG_PRINT("info",
-             ("pointer moved to: (%lu, 0x%lx)",
+             ("pointer moved to: " LSN_FMT,
               LSN_IN_PARTS(log_descriptor.horizon)));
   translog_check_cursor(&log_descriptor.bc);
   log_descriptor.bc.protected= 0;
@@ -4999,7 +5006,7 @@ static uint translog_get_current_page_rest()
 
 static uint translog_get_current_buffer_rest()
 {
-  return ((log_descriptor.bc.buffer->buffer + TRANSLOG_WRITE_BUFFER -
+  return (uint)((log_descriptor.bc.buffer->buffer + TRANSLOG_WRITE_BUFFER -
            log_descriptor.bc.ptr) /
           TRANSLOG_PAGE_SIZE);
 }
@@ -5046,7 +5053,7 @@ static inline void set_lsn(LSN *lsn, LSN value)
   *lsn= value;
   /* we generate LSN so something is not flushed in log */
   log_descriptor.is_everything_flushed= 0;
-  DBUG_PRINT("info", ("new LSN appeared: (%lu,0x%lx)", LSN_IN_PARTS(value)));
+  DBUG_PRINT("info", ("new LSN appeared: " LSN_FMT, LSN_IN_PARTS(value)));
   DBUG_VOID_RETURN;
 }
 
@@ -5143,9 +5150,9 @@ translog_write_variable_record_1group(LSN *lsn,
                                (record_rest ? record_rest + 3 : 0),
                                &cursor.buffs);
   log_descriptor.bc.buffer->last_lsn= *lsn;
-  DBUG_PRINT("info", ("last_lsn set to (%lu,0x%lx)  buffer: 0x%lx",
+  DBUG_PRINT("info", ("last_lsn set to " LSN_FMT "  buffer: %p",
                       LSN_IN_PARTS(log_descriptor.bc.buffer->last_lsn),
-                      (ulong) log_descriptor.bc.buffer));
+                      log_descriptor.bc.buffer));
 
   translog_unlock();
 
@@ -5172,7 +5179,7 @@ translog_write_variable_record_1group(LSN *lsn,
   /* fill the pages */
   translog_write_parts_on_page(&horizon, &cursor, first_page, parts);
 
-  DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx)",
+  DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT,
                       LSN_IN_PARTS(log_descriptor.horizon),
                       LSN_IN_PARTS(horizon)));
 
@@ -5181,7 +5188,7 @@ translog_write_variable_record_1group(LSN *lsn,
     if (translog_write_variable_record_chunk2_page(parts, &horizon, &cursor))
       goto error;
 
-    DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx)",
+    DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT,
                         LSN_IN_PARTS(log_descriptor.horizon),
                         LSN_IN_PARTS(horizon)));
   }
@@ -5193,7 +5200,7 @@ translog_write_variable_record_1group(LSN *lsn,
                                                    page_capacity_chunk_2 - 2,
                                                    &horizon, &cursor))
       goto error;
-    DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx)",
+    DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT,
                         LSN_IN_PARTS(log_descriptor.horizon),
                         LSN_IN_PARTS(horizon)));
     DBUG_ASSERT(cursor.current_page_fill == TRANSLOG_PAGE_SIZE);
@@ -5203,11 +5210,11 @@ translog_write_variable_record_1group(LSN *lsn,
                                                  record_rest,
                                                  &horizon, &cursor))
     goto error;
-  DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx)",
-                     (ulong) LSN_FILE_NO(log_descriptor.horizon),
-                     (ulong) LSN_OFFSET(log_descriptor.horizon),
-                     (ulong) LSN_FILE_NO(horizon),
-                     (ulong) LSN_OFFSET(horizon)));
+  DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT,
+                      (uint) LSN_FILE_NO(log_descriptor.horizon),
+                      (uint) LSN_OFFSET(log_descriptor.horizon),
+                      (uint) LSN_FILE_NO(horizon),
+                      (uint) LSN_OFFSET(horizon)));
 
   translog_buffer_lock(cursor.buffer);
   translog_buffer_decrease_writers(cursor.buffer);
@@ -5279,9 +5286,9 @@ translog_write_variable_record_1chunk(LSN *lsn,
                                    &log_descriptor.bc,
                                    parts->total_record_length, parts);
   log_descriptor.bc.buffer->last_lsn= *lsn;
-  DBUG_PRINT("info", ("last_lsn set to (%lu,0x%lx)  buffer: 0x%lx",
+  DBUG_PRINT("info", ("last_lsn set to " LSN_FMT "  buffer: %p",
                       LSN_IN_PARTS(log_descriptor.bc.buffer->last_lsn),
-                      (ulong) log_descriptor.bc.buffer));
+                      log_descriptor.bc.buffer));
   translog_unlock();
 
   /*
@@ -5326,9 +5333,9 @@ static uchar *translog_put_LSN_diff(LSN base_lsn, LSN lsn, uchar *dst)
 {
   uint64 diff;
   DBUG_ENTER("translog_put_LSN_diff");
-  DBUG_PRINT("enter", ("Base: (%lu,0x%lx)  val: (%lu,0x%lx)  dst: 0x%lx",
+  DBUG_PRINT("enter", ("Base: " LSN_FMT "  val: " LSN_FMT "  dst: %p",
                        LSN_IN_PARTS(base_lsn), LSN_IN_PARTS(lsn),
-                       (ulong) dst));
+                       dst));
   DBUG_ASSERT(base_lsn > lsn);
   diff= base_lsn - lsn;
   DBUG_PRINT("info", ("Diff: 0x%llx", (ulonglong) diff));
@@ -5372,7 +5379,7 @@ static uchar *translog_put_LSN_diff(LSN base_lsn, LSN lsn, uchar *dst)
     dst[1]= 1;
     lsn_store(dst + 2, lsn);
   }
-  DBUG_PRINT("info", ("new dst: 0x%lx", (ulong) dst));
+  DBUG_PRINT("info", ("new dst: %p", dst));
   DBUG_RETURN(dst);
 }
 
@@ -5411,7 +5418,7 @@ static uchar *translog_get_LSN_from_diff(LSN base_lsn, uchar *src, uchar *dst)
   uint32 file_no, rec_offset;
   uint8 code;
   DBUG_ENTER("translog_get_LSN_from_diff");
-  DBUG_PRINT("enter", ("Base: (%lu,0x%lx)  src: 0x%lx  dst 0x%lx",
+  DBUG_PRINT("enter", ("Base: " LSN_FMT "  src: 0x%lx  dst 0x%lx",
                        LSN_IN_PARTS(base_lsn), (ulong) src, (ulong) dst));
   first_byte= *((uint8*) src);
   code= first_byte >> 6; /* Length is in 2 most significant bits */
@@ -5729,7 +5736,7 @@ translog_write_variable_record_mgroup(LSN *lsn,
 
     translog_write_data_on_page(&horizon, &cursor, 1, chunk2_header);
     translog_write_parts_on_page(&horizon, &cursor, first_page - 1, parts);
-    DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx)  "
+    DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT "  "
                         "Left  %lu",
                         LSN_IN_PARTS(log_descriptor.horizon),
                         LSN_IN_PARTS(horizon),
@@ -5741,8 +5748,8 @@ translog_write_variable_record_mgroup(LSN *lsn,
       if (translog_write_variable_record_chunk2_page(parts, &horizon, &cursor))
         goto err;
 
-      DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  "
-                          "local: (%lu,0x%lx)  "
+      DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  "
+                          "local: " LSN_FMT "  "
                           "Left: %lu",
                           LSN_IN_PARTS(log_descriptor.horizon),
                           LSN_IN_PARTS(horizon),
@@ -5910,7 +5917,7 @@ translog_write_variable_record_mgroup(LSN *lsn,
     DBUG_PRINT("info", ("chunk 2 to finish first page"));
     translog_write_data_on_page(&horizon, &cursor, 1, chunk2_header);
     translog_write_parts_on_page(&horizon, &cursor, first_page - 1, parts);
-    DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx) "
+    DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT " "
                         "Left: %lu",
                         LSN_IN_PARTS(log_descriptor.horizon),
                         LSN_IN_PARTS(horizon),
@@ -5927,7 +5934,7 @@ translog_write_variable_record_mgroup(LSN *lsn,
     int2store(chunk3_header + 1, chunk3_size);
     translog_write_data_on_page(&horizon, &cursor, 3, chunk3_header);
     translog_write_parts_on_page(&horizon, &cursor, chunk3_size, parts);
-    DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx) "
+    DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT " "
                         "Left: %lu",
                         LSN_IN_PARTS(log_descriptor.horizon),
                         LSN_IN_PARTS(horizon),
@@ -5945,7 +5952,7 @@ translog_write_variable_record_mgroup(LSN *lsn,
     if (translog_write_variable_record_chunk2_page(parts, &horizon, &cursor))
       goto err;
 
-    DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx) "
+    DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT " "
                         "Left: %lu",
                         LSN_IN_PARTS(log_descriptor.horizon),
                         LSN_IN_PARTS(horizon),
@@ -5959,7 +5966,7 @@ translog_write_variable_record_mgroup(LSN *lsn,
                                                  chunk3_size,
                                                  &horizon, &cursor))
     goto err;
-  DBUG_PRINT("info", ("absolute horizon: (%lu,0x%lx)  local: (%lu,0x%lx)",
+  DBUG_PRINT("info", ("absolute horizon: " LSN_FMT "  local: " LSN_FMT,
                       LSN_IN_PARTS(log_descriptor.horizon),
                       LSN_IN_PARTS(horizon)));
 
@@ -5994,9 +6001,9 @@ translog_write_variable_record_mgroup(LSN *lsn,
       translog_lock();
       set_lsn(lsn, horizon);
       buffer_of_last_lsn->last_lsn= *lsn;
-      DBUG_PRINT("info", ("last_lsn set to (%lu,0x%lx)  buffer: 0x%lx",
+      DBUG_PRINT("info", ("last_lsn set to " LSN_FMT "  buffer: %p",
                           LSN_IN_PARTS(buffer_of_last_lsn->last_lsn),
-                          (ulong) buffer_of_last_lsn));
+                          buffer_of_last_lsn));
       if (log_record_type_descriptor[type].inwrite_hook &&
           (*log_record_type_descriptor[type].inwrite_hook) (type, trn,
                                                             tbl_info,
@@ -6131,7 +6138,7 @@ static my_bool translog_write_variable_record(LSN *lsn,
   DBUG_ENTER("translog_write_variable_record");
 
   translog_lock();
-  DBUG_PRINT("info", ("horizon: (%lu,0x%lx)",
+  DBUG_PRINT("info", ("horizon: " LSN_FMT,
                       LSN_IN_PARTS(log_descriptor.horizon)));
   page_rest= TRANSLOG_PAGE_SIZE - log_descriptor.bc.current_page_fill;
   DBUG_PRINT("info", ("header length: %u  page_rest: %u",
@@ -6247,7 +6254,7 @@ static my_bool translog_write_fixed_record(LSN *lsn,
                log_record_type_descriptor[type].fixed_length));
 
   translog_lock();
-  DBUG_PRINT("info", ("horizon: (%lu,0x%lx)",
+  DBUG_PRINT("info", ("horizon: " LSN_FMT,
                       LSN_IN_PARTS(log_descriptor.horizon)));
 
   DBUG_ASSERT(log_descriptor.bc.current_page_fill <= TRANSLOG_PAGE_SIZE);
@@ -6311,9 +6318,9 @@ static my_bool translog_write_fixed_record(LSN *lsn,
                                    parts->total_record_length, parts);
 
   log_descriptor.bc.buffer->last_lsn= *lsn;
-  DBUG_PRINT("info", ("last_lsn set to (%lu,0x%lx)  buffer: 0x%lx",
+  DBUG_PRINT("info", ("last_lsn set to " LSN_FMT "  buffer: %p",
                       LSN_IN_PARTS(log_descriptor.bc.buffer->last_lsn),
-                      (ulong) log_descriptor.bc.buffer));
+                      log_descriptor.bc.buffer));
 
 err:
   translog_unlock();
@@ -6502,7 +6509,7 @@ my_bool translog_write_record(LSN *lsn,
     }
   }
 
-  DBUG_PRINT("info", ("LSN: (%lu,0x%lx)", LSN_IN_PARTS(*lsn)));
+  DBUG_PRINT("info", ("LSN: " LSN_FMT, LSN_IN_PARTS(*lsn)));
   DBUG_RETURN(rc);
 }
 
@@ -6717,7 +6724,7 @@ my_bool translog_scanner_init(LSN lsn,
                               my_bool use_direct)
 {
   DBUG_ENTER("translog_scanner_init");
-  DBUG_PRINT("enter", ("Scanner: 0x%lx  LSN: (%lu,0x%lx)",
+  DBUG_PRINT("enter", ("Scanner: 0x%lx  LSN: " LSN_FMT,
                        (ulong) scanner, LSN_IN_PARTS(lsn)));
   DBUG_ASSERT(translog_status == TRANSLOG_OK ||
               translog_status == TRANSLOG_READONLY);
@@ -6729,7 +6736,7 @@ my_bool translog_scanner_init(LSN lsn,
   scanner->direct_link= NULL;
 
   scanner->horizon= translog_get_horizon();
-  DBUG_PRINT("info", ("horizon: (%lu,0x%lx)", LSN_IN_PARTS(scanner->horizon)));
+  DBUG_PRINT("info", ("horizon: " LSN_FMT, LSN_IN_PARTS(scanner->horizon)));
 
   /* lsn < horizon */
   DBUG_ASSERT(lsn <= scanner->horizon);
@@ -6777,11 +6784,11 @@ static my_bool translog_scanner_eol(TRANSLOG_SCANNER_DATA *scanner)
 {
   DBUG_ENTER("translog_scanner_eol");
   DBUG_PRINT("enter",
-             ("Horizon: (%lu, 0x%lx)  Current: (%lu, 0x%lx+0x%x=0x%lx)",
+             ("Horizon: " LSN_FMT "  Current: (%u, 0x%x+0x%x=0x%x)",
               LSN_IN_PARTS(scanner->horizon),
               LSN_IN_PARTS(scanner->page_addr),
               (uint) scanner->page_offset,
-              (ulong) (LSN_OFFSET(scanner->page_addr) + scanner->page_offset)));
+              (uint) (LSN_OFFSET(scanner->page_addr) + scanner->page_offset)));
   if (scanner->horizon > (scanner->page_addr +
                           scanner->page_offset))
   {
@@ -6886,7 +6893,7 @@ translog_get_next_chunk(TRANSLOG_SCANNER_DATA *scanner)
     translog_free_link(scanner->direct_link);
     if (translog_scanner_eof(scanner))
     {
-      DBUG_PRINT("info", ("horizon: (%lu,0x%lx)  pageaddr: (%lu,0x%lx)",
+      DBUG_PRINT("info", ("horizon: " LSN_FMT "  pageaddr: " LSN_FMT,
                           LSN_IN_PARTS(scanner->horizon),
                           LSN_IN_PARTS(scanner->page_addr)));
       /* if it is log end it have to be caught before */
@@ -6987,7 +6994,7 @@ translog_variable_length_header(uchar *page, translog_size_t page_offset,
     src+= (2 + 2);
     page_rest= (uint16) (TRANSLOG_PAGE_SIZE - (src - page));
     curr= 0;
-    header_to_skip= src - (page + page_offset);
+    header_to_skip= (uint) (src - (page + page_offset));
     buff->chunk0_pages= 0;
 
     for (;;)
@@ -7005,7 +7012,7 @@ translog_variable_length_header(uchar *page, translog_size_t page_offset,
         DBUG_ASSERT(curr < buff->groups_no);
         buff->groups[curr].addr= lsn_korr(src + i * (7 + 1));
         buff->groups[curr].num= src[i * (7 + 1) + 7];
-        DBUG_PRINT("info", ("group #%u (%lu,0x%lx)  chunks: %u",
+        DBUG_PRINT("info", ("group #%u " LSN_FMT "  chunks: %u",
                             curr,
                             LSN_IN_PARTS(buff->groups[curr].addr),
                             (uint) buff->groups[curr].num));
@@ -7027,7 +7034,7 @@ translog_variable_length_header(uchar *page, translog_size_t page_offset,
           buff->chunk0_data_addr+= (header_to_skip + read_length * (7 + 1));
         }
         buff->chunk0_data_len= chunk_len - 2 - read_length * (7 + 1);
-        DBUG_PRINT("info", ("Data address: (%lu,0x%lx)  len: %u",
+        DBUG_PRINT("info", ("Data address: " LSN_FMT "  len: %u",
                             LSN_IN_PARTS(buff->chunk0_data_addr),
                             buff->chunk0_data_len));
         break;
@@ -7150,7 +7157,7 @@ int translog_read_record_header_from_buffer(uchar *page,
               translog_status == TRANSLOG_READONLY);
   buff->type= (page[page_offset] & TRANSLOG_REC_TYPE);
   buff->short_trid= uint2korr(page + page_offset + 1);
-  DBUG_PRINT("info", ("Type %u, Short TrID %u, LSN (%lu,0x%lx)",
+  DBUG_PRINT("info", ("Type %u, Short TrID %u, LSN " LSN_FMT,
                       (uint) buff->type, (uint)buff->short_trid,
                       LSN_IN_PARTS(buff->lsn)));
   /* Read required bytes from the header and call hook */
@@ -7199,7 +7206,7 @@ int translog_read_record_header(LSN lsn, TRANSLOG_HEADER_BUFFER *buff)
   TRANSLOG_ADDRESS addr;
   TRANSLOG_VALIDATOR_DATA data;
   DBUG_ENTER("translog_read_record_header");
-  DBUG_PRINT("enter", ("LSN: (%lu,0x%lx)", LSN_IN_PARTS(lsn)));
+  DBUG_PRINT("enter", ("LSN: " LSN_FMT, LSN_IN_PARTS(lsn)));
   DBUG_ASSERT(LSN_OFFSET(lsn) % TRANSLOG_PAGE_SIZE != 0);
   DBUG_ASSERT(translog_status == TRANSLOG_OK ||
               translog_status == TRANSLOG_READONLY);
@@ -7244,8 +7251,8 @@ int translog_read_record_header_scan(TRANSLOG_SCANNER_DATA *scanner,
 {
   translog_size_t res;
   DBUG_ENTER("translog_read_record_header_scan");
-  DBUG_PRINT("enter", ("Scanner: Cur: (%lu,0x%lx)  Hrz: (%lu,0x%lx)  "
-                       "Lst: (%lu,0x%lx)  Offset: %u(%x)  fixed %d",
+  DBUG_PRINT("enter", ("Scanner: Cur: " LSN_FMT "  Hrz: " LSN_FMT "  "
+                       "Lst: " LSN_FMT "  Offset: %u(%x)  fixed %d",
                        LSN_IN_PARTS(scanner->page_addr),
                        LSN_IN_PARTS(scanner->horizon),
                        LSN_IN_PARTS(scanner->last_file_page),
@@ -7291,8 +7298,8 @@ int translog_read_next_record_header(TRANSLOG_SCANNER_DATA *scanner,
   DBUG_ENTER("translog_read_next_record_header");
   buff->groups_no= 0;        /* to be sure that we will free it right */
   DBUG_PRINT("enter", ("scanner: 0x%lx", (ulong) scanner));
-  DBUG_PRINT("info", ("Scanner: Cur: (%lu,0x%lx)  Hrz: (%lu,0x%lx)  "
-                      "Lst: (%lu,0x%lx)  Offset: %u(%x)  fixed: %d",
+  DBUG_PRINT("info", ("Scanner: Cur: " LSN_FMT "  Hrz: " LSN_FMT "  "
+                      "Lst: " LSN_FMT "  Offset: %u(%x)  fixed: %d",
                       LSN_IN_PARTS(scanner->page_addr),
                       LSN_IN_PARTS(scanner->horizon),
                       LSN_IN_PARTS(scanner->last_file_page),
@@ -7312,7 +7319,7 @@ int translog_read_next_record_header(TRANSLOG_SCANNER_DATA *scanner,
        buff->lsn= LSN_IMPOSSIBLE;
        DBUG_RETURN(RECHEADER_READ_EOF);
     }
-    DBUG_PRINT("info", ("Page: (%lu,0x%lx)  offset: %lu  byte: %x",
+    DBUG_PRINT("info", ("Page: " LSN_FMT "  offset: %lu  byte: %x",
                         LSN_IN_PARTS(scanner->page_addr),
                         (ulong) scanner->page_offset,
                         (uint) scanner->page[scanner->page_offset]));
@@ -7521,8 +7528,8 @@ translog_size_t translog_read_record(LSN lsn,
       DBUG_RETURN(0);
   }
   DBUG_PRINT("info", ("Offset: %lu  length: %lu  "
-                      "Scanner: Cur: (%lu,0x%lx)  Hrz: (%lu,0x%lx)  "
-                      "Lst: (%lu,0x%lx)  Offset: %u(%x)  fixed: %d",
+                      "Scanner: Cur: " LSN_FMT "  Hrz: " LSN_FMT "  "
+                      "Lst: " LSN_FMT "  Offset: %u(%x)  fixed: %d",
                       (ulong) offset, (ulong) length,
                       LSN_IN_PARTS(data->scanner.page_addr),
                       LSN_IN_PARTS(data->scanner.horizon),
@@ -7611,16 +7618,16 @@ static void translog_force_current_buffer_to_finish()
   uint16 UNINIT_VAR(current_page_fill), write_counter, previous_offset;
   DBUG_ENTER("translog_force_current_buffer_to_finish");
 
-  DBUG_PRINT("enter", ("Buffer #%u 0x%lx  "
-                       "Buffer addr: (%lu,0x%lx)  "
-                       "Page addr: (%lu,0x%lx)  "
+  DBUG_PRINT("enter", ("Buffer #%u %p  "
+                       "Buffer addr: " LSN_FMT "  "
+                       "Page addr: " LSN_FMT "  "
                        "size: %lu (%lu)  Pg: %u  left: %u  in progress %u",
                        (uint) old_buffer_no,
-                       (ulong) old_buffer,
+                       old_buffer,
                        LSN_IN_PARTS(old_buffer->offset),
-                       (ulong) LSN_FILE_NO(log_descriptor.horizon),
-                       (ulong) (LSN_OFFSET(log_descriptor.horizon) -
-                                log_descriptor.bc.current_page_fill),
+                       LSN_FILE_NO(log_descriptor.horizon),
+                       (uint) (LSN_OFFSET(log_descriptor.horizon) -
+                               log_descriptor.bc.current_page_fill),
                        (ulong) old_buffer->size,
                        (ulong) (log_descriptor.bc.ptr -log_descriptor.bc.
                                 buffer->buffer),
@@ -7654,10 +7661,10 @@ static void translog_force_current_buffer_to_finish()
 
     memset(log_descriptor.bc.ptr, TRANSLOG_FILLER, left);
     old_buffer->size+= left;
-    DBUG_PRINT("info", ("Finish Page buffer #%u: 0x%lx  "
+    DBUG_PRINT("info", ("Finish Page buffer #%u: %p  "
                         "Size: %lu",
                         (uint) old_buffer->buffer_no,
-                        (ulong) old_buffer,
+                        old_buffer,
                         (ulong) old_buffer->size));
     DBUG_ASSERT(old_buffer->buffer_no ==
                 log_descriptor.bc.buffer_no);
@@ -7691,9 +7698,9 @@ static void translog_force_current_buffer_to_finish()
   log_descriptor.bc.write_counter= write_counter;
   log_descriptor.bc.previous_offset= previous_offset;
   new_buffer->prev_last_lsn= BUFFER_MAX_LSN(old_buffer);
-  DBUG_PRINT("info", ("prev_last_lsn set to (%lu,0x%lx)  buffer: 0x%lx",
+  DBUG_PRINT("info", ("prev_last_lsn set to " LSN_FMT "  buffer: %p",
                       LSN_IN_PARTS(new_buffer->prev_last_lsn),
-                      (ulong) new_buffer));
+                      new_buffer));
 
   /*
     Advances this log pointer, increases writers and let other threads to
@@ -7729,8 +7736,8 @@ static void translog_force_current_buffer_to_finish()
     */
     DBUG_ASSERT(!old_buffer->is_closing_buffer);
     old_buffer->is_closing_buffer= 1; /* Other flushes will wait */
-    DBUG_PRINT("enter", ("Buffer #%u 0x%lx  is_closing_buffer set",
-                         (uint) old_buffer->buffer_no, (ulong) old_buffer));
+    DBUG_PRINT("enter", ("Buffer #%u %p is_closing_buffer set",
+                         (uint) old_buffer->buffer_no, old_buffer));
     translog_wait_for_writers(old_buffer);
 #ifndef DBUG_OFF
     /* We blocked flushing this buffer so the buffer should not changed */
@@ -7760,12 +7767,12 @@ static void translog_force_current_buffer_to_finish()
     uint32 crc= translog_crc(data + log_descriptor.page_overhead,
                              TRANSLOG_PAGE_SIZE -
                              log_descriptor.page_overhead);
-    DBUG_PRINT("info", ("CRC: 0x%lx", (ulong) crc));
+    DBUG_PRINT("info", ("CRC: 0x%x", crc));
     int4store(data + 3 + 3 + 1, crc);
   }
   old_buffer->is_closing_buffer= 0;
-  DBUG_PRINT("enter", ("Buffer #%u 0x%lx  is_closing_buffer cleared",
-                       (uint) old_buffer->buffer_no, (ulong) old_buffer));
+  DBUG_PRINT("enter", ("Buffer #%u %p  is_closing_buffer cleared",
+                       (uint) old_buffer->buffer_no, old_buffer));
   mysql_cond_broadcast(&old_buffer->waiting_filling_buffer);
 
   if (left)
@@ -7804,7 +7811,7 @@ static void translog_force_current_buffer_to_finish()
 void  translog_flush_wait_for_end(LSN lsn)
 {
   DBUG_ENTER("translog_flush_wait_for_end");
-  DBUG_PRINT("enter", ("LSN: (%lu,0x%lx)", LSN_IN_PARTS(lsn)));
+  DBUG_PRINT("enter", ("LSN: " LSN_FMT, LSN_IN_PARTS(lsn)));
   mysql_mutex_assert_owner(&log_descriptor.log_flush_lock);
   while (cmp_translog_addr(log_descriptor.flushed, lsn) < 0)
     mysql_cond_wait(&log_descriptor.log_flush_cond,
@@ -7824,7 +7831,7 @@ void translog_flush_set_new_goal_and_wait(TRANSLOG_ADDRESS lsn)
 {
   int flush_no= log_descriptor.flush_no;
   DBUG_ENTER("translog_flush_set_new_goal_and_wait");
-  DBUG_PRINT("enter", ("LSN: (%lu,0x%lx)", LSN_IN_PARTS(lsn)));
+  DBUG_PRINT("enter", ("LSN: " LSN_FMT, LSN_IN_PARTS(lsn)));
   mysql_mutex_assert_owner(&log_descriptor.log_flush_lock);
   if (cmp_translog_addr(lsn, log_descriptor.next_pass_max_lsn) > 0)
   {
@@ -7930,7 +7937,7 @@ void translog_flush_buffers(TRANSLOG_ADDRESS *lsn,
   start_buffer_no= i;
 
   DBUG_PRINT("info",
-             ("start from: %u  current: %u  prev last lsn: (%lu,0x%lx)",
+             ("start from: %u  current: %u  prev last lsn: " LSN_FMT,
               (uint) start_buffer_no, (uint) log_descriptor.bc.buffer_no,
               LSN_IN_PARTS(log_descriptor.bc.buffer->prev_last_lsn)));
 
@@ -7944,7 +7951,7 @@ void translog_flush_buffers(TRANSLOG_ADDRESS *lsn,
   {
     struct st_translog_buffer *buffer= log_descriptor.bc.buffer;
     *lsn= log_descriptor.bc.buffer->last_lsn; /* fix lsn if it was horizon */
-    DBUG_PRINT("info", ("LSN to flush fixed to last lsn: (%lu,0x%lx)",
+    DBUG_PRINT("info", ("LSN to flush fixed to last lsn: " LSN_FMT,
                         LSN_IN_PARTS(*lsn)));
     last_buffer_no= log_descriptor.bc.buffer_no;
     log_descriptor.is_everything_flushed= 1;
@@ -7971,7 +7978,7 @@ void translog_flush_buffers(TRANSLOG_ADDRESS *lsn,
     DBUG_ASSERT(log_descriptor.bc.buffer->prev_last_lsn != LSN_IMPOSSIBLE);
     /* fix lsn if it was horizon */
     *lsn= log_descriptor.bc.buffer->prev_last_lsn;
-    DBUG_PRINT("info", ("LSN to flush fixed to prev last lsn: (%lu,0x%lx)",
+    DBUG_PRINT("info", ("LSN to flush fixed to prev last lsn: " LSN_FMT,
                LSN_IN_PARTS(*lsn)));
     last_buffer_no= ((log_descriptor.bc.buffer_no + TRANSLOG_BUFFERS_NO -1) %
                      TRANSLOG_BUFFERS_NO);
@@ -7990,10 +7997,10 @@ void translog_flush_buffers(TRANSLOG_ADDRESS *lsn,
     {
       struct st_translog_buffer *buffer= log_descriptor.buffers + i;
       translog_buffer_lock(buffer);
-      DBUG_PRINT("info", ("Check buffer: 0x%lx  #: %u  "
-                          "prev last LSN: (%lu,0x%lx)  "
-                          "last LSN: (%lu,0x%lx)  status: %s",
-                          (ulong)(buffer),
+      DBUG_PRINT("info", ("Check buffer: %p  #: %u  "
+                          "prev last LSN: " LSN_FMT "  "
+                          "last LSN: " LSN_FMT "  status: %s",
+                          buffer,
                           (uint) i,
                           LSN_IN_PARTS(buffer->prev_last_lsn),
                           LSN_IN_PARTS(buffer->last_lsn),
@@ -8007,7 +8014,7 @@ void translog_flush_buffers(TRANSLOG_ADDRESS *lsn,
                          buffer->pre_force_close_horizon :
                          buffer->offset + buffer->size);
         /* pre_force_close_horizon is reset during new buffer start */
-        DBUG_PRINT("info", ("flush_horizon: (%lu,0x%lx)",
+        DBUG_PRINT("info", ("flush_horizon: " LSN_FMT,
                             LSN_IN_PARTS(*flush_horizon)));
         DBUG_ASSERT(*flush_horizon <= log_descriptor.horizon);
 
@@ -8076,12 +8083,12 @@ my_bool translog_flush(TRANSLOG_ADDRESS lsn)
   my_bool rc= 0;
   my_bool hgroup_commit_at_start;
   DBUG_ENTER("translog_flush");
-  DBUG_PRINT("enter", ("Flush up to LSN: (%lu,0x%lx)", LSN_IN_PARTS(lsn)));
+  DBUG_PRINT("enter", ("Flush up to LSN: " LSN_FMT, LSN_IN_PARTS(lsn)));
   DBUG_ASSERT(translog_status == TRANSLOG_OK ||
               translog_status == TRANSLOG_READONLY);
 
   mysql_mutex_lock(&log_descriptor.log_flush_lock);
-  DBUG_PRINT("info", ("Everything is flushed up to (%lu,0x%lx)",
+  DBUG_PRINT("info", ("Everything is flushed up to " LSN_FMT,
                       LSN_IN_PARTS(log_descriptor.flushed)));
   if (cmp_translog_addr(log_descriptor.flushed, lsn) >= 0)
   {
@@ -8110,7 +8117,7 @@ my_bool translog_flush(TRANSLOG_ADDRESS lsn)
   }
   log_descriptor.flush_in_progress= 1;
   flush_horizon= log_descriptor.previous_flush_horizon;
-  DBUG_PRINT("info", ("flush_in_progress is set, flush_horizon: (%lu,0x%lx)",
+  DBUG_PRINT("info", ("flush_in_progress is set, flush_horizon: " LSN_FMT,
                       LSN_IN_PARTS(flush_horizon)));
   mysql_mutex_unlock(&log_descriptor.log_flush_lock);
 
@@ -8173,7 +8180,7 @@ my_bool translog_flush(TRANSLOG_ADDRESS lsn)
     log_descriptor.next_pass_max_lsn= LSN_IMPOSSIBLE;
     /* prevent other thread from continue */
     log_descriptor.max_lsn_requester= pthread_self();
-    DBUG_PRINT("info", ("flush took next goal: (%lu,0x%lx)",
+    DBUG_PRINT("info", ("flush took next goal: " LSN_FMT,
                         LSN_IN_PARTS(lsn)));
     mysql_mutex_unlock(&log_descriptor.log_flush_lock);
 
@@ -8530,7 +8537,7 @@ LSN translog_first_lsn_in_log()
   uint16 chunk_offset;
   uchar *page;
   DBUG_ENTER("translog_first_lsn_in_log");
-  DBUG_PRINT("info", ("Horizon: (%lu,0x%lx)", LSN_IN_PARTS(horizon)));
+  DBUG_PRINT("info", ("Horizon: " LSN_FMT, LSN_IN_PARTS(horizon)));
   DBUG_ASSERT(translog_status == TRANSLOG_OK ||
               translog_status == TRANSLOG_READONLY);
 
@@ -8569,7 +8576,7 @@ LSN translog_first_theoretical_lsn()
   uchar *page;
   TRANSLOG_VALIDATOR_DATA data;
   DBUG_ENTER("translog_first_theoretical_lsn");
-  DBUG_PRINT("info", ("Horizon: (%lu,0x%lx)", LSN_IN_PARTS(addr)));
+  DBUG_PRINT("info", ("Horizon: " LSN_FMT, LSN_IN_PARTS(addr)));
   DBUG_ASSERT(translog_status == TRANSLOG_OK ||
               translog_status == TRANSLOG_READONLY);
 
@@ -8609,7 +8616,7 @@ my_bool translog_purge(TRANSLOG_ADDRESS low)
   TRANSLOG_ADDRESS horizon= translog_get_horizon();
   int rc= 0;
   DBUG_ENTER("translog_purge");
-  DBUG_PRINT("enter", ("low: (%lu,0x%lx)", LSN_IN_PARTS(low)));
+  DBUG_PRINT("enter", ("low: " LSN_FMT, LSN_IN_PARTS(low)));
   DBUG_ASSERT(translog_status == TRANSLOG_OK ||
               translog_status == TRANSLOG_READONLY);
 
@@ -9034,7 +9041,7 @@ static void dump_header_page(uchar *buff)
     printf("      WARNING: page size is not equal compiled in one %lu!!!\n",
            (ulong) TRANSLOG_PAGE_SIZE);
   printf("    File number %lu\n"
-         "    Max lsn: (%lu,0x%lx)\n",
+         "    Max lsn: " LSN_FMT "\n",
          desc.file_number,
          LSN_IN_PARTS(desc.max_lsn));
 }
@@ -9130,7 +9137,7 @@ static uchar *dump_chunk(uchar *buffer, uchar *ptr)
         {
           TRANSLOG_ADDRESS gpr_addr= lsn_korr(hdr_ptr);
           uint pages= hdr_ptr[LSN_STORE_SIZE];
-          printf ("        Group +#%u: (%lu,0x%lx)  pages: %u\n",
+          printf ("        Group +#%u: " LSN_FMT "  pages: %u\n",
                   (uint) i, LSN_IN_PARTS(gpr_addr), pages);
         }
       }
@@ -9264,8 +9271,8 @@ static void dump_datapage(uchar *buffer, File handler)
   ptr= buffer + header_len;
   while (ptr && ptr < buffer + TRANSLOG_PAGE_SIZE)
   {
-    printf("  Chunk (%lu,0x%lx):\n",
-           (ulong)file, (ulong) offset + (ptr - buffer));
+    printf("  Chunk %d %lld:\n",
+           file,((longlong) (ptr - buffer)+ offset));
     ptr= dump_chunk(buffer, ptr);
   }
 }
diff --git a/storage/maria/ma_loghandler.h b/storage/maria/ma_loghandler.h
index 93582b41b..62efa5ed1 100644
--- a/storage/maria/ma_loghandler.h
+++ b/storage/maria/ma_loghandler.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _ma_loghandler_h
 #define _ma_loghandler_h
diff --git a/storage/maria/ma_loghandler_lsn.h b/storage/maria/ma_loghandler_lsn.h
index 69481761e..c99f0d0af 100644
--- a/storage/maria/ma_loghandler_lsn.h
+++ b/storage/maria/ma_loghandler_lsn.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _ma_loghandler_lsn_h
 #define _ma_loghandler_lsn_h
@@ -47,7 +47,8 @@ typedef TRANSLOG_ADDRESS LSN;
 #define LSN_FILE_NO_PART(L) ((L) & ((int64)0xFFFFFF00000000LL))
 
 /* Parts of LSN for printing */
-#define LSN_IN_PARTS(L) (ulong)LSN_FILE_NO(L),(ulong)LSN_OFFSET(L)
+#define LSN_IN_PARTS(L) (uint)LSN_FILE_NO(L),(uint)LSN_OFFSET(L)
+#define LSN_FMT "(%u,0x%x)"
 
 /* Gets record offset of a LSN/log address */
 #define LSN_OFFSET(L) (ulong) ((L) & 0xFFFFFFFFL)
diff --git a/storage/maria/ma_norec.c b/storage/maria/ma_norec.c
index f490ab333..7bdde9fcc 100644
--- a/storage/maria/ma_norec.c
+++ b/storage/maria/ma_norec.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Functions to handle tables with no row data (only index)
diff --git a/storage/maria/ma_open.c b/storage/maria/ma_open.c
index 598f76a64..0c4e4f900 100644
--- a/storage/maria/ma_open.c
+++ b/storage/maria/ma_open.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* open an Aria table */
 
@@ -1378,7 +1378,7 @@ uint _ma_state_info_write(MARIA_SHARE *share, uint pWrite)
       is too new). Recovery does it by itself.
     */
     share->state.is_of_horizon= translog_get_horizon();
-    DBUG_PRINT("info", ("is_of_horizon set to LSN (%lu,0x%lx)",
+    DBUG_PRINT("info", ("is_of_horizon set to LSN " LSN_FMT "",
                         LSN_IN_PARTS(share->state.is_of_horizon)));
   }
   res= _ma_state_info_write_sub(share->kfile.file, &share->state, pWrite);
diff --git a/storage/maria/ma_packrec.c b/storage/maria/ma_packrec.c
index 861023a00..27c5538e5 100644
--- a/storage/maria/ma_packrec.c
+++ b/storage/maria/ma_packrec.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 	/* Functions to compressed records */
 
diff --git a/storage/maria/ma_page.c b/storage/maria/ma_page.c
index 2f77f6f87..7067421b5 100644
--- a/storage/maria/ma_page.c
+++ b/storage/maria/ma_page.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Read and write key blocks
diff --git a/storage/maria/ma_pagecache.c b/storage/maria/ma_pagecache.c
index d385104fc..4ae2821d5 100644
--- a/storage/maria/ma_pagecache.c
+++ b/storage/maria/ma_pagecache.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   These functions handle page caching for Maria tables.
@@ -2793,7 +2793,7 @@ static void check_and_set_lsn(PAGECACHE *pagecache,
   */
   DBUG_ASSERT((block->type == PAGECACHE_LSN_PAGE) || maria_in_recovery);
   old= lsn_korr(block->buffer);
-  DBUG_PRINT("info", ("old lsn: (%lu, 0x%lx)  new lsn: (%lu, 0x%lx)",
+  DBUG_PRINT("info", ("old lsn: " LSN_FMT "  new lsn: " LSN_FMT,
                       LSN_IN_PARTS(old), LSN_IN_PARTS(lsn)));
   if (cmp_translog_addr(lsn, old) > 0)
   {
diff --git a/storage/maria/ma_pagecache.h b/storage/maria/ma_pagecache.h
index 1183f9d57..1fb677995 100644
--- a/storage/maria/ma_pagecache.h
+++ b/storage/maria/ma_pagecache.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Page cache variable structures */
 
diff --git a/storage/maria/ma_pagecaches.c b/storage/maria/ma_pagecaches.c
index 3c4ca6fd7..fd5cd2092 100644
--- a/storage/maria/ma_pagecaches.c
+++ b/storage/maria/ma_pagecaches.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Handling of multiple key caches
diff --git a/storage/maria/ma_pagecrc.c b/storage/maria/ma_pagecrc.c
index 838913cc3..b0c02e609 100644
--- a/storage/maria/ma_pagecrc.c
+++ b/storage/maria/ma_pagecrc.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 
diff --git a/storage/maria/ma_panic.c b/storage/maria/ma_panic.c
index bf31132ef..58beec9ef 100644
--- a/storage/maria/ma_panic.c
+++ b/storage/maria/ma_panic.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "ma_fulltext.h"
 
diff --git a/storage/maria/ma_preload.c b/storage/maria/ma_preload.c
index 759f88a84..eefc9777b 100644
--- a/storage/maria/ma_preload.c
+++ b/storage/maria/ma_preload.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Preload indexes into key cache
diff --git a/storage/maria/ma_range.c b/storage/maria/ma_range.c
index 1be38b932..512d827c4 100644
--- a/storage/maria/ma_range.c
+++ b/storage/maria/ma_range.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Gives a approximated number of how many records there is between two keys.
diff --git a/storage/maria/ma_recovery.c b/storage/maria/ma_recovery.c
index f023dde78..9d3950d58 100644
--- a/storage/maria/ma_recovery.c
+++ b/storage/maria/ma_recovery.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   WL#3072 Maria recovery
@@ -531,8 +531,6 @@ int maria_apply_log(LSN from_lsn, LSN end_lsn,
 
   if (error && !abort_message_printed)
   {
-    if (!trace_file)
-      fputc('\n', stderr);
     my_message(HA_ERR_INITIALIZATION,
                "Aria recovery failed. Please run aria_chk -r on all Aria "
                "tables and delete all aria_log.######## files", MYF(0));
@@ -558,7 +556,7 @@ static void display_record_position(const LOG_DESC *log_desc,
     form a group, so we indent below the group's end record
   */
   tprint(tracef,
-         "%sRec#%u LSN (%lu,0x%lx) short_trid %u %s(num_type:%u) len %lu\n",
+         "%sRec#%u LSN " LSN_FMT " short_trid %u %s(num_type:%u) len %lu\n",
          number ? "" : "   ", number, LSN_IN_PARTS(rec->lsn),
          rec->short_trid, log_desc->name, rec->type,
          (ulong)rec->record_length);
@@ -617,7 +615,7 @@ prototype_redo_exec_hook(LONG_TRANSACTION_ID)
       llstr(long_trid, llbuf);
       eprint(tracef, "Found an old transaction long_trid %s short_trid %u"
              " with same short id as this new transaction, and has neither"
-             " committed nor rollback (undo_lsn: (%lu,0x%lx))",
+             " committed nor rollback (undo_lsn: " LSN_FMT ")",
              llbuf, sid, LSN_IN_PARTS(ulsn));
       goto err;
     }
@@ -640,7 +638,7 @@ static void new_transaction(uint16 sid, TrID long_id, LSN undo_lsn,
   all_active_trans[sid].long_trid= long_id;
   llstr(long_id, llbuf);
   tprint(tracef, "Transaction long_trid %s short_trid %u starts,"
-         " undo_lsn (%lu,0x%lx) first_undo_lsn (%lu,0x%lx)\n",
+         " undo_lsn " LSN_FMT " first_undo_lsn " LSN_FMT "\n",
          llbuf, sid, LSN_IN_PARTS(undo_lsn), LSN_IN_PARTS(first_undo_lsn));
   all_active_trans[sid].undo_lsn= undo_lsn;
   all_active_trans[sid].first_undo_lsn= first_undo_lsn;
@@ -667,13 +665,16 @@ prototype_redo_exec_hook(INCOMPLETE_LOG)
 {
   MARIA_HA *info;
 
+  /* We try to get table first, so that we get the table in in the trace log */
+  info= get_MARIA_HA_from_REDO_record(rec);
+
   if (skip_DDLs)
   {
     tprint(tracef, "we skip DDLs\n");
     return 0;
   }
 
-  if ((info= get_MARIA_HA_from_REDO_record(rec)) == NULL)
+  if (!info)
   {
     /* no such table, don't need to warn */
     return 0;
@@ -833,7 +834,7 @@ prototype_redo_exec_hook(REDO_CREATE_TABLE)
     }
     if (cmp_translog_addr(share->state.create_rename_lsn, rec->lsn) >= 0)
     {
-      tprint(tracef, "Table '%s' has create_rename_lsn (%lu,0x%lx) more "
+      tprint(tracef, "Table '%s' has create_rename_lsn " LSN_FMT " more "
              "recent than record, ignoring creation",
              name, LSN_IN_PARTS(share->state.create_rename_lsn));
       error= 0;
@@ -1009,7 +1010,7 @@ prototype_redo_exec_hook(REDO_RENAME_TABLE)
     }
     if (cmp_translog_addr(share->state.create_rename_lsn, rec->lsn) >= 0)
     {
-      tprint(tracef, ", has create_rename_lsn (%lu,0x%lx) more recent than"
+      tprint(tracef, ", has create_rename_lsn " LSN_FMT " more recent than"
              " record, ignoring renaming",
              LSN_IN_PARTS(share->state.create_rename_lsn));
       error= 0;
@@ -1064,7 +1065,7 @@ prototype_redo_exec_hook(REDO_RENAME_TABLE)
     }
     if (cmp_translog_addr(share->state.create_rename_lsn, rec->lsn) >= 0)
     {
-      tprint(tracef, ", has create_rename_lsn (%lu,0x%lx) more recent than"
+      tprint(tracef, ", has create_rename_lsn " LSN_FMT " more recent than"
              " record, ignoring renaming",
              LSN_IN_PARTS(share->state.create_rename_lsn));
       /*
@@ -1144,6 +1145,9 @@ prototype_redo_exec_hook(REDO_REPAIR_TABLE)
   my_bool quick_repair;
   DBUG_ENTER("exec_REDO_LOGREC_REDO_REPAIR_TABLE");
 
+  /* We try to get table first, so that we get the table in in the trace log */
+  info= get_MARIA_HA_from_REDO_record(rec);
+
   if (skip_DDLs)
   {
     /*
@@ -1153,8 +1157,13 @@ prototype_redo_exec_hook(REDO_REPAIR_TABLE)
     tprint(tracef, "we skip DDLs\n");
     DBUG_RETURN(0);
   }
-  if ((info= get_MARIA_HA_from_REDO_record(rec)) == NULL)
-    DBUG_RETURN(0);
+
+  if (!info)
+  {
+    /* no such table, don't need to warn */
+    return 0;
+  }
+
   if (maria_is_crashed(info))
   {
     tprint(tracef, "we skip repairing crashed table\n");
@@ -1233,7 +1242,7 @@ prototype_redo_exec_hook(REDO_DROP_TABLE)
     }
     if (cmp_translog_addr(share->state.create_rename_lsn, rec->lsn) >= 0)
     {
-      tprint(tracef, ", has create_rename_lsn (%lu,0x%lx) more recent than"
+      tprint(tracef, ", has create_rename_lsn " LSN_FMT " more recent than"
              " record, ignoring removal",
              LSN_IN_PARTS(share->state.create_rename_lsn));
       error= 0;
@@ -1403,8 +1412,8 @@ static int new_table(uint16 sid, const char *name, LSN lsn_of_file_id)
   }
   if (cmp_translog_addr(lsn_of_file_id, share->state.create_rename_lsn) <= 0)
   {
-    tprint(tracef, ", has create_rename_lsn (%lu,0x%lx) more recent than"
-           " LOGREC_FILE_ID's LSN (%lu,0x%lx), ignoring open request",
+    tprint(tracef, ", has create_rename_lsn " LSN_FMT " more recent than"
+           " LOGREC_FILE_ID's LSN " LSN_FMT ", ignoring open request",
            LSN_IN_PARTS(share->state.create_rename_lsn),
            LSN_IN_PARTS(lsn_of_file_id));
     recovery_warnings++;
@@ -1443,17 +1452,21 @@ static int new_table(uint16 sid, const char *name, LSN lsn_of_file_id)
   }
   if (share->state.state.data_file_length != dfile_len)
   {
-    tprint(tracef, ", has wrong state.data_file_length (fixing it)");
+    tprint(tracef, ", has wrong state.data_file_length "
+           "(fixing it from %llu to %llu)",
+           (ulonglong) share->state.state.data_file_length, (ulonglong) dfile_len);
     share->state.state.data_file_length= dfile_len;
   }
   if (share->state.state.key_file_length != kfile_len)
   {
-    tprint(tracef, ", has wrong state.key_file_length (fixing it)");
+    tprint(tracef, ", has wrong state.key_file_length "
+           "(fixing it from %llu to %llu)",
+           (ulonglong) share->state.state.key_file_length, (ulonglong) kfile_len);
     share->state.state.key_file_length= kfile_len;
   }
   if ((dfile_len % share->block_size) || (kfile_len % share->block_size))
   {
-    tprint(tracef, ", has too short last page\n");
+    tprint(tracef, ", has too short last page");
     /* Recovery will fix this, no error */
     ALERT_USER();
   }
@@ -1873,7 +1886,7 @@ prototype_redo_exec_hook(UNDO_ROW_INSERT)
   share= info->s;
   if (cmp_translog_addr(rec->lsn, share->state.is_of_horizon) >= 0)
   {
-    tprint(tracef, "   state has LSN (%lu,0x%lx) older than record, updating"
+    tprint(tracef, "   state has LSN " LSN_FMT " older than record, updating"
            " rows' count\n", LSN_IN_PARTS(share->state.is_of_horizon));
     share->state.state.records++;
     if (share->calc_checksum)
@@ -2136,7 +2149,7 @@ prototype_redo_exec_hook(CLR_END)
   if (info == NULL)
     DBUG_RETURN(0);
   share= info->s;
-  tprint(tracef, "   CLR_END was about %s, undo_lsn now LSN (%lu,0x%lx)\n",
+  tprint(tracef, "   CLR_END was about %s, undo_lsn now LSN " LSN_FMT "\n",
          log_desc->name, LSN_IN_PARTS(previous_undo_lsn));
 
   enlarge_buffer(rec);
@@ -2296,7 +2309,7 @@ prototype_undo_exec_hook(UNDO_ROW_INSERT)
   info->trn= 0;
   /* trn->undo_lsn is updated in an inwrite_hook when writing the CLR_END */
   tprint(tracef, "   rows' count %lu\n", (ulong)info->s->state.state.records);
-  tprint(tracef, "   undo_lsn now LSN (%lu,0x%lx)\n",
+  tprint(tracef, "   undo_lsn now LSN " LSN_FMT "\n",
          LSN_IN_PARTS(trn->undo_lsn));
   return error;
 }
@@ -2335,7 +2348,7 @@ prototype_undo_exec_hook(UNDO_ROW_DELETE)
                                    rec->record_length -
                                    (LSN_STORE_SIZE + FILEID_STORE_SIZE));
   info->trn= 0;
-  tprint(tracef, "   rows' count %lu\n   undo_lsn now LSN (%lu,0x%lx)\n",
+  tprint(tracef, "   rows' count %lu\n   undo_lsn now LSN " LSN_FMT "\n",
          (ulong)share->state.state.records, LSN_IN_PARTS(trn->undo_lsn));
   return error;
 }
@@ -2374,7 +2387,7 @@ prototype_undo_exec_hook(UNDO_ROW_UPDATE)
                                    rec->record_length -
                                    (LSN_STORE_SIZE + FILEID_STORE_SIZE));
   info->trn= 0;
-  tprint(tracef, "   undo_lsn now LSN (%lu,0x%lx)\n",
+  tprint(tracef, "   undo_lsn now LSN " LSN_FMT "\n",
          LSN_IN_PARTS(trn->undo_lsn));
   return error;
 }
@@ -2415,7 +2428,7 @@ prototype_undo_exec_hook(UNDO_KEY_INSERT)
                                    FILEID_STORE_SIZE);
   info->trn= 0;
   /* trn->undo_lsn is updated in an inwrite_hook when writing the CLR_END */
-  tprint(tracef, "   undo_lsn now LSN (%lu,0x%lx)\n",
+  tprint(tracef, "   undo_lsn now LSN " LSN_FMT "\n",
          LSN_IN_PARTS(trn->undo_lsn));
   return error;
 }
@@ -2456,7 +2469,7 @@ prototype_undo_exec_hook(UNDO_KEY_DELETE)
                                    FILEID_STORE_SIZE, FALSE);
   info->trn= 0;
   /* trn->undo_lsn is updated in an inwrite_hook when writing the CLR_END */
-  tprint(tracef, "   undo_lsn now LSN (%lu,0x%lx)\n",
+  tprint(tracef, "   undo_lsn now LSN " LSN_FMT "\n",
          LSN_IN_PARTS(trn->undo_lsn));
   return error;
 }
@@ -2497,7 +2510,7 @@ prototype_undo_exec_hook(UNDO_KEY_DELETE_WITH_ROOT)
                                    FILEID_STORE_SIZE, TRUE);
   info->trn= 0;
   /* trn->undo_lsn is updated in an inwrite_hook when writing the CLR_END */
-  tprint(tracef, "   undo_lsn now LSN (%lu,0x%lx)\n",
+  tprint(tracef, "   undo_lsn now LSN " LSN_FMT "\n",
          LSN_IN_PARTS(trn->undo_lsn));
   return error;
 }
@@ -2525,7 +2538,7 @@ prototype_undo_exec_hook(UNDO_BULK_INSERT)
   error= _ma_apply_undo_bulk_insert(info, previous_undo_lsn);
   info->trn= 0;
   /* trn->undo_lsn is updated in an inwrite_hook when writing the CLR_END */
-  tprint(tracef, "   undo_lsn now LSN (%lu,0x%lx)\n",
+  tprint(tracef, "   undo_lsn now LSN " LSN_FMT "\n",
          LSN_IN_PARTS(trn->undo_lsn));
   return error;
 }
@@ -2663,7 +2676,7 @@ static int run_redo_phase(LSN lsn, LSN lsn_end, enum maria_apply_log_way apply)
           if (lsn_end != LSN_IMPOSSIBLE && rec2.lsn >= lsn_end)
           {
             tprint(tracef,
-                   "lsn_end reached at (%lu,0x%lx). "
+                   "lsn_end reached at " LSN_FMT ". "
                    "Skipping rest of redo entries",
                    LSN_IN_PARTS(rec2.lsn));
             translog_destroy_scanner(&scanner);
@@ -2764,7 +2777,7 @@ static int run_redo_phase(LSN lsn, LSN lsn_end, enum maria_apply_log_way apply)
   {
     fprintf(stderr, " 100%%");
     fflush(stderr);
-    procent_printed= 1;
+    procent_printed= 1;                         /* Will be follwed by time */
   }
   DBUG_RETURN(0);
 
@@ -2818,7 +2831,7 @@ static uint end_of_redo_phase(my_bool prepare_for_undo_phase)
     TRN *trn;
     if (gslsn != LSN_IMPOSSIBLE)
     {
-      tprint(tracef, "Group at LSN (%lu,0x%lx) short_trid %u incomplete\n",
+      tprint(tracef, "Group at LSN " LSN_FMT " short_trid %u incomplete\n",
              LSN_IN_PARTS(gslsn), sid);
       all_active_trans[sid].group_start_lsn= LSN_IMPOSSIBLE;
     }
@@ -2914,7 +2927,6 @@ static int run_undo_phase(uint uncommitted)
       recovery_message_printed= REC_MSG_UNDO;
     }
     tprint(tracef, "%u transactions will be rolled back\n", uncommitted);
-    procent_printed= 1;
     for( ; ; )
     {
       char llbuf[22];
@@ -2967,7 +2979,6 @@ static int run_undo_phase(uint uncommitted)
       /* In the future, we want to have this phase *online* */
     }
   }
-  procent_printed= 0;
   DBUG_RETURN(0);
 }
 
@@ -3109,7 +3120,7 @@ static MARIA_HA *get_MARIA_HA_from_REDO_record(const
       table was).
     */
     DBUG_ASSERT(cmp_translog_addr(rec->lsn, checkpoint_start) < 0);
-    tprint(tracef, ", table's LOGREC_FILE_ID has LSN (%lu,0x%lx) more recent"
+    tprint(tracef, ", table's LOGREC_FILE_ID has LSN " LSN_FMT " more recent"
            " than record, skipping record",
            LSN_IN_PARTS(share->lsn_of_file_id));
     return NULL;
@@ -3117,7 +3128,7 @@ static MARIA_HA *get_MARIA_HA_from_REDO_record(const
   if (cmp_translog_addr(rec->lsn, share->state.skip_redo_lsn) <= 0)
   {
     /* probably a bulk insert repair */
-    tprint(tracef, ", has skip_redo_lsn (%lu,0x%lx) more recent than"
+    tprint(tracef, ", has skip_redo_lsn " LSN_FMT " more recent than"
            " record, skipping record\n",
            LSN_IN_PARTS(share->state.skip_redo_lsn));
     return NULL;
@@ -3176,7 +3187,7 @@ static MARIA_HA *get_MARIA_HA_from_UNDO_record(const
 
   if (cmp_translog_addr(rec->lsn, share->lsn_of_file_id) <= 0)
   {
-    tprint(tracef, ", table's LOGREC_FILE_ID has LSN (%lu,0x%lx) more recent"
+    tprint(tracef, ", table's LOGREC_FILE_ID has LSN " LSN_FMT " more recent"
            " than record, skipping record",
            LSN_IN_PARTS(share->lsn_of_file_id));
     return NULL;
@@ -3185,7 +3196,7 @@ static MARIA_HA *get_MARIA_HA_from_UNDO_record(const
       cmp_translog_addr(rec->lsn, share->state.skip_redo_lsn) <= 0)
   {
     /* probably a bulk insert repair */
-    tprint(tracef, ", has skip_redo_lsn (%lu,0x%lx) more recent than"
+    tprint(tracef, ", has skip_redo_lsn " LSN_FMT " more recent than"
            " record, skipping record\n",
            LSN_IN_PARTS(share->state.skip_redo_lsn));
     return NULL;
@@ -3220,12 +3231,12 @@ static LSN parse_checkpoint_record(LSN lsn)
   LSN minimum_rec_lsn_of_active_transactions, minimum_rec_lsn_of_dirty_pages;
   struct st_dirty_page *next_dirty_page_in_pool;
 
-  tprint(tracef, "Loading data from checkpoint record at LSN (%lu,0x%lx)\n",
+  tprint(tracef, "Loading data from checkpoint record at LSN " LSN_FMT "\n",
          LSN_IN_PARTS(lsn));
   if ((len= translog_read_record_header(lsn, &rec)) == RECHEADER_READ_ERROR ||
       rec.type != LOGREC_CHECKPOINT)
   {
-    eprint(tracef, "Cannot find checkpoint record at LSN (%lu,0x%lx)",
+    eprint(tracef, "Cannot find checkpoint record at LSN " LSN_FMT "",
            LSN_IN_PARTS(lsn));
     return LSN_ERROR;
   }
@@ -3243,7 +3254,7 @@ static LSN parse_checkpoint_record(LSN lsn)
   ptr= log_record_buffer.str;
   start_address= lsn_korr(ptr);
   ptr+= LSN_STORE_SIZE;
-  tprint(tracef, "Checkpoint record has start_horizon at (%lu,0x%lx)\n",
+  tprint(tracef, "Checkpoint record has start_horizon at " LSN_FMT "\n",
          LSN_IN_PARTS(start_address));
 
   /* transactions */
@@ -3261,7 +3272,7 @@ static LSN parse_checkpoint_record(LSN lsn)
     takes to write one or a few rows, roughly).
   */
   tprint(tracef, "Checkpoint record has min_rec_lsn of active transactions"
-         " at (%lu,0x%lx)\n",
+         " at " LSN_FMT "\n",
          LSN_IN_PARTS(minimum_rec_lsn_of_active_transactions));
   set_if_smaller(start_address, minimum_rec_lsn_of_active_transactions);
 
@@ -3349,7 +3360,7 @@ static LSN parse_checkpoint_record(LSN lsn)
                  page_id, rec_lsn, next_dirty_page_in_pool++))
       return LSN_ERROR;
     if (maria_recovery_verbose)
-      tprint(tracef, "%8u  %8u  %12lu    %lu,0x%lx\n", (uint) table_id,
+      tprint(tracef, "%8u  %8u  %12lu    " LSN_FMT "\n", (uint) table_id,
              (uint) is_index, (ulong) page_id, LSN_IN_PARTS(rec_lsn));
     set_if_smaller(minimum_rec_lsn_of_dirty_pages, rec_lsn);
   }
@@ -3372,7 +3383,7 @@ static LSN parse_checkpoint_record(LSN lsn)
   start_address= checkpoint_start=
     translog_next_LSN(start_address, LSN_IMPOSSIBLE);
   tprint(tracef, "Checkpoint record start_horizon now adjusted to"
-         " LSN (%lu,0x%lx)\n", LSN_IN_PARTS(start_address));
+         " LSN " LSN_FMT "\n", LSN_IN_PARTS(start_address));
   if (checkpoint_start == LSN_IMPOSSIBLE)
   {
     /*
@@ -3383,10 +3394,10 @@ static LSN parse_checkpoint_record(LSN lsn)
   }
   /* now, where the REDO phase should start reading log: */
   tprint(tracef, "Checkpoint has min_rec_lsn of dirty pages at"
-         " LSN (%lu,0x%lx)\n", LSN_IN_PARTS(minimum_rec_lsn_of_dirty_pages));
+         " LSN " LSN_FMT "\n", LSN_IN_PARTS(minimum_rec_lsn_of_dirty_pages));
   set_if_smaller(start_address, minimum_rec_lsn_of_dirty_pages);
   DBUG_PRINT("info",
-             ("checkpoint_start: (%lu,0x%lx) start_address: (%lu,0x%lx)",
+             ("checkpoint_start: " LSN_FMT " start_address: " LSN_FMT "",
               LSN_IN_PARTS(checkpoint_start), LSN_IN_PARTS(start_address)));
   return start_address;
 }
@@ -3467,6 +3478,11 @@ static int close_all_tables(void)
     }
   }
 end:
+  if (recovery_message_printed == REC_MSG_FLUSH)
+  {
+    fputc('\n', stderr);
+    fflush(stderr);
+  }
   mysql_mutex_unlock(&THR_LOCK_maria);
   DBUG_RETURN(error);
 }
diff --git a/storage/maria/ma_recovery.h b/storage/maria/ma_recovery.h
index 07a439428..8084ce03f 100644
--- a/storage/maria/ma_recovery.h
+++ b/storage/maria/ma_recovery.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   WL#3072 Maria recovery
diff --git a/storage/maria/ma_recovery_util.c b/storage/maria/ma_recovery_util.c
index ac51df448..3b617f625 100644
--- a/storage/maria/ma_recovery_util.c
+++ b/storage/maria/ma_recovery_util.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Q: Why isn't ma_recovery_util.c simply moved to ma_recovery.c ?
@@ -70,14 +70,7 @@ void tprint(FILE *trace_file __attribute__ ((unused)),
 #endif
   va_start(args, format);
   if (trace_file != NULL)
-  {
-    if (procent_printed)
-    {
-      procent_printed= 0;
-      fputc('\n', trace_file);
-    }
     vfprintf(trace_file, format, args);
-  }
   va_end(args);
 }
 
@@ -93,9 +86,10 @@ void eprint(FILE *trace_file __attribute__ ((unused)),
 
   if (procent_printed)
   {
-    /* In silent mode, print on another line than the 0% 10% 20% line */
     procent_printed= 0;
-    fputc('\n', trace_file);
+    /* In silent mode, print on another line than the 0% 10% 20% line */
+    fputc('\n', stderr);
+    fflush(stderr);
   }
   vfprintf(trace_file , format, args);
   fputc('\n', trace_file);
diff --git a/storage/maria/ma_recovery_util.h b/storage/maria/ma_recovery_util.h
index 9caf52c69..0b02f8e51 100644
--- a/storage/maria/ma_recovery_util.h
+++ b/storage/maria/ma_recovery_util.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 struct st_dirty_page /* used only in the REDO phase */
 {
diff --git a/storage/maria/ma_rename.c b/storage/maria/ma_rename.c
index 71e2dea9d..ef9785876 100644
--- a/storage/maria/ma_rename.c
+++ b/storage/maria/ma_rename.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Rename a table
diff --git a/storage/maria/ma_rfirst.c b/storage/maria/ma_rfirst.c
index 8a2f0dfb1..44d19485a 100644
--- a/storage/maria/ma_rfirst.c
+++ b/storage/maria/ma_rfirst.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 
diff --git a/storage/maria/ma_rkey.c b/storage/maria/ma_rkey.c
index 58e47089c..110074555 100644
--- a/storage/maria/ma_rkey.c
+++ b/storage/maria/ma_rkey.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Read record based on a key */
 
diff --git a/storage/maria/ma_rlast.c b/storage/maria/ma_rlast.c
index 5b7732415..2a74024db 100644
--- a/storage/maria/ma_rlast.c
+++ b/storage/maria/ma_rlast.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 
diff --git a/storage/maria/ma_rnext.c b/storage/maria/ma_rnext.c
index 82db1468f..5ea90a242 100644
--- a/storage/maria/ma_rnext.c
+++ b/storage/maria/ma_rnext.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 
diff --git a/storage/maria/ma_rnext_same.c b/storage/maria/ma_rnext_same.c
index b293943a1..b07967ca9 100644
--- a/storage/maria/ma_rnext_same.c
+++ b/storage/maria/ma_rnext_same.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "ma_rt_index.h"
diff --git a/storage/maria/ma_rprev.c b/storage/maria/ma_rprev.c
index f533f40d4..eebc8cba0 100644
--- a/storage/maria/ma_rprev.c
+++ b/storage/maria/ma_rprev.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 
diff --git a/storage/maria/ma_rrnd.c b/storage/maria/ma_rrnd.c
index 1f8252947..b2039e01e 100644
--- a/storage/maria/ma_rrnd.c
+++ b/storage/maria/ma_rrnd.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Read a record with random-access. The position to the record must
    get by MARIA_HA. The next record can be read with pos= MARIA_POS_ERROR */
diff --git a/storage/maria/ma_rsame.c b/storage/maria/ma_rsame.c
index aa45dbc2b..ae9545b90 100644
--- a/storage/maria/ma_rsame.c
+++ b/storage/maria/ma_rsame.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 
diff --git a/storage/maria/ma_rsamepos.c b/storage/maria/ma_rsamepos.c
index f894003f0..092bb50db 100644
--- a/storage/maria/ma_rsamepos.c
+++ b/storage/maria/ma_rsamepos.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* read record through position and fix key-position */
 /* As maria_rsame but supply a position */
diff --git a/storage/maria/ma_rt_index.c b/storage/maria/ma_rt_index.c
index c92045eb2..a0fb47418 100644
--- a/storage/maria/ma_rt_index.c
+++ b/storage/maria/ma_rt_index.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "trnman.h"
diff --git a/storage/maria/ma_rt_index.h b/storage/maria/ma_rt_index.h
index d8bd2dc9c..42df5cf95 100644
--- a/storage/maria/ma_rt_index.h
+++ b/storage/maria/ma_rt_index.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _rt_index_h
 #define _rt_index_h
diff --git a/storage/maria/ma_rt_key.c b/storage/maria/ma_rt_key.c
index 488137ff1..88da78edd 100644
--- a/storage/maria/ma_rt_key.c
+++ b/storage/maria/ma_rt_key.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "trnman.h"
diff --git a/storage/maria/ma_rt_key.h b/storage/maria/ma_rt_key.h
index 3d0616cea..e1bd6edcb 100644
--- a/storage/maria/ma_rt_key.h
+++ b/storage/maria/ma_rt_key.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Ramil Kalimullin, who has a shared copyright to this code */
 
diff --git a/storage/maria/ma_rt_mbr.c b/storage/maria/ma_rt_mbr.c
index 4c00f7cda..9f8946bca 100644
--- a/storage/maria/ma_rt_mbr.c
+++ b/storage/maria/ma_rt_mbr.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 
diff --git a/storage/maria/ma_rt_mbr.h b/storage/maria/ma_rt_mbr.h
index 535ef68ca..5583947cb 100644
--- a/storage/maria/ma_rt_mbr.h
+++ b/storage/maria/ma_rt_mbr.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _rt_mbr_h
 #define _rt_mbr_h
diff --git a/storage/maria/ma_rt_split.c b/storage/maria/ma_rt_split.c
index c26c0277e..c8004cb52 100644
--- a/storage/maria/ma_rt_split.c
+++ b/storage/maria/ma_rt_split.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "trnman.h"
diff --git a/storage/maria/ma_rt_test.c b/storage/maria/ma_rt_test.c
index 88e4d7089..5af941b78 100644
--- a/storage/maria/ma_rt_test.c
+++ b/storage/maria/ma_rt_test.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Testing of the basic functions of a MARIA rtree table         */
 /* Written by Alex Barkov who has a shared copyright to this code */
diff --git a/storage/maria/ma_scan.c b/storage/maria/ma_scan.c
index 9a2cd8cd5..5f2945a30 100644
--- a/storage/maria/ma_scan.c
+++ b/storage/maria/ma_scan.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Read through all rows sequntially */
 
diff --git a/storage/maria/ma_search.c b/storage/maria/ma_search.c
index 0132dc95e..0a79343c1 100644
--- a/storage/maria/ma_search.c
+++ b/storage/maria/ma_search.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* key handling functions */
 
diff --git a/storage/maria/ma_servicethread.c b/storage/maria/ma_servicethread.c
index e495b15ee..5f91a4943 100644
--- a/storage/maria/ma_servicethread.c
+++ b/storage/maria/ma_servicethread.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "ma_servicethread.h"
diff --git a/storage/maria/ma_servicethread.h b/storage/maria/ma_servicethread.h
index f33908a97..a04a71fd4 100644
--- a/storage/maria/ma_servicethread.h
+++ b/storage/maria/ma_servicethread.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 
diff --git a/storage/maria/ma_sort.c b/storage/maria/ma_sort.c
index 462ef918d..a01824bc2 100644
--- a/storage/maria/ma_sort.c
+++ b/storage/maria/ma_sort.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Creates a index for a database by reading keys, sorting them and outputing
diff --git a/storage/maria/ma_sp_defs.h b/storage/maria/ma_sp_defs.h
index a8cea1fc0..8c2430e0e 100644
--- a/storage/maria/ma_sp_defs.h
+++ b/storage/maria/ma_sp_defs.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _SP_DEFS_H
 #define _SP_DEFS_H
diff --git a/storage/maria/ma_sp_key.c b/storage/maria/ma_sp_key.c
index 2a663c22e..0dc7fe1fe 100644
--- a/storage/maria/ma_sp_key.c
+++ b/storage/maria/ma_sp_key.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "ma_blockrec.h"                        /* For ROW_FLAG_TRANSID */
diff --git a/storage/maria/ma_sp_test.c b/storage/maria/ma_sp_test.c
index 64c56a194..aeb1da282 100644
--- a/storage/maria/ma_sp_test.c
+++ b/storage/maria/ma_sp_test.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Testing of the basic functions of a MARIA spatial table        */
 /* Written by Alex Barkov, who has a shared copyright to this code */
diff --git a/storage/maria/ma_state.c b/storage/maria/ma_state.c
index aeefd9aa1..2d30dbcda 100644
--- a/storage/maria/ma_state.c
+++ b/storage/maria/ma_state.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   Functions to maintain live statistics for Maria transactional tables
diff --git a/storage/maria/ma_state.h b/storage/maria/ma_state.h
index 8728a2113..4f099a910 100644
--- a/storage/maria/ma_state.h
+++ b/storage/maria/ma_state.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Struct to store tables in use by one transaction */
 
diff --git a/storage/maria/ma_static.c b/storage/maria/ma_static.c
index 12fb26aa4..a903ee23a 100644
--- a/storage/maria/ma_static.c
+++ b/storage/maria/ma_static.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 
 /*
diff --git a/storage/maria/ma_statrec.c b/storage/maria/ma_statrec.c
index 61a1731b7..98fa235a2 100644
--- a/storage/maria/ma_statrec.c
+++ b/storage/maria/ma_statrec.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 	/* Functions to handle fixed-length-records */
 
diff --git a/storage/maria/ma_test1.c b/storage/maria/ma_test1.c
index 07da313db..c43b54199 100644
--- a/storage/maria/ma_test1.c
+++ b/storage/maria/ma_test1.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Testing of the basic functions of a MARIA table */
 
diff --git a/storage/maria/ma_test2.c b/storage/maria/ma_test2.c
index 24c48c672..c7143d141 100644
--- a/storage/maria/ma_test2.c
+++ b/storage/maria/ma_test2.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Test av isam-databas: stor test */
 
diff --git a/storage/maria/ma_test3.c b/storage/maria/ma_test3.c
index 604c2b676..bd80a0e8a 100644
--- a/storage/maria/ma_test3.c
+++ b/storage/maria/ma_test3.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Test av locking */
 
diff --git a/storage/maria/ma_trnman.h b/storage/maria/ma_trnman.h
index 9bfd1f0d0..06e6a8830 100644
--- a/storage/maria/ma_trnman.h
+++ b/storage/maria/ma_trnman.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _ma_trnman_h
 #define _ma_trnman_h
diff --git a/storage/maria/ma_unique.c b/storage/maria/ma_unique.c
index f7432ad61..4e098d55f 100644
--- a/storage/maria/ma_unique.c
+++ b/storage/maria/ma_unique.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Functions to check if a row is unique */
 
diff --git a/storage/maria/ma_update.c b/storage/maria/ma_update.c
index 0e006d247..dc44c71a4 100644
--- a/storage/maria/ma_update.c
+++ b/storage/maria/ma_update.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "ma_fulltext.h"
 #include "ma_rt_index.h"
diff --git a/storage/maria/ma_write.c b/storage/maria/ma_write.c
index 1a720101a..cae8ef897 100644
--- a/storage/maria/ma_write.c
+++ b/storage/maria/ma_write.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Write a row to a MARIA table */
 
diff --git a/storage/maria/maria_chk.c b/storage/maria/maria_chk.c
index 76edacee9..058e864f3 100644
--- a/storage/maria/maria_chk.c
+++ b/storage/maria/maria_chk.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Describe, check and repair of MARIA tables */
 
@@ -1526,8 +1526,8 @@ static void descript(HA_CHECK *param, register MARIA_HA *info, char *name)
     }
     if (share->base.born_transactional)
     {
-      printf("LSNs:                create_rename (%lu,0x%lx),"
-             " state_horizon (%lu,0x%lx), skip_redo (%lu,0x%lx)\n",
+      printf("LSNs:                create_rename " LSN_FMT ","
+             " state_horizon " LSN_FMT ", skip_redo " LSN_FMT "\n",
              LSN_IN_PARTS(share->state.create_rename_lsn),
              LSN_IN_PARTS(share->state.is_of_horizon),
              LSN_IN_PARTS(share->state.skip_redo_lsn));
diff --git a/storage/maria/maria_def.h b/storage/maria/maria_def.h
index eeb5625cb..0a58a0a17 100644
--- a/storage/maria/maria_def.h
+++ b/storage/maria/maria_def.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* This file is included by all internal maria files */
 
@@ -109,7 +109,7 @@ typedef struct st_maria_sort_param
   int (*key_read)(struct st_maria_sort_param *, uchar *);
   int (*key_write)(struct st_maria_sort_param *, const uchar *);
   void (*lock_in_memory)(HA_CHECK *);
-  int (*write_keys)(struct st_maria_sort_param *, register uchar **,
+  int (*write_keys)(struct st_maria_sort_param *, uchar **,
                          ulonglong , struct st_buffpek *, IO_CACHE *);
   my_off_t (*read_to_buffer)(IO_CACHE *,struct st_buffpek *, uint);
   int (*write_key)(struct st_maria_sort_param *, IO_CACHE *,uchar *,
@@ -1040,7 +1040,7 @@ my_off_t _ma_no_keypos_to_recpos(MARIA_SHARE *share, my_off_t pos);
 extern my_bool _ma_ck_write(MARIA_HA *info, MARIA_KEY *key);
 extern my_bool _ma_enlarge_root(MARIA_HA *info, MARIA_KEY *key,
                                 MARIA_RECORD_POS *root);
-int _ma_insert(register MARIA_HA *info, MARIA_KEY *key,
+int _ma_insert(MARIA_HA *info, MARIA_KEY *key,
                MARIA_PAGE *anc_page, uchar *key_pos, uchar *key_buff,
                MARIA_PAGE *father_page, uchar *father_key_pos,
                my_bool insert_last);
@@ -1082,7 +1082,7 @@ extern void _ma_store_bin_pack_key(MARIA_KEYDEF *keyinfo, uchar *key_pos,
                                    MARIA_KEY_PARAM *s_temp);
 
 extern my_bool _ma_ck_delete(MARIA_HA *info, MARIA_KEY *key);
-extern my_bool _ma_ck_real_delete(register MARIA_HA *info, MARIA_KEY *key,
+extern my_bool _ma_ck_real_delete(MARIA_HA *info, MARIA_KEY *key,
                                   my_off_t *root);
 extern int _ma_readinfo(MARIA_HA *info, int lock_flag, int check_keybuffer);
 extern int _ma_writeinfo(MARIA_HA *info, uint options);
@@ -1154,7 +1154,7 @@ extern my_bool _ma_fetch_keypage(MARIA_PAGE *page, MARIA_HA *info,
 extern my_bool _ma_write_keypage(MARIA_PAGE *page,
                                  enum pagecache_page_lock lock, int level);
 extern int _ma_dispose(MARIA_HA *info, my_off_t pos, my_bool page_not_read);
-extern my_off_t _ma_new(register MARIA_HA *info, int level,
+extern my_off_t _ma_new(MARIA_HA *info, int level,
                         MARIA_PINNED_PAGE **page_link);
 extern my_bool _ma_compact_keypage(MARIA_PAGE *page, TrID min_read_from);
 extern uint transid_store_packed(MARIA_HA *info, uchar *to, ulonglong trid);
@@ -1342,7 +1342,7 @@ extern MARIA_HA *_ma_test_if_reopen(const char *filename);
 my_bool _ma_check_table_is_closed(const char *name, const char *where);
 int _ma_open_datafile(MARIA_HA *info, MARIA_SHARE *share);
 int _ma_open_keyfile(MARIA_SHARE *share);
-void _ma_setup_functions(register MARIA_SHARE *share);
+void _ma_setup_functions(MARIA_SHARE *share);
 my_bool _ma_dynmap_file(MARIA_HA *info, my_off_t size);
 void _ma_remap_file(MARIA_HA *info, my_off_t size);
 
@@ -1424,7 +1424,7 @@ extern my_bool maria_flush_log_for_page_none(PAGECACHE_IO_HOOK_ARGS *args);
 extern PAGECACHE *maria_log_pagecache;
 extern void ma_set_index_cond_func(MARIA_HA *info, index_cond_func_t func,
                                    void *func_arg);
-ICP_RESULT ma_check_index_cond(register MARIA_HA *info, uint keynr, uchar *record);
+ICP_RESULT ma_check_index_cond(MARIA_HA *info, uint keynr, uchar *record);
 
 extern my_bool ma_yield_and_check_if_killed(MARIA_HA *info, int inx);
 extern my_bool ma_killed_standalone(MARIA_HA *);
diff --git a/storage/maria/maria_dump_log.c b/storage/maria/maria_dump_log.c
index 3570dede8..998d2e740 100644
--- a/storage/maria/maria_dump_log.c
+++ b/storage/maria/maria_dump_log.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include 
diff --git a/storage/maria/maria_ftdump.c b/storage/maria/maria_ftdump.c
index 4a1b610ff..75ff9bd26 100644
--- a/storage/maria/maria_ftdump.c
+++ b/storage/maria/maria_ftdump.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code
    added support for long options (my_getopt) 22.5.2002 by Jani Tolonen */
diff --git a/storage/maria/maria_pack.c b/storage/maria/maria_pack.c
index 28b4ff4cf..5166ae637 100644
--- a/storage/maria/maria_pack.c
+++ b/storage/maria/maria_pack.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Pack MARIA file */
 
diff --git a/storage/maria/maria_read_log.c b/storage/maria/maria_read_log.c
index d0cf7521e..147d42239 100644
--- a/storage/maria/maria_read_log.c
+++ b/storage/maria/maria_read_log.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "maria_def.h"
 #include "ma_recovery.h"
@@ -109,11 +109,11 @@ int main(int argc, char **argv)
       last_checkpoint_lsn != LSN_IMPOSSIBLE)
   {
     lsn= LSN_IMPOSSIBLE;             /* LSN set in maria_apply_log() */
-    fprintf(stdout, "Starting from checkpoint (%lu,0x%lx)\n",
+    fprintf(stdout, "Starting from checkpoint " LSN_FMT "\n",
             LSN_IN_PARTS(last_checkpoint_lsn));
   }
   else
-    fprintf(stdout, "The transaction log starts from lsn (%lu,0x%lx)\n",
+    fprintf(stdout, "The transaction log starts from lsn " LSN_FMT "\n",
             LSN_IN_PARTS(lsn));
 
   if (opt_start_from_lsn)
@@ -125,7 +125,7 @@ int main(int argc, char **argv)
       goto err;
     }
     lsn= (LSN) opt_start_from_lsn;
-    fprintf(stdout, "Starting reading log from lsn (%lu,0x%lx)\n",
+    fprintf(stdout, "Starting reading log from lsn " LSN_FMT "\n",
             LSN_IN_PARTS(lsn));
   }
 
diff --git a/storage/maria/tablockman.c b/storage/maria/tablockman.c
index 994e323a1..180487a88 100644
--- a/storage/maria/tablockman.c
+++ b/storage/maria/tablockman.c
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/maria/tablockman.h b/storage/maria/tablockman.h
index 0a76c9a07..fd756fae7 100644
--- a/storage/maria/tablockman.h
+++ b/storage/maria/tablockman.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _tablockman_h
 #define _tablockman_h
diff --git a/storage/maria/trnman.c b/storage/maria/trnman.c
index 5b3c9f028..744ca8641 100644
--- a/storage/maria/trnman.c
+++ b/storage/maria/trnman.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 
 #include 
diff --git a/storage/maria/trnman.h b/storage/maria/trnman.h
index 11c737977..37ef8ceee 100644
--- a/storage/maria/trnman.h
+++ b/storage/maria/trnman.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef _trnman_h
 #define _trnman_h
diff --git a/storage/maria/trnman_public.h b/storage/maria/trnman_public.h
index 5254bd798..a62c98bf0 100644
--- a/storage/maria/trnman_public.h
+++ b/storage/maria/trnman_public.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 
 /*
diff --git a/storage/maria/unittest/CMakeLists.txt b/storage/maria/unittest/CMakeLists.txt
index d0cb88b8d..a2da1507c 100644
--- a/storage/maria/unittest/CMakeLists.txt
+++ b/storage/maria/unittest/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
                     ${CMAKE_SOURCE_DIR}/unittest/mytap)
diff --git a/storage/maria/unittest/lockman-t.c b/storage/maria/unittest/lockman-t.c
index 6230f6a09..f0051ef10 100644
--- a/storage/maria/unittest/lockman-t.c
+++ b/storage/maria/unittest/lockman-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   lockman for row and table locks
diff --git a/storage/maria/unittest/lockman1-t.c b/storage/maria/unittest/lockman1-t.c
index 8033c5e90..28f9a0a5a 100644
--- a/storage/maria/unittest/lockman1-t.c
+++ b/storage/maria/unittest/lockman1-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   lockman for row locks, tablockman for table locks
diff --git a/storage/maria/unittest/lockman2-t.c b/storage/maria/unittest/lockman2-t.c
index 2ce24f5c9..026e8c8ff 100644
--- a/storage/maria/unittest/lockman2-t.c
+++ b/storage/maria/unittest/lockman2-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   tablockman for row and table locks
diff --git a/storage/maria/unittest/ma_control_file-t.c b/storage/maria/unittest/ma_control_file-t.c
index 25ec98213..160ef598e 100644
--- a/storage/maria/unittest/ma_control_file-t.c
+++ b/storage/maria/unittest/ma_control_file-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Unit test of the control file module of the Aria engine WL#3234 */
 
diff --git a/storage/maria/unittest/ma_loghandler_examples.c b/storage/maria/unittest/ma_loghandler_examples.c
index fa0b546cd..422e6961f 100644
--- a/storage/maria/unittest/ma_loghandler_examples.c
+++ b/storage/maria/unittest/ma_loghandler_examples.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 
diff --git a/storage/maria/unittest/ma_maria_log_cleanup.c b/storage/maria/unittest/ma_maria_log_cleanup.c
index 23e5be739..68a353f37 100644
--- a/storage/maria/unittest/ma_maria_log_cleanup.c
+++ b/storage/maria/unittest/ma_maria_log_cleanup.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #ifdef _WIN32
diff --git a/storage/maria/unittest/ma_pagecache_consist.c b/storage/maria/unittest/ma_pagecache_consist.c
index a9223ca9f..8ae7443de 100644
--- a/storage/maria/unittest/ma_pagecache_consist.c
+++ b/storage/maria/unittest/ma_pagecache_consist.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   TODO: use pthread_join instead of wait_for_thread_count_to_be_zero, like in
diff --git a/storage/maria/unittest/ma_pagecache_rwconsist.c b/storage/maria/unittest/ma_pagecache_rwconsist.c
index 0b05d9765..534fe654e 100644
--- a/storage/maria/unittest/ma_pagecache_rwconsist.c
+++ b/storage/maria/unittest/ma_pagecache_rwconsist.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   TODO: use pthread_join instead of wait_for_thread_count_to_be_zero, like in
diff --git a/storage/maria/unittest/ma_pagecache_rwconsist2.c b/storage/maria/unittest/ma_pagecache_rwconsist2.c
index cfc877d55..e44245a69 100644
--- a/storage/maria/unittest/ma_pagecache_rwconsist2.c
+++ b/storage/maria/unittest/ma_pagecache_rwconsist2.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 
 /**
diff --git a/storage/maria/unittest/ma_pagecache_single.c b/storage/maria/unittest/ma_pagecache_single.c
index e149af7cf..29232a236 100644
--- a/storage/maria/unittest/ma_pagecache_single.c
+++ b/storage/maria/unittest/ma_pagecache_single.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   TODO: use pthread_join instead of wait_for_thread_count_to_be_zero, like in
diff --git a/storage/maria/unittest/ma_test_loghandler-t.c b/storage/maria/unittest/ma_test_loghandler-t.c
index aa8615e9b..112be3c66 100644
--- a/storage/maria/unittest/ma_test_loghandler-t.c
+++ b/storage/maria/unittest/ma_test_loghandler-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
@@ -114,7 +114,7 @@ static my_bool check_content(uchar *ptr, ulong length)
 
 void read_ok(TRANSLOG_HEADER_BUFFER *rec)
 {
-  ok(1, "read record type: %u  LSN: (%lu,0x%lx)",
+  ok(1, "read record type: %u  LSN: " LSN_FMT,
      rec->type, LSN_IN_PARTS(rec->lsn));
 }
 
@@ -399,7 +399,7 @@ int main(int argc __attribute__((unused)), char *argv[])
       fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_0LSN_EXAMPLE "
               "data read(0)\n"
               "type %u, strid %u, len %u, i: %u, 4: %u 5: %u, "
-              "lsn(%lu,0x%lx)\n",
+              "lsn" LSN_FMT "\n",
               (uint) rec.type, (uint) rec.short_trid, (uint) rec.record_length,
               (uint) uint4korr(rec.header), (uint) rec.header[4],
               (uint) rec.header[5],
@@ -444,8 +444,8 @@ int main(int argc __attribute__((unused)), char *argv[])
           fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_1LSN_EXAMPLE "
                   "data read(%d) "
                   "type: %u  strid: %u  len: %u"
-                  "ref: (%lu,0x%lx)  (%lu,0x%lx)  "
-                  "lsn(%lu,0x%lx)\n",
+                  "ref: " LSN_FMT "  " LSN_FMT "  "
+                  "lsn" LSN_FMT "\n",
                   i, (uint) rec.type, (uint) rec.short_trid,
                   (uint) rec.record_length,
                   LSN_IN_PARTS(ref), LSN_IN_PARTS(lsn),
@@ -475,9 +475,9 @@ int main(int argc __attribute__((unused)), char *argv[])
         {
           fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_2LSN_EXAMPLE "
                   "data read(%d) "
-                  "type %u, strid %u, len %u, ref1(%lu,0x%lx), "
-                  "ref2(%lu,0x%lx) %x%x%x%x%x%x%x%x%x "
-                  "lsn(%lu,0x%lx)\n",
+                  "type %u, strid %u, len %u, ref1" LSN_FMT ", "
+                  "ref2" LSN_FMT " %x%x%x%x%x%x%x%x%x "
+                  "lsn" LSN_FMT "\n",
                   i, (uint) rec.type, (uint) rec.short_trid,
                   (uint) rec.record_length,
                   LSN_IN_PARTS(ref1), LSN_IN_PARTS(ref2),
@@ -522,7 +522,7 @@ int main(int argc __attribute__((unused)), char *argv[])
                   "data read(%d)"
                   "type %u (%d), strid %u (%d), len %lu, %lu + 7 (%d), "
                   "hdr len: %u (%d), "
-                  "ref(%lu,0x%lx), lsn(%lu,0x%lx) (%d), content: %d\n",
+                  "ref" LSN_FMT ", lsn" LSN_FMT " (%d), content: %d\n",
                   i, (uint) rec.type,
                   rec.type != LOGREC_VARIABLE_RECORD_1LSN_EXAMPLE,
                   (uint) rec.short_trid,
@@ -541,7 +541,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         {
           fprintf(stderr,
                   "Incorrect LOGREC_VARIABLE_RECORD_1LSN_EXAMPLE "
-                  "in whole rec read lsn(%lu,0x%lx)\n",
+                  "in whole rec read lsn" LSN_FMT "\n",
                   LSN_IN_PARTS(rec.lsn));
           goto err;
         }
@@ -565,8 +565,8 @@ int main(int argc __attribute__((unused)), char *argv[])
           fprintf(stderr, "Incorrect LOGREC_VARIABLE_RECORD_2LSN_EXAMPLE "
                   "data read(%d) "
                   "type %u, strid %u, len %lu != %lu + 14, hdr len: %d, "
-                  "ref1(%lu,0x%lx), ref2(%lu,0x%lx), "
-                  "lsn(%lu,0x%lx)\n",
+                  "ref1" LSN_FMT ", ref2" LSN_FMT ", "
+                  "lsn" LSN_FMT "\n",
                   i, (uint) rec.type, (uint) rec.short_trid,
                   (ulong) rec.record_length, (ulong) rec_len,
                   len, LSN_IN_PARTS(ref1), LSN_IN_PARTS(ref2),
@@ -577,7 +577,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         {
           fprintf(stderr,
                   "Incorrect LOGREC_VARIABLE_RECORD_2LSN_EXAMPLE "
-                  "in whole rec read lsn(%lu,0x%lx)\n",
+                  "in whole rec read lsn" LSN_FMT "\n",
                   LSN_IN_PARTS(rec.lsn));
           goto err;
         }
@@ -606,7 +606,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_0LSN_EXAMPLE "
                 "data read(%d)\n"
                 "type %u, strid %u, len %u, i: %u, 4: %u 5: %u "
-                "lsn(%lu,0x%lx)\n",
+                "lsn" LSN_FMT "\n",
                 i, (uint) rec.type, (uint) rec.short_trid,
                 (uint) rec.record_length,
                 (uint) uint4korr(rec.header), (uint) rec.header[4],
@@ -629,7 +629,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         fprintf(stderr, "Incorrect LOGREC_VARIABLE_RECORD_0LSN_EXAMPLE "
                 "data read(%d) "
                 "type %u, strid %u, len %lu != %lu, hdr len: %d, "
-                "lsn(%lu,0x%lx)\n",
+                "lsn" LSN_FMT "\n",
                 i, (uint) rec.type, (uint) rec.short_trid,
                 (ulong) rec.record_length, (ulong) rec_len,
                 len, LSN_IN_PARTS(rec.lsn));
@@ -639,7 +639,7 @@ int main(int argc __attribute__((unused)), char *argv[])
       {
         fprintf(stderr,
                 "Incorrect LOGREC_VARIABLE_RECORD_2LSN_EXAMPLE "
-                "in whole rec read lsn(%lu,0x%lx)\n",
+                "in whole rec read lsn" LSN_FMT "\n",
                 LSN_IN_PARTS(rec.lsn));
         goto err;
       }
diff --git a/storage/maria/unittest/ma_test_loghandler_first_lsn-t.c b/storage/maria/unittest/ma_test_loghandler_first_lsn-t.c
index 9306be395..7a8ee720d 100644
--- a/storage/maria/unittest/ma_test_loghandler_first_lsn-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_first_lsn-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
@@ -102,7 +102,7 @@ int main(int argc __attribute__((unused)), char *argv[])
   first_lsn= translog_first_lsn_in_log();
   if (first_lsn != LSN_IMPOSSIBLE)
   {
-    fprintf(stderr, "Incorrect first lsn response (%lu,0x%lx).",
+    fprintf(stderr, "Incorrect first lsn response " LSN_FMT ".",
             LSN_IN_PARTS(first_lsn));
     translog_destroy();
     exit(1);
@@ -140,8 +140,8 @@ int main(int argc __attribute__((unused)), char *argv[])
   first_lsn= translog_first_lsn_in_log();
   if (first_lsn != theor_lsn)
   {
-    fprintf(stderr, "Incorrect first lsn: (%lu,0x%lx)  "
-            " theoretical first: (%lu,0x%lx)\n",
+    fprintf(stderr, "Incorrect first lsn: " LSN_FMT "  "
+            " theoretical first: " LSN_FMT "\n",
             LSN_IN_PARTS(first_lsn), LSN_IN_PARTS(theor_lsn));
     translog_destroy();
     exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_max_lsn-t.c b/storage/maria/unittest/ma_test_loghandler_max_lsn-t.c
index 9ff391b38..b76bf3074 100644
--- a/storage/maria/unittest/ma_test_loghandler_max_lsn-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_max_lsn-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
@@ -94,7 +94,7 @@ int main(int argc __attribute__((unused)), char *argv[])
   }
   if (max_lsn != LSN_IMPOSSIBLE)
   {
-    fprintf(stderr, "Incorrect first lsn response (%lu,0x%lx).",
+    fprintf(stderr, "Incorrect first lsn response " LSN_FMT ".",
             LSN_IN_PARTS(max_lsn));
     translog_destroy();
     exit(1);
@@ -138,8 +138,8 @@ int main(int argc __attribute__((unused)), char *argv[])
   }
   if (max_lsn != last_lsn)
   {
-    fprintf(stderr, "Incorrect max lsn: (%lu,0x%lx)  "
-            " last lsn on first file: (%lu,0x%lx)\n",
+    fprintf(stderr, "Incorrect max lsn: " LSN_FMT "  "
+            " last lsn on first file: " LSN_FMT "\n",
             LSN_IN_PARTS(max_lsn), LSN_IN_PARTS(last_lsn));
     translog_destroy();
     exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_multigroup-t.c b/storage/maria/unittest/ma_test_loghandler_multigroup-t.c
index dc7e0c79f..6ba0d00f8 100644
--- a/storage/maria/unittest/ma_test_loghandler_multigroup-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_multigroup-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
@@ -486,7 +486,7 @@ int main(int argc __attribute__((unused)), char *argv[])
       fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_0LSN_EXAMPLE "
               "data read(0)\n"
               "type %u, strid %u, len %u, i: %u, 4: %u 5: %u, "
-              "lsn(0x%lu,0x%lx)\n",
+              LSN_FMT "\n",
               (uint) rec.type, (uint) rec.short_trid, (uint) rec.record_length,
               (uint)uint4korr(rec.header), (uint) rec.header[4],
               (uint) rec.header[5],
@@ -534,7 +534,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         {
           fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_1LSN_EXAMPLE "
                   "data read(%d)"
-                  "type %u, strid %u, len %u, ref(%lu,0x%lx), lsn(%lu,0x%lx)\n",
+                  "type %u, strid %u, len %u, ref" LSN_FMT ", lsn" LSN_FMT "\n",
                   i, (uint) rec.type, (uint) rec.short_trid,
                   (uint) rec.record_length,
                   LSN_IN_PARTS(ref), LSN_IN_PARTS(rec.lsn));
@@ -564,9 +564,9 @@ int main(int argc __attribute__((unused)), char *argv[])
         {
           fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_2LSN_EXAMPLE "
                   "data read(%d) "
-                  "type %u, strid %u, len %u, ref1(%lu,0x%lx), "
-                  "ref2(%lu,0x%lx) %x%x%x%x%x%x%x%x%x "
-                  "lsn(%lu,0x%lx)\n",
+                  "type %u, strid %u, len %u, ref1" LSN_FMT ", "
+                  "ref2" LSN_FMT " %x%x%x%x%x%x%x%x%x "
+                  "lsn" LSN_FMT "\n",
                   i, (uint) rec.type, (uint) rec.short_trid,
                   (uint) rec.record_length,
                   LSN_IN_PARTS(ref1), LSN_IN_PARTS(ref2),
@@ -612,7 +612,7 @@ int main(int argc __attribute__((unused)), char *argv[])
                   "data read(%d)"
                   "type %u (%d), strid %u (%d), len %lu, %lu + 7 (%d), "
                   "hdr len: %d (%d), "
-                  "ref(%lu,0x%lx), lsn(%lu,0x%lx) (%d), content: %d\n",
+                  "ref" LSN_FMT ", lsn" LSN_FMT " (%d), content: %d\n",
                   i, (uint) rec.type,
                   rec.type !=LOGREC_VARIABLE_RECORD_1LSN_EXAMPLE,
                   (uint) rec.short_trid,
@@ -632,7 +632,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         {
           fprintf(stderr,
                   "Incorrect LOGREC_VARIABLE_RECORD_1LSN_EXAMPLE "
-                  "in whole rec read lsn(%lu,0x%lx)\n",
+                  "in whole rec read lsn" LSN_FMT "\n",
                   LSN_IN_PARTS(rec.lsn));
           translog_free_record_header(&rec);
           goto err;
@@ -656,8 +656,8 @@ int main(int argc __attribute__((unused)), char *argv[])
           fprintf(stderr, "Incorrect LOGREC_VARIABLE_RECORD_2LSN_EXAMPLE "
                   " data read(%d) "
                   "type %u, strid %u, len %lu != %lu + 14, hdr len: %d, "
-                  "ref1(%lu,0x%lx), ref2(%lu,0x%lx), "
-                  "lsn(%lu,0x%lx)\n",
+                  "ref1" LSN_FMT ", ref2" LSN_FMT ", "
+                  "lsn" LSN_FMT "\n",
                   i, (uint) rec.type, (uint) rec.short_trid,
                   (ulong) rec.record_length, (ulong) rec_len,
                   len,
@@ -670,7 +670,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         {
           fprintf(stderr,
                   "Incorrect LOGREC_VARIABLE_RECORD_2LSN_EXAMPLE "
-                  "in whole rec read lsn(%lu,0x%lx)\n",
+                  "in whole rec read lsn" LSN_FMT "\n",
                   LSN_IN_PARTS(rec.lsn));
           translog_free_record_header(&rec);
           goto err;
@@ -702,7 +702,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_0LSN_EXAMPLE "
                 "data read(%d)\n"
                 "type %u, strid %u, len %u, i: %u, 4: %u 5: %u "
-                "lsn(%lu,0x%lx)\n",
+                "lsn" LSN_FMT "\n",
                 i, (uint) rec.type, (uint) rec.short_trid,
                 (uint) rec.record_length,
                 (uint)uint4korr(rec.header), (uint) rec.header[4],
@@ -726,7 +726,7 @@ int main(int argc __attribute__((unused)), char *argv[])
         fprintf(stderr, "Incorrect LOGREC_VARIABLE_RECORD_0LSN_EXAMPLE "
                 "data read(%d) "
                 "type %u, strid %u, len %lu != %lu, hdr len: %d, "
-                "lsn(%lu,0x%lx)\n",
+                "lsn" LSN_FMT "\n",
                 i, (uint) rec.type, (uint) rec.short_trid,
                 (ulong) rec.record_length, (ulong) rec_len,
                 len, LSN_IN_PARTS(rec.lsn));
@@ -737,7 +737,7 @@ int main(int argc __attribute__((unused)), char *argv[])
       {
         fprintf(stderr,
                 "Incorrect LOGREC_VARIABLE_RECORD_2LSN_EXAMPLE "
-                "in whole rec read lsn(%lu,0x%lx)\n",
+                "in whole rec read lsn" LSN_FMT "\n",
                 LSN_IN_PARTS(rec.lsn));
         translog_free_record_header(&rec);
         goto err;
diff --git a/storage/maria/unittest/ma_test_loghandler_multithread-t.c b/storage/maria/unittest/ma_test_loghandler_multithread-t.c
index ff843937f..68d1edb93 100644
--- a/storage/maria/unittest/ma_test_loghandler_multithread-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_multithread-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
@@ -486,7 +486,7 @@ int main(int argc __attribute__((unused)),
           fprintf(stderr, "Incorrect LOGREC_FIXED_RECORD_0LSN_EXAMPLE "
                   "data read(%d)\n"
                   "type %u, strid %u %u, len %u, i: %u %u, "
-                  "lsn(%lu,0x%lx) (%lu,0x%lx)\n",
+                  "lsn" LSN_FMT " " LSN_FMT "\n",
                   i, (uint) rec.type,
                   (uint) rec.short_trid, (uint) uint2korr(rec.header),
                   (uint) rec.record_length,
@@ -510,7 +510,7 @@ int main(int argc __attribute__((unused)),
                   "data read(%d) "
                   "thread: %d, iteration %d, stage %d\n"
                   "type %u (%d), len %d, length %lu %lu (%d) "
-                  "lsn(%lu,0x%lx) (%lu,0x%lx)\n",
+                  "lsn" LSN_FMT " " LSN_FMT "\n",
                   i, (uint) rec.short_trid, index, stage,
                   (uint) rec.type, (rec.type !=
                                     LOGREC_VARIABLE_RECORD_0LSN_EXAMPLE),
@@ -526,7 +526,7 @@ int main(int argc __attribute__((unused)),
         {
           fprintf(stderr,
                   "Incorrect LOGREC_VARIABLE_RECORD_0LSN_EXAMPLE "
-                  "in whole rec read lsn(%lu,0x%lx)\n",
+                  "in whole rec read lsn" LSN_FMT "\n",
                   LSN_IN_PARTS(rec.lsn));
           translog_free_record_header(&rec);
           goto err;
diff --git a/storage/maria/unittest/ma_test_loghandler_noflush-t.c b/storage/maria/unittest/ma_test_loghandler_noflush-t.c
index 9555cc084..f6c214cc8 100644
--- a/storage/maria/unittest/ma_test_loghandler_noflush-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_noflush-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
@@ -116,7 +116,7 @@ int main(int argc __attribute__((unused)), char *argv[])
             "data read(0)\n"
             "type: %u (%d)  strid: %u (%d)  len: %u (%d)  i: %u (%d), "
             "4: %u (%d)  5: %u (%d)  "
-            "lsn(%lu,0x%lx) (%d)\n",
+            "lsn" LSN_FMT " (%d)\n",
             (uint) rec.type, (rec.type !=LOGREC_FIXED_RECORD_0LSN_EXAMPLE),
             (uint) rec.short_trid, (rec.short_trid != 0),
             (uint) rec.record_length, (rec.record_length != 6),
diff --git a/storage/maria/unittest/ma_test_loghandler_nologs-t.c b/storage/maria/unittest/ma_test_loghandler_nologs-t.c
index 310345f08..06096d642 100644
--- a/storage/maria/unittest/ma_test_loghandler_nologs-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_nologs-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
diff --git a/storage/maria/unittest/ma_test_loghandler_pagecache-t.c b/storage/maria/unittest/ma_test_loghandler_pagecache-t.c
index 0d9382d34..7956d5318 100644
--- a/storage/maria/unittest/ma_test_loghandler_pagecache-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_pagecache-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
diff --git a/storage/maria/unittest/ma_test_loghandler_purge-t.c b/storage/maria/unittest/ma_test_loghandler_purge-t.c
index ef31b47c9..97866a912 100644
--- a/storage/maria/unittest/ma_test_loghandler_purge-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_purge-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include 
diff --git a/storage/maria/unittest/sequence_storage.c b/storage/maria/unittest/sequence_storage.c
index 9772a101a..1953304e6 100644
--- a/storage/maria/unittest/sequence_storage.c
+++ b/storage/maria/unittest/sequence_storage.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "../maria_def.h"
 #include "sequence_storage.h"
diff --git a/storage/maria/unittest/sequence_storage.h b/storage/maria/unittest/sequence_storage.h
index 9bee33c5b..174902561 100644
--- a/storage/maria/unittest/sequence_storage.h
+++ b/storage/maria/unittest/sequence_storage.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 
 typedef struct st_seq_storage
diff --git a/storage/maria/unittest/test_file.c b/storage/maria/unittest/test_file.c
index 7ee38c570..269a9f7f2 100644
--- a/storage/maria/unittest/test_file.c
+++ b/storage/maria/unittest/test_file.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include                                 /* Includes my_global.h */
 #include 
diff --git a/storage/maria/unittest/test_file.h b/storage/maria/unittest/test_file.h
index 10d77c9c6..22337b7a2 100644
--- a/storage/maria/unittest/test_file.h
+++ b/storage/maria/unittest/test_file.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include "../ma_pagecache.h"
diff --git a/storage/maria/unittest/trnman-t.c b/storage/maria/unittest/trnman-t.c
index ede899bc3..8215c111a 100644
--- a/storage/maria/unittest/trnman-t.c
+++ b/storage/maria/unittest/trnman-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 
diff --git a/storage/mroonga/CMakeLists.txt b/storage/mroonga/CMakeLists.txt
index 5a7d46993..ba6c1279c 100644
--- a/storage/mroonga/CMakeLists.txt
+++ b/storage/mroonga/CMakeLists.txt
@@ -15,7 +15,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 cmake_minimum_required(VERSION 2.6)
 project(mroonga)
diff --git a/storage/mroonga/COPYING b/storage/mroonga/COPYING
index be8dfebc1..21d4c6d61 100644
--- a/storage/mroonga/COPYING
+++ b/storage/mroonga/COPYING
@@ -2,7 +2,7 @@
 		       Version 2.1, February 1999
 
   Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
 
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 Also add information on how to contact you by electronic and paper mail.
 
diff --git a/storage/mroonga/build/cmake_modules/ReadFileList.cmake b/storage/mroonga/build/cmake_modules/ReadFileList.cmake
index 018587991..204f59f60 100644
--- a/storage/mroonga/build/cmake_modules/ReadFileList.cmake
+++ b/storage/mroonga/build/cmake_modules/ReadFileList.cmake
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 macro(read_file_list file_name output_variable)
   file(READ ${file_name} ${output_variable})
diff --git a/storage/mroonga/config.sh.in b/storage/mroonga/config.sh.in
index 32e88fd5c..4f02fb947 100644
--- a/storage/mroonga/config.sh.in
+++ b/storage/mroonga/config.sh.in
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 MYSQL_SOURCE_DIR="@MYSQL_SOURCE_DIR@"
 MYSQL_BUILD_DIR="@MYSQL_BUILD_DIR@"
diff --git a/storage/mroonga/ha_mroonga.cpp b/storage/mroonga/ha_mroonga.cpp
index 8b7dd52c8..cd6dc1a3d 100644
--- a/storage/mroonga/ha_mroonga.cpp
+++ b/storage/mroonga/ha_mroonga.cpp
@@ -17,7 +17,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_mysql.h"
diff --git a/storage/mroonga/ha_mroonga.hpp b/storage/mroonga/ha_mroonga.hpp
index 71ec40ee6..29ee48afe 100644
--- a/storage/mroonga/ha_mroonga.hpp
+++ b/storage/mroonga/ha_mroonga.hpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef HA_MROONGA_HPP_
diff --git a/storage/mroonga/lib/mrn_auto_increment_value_lock.cpp b/storage/mroonga/lib/mrn_auto_increment_value_lock.cpp
index 3bac5e31c..4baef1019 100644
--- a/storage/mroonga/lib/mrn_auto_increment_value_lock.cpp
+++ b/storage/mroonga/lib/mrn_auto_increment_value_lock.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_auto_increment_value_lock.hpp"
diff --git a/storage/mroonga/lib/mrn_auto_increment_value_lock.hpp b/storage/mroonga/lib/mrn_auto_increment_value_lock.hpp
index 8aabe6a8a..ed2f9f3c8 100644
--- a/storage/mroonga/lib/mrn_auto_increment_value_lock.hpp
+++ b/storage/mroonga/lib/mrn_auto_increment_value_lock.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_AUTO_INCREMENT_VALUE_LOCK_HPP_
diff --git a/storage/mroonga/lib/mrn_column_name.cpp b/storage/mroonga/lib/mrn_column_name.cpp
index e469ad2fd..986e07ac4 100644
--- a/storage/mroonga/lib/mrn_column_name.cpp
+++ b/storage/mroonga/lib/mrn_column_name.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_column_name.hpp b/storage/mroonga/lib/mrn_column_name.hpp
index ed8fb67e5..2dc5c920e 100644
--- a/storage/mroonga/lib/mrn_column_name.hpp
+++ b/storage/mroonga/lib/mrn_column_name.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/lib/mrn_condition_converter.cpp b/storage/mroonga/lib/mrn_condition_converter.cpp
index 6df601d62..777d3dcc5 100644
--- a/storage/mroonga/lib/mrn_condition_converter.cpp
+++ b/storage/mroonga/lib/mrn_condition_converter.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_condition_converter.hpp"
diff --git a/storage/mroonga/lib/mrn_condition_converter.hpp b/storage/mroonga/lib/mrn_condition_converter.hpp
index f8a48b620..bf10001d1 100644
--- a/storage/mroonga/lib/mrn_condition_converter.hpp
+++ b/storage/mroonga/lib/mrn_condition_converter.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_CONDITION_CONVERTER_HPP_
diff --git a/storage/mroonga/lib/mrn_context_pool.cpp b/storage/mroonga/lib/mrn_context_pool.cpp
index a26005b16..d99657539 100644
--- a/storage/mroonga/lib/mrn_context_pool.cpp
+++ b/storage/mroonga/lib/mrn_context_pool.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_context_pool.hpp"
diff --git a/storage/mroonga/lib/mrn_context_pool.hpp b/storage/mroonga/lib/mrn_context_pool.hpp
index 4c64933ac..22b4fed80 100644
--- a/storage/mroonga/lib/mrn_context_pool.hpp
+++ b/storage/mroonga/lib/mrn_context_pool.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_CONTEXT_POOL_HPP_
diff --git a/storage/mroonga/lib/mrn_count_skip_checker.cpp b/storage/mroonga/lib/mrn_count_skip_checker.cpp
index 216f3b7b7..76ac69b40 100644
--- a/storage/mroonga/lib/mrn_count_skip_checker.cpp
+++ b/storage/mroonga/lib/mrn_count_skip_checker.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_count_skip_checker.hpp"
diff --git a/storage/mroonga/lib/mrn_count_skip_checker.hpp b/storage/mroonga/lib/mrn_count_skip_checker.hpp
index b813ecdcc..8ea93cd3d 100644
--- a/storage/mroonga/lib/mrn_count_skip_checker.hpp
+++ b/storage/mroonga/lib/mrn_count_skip_checker.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_COUNT_SKIP_CHECKER_HPP_
diff --git a/storage/mroonga/lib/mrn_current_thread.hpp b/storage/mroonga/lib/mrn_current_thread.hpp
index 367057fce..ee494f768 100644
--- a/storage/mroonga/lib/mrn_current_thread.hpp
+++ b/storage/mroonga/lib/mrn_current_thread.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/lib/mrn_database.cpp b/storage/mroonga/lib/mrn_database.cpp
index 52e315e1b..12f0b3487 100644
--- a/storage/mroonga/lib/mrn_database.cpp
+++ b/storage/mroonga/lib/mrn_database.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_database.hpp b/storage/mroonga/lib/mrn_database.hpp
index c2c7e460b..cf9f9d4aa 100644
--- a/storage/mroonga/lib/mrn_database.hpp
+++ b/storage/mroonga/lib/mrn_database.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_DATABASE_HPP_
diff --git a/storage/mroonga/lib/mrn_database_manager.cpp b/storage/mroonga/lib/mrn_database_manager.cpp
index d52d2639d..149c556fc 100644
--- a/storage/mroonga/lib/mrn_database_manager.cpp
+++ b/storage/mroonga/lib/mrn_database_manager.cpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_database_manager.hpp b/storage/mroonga/lib/mrn_database_manager.hpp
index 877b7ca88..05383af61 100644
--- a/storage/mroonga/lib/mrn_database_manager.hpp
+++ b/storage/mroonga/lib/mrn_database_manager.hpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_DATABASE_MANAGER_HPP_
diff --git a/storage/mroonga/lib/mrn_database_repairer.cpp b/storage/mroonga/lib/mrn_database_repairer.cpp
index 47badbd8b..c0c4a90e8 100644
--- a/storage/mroonga/lib/mrn_database_repairer.cpp
+++ b/storage/mroonga/lib/mrn_database_repairer.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_database_repairer.hpp b/storage/mroonga/lib/mrn_database_repairer.hpp
index d46ae8380..b56c27446 100644
--- a/storage/mroonga/lib/mrn_database_repairer.hpp
+++ b/storage/mroonga/lib/mrn_database_repairer.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_DATABASE_REPAIRER_HPP_
diff --git a/storage/mroonga/lib/mrn_debug_column_access.cpp b/storage/mroonga/lib/mrn_debug_column_access.cpp
index ed7cacae9..5b89baba4 100644
--- a/storage/mroonga/lib/mrn_debug_column_access.cpp
+++ b/storage/mroonga/lib/mrn_debug_column_access.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_debug_column_access.hpp"
diff --git a/storage/mroonga/lib/mrn_debug_column_access.hpp b/storage/mroonga/lib/mrn_debug_column_access.hpp
index 1548b4d84..be8054efb 100644
--- a/storage/mroonga/lib/mrn_debug_column_access.hpp
+++ b/storage/mroonga/lib/mrn_debug_column_access.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_DEBUG_COLUMN_ACCESS_HPP_
diff --git a/storage/mroonga/lib/mrn_encoding.cpp b/storage/mroonga/lib/mrn_encoding.cpp
index f6f66758b..1cee6226a 100644
--- a/storage/mroonga/lib/mrn_encoding.cpp
+++ b/storage/mroonga/lib/mrn_encoding.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_encoding.hpp b/storage/mroonga/lib/mrn_encoding.hpp
index 9c3a65da0..f321ca687 100644
--- a/storage/mroonga/lib/mrn_encoding.hpp
+++ b/storage/mroonga/lib/mrn_encoding.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_ENCODING_HPP_
diff --git a/storage/mroonga/lib/mrn_external_lock.cpp b/storage/mroonga/lib/mrn_external_lock.cpp
index b266b6594..512a20a00 100644
--- a/storage/mroonga/lib/mrn_external_lock.cpp
+++ b/storage/mroonga/lib/mrn_external_lock.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_external_lock.hpp"
diff --git a/storage/mroonga/lib/mrn_external_lock.hpp b/storage/mroonga/lib/mrn_external_lock.hpp
index f78b436f6..9bf7e811a 100644
--- a/storage/mroonga/lib/mrn_external_lock.hpp
+++ b/storage/mroonga/lib/mrn_external_lock.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_EXTERNAL_LOCK_HPP_
diff --git a/storage/mroonga/lib/mrn_field_normalizer.cpp b/storage/mroonga/lib/mrn_field_normalizer.cpp
index d5b0b3ff4..bb9982f0f 100644
--- a/storage/mroonga/lib/mrn_field_normalizer.cpp
+++ b/storage/mroonga/lib/mrn_field_normalizer.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_field_normalizer.hpp"
diff --git a/storage/mroonga/lib/mrn_field_normalizer.hpp b/storage/mroonga/lib/mrn_field_normalizer.hpp
index 3a8556934..76083377d 100644
--- a/storage/mroonga/lib/mrn_field_normalizer.hpp
+++ b/storage/mroonga/lib/mrn_field_normalizer.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_FIELD_NORMALIZER_HPP_
diff --git a/storage/mroonga/lib/mrn_grn.hpp b/storage/mroonga/lib/mrn_grn.hpp
index f60fb7b61..f288f3e43 100644
--- a/storage/mroonga/lib/mrn_grn.hpp
+++ b/storage/mroonga/lib/mrn_grn.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_GRN_HPP_
diff --git a/storage/mroonga/lib/mrn_index_column_name.cpp b/storage/mroonga/lib/mrn_index_column_name.cpp
index 14e83ec8e..1a19b9d1f 100644
--- a/storage/mroonga/lib/mrn_index_column_name.cpp
+++ b/storage/mroonga/lib/mrn_index_column_name.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_index_column_name.hpp b/storage/mroonga/lib/mrn_index_column_name.hpp
index 5cd24623a..da3b96dbe 100644
--- a/storage/mroonga/lib/mrn_index_column_name.hpp
+++ b/storage/mroonga/lib/mrn_index_column_name.hpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_INDEX_COLUMN_NAME_HPP_
diff --git a/storage/mroonga/lib/mrn_index_table_name.cpp b/storage/mroonga/lib/mrn_index_table_name.cpp
index 1cc510ad7..62e67b3cd 100644
--- a/storage/mroonga/lib/mrn_index_table_name.cpp
+++ b/storage/mroonga/lib/mrn_index_table_name.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_index_table_name.hpp b/storage/mroonga/lib/mrn_index_table_name.hpp
index abaccfae2..80d2444b9 100644
--- a/storage/mroonga/lib/mrn_index_table_name.hpp
+++ b/storage/mroonga/lib/mrn_index_table_name.hpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_INDEX_TABLE_NAME_HPP_
diff --git a/storage/mroonga/lib/mrn_lock.cpp b/storage/mroonga/lib/mrn_lock.cpp
index f518bca9a..cfeb519b4 100644
--- a/storage/mroonga/lib/mrn_lock.cpp
+++ b/storage/mroonga/lib/mrn_lock.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_lock.hpp"
diff --git a/storage/mroonga/lib/mrn_lock.hpp b/storage/mroonga/lib/mrn_lock.hpp
index 2ec71370f..29337d8e8 100644
--- a/storage/mroonga/lib/mrn_lock.hpp
+++ b/storage/mroonga/lib/mrn_lock.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_LOCK_HPP_
diff --git a/storage/mroonga/lib/mrn_match_escalation_threshold_scope.cpp b/storage/mroonga/lib/mrn_match_escalation_threshold_scope.cpp
index c944b4a4b..62e630230 100644
--- a/storage/mroonga/lib/mrn_match_escalation_threshold_scope.cpp
+++ b/storage/mroonga/lib/mrn_match_escalation_threshold_scope.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_match_escalation_threshold_scope.hpp"
diff --git a/storage/mroonga/lib/mrn_match_escalation_threshold_scope.hpp b/storage/mroonga/lib/mrn_match_escalation_threshold_scope.hpp
index 352e6589f..1c5488f8f 100644
--- a/storage/mroonga/lib/mrn_match_escalation_threshold_scope.hpp
+++ b/storage/mroonga/lib/mrn_match_escalation_threshold_scope.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_MATCH_ESCALATION_THRESHOLD_SCOPE_HPP_
diff --git a/storage/mroonga/lib/mrn_multiple_column_key_codec.cpp b/storage/mroonga/lib/mrn_multiple_column_key_codec.cpp
index fa3c49a42..546e3f2e9 100644
--- a/storage/mroonga/lib/mrn_multiple_column_key_codec.cpp
+++ b/storage/mroonga/lib/mrn_multiple_column_key_codec.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_multiple_column_key_codec.hpp b/storage/mroonga/lib/mrn_multiple_column_key_codec.hpp
index 14003cda9..26de08cae 100644
--- a/storage/mroonga/lib/mrn_multiple_column_key_codec.hpp
+++ b/storage/mroonga/lib/mrn_multiple_column_key_codec.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_MULTIPLE_COLUMN_KEY_CODEC_HPP_
diff --git a/storage/mroonga/lib/mrn_mysqlservices.cpp b/storage/mroonga/lib/mrn_mysqlservices.cpp
index 693aa8607..d1fdd471e 100644
--- a/storage/mroonga/lib/mrn_mysqlservices.cpp
+++ b/storage/mroonga/lib/mrn_mysqlservices.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_operation.cpp b/storage/mroonga/lib/mrn_operation.cpp
index 2dab41108..e351945f2 100644
--- a/storage/mroonga/lib/mrn_operation.cpp
+++ b/storage/mroonga/lib/mrn_operation.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_operation.hpp b/storage/mroonga/lib/mrn_operation.hpp
index 899c92e95..9375cefbb 100644
--- a/storage/mroonga/lib/mrn_operation.hpp
+++ b/storage/mroonga/lib/mrn_operation.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_OPERATION_HPP_
diff --git a/storage/mroonga/lib/mrn_operations.cpp b/storage/mroonga/lib/mrn_operations.cpp
index 572907cdc..22a8901eb 100644
--- a/storage/mroonga/lib/mrn_operations.cpp
+++ b/storage/mroonga/lib/mrn_operations.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_operations.hpp b/storage/mroonga/lib/mrn_operations.hpp
index 762a5ee9d..803d9ab63 100644
--- a/storage/mroonga/lib/mrn_operations.hpp
+++ b/storage/mroonga/lib/mrn_operations.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_OPERATIONS_HPP_
diff --git a/storage/mroonga/lib/mrn_parameters_parser.cpp b/storage/mroonga/lib/mrn_parameters_parser.cpp
index bc075b070..a1db22bf3 100644
--- a/storage/mroonga/lib/mrn_parameters_parser.cpp
+++ b/storage/mroonga/lib/mrn_parameters_parser.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_parameters_parser.hpp"
diff --git a/storage/mroonga/lib/mrn_parameters_parser.hpp b/storage/mroonga/lib/mrn_parameters_parser.hpp
index a15371ca7..18ad769e5 100644
--- a/storage/mroonga/lib/mrn_parameters_parser.hpp
+++ b/storage/mroonga/lib/mrn_parameters_parser.hpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_PARAMETERS_PARSER_HPP_
diff --git a/storage/mroonga/lib/mrn_path_mapper.cpp b/storage/mroonga/lib/mrn_path_mapper.cpp
index 43f276f4e..0e867b889 100644
--- a/storage/mroonga/lib/mrn_path_mapper.cpp
+++ b/storage/mroonga/lib/mrn_path_mapper.cpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_path_mapper.hpp b/storage/mroonga/lib/mrn_path_mapper.hpp
index 9849d5e28..60e997175 100644
--- a/storage/mroonga/lib/mrn_path_mapper.hpp
+++ b/storage/mroonga/lib/mrn_path_mapper.hpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_PATH_MAPPER_HPP_
diff --git a/storage/mroonga/lib/mrn_query_parser.cpp b/storage/mroonga/lib/mrn_query_parser.cpp
index 4e05069a3..92387e259 100644
--- a/storage/mroonga/lib/mrn_query_parser.cpp
+++ b/storage/mroonga/lib/mrn_query_parser.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_query_parser.hpp"
diff --git a/storage/mroonga/lib/mrn_query_parser.hpp b/storage/mroonga/lib/mrn_query_parser.hpp
index 8b3c4084c..ba67394d8 100644
--- a/storage/mroonga/lib/mrn_query_parser.hpp
+++ b/storage/mroonga/lib/mrn_query_parser.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/lib/mrn_smart_bitmap.cpp b/storage/mroonga/lib/mrn_smart_bitmap.cpp
index 9dc91ff29..f8fd4f727 100644
--- a/storage/mroonga/lib/mrn_smart_bitmap.cpp
+++ b/storage/mroonga/lib/mrn_smart_bitmap.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_smart_bitmap.hpp"
diff --git a/storage/mroonga/lib/mrn_smart_bitmap.hpp b/storage/mroonga/lib/mrn_smart_bitmap.hpp
index dfb569560..5cc80df0f 100644
--- a/storage/mroonga/lib/mrn_smart_bitmap.hpp
+++ b/storage/mroonga/lib/mrn_smart_bitmap.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/lib/mrn_smart_grn_obj.cpp b/storage/mroonga/lib/mrn_smart_grn_obj.cpp
index 40ea9cb07..845a5fb15 100644
--- a/storage/mroonga/lib/mrn_smart_grn_obj.cpp
+++ b/storage/mroonga/lib/mrn_smart_grn_obj.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/lib/mrn_smart_grn_obj.hpp b/storage/mroonga/lib/mrn_smart_grn_obj.hpp
index 0a44a6ac9..9158145e1 100644
--- a/storage/mroonga/lib/mrn_smart_grn_obj.hpp
+++ b/storage/mroonga/lib/mrn_smart_grn_obj.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_SMART_GRN_OBJ_HPP_
diff --git a/storage/mroonga/lib/mrn_table_fields_offset_mover.cpp b/storage/mroonga/lib/mrn_table_fields_offset_mover.cpp
index 7f1dae266..f230900dd 100644
--- a/storage/mroonga/lib/mrn_table_fields_offset_mover.cpp
+++ b/storage/mroonga/lib/mrn_table_fields_offset_mover.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_table_fields_offset_mover.hpp"
diff --git a/storage/mroonga/lib/mrn_table_fields_offset_mover.hpp b/storage/mroonga/lib/mrn_table_fields_offset_mover.hpp
index a8d12be19..49311b8df 100644
--- a/storage/mroonga/lib/mrn_table_fields_offset_mover.hpp
+++ b/storage/mroonga/lib/mrn_table_fields_offset_mover.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/lib/mrn_time_converter.cpp b/storage/mroonga/lib/mrn_time_converter.cpp
index 3c6821c8d..9bb8d89a0 100644
--- a/storage/mroonga/lib/mrn_time_converter.cpp
+++ b/storage/mroonga/lib/mrn_time_converter.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_time_converter.hpp"
diff --git a/storage/mroonga/lib/mrn_time_converter.hpp b/storage/mroonga/lib/mrn_time_converter.hpp
index 9d297f92e..2f7f00f53 100644
--- a/storage/mroonga/lib/mrn_time_converter.hpp
+++ b/storage/mroonga/lib/mrn_time_converter.hpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_TIME_CONVERTER_HPP_
diff --git a/storage/mroonga/lib/mrn_value_decoder.cpp b/storage/mroonga/lib/mrn_value_decoder.cpp
index c01b01718..3b2eed67f 100644
--- a/storage/mroonga/lib/mrn_value_decoder.cpp
+++ b/storage/mroonga/lib/mrn_value_decoder.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_value_decoder.hpp"
diff --git a/storage/mroonga/lib/mrn_value_decoder.hpp b/storage/mroonga/lib/mrn_value_decoder.hpp
index fe651f574..7919a88ee 100644
--- a/storage/mroonga/lib/mrn_value_decoder.hpp
+++ b/storage/mroonga/lib/mrn_value_decoder.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_VALUE_DECODER_HPP_
diff --git a/storage/mroonga/lib/mrn_windows.hpp b/storage/mroonga/lib/mrn_windows.hpp
index f6ae44902..cfe35b41a 100644
--- a/storage/mroonga/lib/mrn_windows.hpp
+++ b/storage/mroonga/lib/mrn_windows.hpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_WINDOWS_HPP_
diff --git a/storage/mroonga/mrn_constants.hpp b/storage/mroonga/mrn_constants.hpp
index b11ebe8bd..9f21eb321 100644
--- a/storage/mroonga/mrn_constants.hpp
+++ b/storage/mroonga/mrn_constants.hpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_CONSTANTS_HPP_
diff --git a/storage/mroonga/mrn_err.h b/storage/mroonga/mrn_err.h
index 95b1b047c..46eb24ccf 100644
--- a/storage/mroonga/mrn_err.h
+++ b/storage/mroonga/mrn_err.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_ERR_H_
diff --git a/storage/mroonga/mrn_macro.hpp b/storage/mroonga/mrn_macro.hpp
index b20fdb4c1..56576983a 100644
--- a/storage/mroonga/mrn_macro.hpp
+++ b/storage/mroonga/mrn_macro.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_MACRO_HPP_
diff --git a/storage/mroonga/mrn_mysql.h b/storage/mroonga/mrn_mysql.h
index 086d1ea2e..c9be543de 100644
--- a/storage/mroonga/mrn_mysql.h
+++ b/storage/mroonga/mrn_mysql.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_MYSQL_H_
diff --git a/storage/mroonga/mrn_mysql_compat.h b/storage/mroonga/mrn_mysql_compat.h
index d33a8c88d..8eb55b3e9 100644
--- a/storage/mroonga/mrn_mysql_compat.h
+++ b/storage/mroonga/mrn_mysql_compat.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_MYSQL_COMPAT_H_
diff --git a/storage/mroonga/mrn_table.cpp b/storage/mroonga/mrn_table.cpp
index c20f688fa..8653092e4 100644
--- a/storage/mroonga/mrn_table.cpp
+++ b/storage/mroonga/mrn_table.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "mrn_mysql.h"
diff --git a/storage/mroonga/mrn_table.hpp b/storage/mroonga/mrn_table.hpp
index 0066fc23f..66ecd2cec 100644
--- a/storage/mroonga/mrn_table.hpp
+++ b/storage/mroonga/mrn_table.hpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_TABLE_HPP_
diff --git a/storage/mroonga/mrn_variables.hpp b/storage/mroonga/mrn_variables.hpp
index 0866403e5..f55b1fd35 100644
--- a/storage/mroonga/mrn_variables.hpp
+++ b/storage/mroonga/mrn_variables.hpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_VARIABLES_HPP_
diff --git a/storage/mroonga/mrn_version.h.in b/storage/mroonga/mrn_version.h.in
index dfa0e2dff..edeecb635 100644
--- a/storage/mroonga/mrn_version.h.in
+++ b/storage/mroonga/mrn_version.h.in
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef MRN_VERSION_H_
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_64bit.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_64bit.inc
index 06b5361f3..9d1ee1d5e 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_64bit.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_64bit.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 disable_query_log;
 disable_warnings;
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_freebsd.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_freebsd.inc
index 7449724b5..51bbe572b 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_freebsd.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_freebsd.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $version_compile_os_freebsd=
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_ha_mroonga_so.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_ha_mroonga_so.inc
index 7063c1d1b..fef9de965 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_ha_mroonga_so.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_ha_mroonga_so.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_windows.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_embedded.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_embedded.inc
index f608f5f22..926620eb5 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_embedded.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_embedded.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $libgroonga_embedded = `SELECT @@mroonga_libgroonga_embedded;`;
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_lz4.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_lz4.inc
index a61058b92..2acfb1fb5 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_lz4.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_lz4.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $libgroonga_support_lz4 =
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_zlib.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_zlib.inc
index 8f79d05af..e9b8dee0e 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_zlib.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_zlib.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $libgroonga_support_zlib =
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_zstd.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_zstd.inc
index 1038fe9ee..bdaf5cdf6 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_zstd.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_libgroonga_support_zstd.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $libgroonga_support_zstd =
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_mariadb.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_mariadb.inc
index 50ee66d64..5e4a986f7 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_mariadb.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_mariadb.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $mariadb = `SELECT LOCATE('MariaDB', @@global.version) > 0`;
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_osx.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_osx.inc
index 2808e107b..facfcc929 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_osx.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_osx.inc
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $version_compile_os_osx=`SELECT IF(@@version_compile_os like 'osx%', 1, 0);`;
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_solaris.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_solaris.inc
index cad909d02..7e942c092 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_solaris.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_solaris.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $version_compile_os_solaris=
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_strict_sql_mode.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_strict_sql_mode.inc
index 88dfd6602..8a4ac6c98 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_strict_sql_mode.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_strict_sql_mode.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $strict_sql_mode =
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_version.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_version.inc
index aaf4f8dac..8b5ea402d 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_version.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_version.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $version_major_minor =
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_windows.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_windows.inc
index 179e03296..e9fad8280 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/check_windows.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/check_windows.inc
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 let $VERSION_COMPILE_OS_WIN=`SELECT IF(@@version_compile_os like 'Win%', 1, 0)`;
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_fractional_seconds.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_fractional_seconds.inc
index 88f8594c3..824e960ae 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_fractional_seconds.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_fractional_seconds.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_mariadb.inc
 --source ../../include/mroonga/check_version.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_freebsd.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_freebsd.inc
index 3daf0e7c3..1a93d014f 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_freebsd.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_freebsd.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_freebsd.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_groonga_plugin_register.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_groonga_plugin_register.inc
index 19b52287c..dafbc3449 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_groonga_plugin_register.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_groonga_plugin_register.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_libgroonga_embedded.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mariadb.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mariadb.inc
index 5f38c66c2..df30270a2 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mariadb.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mariadb.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_mariadb.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mariadb_10_2_or_later.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mariadb_10_2_or_later.inc
index e11c15ec7..6cb565abf 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mariadb_10_2_or_later.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mariadb_10_2_or_later.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga.inc
index b88839e55..98d387b00 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga.inc
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_ha_mroonga_so.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga_deinit.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga_deinit.inc
index bd5242c8d..1b4e85751 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga_deinit.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga_deinit.inc
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 disable_query_log;
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga_helper.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga_helper.inc
index 0d93ce03b..83d748673 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga_helper.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mroonga_helper.inc
@@ -12,6 +12,6 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 let MYSQLD_DATADIR= `select @@datadir`;
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mysql.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mysql.inc
index f3c212920..90e98c56f 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mysql.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mysql.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_mariadb.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mysql_5_7_or_later.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mysql_5_7_or_later.inc
index cf638a9c7..d354b1518 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mysql_5_7_or_later.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_mysql_5_7_or_later.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_signed_64bit_time_t.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_signed_64bit_time_t.inc
index 90eca856e..d19cca5a0 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_signed_64bit_time_t.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_signed_64bit_time_t.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_64bit.inc
 --source ../../include/mroonga/check_osx.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_solaris.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_solaris.inc
index fc89e733f..a4ab246c2 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_solaris.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_solaris.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_solaris.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_strict_sql_mode.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_strict_sql_mode.inc
index 678ba6ab4..a490b7e88 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_strict_sql_mode.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_strict_sql_mode.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_strict_sql_mode.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_10_0.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_10_0.inc
index 356b22957..260e5d3cb 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_10_0.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_10_0.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_10_0_or_later.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_10_0_or_later.inc
index 1a8883f04..35f8fb7ad 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_10_0_or_later.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_10_0_or_later.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_5.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_5.inc
index b1708abe1..a04fe5609 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_5.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_5.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_6.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_6.inc
index cfa3c7ac6..d23f23e56 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_6.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_6.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_6_or_later.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_6_or_later.inc
index b9481afde..db1ac8aae 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_6_or_later.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_6_or_later.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_7.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_7.inc
index 4b65def94..80f15c56d 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_7.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_7.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_7_or_later.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_7_or_later.inc
index 1b18b5749..f5898b0b9 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_7_or_later.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/have_version_5_7_or_later.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/load_mroonga_functions.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/load_mroonga_functions.inc
index 9ca1b0d11..cbcf659f4 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/load_mroonga_functions.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/load_mroonga_functions.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_ha_mroonga_so.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_freebsd.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_freebsd.inc
index bf0bed984..51f783e73 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_freebsd.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_freebsd.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_freebsd.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_0_or_later.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_0_or_later.inc
index 5fd84f1b2..67d6251be 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_0_or_later.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_0_or_later.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_1.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_1.inc
index b954d1c75..7e4c1279c 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_1.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_1.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_1_or_earlier.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_1_or_earlier.inc
index 2af6f2adb..506beeb96 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_1_or_earlier.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_1_or_earlier.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_2_or_later.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_2_or_later.inc
index 5f67748a1..d40c4ddd5 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_2_or_later.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_10_2_or_later.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_5_5.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_5_5.inc
index 0695b96fa..974851f73 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_5_5.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mariadb_5_5.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_5.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_5.inc
index 633450e9c..7446ffa54 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_5.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_5.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_7.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_7.inc
index e984d60f7..6eaa60a44 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_7.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_7.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_7_or_later.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_7_or_later.inc
index 075e60441..599831e31 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_7_or_later.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_mysql_5_7_or_later.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_version.inc
 --source ../../include/mroonga/check_mariadb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_osx.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_osx.inc
index c29795892..2c1da974a 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_osx.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_osx.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_osx.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_signed_64bit_time_t.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_signed_64bit_time_t.inc
index 1ba1d09be..cc06b5291 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_signed_64bit_time_t.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_signed_64bit_time_t.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_64bit.inc
 --source ../../include/mroonga/check_osx.inc
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_solaris.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_solaris.inc
index 6bf742249..b79188e4d 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_solaris.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_solaris.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_solaris.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_strict_sql_mode.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_strict_sql_mode.inc
index fc0d665b3..8bb15b03c 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_strict_sql_mode.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/skip_strict_sql_mode.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_strict_sql_mode.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_lz4.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_lz4.inc
index 249c6b59b..40fc59786 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_lz4.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_lz4.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_libgroonga_support_lz4.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_zlib.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_zlib.inc
index fd8b9e998..9d0ed6c11 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_zlib.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_zlib.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_libgroonga_support_zlib.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_zstd.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_zstd.inc
index 0e7ca4460..d09495bd3 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_zstd.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/support_libgroonga_zstd.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_libgroonga_support_zstd.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/unload_mroonga_functions.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/unload_mroonga_functions.inc
index cbe345a7e..e72baac25 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/unload_mroonga_functions.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/unload_mroonga_functions.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --disable_query_log
 DROP FUNCTION last_insert_grn_id;
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_lz4.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_lz4.inc
index 210058edc..f82fc3283 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_lz4.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_lz4.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_libgroonga_support_lz4.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_zlib.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_zlib.inc
index cb00da15a..c93038b0b 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_zlib.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_zlib.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_libgroonga_support_zlib.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_zstd.inc b/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_zstd.inc
index 037e66a9e..b1c081e34 100644
--- a/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_zstd.inc
+++ b/storage/mroonga/mysql-test/mroonga/include/mroonga/unsupport_libgroonga_zstd.inc
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/check_libgroonga_support_zstd.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_after.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_after.test
index 4e486b83c..0e348f26b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_after.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_after.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_first.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_first.test
index 5912ed3fc..4375a6f1f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_first.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_first.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_flags_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_flags_comment.test
index 18fa2f3ef..ec9e3c9d4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_flags_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_flags_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_flags_parameter.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_flags_parameter.test
index f84c931c0..e3b7df72c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_flags_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_flags_parameter.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_groonga_type_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_groonga_type_comment.test
index d49e84cd5..964426b44 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_groonga_type_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_groonga_type_comment.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_groonga_type_parameter.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_groonga_type_parameter.test
index cc208a208..0f92c024b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_groonga_type_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_groonga_type_parameter.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source ../../include/mroonga/have_version_5_6_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multibyte_cp932.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multibyte_cp932.test
index 188361272..0516186ba 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multibyte_cp932.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multibyte_cp932.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multibyte_utf8.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multibyte_utf8.test
index 88ef12498..0ed92333e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multibyte_utf8.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multibyte_utf8.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multiple.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multiple.test
index 1f4fa4663..a76869aca 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multiple.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_multiple.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_plain.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_plain.test
index fac1f045d..3e21daab3 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_plain.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_plain.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_type_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_type_comment.test
index c19835814..54fb986a2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_type_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_column_type_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_token_filters_one_token_filter.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_token_filters_one_token_filter.test
index 1440c0b78..8a63885a8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_token_filters_one_token_filter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_token_filters_one_token_filter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_groonga_plugin_register.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_unique_duplicated.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_unique_duplicated.test
index 53d4b21ff..bfc527c9b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_unique_duplicated.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_unique_duplicated.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_unique_multiple_column_duplicated.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_unique_multiple_column_duplicated.test
index 7bb65327f..dccba803c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_unique_multiple_column_duplicated.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_index_unique_multiple_column_duplicated.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_key_multiple_column_with_data.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_key_multiple_column_with_data.test
index 7e584131b..a7d9c4a47 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_key_multiple_column_with_data.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_key_multiple_column_with_data.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_primary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_primary_key.test
index 7ae72d672..a1cf13c27 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_add_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_comment_not_for_mroonga.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_comment_not_for_mroonga.test
index 119099c43..3f7aea2a2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_comment_not_for_mroonga.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_comment_not_for_mroonga.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_have_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_have_index.test
index c01f7a957..0fb3f1761 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_have_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_have_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_after.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_after.test
index e680e6e20..70cf4d149 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_after.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_after.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_first.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_first.test
index 20624ad95..b959d30ea 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_first.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_first.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_multiple.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_multiple.test
index 7d982ae42..5de6368b0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_multiple.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_multiple.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_no_order.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_no_order.test
index 2394be863..3e02a6448 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_no_order.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_column_rename_no_order.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_engine_decimal.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_engine_decimal.test
index e8e0bd416..d8775f07b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_engine_decimal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_engine_decimal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_engine_fulltext_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_engine_fulltext_index.test
index f8c4dfa34..b9dfdddae 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_engine_fulltext_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_engine_fulltext_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_token_filter.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_token_filter.test
index c1bf17ba4..8efaad2a4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_token_filter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_change_token_filter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_groonga_plugin_register.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_create_fulltext.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_create_fulltext.test
index d1f830826..ed3d4a132 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_create_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_create_fulltext.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_table.test
index 17b86b473..83ce2ca78 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_ujis.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_ujis.test
index 028fb33f1..f612272f2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_ujis.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_ujis.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_utf8.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_utf8.test
index 00015dcfa..999415b12 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_utf8.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_utf8.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_multiple_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_multiple_column.test
index 5760887e7..d0e7e0e83 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_multiple_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_multiple_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_normal.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_normal.test
index 69dbe23cc..e8140ff57 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_normal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_normal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_primary.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_primary.test
index dce2ea513..390afd984 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_primary.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_primary.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_truncate.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_truncate.test
index 00f6d30a5..8b3e09283 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_truncate.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_truncate.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_updating.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_updating.test
index 020579106..94a3de4b1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_updating.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_updating.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_column_multiple.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_column_multiple.test
index 32da1b3a5..d640249da 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_column_multiple.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_column_multiple.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_column_one.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_column_one.test
index ec5735f06..9544eb90a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_column_one.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_column_one.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_key_multiple_column_with_data.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_key_multiple_column_with_data.test
index eb80d3036..8596e18fa 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_key_multiple_column_with_data.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_key_multiple_column_with_data.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_primary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_primary_key.test
index da06f680d..e12e5b8dd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_drop_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext.test
index 08d84f7b5..e7f9f5489 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_table.test
index 3309f60a3..424e51ada 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_ujis.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_ujis.test
index 2f3b61efc..c5889cafe 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_ujis.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_ujis.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_utf8.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_utf8.test
index 08d84f7b5..e7f9f5489 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_utf8.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_utf8.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_multiple_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_multiple_column.test
index 1d073dc64..7ae83d847 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_multiple_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_multiple_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_normal.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_normal.test
index 870b1bb60..012fae91f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_normal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_normal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_primary.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_primary.test
index 34ee3fcd2..9817aa94e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_primary.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_primary.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_no_primary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_no_primary_key.test
index b34941184..41fae0e7f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_no_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_no_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_normal.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_normal.test
index 6316eac4f..dab39fc8e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_normal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_normal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_table.test
index f4facdcb7..fd2a60089 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_add_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_drop_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_drop_table.test
index 165b71a86..d59e24f47 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_drop_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_fulltext_drop_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_after.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_after.test
index ce1e52efa..fb967163a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_after.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_after.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_first.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_first.test
index 22c6b59e0..86d22e3ce 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_first.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_first.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_no_order.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_no_order.test
index eed22d066..d39b4fc90 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_no_order.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_modify_column_no_order.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_recreate_anonymous_index_at_once.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_recreate_anonymous_index_at_once.test
index 77d0bc741..93210e13d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_recreate_anonymous_index_at_once.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_recreate_anonymous_index_at_once.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_rename_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_rename_table.test
index 6c15161ed..1102144bd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_rename_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_rename_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_spatial.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_spatial.test
index 09e0ea8a1..2581fa7c4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_spatial.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_spatial.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source include/have_geometry.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_TODO_SPLIT_ME.test
index f452e402d..34a517f95 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_TODO_SPLIT_ME.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_table_param.test b/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_table_param.test
index 2d0840ce9..f5de201dc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_table_param.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_table_param.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_text.test b/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_text.test
index 2d854ec35..a23e09dec 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_text.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/auto_increment_text.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/binlog_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/storage/t/binlog_TODO_SPLIT_ME.test
index eff9259a7..281617e31 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/binlog_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/binlog_TODO_SPLIT_ME.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_log_bin.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/check_table_broken.test b/storage/mroonga/mysql-test/mroonga/storage/t/check_table_broken.test
index 77271b4f1..d438a912a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/check_table_broken.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/check_table_broken.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/check_table_not_broken.test b/storage/mroonga/mysql-test/mroonga/storage/t/check_table_not_broken.test
index 1460732b2..c3f24494e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/check_table_not_broken.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/check_table_not_broken.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_general_ci_french.test b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_general_ci_french.test
index 101c16e96..1139d5eb9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_general_ci_french.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_general_ci_french.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_520_ci_french.test b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_520_ci_french.test
index 2c28edb33..e0480fb5c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_520_ci_french.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_520_ci_french.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_6_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_520_ci_japanese.test b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_520_ci_japanese.test
index 1d9998eee..a23126c32 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_520_ci_japanese.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_520_ci_japanese.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_6_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_ci_french.test b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_ci_french.test
index f69e5594e..2fbf5da88 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_ci_french.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_ci_french.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_ci_japanese.test b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_ci_japanese.test
index 5d48a1a62..bc598fea5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_ci_japanese.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/collation_utf8_unicode_ci_japanese.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_comment_index_not_for_mroonga.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_comment_index_not_for_mroonga.test
index 42c5e1d22..c21ce8142 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_comment_index_not_for_mroonga.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_comment_index_not_for_mroonga.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_comment_normal_not_for_mroonga.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_comment_normal_not_for_mroonga.test
index 6761869d4..f0d4aebfd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_comment_normal_not_for_mroonga.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_comment_normal_not_for_mroonga.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_date_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_date_with_index.test
index 8645a2d7e..ef53212b7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_date_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_date_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_date_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_date_without_index.test
index 21dcf156e..63a2a39d9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_date_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_date_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_date_zero_date.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_date_zero_date.test
index 552a2dfb6..d8f0dd447 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_date_zero_date.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_date_zero_date.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_strict_sql_mode.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_2038.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_2038.test
index bf08b878e..bff42d43d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_2038.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_2038.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_before_unix_epoch.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_before_unix_epoch.test
index 71ee07139..3d2b27159 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_before_unix_epoch.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_before_unix_epoch.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_max.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_max.test
index 5b25cf38e..c0e7ee984 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_max.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_max.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_out_of_range.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_out_of_range.test
index e93e38cd3..36c7d371e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_out_of_range.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_32bit_out_of_range.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_2038.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_2038.test
index af04133ef..9c2a4d922 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_2038.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_2038.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_before_unix_epoch.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_before_unix_epoch.test
index a3e355cc1..942a8cc5a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_before_unix_epoch.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_before_unix_epoch.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_max.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_max.test
index 3f4bb7b1e..e1df88120 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_max.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_max.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_strict_sql_mode_out_of_range.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_strict_sql_mode_out_of_range.test
index 47266e017..ba01e892a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_strict_sql_mode_out_of_range.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_strict_sql_mode_out_of_range.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_version_5_5_out_of_range.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_version_5_5_out_of_range.test
index 23ddc373a..e31155054 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_version_5_5_out_of_range.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_version_5_5_out_of_range.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_version_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_version_5_6_or_later_out_of_range.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_version_5_6_or_later_out_of_range.test
index 55457c167..cfd370aee 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_version_5_6_or_later_out_of_range.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_64bit_version_5_6_or_later_out_of_range.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_fractional_seconds_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_fractional_seconds_with_index.test
index 94eb237f1..7cf8be3f8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_fractional_seconds_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_fractional_seconds_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_fractional_seconds.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_fractional_seconds_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_fractional_seconds_without_index.test
index 5dc033f1c..2b3865f38 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_fractional_seconds_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_fractional_seconds_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_fractional_seconds.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_freebsd_before_unix_epoch.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_freebsd_before_unix_epoch.test
index d66ed5617..cebffc7e8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_freebsd_before_unix_epoch.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_freebsd_before_unix_epoch.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_freebsd.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mariadb_10_2_or_later_zero_date.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mariadb_10_2_or_later_zero_date.test
index 3382a1c1e..6cd65be57 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mariadb_10_2_or_later_zero_date.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mariadb_10_2_or_later_zero_date.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb_10_2_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mariadb_10_2_or_later_zero_month_day.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mariadb_10_2_or_later_zero_month_day.test
index f95b0947f..8639e9ff2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mariadb_10_2_or_later_zero_month_day.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mariadb_10_2_or_later_zero_month_day.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb_10_2_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mysql_5_7_or_later_zero_date.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mysql_5_7_or_later_zero_date.test
index 2b6a05915..e4ed57dcf 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mysql_5_7_or_later_zero_date.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mysql_5_7_or_later_zero_date.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mysql_5_7_or_later_zero_month_day.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mysql_5_7_or_later_zero_month_day.test
index 4419231a9..e2fd01b19 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mysql_5_7_or_later_zero_month_day.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_mysql_5_7_or_later_zero_month_day.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_null.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_null.test
index fcea54313..e51a66235 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_null.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_null.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_with_index.test
index bf415b177..f93bffd9b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_without_index.test
index c6c9edec5..0df1be262 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_zero_date.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_zero_date.test
index c5107e6c8..b0c0e11ab 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_zero_date.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_zero_date.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/skip_strict_sql_mode.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_zero_month_day.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_zero_month_day.test
index 12b586241..f3ec94656 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_zero_month_day.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_datetime_zero_month_day.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_strict_sql_mode.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_fractional_seconds_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_fractional_seconds_with_index.test
index 03cb6b64d..cf2010889 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_fractional_seconds_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_fractional_seconds_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_fractional_seconds_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_fractional_seconds_without_index.test
index ca59d052e..83fd75643 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_fractional_seconds_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_fractional_seconds_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_with_index.test
index 14303454a..315846ccd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_without_index.test
index ef8609a78..6924885f2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_decimal_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_enum_less_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_enum_less_with_index.test
index 6a7a5bcc3..ae85ae7ab 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_enum_less_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_enum_less_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_enum_many_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_enum_many_with_index.test
index 92eabc11d..91daafed4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_enum_many_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_enum_many_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_add_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_add_column.test
index 8561688db..b50debddb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_add_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_add_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_delete.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_delete.test
index a54ee0e26..f8e658f00 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_drop_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_drop_column.test
index 0bd963874..342f954b4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_drop_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_drop_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_insert.test
index 841c2f444..009b519a6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_reindex.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_reindex.test
index 725c32384..18c624a3a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_reindex.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_reindex.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_update.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_update.test
index 08969fa57..07b987ce2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_update.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_stored_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_add_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_add_column.test
index 80437aa0e..ffbe24150 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_add_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_add_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_delete.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_delete.test
index c36913cec..8e110a234 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_drop_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_drop_column.test
index 0946b1f30..2b723d464 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_drop_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_drop_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_insert.test
index 90cb52476..7cb6895af 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mariadb_10_2_or_later_add_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mariadb_10_2_or_later_add_index.test
index 340c5e70f..ca9bb7a41 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mariadb_10_2_or_later_add_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mariadb_10_2_or_later_add_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb_10_2_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mariadb_10_2_or_later_create_table_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mariadb_10_2_or_later_create_table_with_index.test
index 480cc1f7b..49bc21c93 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mariadb_10_2_or_later_create_table_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mariadb_10_2_or_later_create_table_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb_10_2_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mysql_5_7_or_later_add_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mysql_5_7_or_later_add_index.test
index 7c953d30d..c624566c2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mysql_5_7_or_later_add_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_mysql_5_7_or_later_add_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_update.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_update.test
index 68d97f990..76d80420e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_update.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_generated_virtual_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_1_or_earlier.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga__id__id.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga__id__id.test
index 39031cabf..17a69b3e9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga__id__id.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga__id__id.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga__id_invalid_id.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga__id_invalid_id.test
index 6b4c637a3..1d30d0ec7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga__id_invalid_id.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga__id_invalid_id.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_fulltext_other_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_fulltext_other_table.test
index 4d4a0f5a6..d171d062d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_fulltext_other_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_fulltext_other_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_fulltext_vector_other_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_fulltext_vector_other_table.test
index b96fa9b03..c23f35eef 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_fulltext_vector_other_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_fulltext_vector_other_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_int_other_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_int_other_table.test
index d3caeba70..9e128a005 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_int_other_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_index_int_other_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_reference.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_reference.test
index 59471f7e9..359dbbda9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_reference.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_reference.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_lz4.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_lz4.test
index e0ab1ad4c..f03622411 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_lz4.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_lz4.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/support_libgroonga_lz4.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_zlib.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_zlib.test
index 7d5665b04..612b2d6a0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_zlib.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_zlib.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/support_libgroonga_zlib.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_zstd.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_zstd.test
index 99ac2cdbb..74b79210a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_zstd.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_support_zstd.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/support_libgroonga_zstd.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_lz4.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_lz4.test
index 4d0a80ad5..73f154776 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_lz4.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_lz4.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/unsupport_libgroonga_lz4.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_zlib.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_zlib.test
index bbaaa51be..6d97eb5a5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_zlib.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_zlib.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/unsupport_libgroonga_zlib.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_zstd.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_zstd.test
index 6b5eb5cd8..b9a5dce55 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_zstd.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_unsupport_zstd.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/unsupport_libgroonga_zstd.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_with_not_for_mroonga_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_with_not_for_mroonga_comment.test
index e18f17b7c..bd5894f61 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_with_not_for_mroonga_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_scalar_with_not_for_mroonga_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_vector_order_by_with_function.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_vector_order_by_with_function.test
index 3675db38c..1787c1110 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_vector_order_by_with_function.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_vector_order_by_with_function.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_vector_reference.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_vector_reference.test
index 9b6c8d301..29ccc4e8a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_vector_reference.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_groonga_vector_reference.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_int_with_index_zero_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_int_with_index_zero_value.test
index 038d29c9e..758f01cfc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_int_with_index_zero_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_int_with_index_zero_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_json_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_json_insert.test
index 9bba55b0b..9e031a3a9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_json_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_json_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_7_or_later.inc
 --source ../../include/mroonga/skip_mariadb_10_0_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_multibyte_cp932.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_multibyte_cp932.test
index f7eae384d..be26045ab 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_multibyte_cp932.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_multibyte_cp932.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_multibyte_utf8.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_multibyte_utf8.test
index 6d6c44ceb..efbaf31fa 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_multibyte_utf8.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_multibyte_utf8.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_16_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_16_with_index.test
index a4e229dd1..c1f7fa3df 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_16_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_16_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_24_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_24_with_index.test
index 5d7b8c4df..0b02b5e6b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_24_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_24_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_32_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_32_with_index.test
index 3391fb7b7..2dd39e8d1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_32_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_32_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_64_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_64_with_index.test
index 219bb085c..117be8469 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_64_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_64_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_8_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_8_with_index.test
index 79d56f4e8..001f4a4a5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_set_8_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_set_8_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_bigint_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_bigint_with_index.test
index a031cab87..4587be4d3 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_bigint_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_bigint_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_int_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_int_with_index.test
index 287d0407b..18f52ac08 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_int_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_int_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_mediumint_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_mediumint_with_index.test
index 704cc4d41..0d37290f5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_mediumint_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_mediumint_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_smallint_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_smallint_with_index.test
index 2200efc71..ba6b43881 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_smallint_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_smallint_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_tinyint_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_tinyint_with_index.test
index 33f07c474..5978564a9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_tinyint_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_signed_tinyint_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_time_fractional_seconds_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_time_fractional_seconds_with_index.test
index c8e6dddf4..05afa7454 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_time_fractional_seconds_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_time_fractional_seconds_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_fractional_seconds.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_time_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_time_with_index.test
index e950411cb..b6de04049 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_time_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_time_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_timestamp_fractional_seconds_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_timestamp_fractional_seconds_with_index.test
index 19dadc2c2..c4f1980a1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_timestamp_fractional_seconds_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_timestamp_fractional_seconds_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mariadb_5_5.inc
 --source ../../include/mroonga/have_fractional_seconds.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_timestamp_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_timestamp_with_index.test
index cc063faa6..1410b4c39 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_timestamp_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_timestamp_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_tinyint_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_tinyint_without_index.test
index de0cbedf0..08884ae5f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_tinyint_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_tinyint_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_bigint_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_bigint_with_index.test
index b7cb86943..dee9bcb2c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_bigint_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_bigint_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_bigint_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_bigint_without_index.test
index 912f86fb7..be97f2dae 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_bigint_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_bigint_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_int_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_int_with_index.test
index f20348bee..52c98463d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_int_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_int_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_mediumint_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_mediumint_with_index.test
index 44fb656a9..940695ca1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_mediumint_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_mediumint_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_smallint_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_smallint_with_index.test
index c98569d19..2e9414495 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_smallint_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_smallint_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_tinyint_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_tinyint_with_index.test
index 9414eee1f..72d436b10 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_tinyint_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_unsigned_tinyint_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_year_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_year_with_index.test
index 82004e197..799fcb29b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_year_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_year_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/column_year_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/column_year_without_index.test
index e7530cec0..49aa1eafc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/column_year_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/column_year_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/count_star.test b/storage/mroonga/mysql-test/mroonga/storage/t/count_star.test
index f57d40fd5..f20499efd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/count_star.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/count_star.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_database_name_slash.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_database_name_slash.test
index 191346935..52a1162b7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_database_name_slash.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_database_name_slash.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_TODO_SPLIT_ME.test
index 1f7bbf12b..51eb67ec0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_TODO_SPLIT_ME.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_flags_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_flags_comment.test
index 908a2fcbd..6bafebd8b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_flags_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_flags_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_flags_parameter.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_flags_parameter.test
index fc66ae12f..3baa576a9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_flags_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_flags_parameter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_comment.test
index b39da499d..28f0f2149 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_nonexistent.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_nonexistent.test
index 0350a299b..e27f169ba 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_nonexistent.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_nonexistent.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_parameter.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_parameter.test
index d208e62e8..a66428728 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_groonga_type_parameter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source ../../include/mroonga/have_version_5_6_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_type_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_type_comment.test
index 77965a70c..bd4b268b0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_type_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_type_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_type_nonexistent.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_type_nonexistent.test
index 46becfdc2..08792d20a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_type_nonexistent.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_column_type_nonexistent.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_comment_normal.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_comment_normal.test
index aecfab1f6..8badcf842 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_comment_normal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_comment_normal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_default_tokenizer.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_default_tokenizer.test
index c5fa91c5c..ade4099a8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_default_tokenizer.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_default_tokenizer.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_comment.test
index 568c9ac78..e0273d171 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_comment.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_index_medium.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_index_medium.test
index df509ed0d..d1abc4a0d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_index_medium.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_index_medium.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_index_small.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_index_small.test
index fc37e28eb..a519eca40 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_index_small.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_index_small.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_none.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_none.test
index cc54ab34a..b5615ff4b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_none.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_none.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_parameter.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_parameter.test
index 0c87494e3..5524c7ca0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_flags_parameter.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_index_flags_none.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_index_flags_none.test
index 700564354..3852ebd10 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_index_flags_none.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_index_flags_none.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_index_flags_with_position_and_with_weight.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_index_flags_with_position_and_with_weight.test
index 4700c280d..f557c5f36 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_index_flags_with_position_and_with_weight.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_index_flags_with_position_and_with_weight.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_comment.test
index 5251bf984..33d1bfda4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_fulltext_index_bin.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_fulltext_index_bin.test
index 2815b2850..7b3673aec 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_fulltext_index_bin.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_fulltext_index_bin.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_index_bin.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_index_bin.test
index 5270372e3..4997dbf75 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_index_bin.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_index_bin.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_no_utf8_charset_with_utf8_normalizer.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_no_utf8_charset_with_utf8_normalizer.test
index 2d7ff6643..5e7c67fe6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_no_utf8_charset_with_utf8_normalizer.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_no_utf8_charset_with_utf8_normalizer.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_none.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_none.test
index 15045b546..9bffd2c3a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_none.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_none.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_parameter.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_parameter.test
index 16b76e0ec..489e82ee4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_normalizer_parameter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_comment.test
index c712c2ed0..82d68ae54 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_default.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_default.test
index e247e3d17..75ee18822 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_default.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_default.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_off.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_off.test
index a2484a90a..7888cb338 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_off.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_parser_off.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_multiple_token_filters.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_multiple_token_filters.test
index b91819e99..f7add5dbd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_multiple_token_filters.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_multiple_token_filters.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_groonga_plugin_register.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_one_token_filter.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_one_token_filter.test
index 4fe85314d..2fc98e610 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_one_token_filter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_one_token_filter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_groonga_plugin_register.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_parameter.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_parameter.test
index ba5f9a969..aaf60b02d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_token_filters_parameter.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_comment.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_comment.test
index 1066ffebb..0d640c846 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_default.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_default.test
index e7902c7b2..773c740b7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_default.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_default.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_off.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_off.test
index 1fc724f51..698202a65 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_off.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_off.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_parameter.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_parameter.test
index 7ffedeaea..1bf4dc101 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_index_tokenizer_parameter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_normalizer_default.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_normalizer_default.test
index 1eaf8fa61..c4b6fe845 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_normalizer_default.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_normalizer_default.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_normalizer_hash.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_normalizer_hash.test
index 626172020..42521f1d5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_normalizer_hash.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_normalizer_hash.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_multiple_token_filters.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_multiple_token_filters.test
index 2120efe0f..dc0996d27 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_multiple_token_filters.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_multiple_token_filters.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_groonga_plugin_register.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_one_token_filter.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_one_token_filter.test
index 317730f20..ee1da6d09 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_one_token_filter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_one_token_filter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_groonga_plugin_register.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_stop_word.test b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_stop_word.test
index 2639f3251..87a35657f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_stop_word.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/create_table_table_token_filters_stop_word.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_groonga_plugin_register.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/delete_fulltext_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/delete_fulltext_column.test
index 6c2c62822..de2b24cf1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/delete_fulltext_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/delete_fulltext_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_btree_many_records.test b/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_btree_many_records.test
index 36f984837..be7395494 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_btree_many_records.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_btree_many_records.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_hash_id_no_unique.test b/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_hash_id_no_unique.test
index 00f9336c1..f42651cd0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_hash_id_no_unique.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_hash_id_no_unique.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_hash_id_unique.test b/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_hash_id_unique.test
index be309e71b..5bbc79790 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_hash_id_unique.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/delete_index_hash_id_unique.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/delete_normal_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/delete_normal_column.test
index 3598a17f7..b9e23e643 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/delete_normal_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/delete_normal_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/delete_unsigned_bigint.test b/storage/mroonga/mysql-test/mroonga/storage/t/delete_unsigned_bigint.test
index 1bd21b658..056dcae07 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/delete_unsigned_bigint.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/delete_unsigned_bigint.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/drop_database_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/storage/t/drop_database_TODO_SPLIT_ME.test
index 383ada185..f7bc51db8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/drop_database_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/drop_database_TODO_SPLIT_ME.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/drop_database_no_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/drop_database_no_table.test
index 764db3d6f..db4a9a03f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/drop_database_no_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/drop_database_no_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/drop_table_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/storage/t/drop_table_TODO_SPLIT_ME.test
index b27fda75e..e672f80f0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/drop_table_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/drop_table_TODO_SPLIT_ME.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/flush_logs.test b/storage/mroonga/mysql-test/mroonga/storage/t/flush_logs.test
index 44d6438bb..5cb3894af 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/flush_logs.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/flush_logs.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_alter_add.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_alter_add.test
index 57947bb39..03d05fe1f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_alter_add.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_alter_add.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_alter_drop.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_alter_drop.test
index 9be7cc7d2..d6ef43fad 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_alter_drop.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_alter_drop.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_create.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_create.test
index e8c8540be..4efd2052d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_create.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_create.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_delete_existent.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_delete_existent.test
index 29453f691..374056966 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_delete_existent.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_delete_existent.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_delete_nonexistent.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_delete_nonexistent.test
index e2635efc5..9322876ba 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_delete_nonexistent.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_delete_nonexistent.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_insert_existent.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_insert_existent.test
index 0b859c834..283efbd3a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_insert_existent.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_insert_existent.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_insert_nonexistent.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_insert_nonexistent.test
index 0ed29655d..4b873f50c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_insert_nonexistent.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_insert_nonexistent.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_rename.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_rename.test
index e93958bab..d445731bb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_rename.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_rename.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_update_existent.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_update_existent.test
index 9b5ee9b9e..fc3590f36 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_update_existent.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_update_existent.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_update_nonexistent.test b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_update_nonexistent.test
index 3e0f07482..bcba6e757 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_update_nonexistent.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/foreign_key_update_nonexistent.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_5.inc
 --source ../../include/mroonga/skip_mariadb_5_5.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_empty_query.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_empty_query.test
index 4bd9ff2db..074700502 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_empty_query.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_empty_query.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_escape.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_escape.test
index 89507f090..50cb12824 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_escape.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_escape.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_leading_not.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_leading_not.test
index a39cfebd2..bfe2cdc09 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_leading_not.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_leading_not.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_all.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_all.test
index b8d1c0b9c..fe904693e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_all.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_all.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_no_operator.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_no_operator.test
index c59bc9d7b..af142c8d0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_no_operator.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_no_operator.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_with_or.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_with_or.test
index bcbc4963a..9c04d835e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_with_or.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_with_or.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_with_plus.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_with_plus.test
index de10774d8..d1996f544 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_with_plus.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_minus_with_plus.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_no_operator.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_no_operator.test
index d99628494..a4c90fdd7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_no_operator.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_no_operator.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_with_minus.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_with_minus.test
index bbebb5b5f..6ac035311 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_with_minus.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_with_minus.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_with_plus.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_with_plus.test
index f4d2112b3..246819741 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_with_plus.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_or_with_plus.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_no_operator.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_no_operator.test
index e6f2a7ce6..3e91ba89c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_no_operator.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_no_operator.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_astarisk.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_astarisk.test
index d2258a399..bfe8bb113 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_astarisk.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_astarisk.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_minus.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_minus.test
index 03a2ff874..eafacedbb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_minus.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_minus.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_or.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_or.test
index 97cc2623e..8b7bb2e15 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_or.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_default_operator_plus_with_or.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_syntax_script_operator.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_syntax_script_operator.test
index 00bd029de..3630052a2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_syntax_script_operator.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_syntax_script_operator.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_syntax_script_selector.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_syntax_script_selector.test
index e6034ac2a..21d53b39a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_syntax_script_selector.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_syntax_script_selector.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_full_spec.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_full_spec.test
index bee227664..b8aa91ecb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_full_spec.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_full_spec.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_no_weight.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_no_weight.test
index b84eb9112..30ba517a6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_no_weight.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_no_weight.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_omit_section.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_omit_section.test
index 2edac1599..96fefd3e9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_omit_section.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_omit_section.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_ten_or_more_sections.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_ten_or_more_sections.test
index 583ede590..2a8e1c193 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_ten_or_more_sections.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_ten_or_more_sections.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_three_or_more_sections.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_three_or_more_sections.test
index 8c4cdb79e..87cd8de60 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_three_or_more_sections.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_pragma_weight_three_or_more_sections.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_error.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_error.test
index a972cc6f4..83990fdcd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_error.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_error.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_error_and_log.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_error_and_log.test
index 4703fa7df..494bf7602 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_error_and_log.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_error_and_log.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_ignore.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_ignore.test
index 86803c724..828726d0d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_ignore.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_ignore.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_ignore_and_log.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_ignore_and_log.test
index 008063232..d9a0adac0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_ignore_and_log.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_boolean_mode_syntax_error_ignore_and_log.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_ascii.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_ascii.test
index d080d70d4..3cf85e35c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_ascii.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_ascii.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_cp932.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_cp932.test
index db8fa2b4c..301a85c1a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_cp932.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_cp932.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_cp932.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_eucjpms.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_eucjpms.test
index 39c89dbd7..985ce19d3 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_eucjpms.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_eucjpms.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_eucjpms.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_japanese.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_japanese.test
index 0de940534..d1d801702 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_japanese.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_japanese.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_utf8mb4.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_utf8mb4.test
index 503b96106..9492b33be 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_utf8mb4.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_charset_utf8mb4.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_empty_query.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_empty_query.test
index d97e75fef..048fcd1c8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_empty_query.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_empty_query.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_found_rows.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_found_rows.test
index 38fbc8bb3..08acc357d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_found_rows.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_found_rows.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_groonga_varchar_vector.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_groonga_varchar_vector.test
index e1fea8b07..4b1139460 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_groonga_varchar_vector.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_groonga_varchar_vector.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/load_mroonga_functions.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_index_recreate.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_index_recreate.test
index 5aa812fcb..1846e37bc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_index_recreate.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_index_recreate.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_insert_select.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_insert_select.test
index 2bad02c09..c43341f7c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_insert_select.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_insert_select.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_insert_values.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_insert_values.test
index 5c1ec53c5..e133073e0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_insert_values.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_insert_values.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_delete.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_delete.test
index 718d78732..c5199ee5d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_insert.test
index 7a4bd9b8c..799b9c815 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_recreate.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_recreate.test
index 174374711..36dcb6c08 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_recreate.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_recreate.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_update.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_update.test
index 8ccef3d68..d84888f9f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_update.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_column_index_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_index.test
index 72b617812..7b04e9a6a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_multiple_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_no_primary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_no_primary_key.test
index 3487f704d..aca6a6a03 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_no_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_no_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_not_match_against.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_not_match_against.test
index 416b61b7c..b99abc8b2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_not_match_against.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_not_match_against.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_or.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_or.test
index 995f92aa4..ad93bdd78 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_or.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_or.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_different_against.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_different_against.test
index dc5901ef7..90b8bc8fa 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_different_against.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_different_against.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_different_match.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_different_match.test
index 73424524f..fbcbce131 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_different_match.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_different_match.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_no_where.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_no_where.test
index 0d2963af7..a421a31b1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_no_where.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_no_where.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_same_match_against.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_same_match_against.test
index 0d13720a5..3dbaa6bf1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_same_match_against.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_boolean_mode_same_match_against.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_asc.test
index aaef394eb..4a3af3711 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_desc.test
index aa1a1a2c1..fb45c0c68 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_different_against.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_different_against.test
index fd9ea74d8..8af0e41e4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_different_against.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_different_against.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_different_match.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_different_match.test
index c690f92e2..6c7eb0a64 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_different_match.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_different_match.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_no_where.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_no_where.test
index 2919ad862..917d437d0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_no_where.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_no_where.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_same_match_against.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_same_match_against.test
index 485e2d84c..b4dd8ade1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_same_match_against.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_order_natural_language_mode_same_match_against.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_two_inner_join.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_two_inner_join.test
index bad8e8bc9..538b741f7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_two_inner_join.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_two_inner_join.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_10_0_no_such_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_10_0_no_such_key.test
index c1d2c6c4c..606e0c0fc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_10_0_no_such_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_10_0_no_such_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_10_0.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_5_5_no_such_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_5_5_no_such_key.test
index 7c00c29bc..311a623bf 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_5_5_no_such_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_5_5_no_such_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_5.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_5_6_no_such_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_5_6_no_such_key.test
index a102b4acc..d51636cba 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_5_6_no_such_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/fulltext_version_5_6_no_such_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_5_6.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_command_auto-escape.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_command_auto-escape.test
index 091abbc91..e40a703b0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_command_auto-escape.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_command_auto-escape.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_command_select.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_command_select.test
index 501c2ac86..5ba0ca779 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_command_select.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_command_select.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_command_special-database-name.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_command_special-database-name.test
index a74acf89e..720c547c0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_command_special-database-name.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_command_special-database-name.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_query_is_missing.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_query_is_missing.test
index 7eb3bba1f..ee0b48336 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_query_is_missing.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_query_is_missing.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_query_is_not_string.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_query_is_not_string.test
index ca18a93e1..8023de1d4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_query_is_not_string.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_query_is_not_string.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_target_characters_is_not_string.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_target_characters_is_not_string.test
index 13adc1956..f9cbf025e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_target_characters_is_not_string.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_error_target_characters_is_not_string.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_all.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_all.test
index 993d0b1a4..9ed614990 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_all.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_all.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_custom.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_custom.test
index 5b99a0ebe..5d1555cbd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_custom.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_custom.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_join.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_join.test
index 63cb2b320..8f0090fd1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_join.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_join.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_match_against.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_match_against.test
index 3f93ab182..442aceccd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_match_against.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_match_against.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_named.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_named.test
index cdd431cfa..8c7776a29 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_named.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_named.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_nested.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_nested.test
index f98c4303e..ed8e77cb9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_nested.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_query_nested.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_decimal.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_decimal.test
index 10041ef83..d8d979964 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_decimal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_decimal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_integer.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_integer.test
index 141def4f8..51c1df9d5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_integer.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_integer.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_real.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_real.test
index 663fa69ab..10859733d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_real.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_real.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_string.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_string.test
index 864cef607..46c3b558c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_string.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_escape_script_string.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_dynamic_keyword.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_dynamic_keyword.test
index 09bdde1c3..3958782a4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_dynamic_keyword.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_dynamic_keyword.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_japanese.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_japanese.test
index 10f44e446..533bf1c26 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_japanese.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_japanese.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_multiple_keywords.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_multiple_keywords.test
index 185842e77..986438760 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_multiple_keywords.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_multiple_keywords.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_normalizer.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_normalizer.test
index 19c1ae826..83e5966d3 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_normalizer.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_normalizer.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_query.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_query.test
index 089a1d4eb..e632f027c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_query.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_query.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_query_pragma.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_query_pragma.test
index 3ba38c0b8..f17aa0f7b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_query_pragma.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_query_pragma.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_record.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_record.test
index db5b06ecd..07b1273e6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_record.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_highlight_html_record.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_grn_id.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_grn_id.test
index da116a4a5..b6bced160 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_grn_id.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_grn_id.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_id_reference.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_id_reference.test
index 1ba332c4d..a287da00a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_id_reference.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_id_reference.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_id_set.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_id_set.test
index 1fdd0a605..acb253a40 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_id_set.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_last_insert_id_set.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_default.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_default.test
index d5159b88c..aa2eee53b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_default.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_default.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_normalizer.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_normalizer.test
index 9631313d7..bb9199f01 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_normalizer.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_normalizer.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_record.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_record.test
index 88ee40fc6..b67ff53a1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_record.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_normalize_record.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_multiple.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_multiple.test
index ee80cd8b9..8b0ae0252 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_multiple.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_multiple.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_no_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_no_index.test
index 1a2c9d844..400503ca8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_no_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_no_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_one.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_one.test
index 50e4fc558..22241f6b4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_one.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_one.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_pragma.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_pragma.test
index 2a8aad83d..3627a2c4c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_pragma.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_query_expand_pragma.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_ascii.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_ascii.test
index 028bdb750..72da393f2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_ascii.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_ascii.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_cp932.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_cp932.test
index 2d85633ab..afaa43683 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_cp932.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_cp932.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source include/have_cp932.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_eucjpms.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_eucjpms.test
index 525c14a30..cd59a2163 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_eucjpms.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_eucjpms.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source include/have_eucjpms.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_dynamic_keyword.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_dynamic_keyword.test
index 5faed5188..a92e651cf 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_dynamic_keyword.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_dynamic_keyword.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_japanese.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_japanese.test
index c01d29885..fcc5a0fc6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_japanese.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_japanese.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_multiple_keywords.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_multiple_keywords.test
index 60d206d2b..54953ebea 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_multiple_keywords.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_multiple_keywords.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_multiple_snippets.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_multiple_snippets.test
index b4dfd0c5f..9aac07a00 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_multiple_snippets.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_multiple_snippets.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_query.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_query.test
index 998a080c7..d441b0eee 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_query.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_query.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_query_pragma.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_query_pragma.test
index b01dcbcd5..0aa115d77 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_query_pragma.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_query_pragma.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_record.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_record.test
index 59163fe45..c25d140cf 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_record.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_html_record.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_invalid_nonexistent_charset.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_invalid_nonexistent_charset.test
index 2547000aa..c6b19acd9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_invalid_nonexistent_charset.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_invalid_nonexistent_charset.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_invalid_unsupported_charset.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_invalid_unsupported_charset.test
index e8805b492..7182dfbc0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_invalid_unsupported_charset.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_invalid_unsupported_charset.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_japanese.test b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_japanese.test
index 1678a3ed2..dfa373dc8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_japanese.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/function_snippet_japanese.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/geometry_bulk_insert_null.test b/storage/mroonga/mysql-test/mroonga/storage/t/geometry_bulk_insert_null.test
index 887d8fb51..f26aa24ca 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/geometry_bulk_insert_null.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/geometry_bulk_insert_null.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_geometry.inc
 --source ../../include/mroonga/have_version_5_6_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/geometry_contains.test b/storage/mroonga/mysql-test/mroonga/storage/t/geometry_contains.test
index 94d802407..7b4bd34de 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/geometry_contains.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/geometry_contains.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_geometry.inc
 --source ../../include/mroonga/have_version_5_6_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/geometry_strict_sql_mode_bulk_insert_null.test b/storage/mroonga/mysql-test/mroonga/storage/t/geometry_strict_sql_mode_bulk_insert_null.test
index 2fd4fad68..5664bc4bc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/geometry_strict_sql_mode_bulk_insert_null.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/geometry_strict_sql_mode_bulk_insert_null.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_geometry.inc
 --source ../../include/mroonga/have_strict_sql_mode.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/geometry_strict_sql_mode_contains.test b/storage/mroonga/mysql-test/mroonga/storage/t/geometry_strict_sql_mode_contains.test
index 605e03833..a337ac6ab 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/geometry_strict_sql_mode_contains.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/geometry_strict_sql_mode_contains.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_datetime.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_datetime.test
index ccc51b79e..0b16dfbd3 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_datetime.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_datetime.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_time.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_time.test
index 478ae97ba..c27e05a72 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_time.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_time.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_timestamp.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_timestamp.test
index a1c43cc41..c7b57f491 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_timestamp.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_equal_timestamp.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_normal_column_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_normal_column_insert.test
index f342c049f..a922bc039 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_normal_column_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_btree_normal_column_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_normal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_normal.test
index bfb3f4563..f385fb282 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_normal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_normal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_primary.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_primary.test
index 7925f4ffc..fa22ab1f1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_primary.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_primary.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_strict_sql_mode.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_unique.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_unique.test
index bf665e83b..0a39b8d4d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_unique.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_id_unique.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_normal_column_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_normal_column_insert.test
index e9f203876..341873ee6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_normal_column_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_normal_column_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_strict_sql_mode_id_primary.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_strict_sql_mode_id_primary.test
index b2629c806..0f27d3336 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_strict_sql_mode_id_primary.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_hash_strict_sql_mode_id_primary.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_strict_sql_mode.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_delete.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_delete.test
index 5cb0eed10..9507b395a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_smallint.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_smallint.test
index c5d97a297..b1095ae0d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_smallint.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_smallint.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_bigint.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_bigint.test
index be7b7eefd..3f43db0c7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_bigint.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_bigint.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_int.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_int.test
index 23e75a580..31e5a7914 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_int.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_int.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_smallint.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_smallint.test
index eef9de2d0..9340c784f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_smallint.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_unsigned_smallint.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_varchar.test
index 8d2d6c92a..3787489e7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_nullable_varchar.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_order_by_where_equal_asc_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_order_by_where_equal_asc_asc.test
index 521061cdf..e4f074947 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_order_by_where_equal_asc_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_order_by_where_equal_asc_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_order_by_where_equal_desc_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_order_by_where_equal_desc_desc.test
index d48c0e56b..1d6363916 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_order_by_where_equal_desc_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_order_by_where_equal_desc_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_delete.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_delete.test
index 92a830880..19fd3c1f2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_select_int.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_select_int.test
index 8978ee2af..092b9ad9f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_select_int.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_select_int.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_strict_sql_mode_update.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_strict_sql_mode_update.test
index 6abe39795..e99db0807 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_strict_sql_mode_update.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_strict_sql_mode_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_strict_sql_mode.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_update.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_update.test
index 64292cf18..e4a38ea03 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_update.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_primary_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_strict_sql_mode.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_greater_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_greater_than.test
index 0cfbea670..171919b18 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_greater_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_greater_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_greater_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_greater_than_or_equal.test
index e5543a66b..67d5c44f6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_greater_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_greater_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_less_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_less_than.test
index e326aca26..b7d0b074e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_less_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_less_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_less_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_less_than_or_equal.test
index d2e09033f..5576bbc34 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_less_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_all_used_less_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_greater_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_greater_than.test
index 49d0d7798..13c47b4a5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_greater_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_greater_than.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_greater_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_greater_than_or_equal.test
index d8e90a15d..7b8904301 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_greater_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_greater_than_or_equal.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_less_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_less_than.test
index 317517f4c..60b4cd272 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_less_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_less_than.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_less_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_less_than_or_equal.test
index 310cc4764..ece1d1574 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_less_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_have_prefix_less_than_or_equal.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_greater_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_greater_than.test
index 7449e21ef..924a0ac24 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_greater_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_greater_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_greater_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_greater_than_or_equal.test
index 3ea5db149..8636e5ee8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_greater_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_greater_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_less_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_less_than.test
index 50e9ca0d7..73d536932 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_less_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_less_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_less_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_less_than_or_equal.test
index 125143d71..630d60a70 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_less_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_range_partially_used_no_prefix_less_than_or_equal.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_recreate.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_recreate.test
index c674388e1..e8840b4af 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_recreate.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_recreate.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_replace.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_replace.test
index 4bffa8c39..d31762b27 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_replace.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_replace.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_double.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_double.test
index 01139dc63..5730aaf8b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_double.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_double.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_float.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_float.test
index 902750ba2..1b7132b30 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_float.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_float.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_int.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_int.test
index 4172666fa..332ecfc97 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_int.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_int.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_max.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_max.test
index 2077b9144..bdd3b0c3f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_max.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_max.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_min.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_min.test
index 8541aadda..23a16379b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_min.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_min.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_string.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_string.test
index 936a57bc2..8805771ef 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_string.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_string.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_varchar.test
index 4778da9af..fad111876 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_select_varchar.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_32bit_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_32bit_equal.test
index 1f6151508..e6aff9a78 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_32bit_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_32bit_equal.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_64bit_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_64bit_equal.test
index 1323b4ce4..236ff40c1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_64bit_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_64bit_equal.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_index_read.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_index_read.test
index 666b9566e..901d55ed2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_index_read.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_index_read.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_32bit_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_32bit_asc.test
index 0f4306b3e..814da2e88 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_32bit_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_32bit_asc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_32bit_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_32bit_desc.test
index 939d885a6..296c0bb69 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_32bit_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_32bit_desc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_64bit_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_64bit_asc.test
index 89108b727..c51475002 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_64bit_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_64bit_asc.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_64bit_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_64bit_desc.test
index 3cb5bcae3..3ccb42496 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_64bit_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_order_64bit_desc.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_reinsert.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_reinsert.test
index 182f185a0..a6d82c32d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_reinsert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_date_reinsert.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_index_read.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_index_read.test
index d33d2c1f8..b1e4a3b85 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_index_read.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_index_read.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_insert_delete_insert_invalid_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_insert_delete_insert_invalid_value.test
index fb647f5c6..362cf4160 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_insert_delete_insert_invalid_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_insert_delete_insert_invalid_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_strict_sql_mode.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_order_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_order_asc.test
index b4b5f500c..7cb4e2197 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_order_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_order_asc.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_order_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_order_desc.test
index a2c456425..e2b1bb0af 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_order_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_order_desc.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_freebsd.inc
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_reinsert.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_reinsert.test
index bd360544e..927d8aed8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_reinsert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_datetime_reinsert.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_decimal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_decimal.test
index 38265a6ed..7ae2be847 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_decimal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_decimal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_index_read.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_index_read.test
index fa4780d54..1229d8878 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_index_read.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_index_read.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_order_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_order_asc.test
index af3394b1f..68fbb2acb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_order_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_order_asc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_order_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_order_desc.test
index bc8a7e723..3ae975266 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_order_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_order_desc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_reinsert.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_reinsert.test
index 63f708afb..20b083428 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_reinsert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_time_reinsert.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_index_read.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_index_read.test
index 7e7357108..0c3315d0c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_index_read.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_index_read.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_order_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_order_asc.test
index 3f337d055..2780a153a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_order_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_order_asc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_order_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_order_desc.test
index 6dbc49388..2e827343d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_order_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_order_desc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_reinsert.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_reinsert.test
index 7a1bd6bc7..365328364 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_reinsert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_timestamp_reinsert.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_varchar.test
index 67ae21224..eb0aabdee 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_varchar.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_32bit_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_32bit_equal.test
index a0277c18c..b0e0720e2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_32bit_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_32bit_equal.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_64bit_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_64bit_equal.test
index 21a3b936a..5cad02318 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_64bit_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_64bit_equal.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_index_read.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_index_read.test
index fa91ca317..9bc8aaf28 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_index_read.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_index_read.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_32bit_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_32bit_asc.test
index 1539d9a77..12624eb86 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_32bit_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_32bit_asc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_32bit_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_32bit_desc.test
index 92492d599..70b019ca7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_32bit_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_32bit_desc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_64bit_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_64bit_asc.test
index 226a51b43..d9d1f4587 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_64bit_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_64bit_asc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_64bit_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_64bit_desc.test
index 0f1830ff6..1a2b70eb2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_64bit_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_order_64bit_desc.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_signed_64bit_time_t.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_reinsert.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_reinsert.test
index b80986c39..3ee06c480 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_reinsert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_unique_year_reinsert.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_update_int.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_update_int.test
index 0d303496a..d7f9dd938 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_update_int.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_update_int.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_update_string.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_update_string.test
index e250885d0..6efe83ceb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_update_string.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_multiple_column_update_string.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_exact_length.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_exact_length.test
index a954ffd4e..bd3d182da 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_exact_length.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_exact_length.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_null_character.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_null_character.test
index 19cedaffc..afc0b9ffb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_null_character.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_null_character.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_short.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_short.test
index 9228b1ffb..ee0887f36 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_short.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_char_short.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_date.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_date.test
index dc9db9652..455017bfa 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_date.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_date.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_datetime_with_fractional_seconds.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_datetime_with_fractional_seconds.test
index 7ddd48617..6daeed758 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_datetime_with_fractional_seconds.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_datetime_with_fractional_seconds.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_fractional_seconds.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_datetime_without_fractional_seconds.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_datetime_without_fractional_seconds.test
index aba0d8755..9500148ee 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_datetime_without_fractional_seconds.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_datetime_without_fractional_seconds.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_decimal_with_fractional_seconds.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_decimal_with_fractional_seconds.test
index 4e2bd44d2..37ccd1e50 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_decimal_with_fractional_seconds.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_decimal_with_fractional_seconds.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_decimal_without_fractional_seconds.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_decimal_without_fractional_seconds.test
index a5073a633..477368bac 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_decimal_without_fractional_seconds.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_decimal_without_fractional_seconds.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_time_with_fractional_seconds.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_time_with_fractional_seconds.test
index bf61a4fbd..7db2825f3 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_time_with_fractional_seconds.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_time_with_fractional_seconds.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 --source ../../include/mroonga/have_fractional_seconds.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_time_without_fractional_seconds.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_time_without_fractional_seconds.test
index 6e5c369ff..721d63924 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_time_without_fractional_seconds.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_time_without_fractional_seconds.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_timestamp_with_fractional_seconds.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_timestamp_with_fractional_seconds.test
index 1eb103b76..116f11a50 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_timestamp_with_fractional_seconds.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_timestamp_with_fractional_seconds.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mariadb_5_5.inc
 --source ../../include/mroonga/have_fractional_seconds.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_timestamp_without_fractional_seconds.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_timestamp_without_fractional_seconds.test
index 341dfd21c..67f03299f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_timestamp_without_fractional_seconds.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_timestamp_without_fractional_seconds.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_varchar_null_character.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_varchar_null_character.test
index a610944d8..6d458d784 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_varchar_null_character.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_varchar_null_character.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_year.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_year.test
index a390eba41..f6bb7dc36 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_year.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_primary_year.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_asc.test
index 97e8efc73..660e4370e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_desc.test
index a3e040b55..7abae60f1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_or_equal_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_or_equal_asc.test
index 454326ea2..063d2ff72 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_or_equal_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_or_equal_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_or_equal_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_or_equal_desc.test
index 1a9a06f8b..e3d22364d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_or_equal_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_greater_than_or_equal_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_asc.test
index d19cfcb22..0efc55447 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_desc.test
index aa0761aa8..c356a7141 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_or_equal_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_or_equal_asc.test
index 068f53fea..b919b5f6c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_or_equal_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_or_equal_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_or_equal_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_or_equal_desc.test
index b90333239..43e870a32 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_or_equal_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_normal_less_than_or_equal_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_asc.test
index 5b1e16538..c70864214 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_desc.test
index 10446b115..dd53c39c3 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_or_equal_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_or_equal_asc.test
index 66d29dfb8..25dfa56f9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_or_equal_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_or_equal_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_or_equal_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_or_equal_desc.test
index 7dcbb6e90..b74b2533f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_or_equal_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_greater_than_or_equal_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_asc.test
index 8537caed4..2848d4eb5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_desc.test
index d7d48ea72..99854c572 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_or_equal_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_or_equal_asc.test
index 216c5f4ef..801d6fd95 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_or_equal_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_or_equal_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_or_equal_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_or_equal_desc.test
index 90f241ad2..c5d2f5cdc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_or_equal_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_range_primary_less_than_or_equal_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_bigint.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_bigint.test
index 58e58f4db..cc37192ea 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_bigint.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_bigint.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_bigint_unsigned.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_bigint_unsigned.test
index 2b81524ae..df0bf2644 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_bigint_unsigned.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_bigint_unsigned.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_double.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_double.test
index 7ad385098..df0e9e811 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_double.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_double.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_float.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_float.test
index 0baa5d4b3..a04f84eb4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_float.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_float.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_int.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_int.test
index 15e539b55..aafb352ba 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_int.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_int.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_int_unsigned.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_int_unsigned.test
index a3e1d3564..d82bcb9cb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_int_unsigned.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_int_unsigned.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_mediumint.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_mediumint.test
index c63a8a867..8afe5411e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_mediumint.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_mediumint.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_mediumint_unsigned.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_mediumint_unsigned.test
index 81d6df92f..70c894701 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_mediumint_unsigned.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_mediumint_unsigned.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_smallint.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_smallint.test
index c64bd185b..f33b63566 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_smallint.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_smallint.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_smallint_unsigned.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_smallint_unsigned.test
index 82ea8949d..4a36ef3af 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_smallint_unsigned.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_smallint_unsigned.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_tinyint.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_tinyint.test
index 685570228..40d338d46 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_tinyint.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_tinyint.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_tinyint_unsigned.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_tinyint_unsigned.test
index c513983d8..40e918298 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_tinyint_unsigned.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_tinyint_unsigned.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_varchar.test
index 51ed0a3bb..bbc89e094 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_varchar.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_varchar_collation.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_varchar_collation.test
index 9d9d02c4b..8d695b2e8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_varchar_collation.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_multiple_varchar_collation.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_normal_int.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_normal_int.test
index 04584d2f7..abe68f797 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_normal_int.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_normal_int.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_normal_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_normal_varchar.test
index 7b8a6fecb..7203b0054 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_normal_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_normal_varchar.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_primary_int.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_primary_int.test
index c23076423..bd286894a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_primary_int.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_primary_int.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_primary_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_primary_varchar.test
index c4004e420..2a166d01f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_read_primary_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_read_primary_varchar.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_delete_all.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_delete_all.test
index f4d468b71..d67d5849e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_delete_all.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_delete_all.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_delete_by_primary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_delete_by_primary_key.test
index 3b3743b8b..38b281f6b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_delete_by_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_delete_by_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_insert_after_error.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_insert_after_error.test
index 70c6ec857..13bf0ebaa 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_insert_after_error.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_insert_after_error.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_search_after_duplicated.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_search_after_duplicated.test
index 27fb6eea8..4f464cca0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_search_after_duplicated.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_search_after_duplicated.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_varchar.test
index fe222c377..22aba9b9a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_unique_varchar.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_update_multiple_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_update_multiple_column.test
index b1a37b5ac..9d83b4612 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_update_multiple_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_update_multiple_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/index_update_single_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/index_update_single_column.test
index 3d4750054..84a94b95e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/index_update_single_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/index_update_single_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_plugins.test b/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_plugins.test
index fb462fd76..2d65b763a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_plugins.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_plugins.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_auto_increment_none.test b/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_auto_increment_none.test
index 2dcf6716e..d9cb66c89 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_auto_increment_none.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_auto_increment_none.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_auto_increment_use.test b/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_auto_increment_use.test
index f1aac9c1c..7723bf659 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_auto_increment_use.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_auto_increment_use.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_data_length.test b/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_data_length.test
index 445bcfabe..8a49ed221 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_data_length.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/information_schema_tables_data_length.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/insert_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/storage/t/insert_TODO_SPLIT_ME.test
index 95c21513d..81e98c3ee 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/insert_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/insert_TODO_SPLIT_ME.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/insert_delayed.test b/storage/mroonga/mysql-test/mroonga/storage/t/insert_delayed.test
index e52d11c55..4d8248b31 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/insert_delayed.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/insert_delayed.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 skip "This test is too fragile.";
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_no_primary_key_and_unique_key_twice.test b/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_no_primary_key_and_unique_key_twice.test
index e6c0cae16..dbeb6ae3c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_no_primary_key_and_unique_key_twice.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_no_primary_key_and_unique_key_twice.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_primary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_primary_key.test
index 1b07775d6..9093560f8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_unique_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_unique_key.test
index f5b6db7ba..5d8439f23 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_unique_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/insert_on_duplicate_key_update_unique_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/insert_virtual_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/insert_virtual_column.test
index 3f3fd208a..6c68a9ffc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/insert_virtual_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/insert_virtual_column.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/like_unicode_ci.test b/storage/mroonga/mysql-test/mroonga/storage/t/like_unicode_ci.test
index 1f9c5fd38..4f5940c1e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/like_unicode_ci.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/like_unicode_ci.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/lock_tables_read.test b/storage/mroonga/mysql-test/mroonga/storage/t/lock_tables_read.test
index 6c7627e79..2ce2ae948 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/lock_tables_read.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/lock_tables_read.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_after_insert_multithread.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_after_insert_multithread.test
index 69713752f..4857286ac 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_after_insert_multithread.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_after_insert_multithread.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_after_insert_single_thread.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_after_insert_single_thread.test
index 07bbc7739..d0116e7f1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_after_insert_single_thread.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_after_insert_single_thread.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_disabled.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_disabled.test
index 2014a8fa4..d84112b49 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_disabled.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_disabled.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_and.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_and.test
index 3c63ecc9c..691497be1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_and.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_and.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_between.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_between.test
index cccb0d3f4..c3fb2bec5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_between.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_between.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_equal.test
index f8ebad5d7..b422e06e5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_full_text_search_in_boolean_mode.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_full_text_search_in_boolean_mode.test
index 9e3c6fd8a..b59ca7f55 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_full_text_search_in_boolean_mode.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_full_text_search_in_boolean_mode.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_full_text_search_in_natural_language_mode.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_full_text_search_in_natural_language_mode.test
index 634428c5c..c8de7b95c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_full_text_search_in_natural_language_mode.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_full_text_search_in_natural_language_mode.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_greater.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_greater.test
index 0feababfb..4b814e494 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_greater.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_greater.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_greater_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_greater_equal.test
index 5e69f1684..f26ed636b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_greater_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_greater_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_less.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_less.test
index 8aa1ba176..0a7be348b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_less.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_less.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_less_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_less_equal.test
index a6e0f3a51..190d242d9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_less_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_less_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_not_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_not_equal.test
index f07d1b9be..3948d218a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_not_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_not_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_view.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_view.test
index cc3de7c3c..85ee2d450 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_view.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_index_view.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_multiple_conditions.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_multiple_conditions.test
index 1f49597bb..917d6a1b4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_multiple_conditions.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_multiple_conditions.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_between.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_between.test
index 1c9e7354c..73754afda 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_between.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_between.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_equal.test
index 23fb2152f..c0db57294 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_greater.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_greater.test
index 9020dd11e..44ba5ead9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_greater.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_greater.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_greater_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_greater_equal.test
index f4c1e0687..8d4426929 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_greater_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_greater_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_less.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_less.test
index bcf5afa52..529dfde67 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_less.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_less.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_less_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_less_equal.test
index ddfad77ce..d2a863ae4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_less_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_less_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_not_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_not_equal.test
index c49385ed8..7e8c3180c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_not_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_count_skip_primary_key_not_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_disabled.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_disabled.test
index e65e44d1f..c0dab2836 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_disabled.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_disabled.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_multiple_match_againsts.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_multiple_match_againsts.test
index 14f548db1..ce1f63604 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_multiple_match_againsts.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_multiple_match_againsts.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_no_limit.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_no_limit.test
index eb9e7ef55..99abc0469 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_no_limit.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_not_optimized_no_limit.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_cp932.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_cp932.test
index c14ee787f..19c2bc400 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_cp932.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_cp932.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_between.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_between.test
index 04cd30ab3..9ad4a6966 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_between.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_between.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_between_over.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_between_over.test
index cdc7b4335..170e97961 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_between_over.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_between_over.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_equal.test
index c7a524404..32555b2a4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_greater_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_greater_than.test
index 0f87b7018..9c4c87547 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_greater_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_greater_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_greater_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_greater_than_or_equal.test
index 922e72e2b..375080ca7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_greater_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_greater_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_less_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_less_than.test
index 78f8f19a1..cdd4a2ba1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_less_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_less_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_less_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_less_than_or_equal.test
index 2b12fa6cc..b0af56e0e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_less_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_datetime_less_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_duplicated_order_by_columns.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_duplicated_order_by_columns.test
index 1908ce34d..e9d1ca290 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_duplicated_order_by_columns.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_duplicated_order_by_columns.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_enum_name.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_enum_name.test
index 834a39fe7..3a4f4faa2 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_enum_name.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_enum_name.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_enum_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_enum_value.test
index 703d79dc8..b8126b3fc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_enum_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_enum_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_have_primary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_have_primary_key.test
index 9c44110bf..64f5a6055 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_have_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_have_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_between.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_between.test
index 32345f661..2fa838ea0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_between.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_between.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_between_over.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_between_over.test
index 508f85f3a..5981c99f8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_between_over.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_between_over.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_equal.test
index a2024e8dd..f2158a822 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_greater_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_greater_than.test
index 4924cb374..856c9f710 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_greater_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_greater_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_greater_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_greater_than_or_equal.test
index b81247ed2..6115bf68a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_greater_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_greater_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_less_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_less_than.test
index d32d9f112..f5001bdf9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_less_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_less_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_less_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_less_than_or_equal.test
index 9289bee30..790e8f14b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_less_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_int_less_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_no_primary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_no_primary_key.test
index 23adb84f9..2aad7f0f7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_no_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_no_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_no_where_clause.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_no_where_clause.test
index 1031427f9..72889f96b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_no_where_clause.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_no_where_clause.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_asc.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_asc.test
index 78b42e5d8..c58d7353d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_asc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_asc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_desc.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_desc.test
index f09a2a0e3..a979e88cb 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_desc.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_desc.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_id.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_id.test
index 9a7585609..6bf3c6a8c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_id.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_id.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_match_against.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_match_against.test
index e49a79a7d..bd86c6a27 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_match_against.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_order_by_match_against.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_select_match_against.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_select_match_against.test
index b563028c8..527203709 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_select_match_against.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_select_match_against.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_between.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_between.test
index c11603c94..23bb71032 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_between.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_between.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_between_over.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_between_over.test
index 71f93c6ee..2450f8a2d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_between_over.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_between_over.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_equal.test
index 883f676e4..46dc7cb5d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_greater_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_greater_than.test
index a8af0bbb7..62acda78d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_greater_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_greater_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_greater_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_greater_than_or_equal.test
index a0795f8eb..ee706c5f3 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_greater_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_greater_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_less_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_less_than.test
index 4087207c2..01764064c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_less_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_less_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_less_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_less_than_or_equal.test
index e423a4b93..51423125b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_less_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_time_less_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_varchar_equal_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_varchar_equal_with_index.test
index 60565dd7b..c3456c258 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_varchar_equal_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_varchar_equal_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_varchar_equal_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_varchar_equal_without_index.test
index dcde93733..2ce06201e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_varchar_equal_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_varchar_equal_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_between.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_between.test
index 4e7c117d6..c07368fb4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_between.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_between.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_between_over.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_between_over.test
index d6e7b345c..599cc8fa0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_between_over.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_between_over.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_equal.test
index bac104482..35ce60663 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_greater_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_greater_than.test
index 9ffae4a65..88bb6a27f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_greater_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_greater_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_greater_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_greater_than_or_equal.test
index 09015f9c2..64b9f831c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_greater_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_greater_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_less_than.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_less_than.test
index 35adc2983..5f3f89fe7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_less_than.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_less_than.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_less_than_or_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_less_than_or_equal.test
index 831ef4c3e..5db8d96ea 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_less_than_or_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/optimization_order_limit_optimized_year_less_than_or_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/partition_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/partition_insert.test
index 4e59a2ca3..c60a66647 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/partition_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/partition_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mariadb_10_0_or_later.inc
 --source ../../include/mroonga/skip_mysql_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/partition_update.test b/storage/mroonga/mysql-test/mroonga/storage/t/partition_update.test
index eaf3304da..0620de861 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/partition_update.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/partition_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mariadb_10_0_or_later.inc
 --source ../../include/mroonga/skip_mysql_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/repair_table_no_index_file.test b/storage/mroonga/mysql-test/mroonga/storage/t/repair_table_no_index_file.test
index 22fade591..0f04bd3e4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/repair_table_no_index_file.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/repair_table_no_index_file.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/skip_solaris.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/replace_geometry.test b/storage/mroonga/mysql-test/mroonga/storage/t/replace_geometry.test
index e9ba60c2c..854a93a2f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/replace_geometry.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/replace_geometry.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_geometry.inc
 --source ../../include/mroonga/have_version_5_6_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/replace_select_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/replace_select_varchar.test
index 3ff231857..80b566395 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/replace_select_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/replace_select_varchar.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # Based on #910.
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/replace_text.test b/storage/mroonga/mysql-test/mroonga/storage/t/replace_text.test
index 4aba5eda2..add74ad7b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/replace_text.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/replace_text.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/replace_varchar.test b/storage/mroonga/mysql-test/mroonga/storage/t/replace_varchar.test
index da3faa030..ef4739f17 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/replace_varchar.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/replace_varchar.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/replace_vector.test b/storage/mroonga/mysql-test/mroonga/storage/t/replace_vector.test
index 22cbf1388..72d233bc5 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/replace_vector.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/replace_vector.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/replace_without_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/replace_without_key.test
index db5b90ab0..4e408522f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/replace_without_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/replace_without_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/select_all.test b/storage/mroonga/mysql-test/mroonga/storage/t/select_all.test
index b607c314a..47f6e65c7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/select_all.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/select_all.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/select_empty_key_where_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/select_empty_key_where_equal.test
index 52630fec0..686a9aa20 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/select_empty_key_where_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/select_empty_key_where_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/select_empty_key_where_not_equal.test b/storage/mroonga/mysql-test/mroonga/storage/t/select_empty_key_where_not_equal.test
index 75d00e7a7..2c40b00e4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/select_empty_key_where_not_equal.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/select_empty_key_where_not_equal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/select_group_by_with_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/select_group_by_with_index.test
index ad71ac711..1d8e84a95 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/select_group_by_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/select_group_by_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/select_group_by_without_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/select_group_by_without_index.test
index 710bea0dd..5d695d6b7 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/select_group_by_without_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/select_group_by_without_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/select_pkey.test b/storage/mroonga/mysql-test/mroonga/storage/t/select_pkey.test
index 0bce1387b..8bfecaf72 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/select_pkey.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/select_pkey.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/select_secondary_key.test b/storage/mroonga/mysql-test/mroonga/storage/t/select_secondary_key.test
index 32bb5758a..838c01e4e 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/select_secondary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/select_secondary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/show_create_table_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/storage/t/show_create_table_TODO_SPLIT_ME.test
index 95007d803..81004f9bf 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/show_create_table_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/show_create_table_TODO_SPLIT_ME.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/sub_query_fulltext.test b/storage/mroonga/mysql-test/mroonga/storage/t/sub_query_fulltext.test
index a7460343c..819a27c1d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/sub_query_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/sub_query_fulltext.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/temporary_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/temporary_table.test
index ef26b467d..14aa7f266 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/temporary_table.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/temporary_table.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_osx.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/truncate.test b/storage/mroonga/mysql-test/mroonga/storage/t/truncate.test
index 840ff3754..12adecb64 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/truncate.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/truncate.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/update_binlog_row.test b/storage/mroonga/mysql-test/mroonga/storage/t/update_binlog_row.test
index c90a8cbf1..c97b0e4e4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/update_binlog_row.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/update_binlog_row.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/update_fulltext.test b/storage/mroonga/mysql-test/mroonga/storage/t/update_fulltext.test
index dbcfd6654..73e57dac1 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/update_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/update_fulltext.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/update_id_hash_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/update_id_hash_index.test
index 526d6f18c..bd1d4537d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/update_id_hash_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/update_id_hash_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/update_id_unique_hash_index.test b/storage/mroonga/mysql-test/mroonga/storage/t/update_id_unique_hash_index.test
index 0f9ecdbf3..3e05cd494 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/update_id_unique_hash_index.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/update_id_unique_hash_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/update_int.test b/storage/mroonga/mysql-test/mroonga/storage/t/update_int.test
index eb4af2c11..02151964c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/update_int.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/update_int.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/update_last_insert_grn_id.test b/storage/mroonga/mysql-test/mroonga/storage/t/update_last_insert_grn_id.test
index 872f16735..7496f7a0b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/update_last_insert_grn_id.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/update_last_insert_grn_id.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/update_virtual_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/update_virtual_column.test
index e0cb953d5..c0f2aece9 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/update_virtual_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/update_virtual_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_column.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_column.test
index 83dc25e49..b84e955fc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_column.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # TODO: Remove the check after MariaDB 5.5.42 and MariaDB 10.0.17 are released.
 --source ../../include/mroonga/have_mysql.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_leading_not.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_leading_not.test
index 21879480c..bb9eb04bf 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_leading_not.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_leading_not.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # TODO: Remove the check after MariaDB 5.5.42 and MariaDB 10.0.17 are released.
 --source ../../include/mroonga/have_mysql.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_update.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_update.test
index 77c4c1db2..940b4484a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_update.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_allow_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # TODO: Remove the check after MariaDB 5.5.42 and MariaDB 10.0.17 are released.
 --source ../../include/mroonga/have_mysql.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_syntax_query.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_syntax_query.test
index b312b31ad..0da5eed73 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_syntax_query.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_syntax_query.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # TODO: Remove the check after MariaDB 5.5.42 and MariaDB 10.0.17 are released.
 --source ../../include/mroonga/have_mysql.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_syntax_script.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_syntax_script.test
index 6509eeee2..3c73e214a 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_syntax_script.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_boolean_mode_syntax_flags_syntax_script.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # TODO: Remove the check after MariaDB 5.5.42 and MariaDB 10.0.17 are released.
 --source ../../include/mroonga/have_mysql.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_database_path_prefix.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_database_path_prefix.test
index b7a4b80b6..9a3b57155 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_database_path_prefix.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_database_path_prefix.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_parser_new_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_parser_new_value.test
index 83138aee0..b3bc8815c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_parser_new_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_parser_new_value.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_parser_same_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_parser_same_value.test
index 41aac1a14..46065e415 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_parser_same_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_parser_same_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_tokenizer_new_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_tokenizer_new_value.test
index 4c518b28e..5aec9b4fc 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_tokenizer_new_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_tokenizer_new_value.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_tokenizer_same_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_tokenizer_same_value.test
index ebd08460b..f2ee331ea 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_tokenizer_same_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_default_tokenizer_same_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_delete.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_delete.test
index 767ce3f92..349293319 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_insert.test
index 4ad242dd5..ece2a65de 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_update.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_update.test
index 66f82a5c0..a9b3005f6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_update.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_dry_write_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_enable_operations_recording_insert.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_enable_operations_recording_insert.test
index ad2b8167d..2a77a0133 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_enable_operations_recording_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_enable_operations_recording_insert.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_disable.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_disable.test
index a3720f2ef..bf9387c89 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_disable.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_disable.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_10_0_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_invalid.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_invalid.test
index 54c834d7e..1126628d6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_invalid.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_invalid.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_version_10_0_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_no_retry.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_no_retry.test
index 60e468bf0..aae419e65 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_no_retry.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_no_retry.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_valid.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_valid.test
index 4b490b8a7..e8eb2952c 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_valid.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_lock_timeout_valid.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_new_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_new_value.test
index 07a4afbe7..b17163c8f 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_new_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_new_value.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_nonexistent_path.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_nonexistent_path.test
index 13c544b95..40000b450 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_nonexistent_path.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_nonexistent_path.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_same_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_same_value.test
index e2cda37b7..8333ed4bf 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_same_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_file_same_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_level_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_level_TODO_SPLIT_ME.test
index 2cf196f49..72de94c5d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_level_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_log_level_TODO_SPLIT_ME.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_match_escalation_threshold_global.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_match_escalation_threshold_global.test
index fda1f8768..fe026a311 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_match_escalation_threshold_global.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_match_escalation_threshold_global.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_match_escalation_threshold_session.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_match_escalation_threshold_session.test
index 0a7d192f7..24c5c484d 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_match_escalation_threshold_session.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_match_escalation_threshold_session.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_global.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_global.test
index 9ce8cf8ba..56117e2ba 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_global.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_global.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_global.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_global.test
index 757a7f959..57e2a186b 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_global.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_global.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_not_found_in_limit.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_not_found_in_limit.test
index df9f49863..f0f548f61 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_not_found_in_limit.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_not_found_in_limit.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_session.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_session.test
index 19b4b2836..b25e01b78 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_session.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_mysql_5_7_or_later_session.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_not_found_in_limit.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_not_found_in_limit.test
index 0b9357e06..d67a832ad 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_not_found_in_limit.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_not_found_in_limit.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_session.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_session.test
index 5e31c8b0d..59af3e6a6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_session.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_max_n_records_for_estimate_session.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/skip_mysql_5_7_or_later.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_disabled_empty_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_disabled_empty_value.test
index fdd21cc0f..57c62b2b0 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_disabled_empty_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_disabled_empty_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_disabled_null_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_disabled_null_value.test
index b84fc3978..97590b349 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_disabled_null_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_disabled_null_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_enabled_empty_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_enabled_empty_value.test
index 0cb1a8d24..3021fe127 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_enabled_empty_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_enabled_empty_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_enabled_null_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_enabled_null_value.test
index d1704a43d..f233b7ca4 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_enabled_null_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_enabled_null_value.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_new_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_new_value.test
index e298aaa43..a98824cf6 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_new_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_new_value.test
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_same_value.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_same_value.test
index 4c500f1e6..faeb90ba8 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_same_value.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_query_log_file_same_value.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_vector_column_delimiter.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_vector_column_delimiter.test
index f1fe11864..94e8cb9ba 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_vector_column_delimiter.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_vector_column_delimiter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/variable_version.test b/storage/mroonga/mysql-test/mroonga/storage/t/variable_version.test
index 2bd4496a2..d9795eabd 100644
--- a/storage/mroonga/mysql-test/mroonga/storage/t/variable_version.test
+++ b/storage/mroonga/mysql-test/mroonga/storage/t/variable_version.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column.test
index a6d25d3f4..92e48bb1c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column_multibyte_cp932.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column_multibyte_cp932.test
index 49f65449a..21e80a74f 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column_multibyte_cp932.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column_multibyte_cp932.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column_multibyte_utf8.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column_multibyte_utf8.test
index bd5c7389b..f98d0e0da 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column_multibyte_utf8.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_add_column_multibyte_utf8.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_change_column_comment.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_change_column_comment.test
index dc98dc9c5..024da5ece 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_change_column_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_change_column_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_change_engine.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_change_engine.test
index d466b4466..fc0379f28 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_change_engine.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_change_engine.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_comment_change_engine.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_comment_change_engine.test
index ff2b6b47e..ff54f1b53 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_comment_change_engine.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_comment_change_engine.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_create_fulltext.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_create_fulltext.test
index 13344843e..80d3ee72e 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_create_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_create_fulltext.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_fulltext.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_fulltext.test
index 7bfd5fe50..867ca3704 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_fulltext.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_multiple_column.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_multiple_column.test
index f05945e1b..4bf97aace 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_multiple_column.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_multiple_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_normal.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_normal.test
index f272698c1..0eccfded9 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_normal.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_normal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_primary.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_primary.test
index e1de36d25..76cce0c90 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_primary.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_primary.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_updating.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_updating.test
index 2c994bdcc..de1af71dd 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_updating.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_disable_keys_updating.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_drop_column.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_drop_column.test
index 01fce22c3..9a8c97227 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_drop_column.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_drop_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_fulltext.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_fulltext.test
index bc451c354..844093070 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_fulltext.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_lock_tables.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_lock_tables.test
index 66ee293bf..1532c9169 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_lock_tables.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_lock_tables.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_multiple_column.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_multiple_column.test
index f364ba3d7..787077974 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_multiple_column.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_multiple_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_normal.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_normal.test
index 7b72b113c..2427353ab 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_normal.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_normal.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_primary.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_primary.test
index 25cdc13ac..7c3c7176b 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_primary.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_enable_keys_primary.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_fulltext.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_fulltext.test
index 671b96172..95220759c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_fulltext.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_rename_table.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_rename_table.test
index 288e5cdc0..46c57f050 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_rename_table.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_rename_table.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_spatial.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_spatial.test
index bcc043485..727557f88 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_spatial.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/alter_table_spatial.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/auto_increment_text.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/auto_increment_text.test
index 57af6f121..e8cd2585b 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/auto_increment_text.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/auto_increment_text.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/binlog_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/binlog_TODO_SPLIT_ME.test
index 1c120f364..328d2f7d5 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/binlog_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/binlog_TODO_SPLIT_ME.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/have_log_bin.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/check_table_for_upgrade.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/check_table_for_upgrade.test
index c6d4a9246..f846cce79 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/check_table_for_upgrade.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/check_table_for_upgrade.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_comment_index_not_for_mroonga.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_comment_index_not_for_mroonga.test
index de195a5b9..3213693e2 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_comment_index_not_for_mroonga.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_comment_index_not_for_mroonga.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_add_column.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_add_column.test
index e10ecfe9b..b1c5a80cf 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_add_column.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_add_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_delete.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_delete.test
index 784f419e2..5ee4c0003 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_drop_column.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_drop_column.test
index de2e40680..4193b268e 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_drop_column.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_drop_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_insert.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_insert.test
index a8fcf191e..bcea1738b 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_reindex.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_reindex.test
index db4f0ed44..130d41d19 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_reindex.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_reindex.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_update.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_update.test
index a59e5b6c4..77562cb68 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_update.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_stored_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_column.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_column.test
index 502fb1502..68567b804 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_column.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_fulltext_index.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_fulltext_index.test
index 5103a91e9..ebf7213b6 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_fulltext_index.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_fulltext_index.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mariadb_10_2_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_index.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_index.test
index 3b3b67c97..c5719ff79 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_index.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_add_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_delete.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_delete.test
index 73848a3f2..df3715348 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_drop_column.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_drop_column.test
index cd5a9cb40..b025fd790 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_drop_column.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_drop_column.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_insert.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_insert.test
index a5180a973..4ef127f3c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_update.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_update.test
index c266ffe6e..fe9b662bf 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_update.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_generated_virtual_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_version_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_multibyte_cp932.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_multibyte_cp932.test
index cea67376f..5898e3772 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_multibyte_cp932.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_multibyte_cp932.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_multibyte_utf8.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_multibyte_utf8.test
index f1e0f3941..c646a1d2e 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_multibyte_utf8.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_multibyte_utf8.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_normal_comment.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_normal_comment.test
index ba5786d05..802f5beb9 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/column_normal_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/column_normal_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star.test
index b557a9651..de9e81085 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star_mysql_5_7_or_later_with_index.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star_mysql_5_7_or_later_with_index.test
index b329d9a5f..9a082c69e 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star_mysql_5_7_or_later_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star_mysql_5_7_or_later_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star_with_index.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star_with_index.test
index 0a3a5c818..dce0899e9 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star_with_index.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/count_star_with_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/skip_mysql_5_7_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_TODO_SPLIT_ME.test
index 1c0d44501..997410b5d 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_TODO_SPLIT_ME.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_comment_combined.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_comment_combined.test
index eaad5ed47..e6dd99080 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_comment_combined.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_comment_combined.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_comment.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_comment.test
index 6daa5acfd..e5c66243c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_comment.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_none.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_none.test
index 22d28e941..e8b57a93c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_none.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_none.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_parameter.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_parameter.test
index c3b689580..ca536cc3b 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_flags_parameter.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source include/have_innodb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_index_flags_none.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_index_flags_none.test
index 06cb7658c..0b02780dd 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_index_flags_none.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_index_flags_none.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_index_flags_with_position_and_with_weight.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_index_flags_with_position_and_with_weight.test
index 84dc9d852..aa0737f44 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_index_flags_with_position_and_with_weight.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_index_flags_with_position_and_with_weight.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_comment.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_comment.test
index 8846821cf..b393c59ae 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_fulltext_index_bin.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_fulltext_index_bin.test
index 5454b1763..000d2d5bc 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_fulltext_index_bin.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_fulltext_index_bin.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_parameter.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_parameter.test
index 287d594b7..354d27c66 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_normalizer_parameter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source include/have_innodb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_parser_comment.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_parser_comment.test
index 54d63fbe4..064685d20 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_parser_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_parser_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source include/have_innodb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_multiple_token_filters.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_multiple_token_filters.test
index c79744993..45c758173 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_multiple_token_filters.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_multiple_token_filters.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_one_token_filter.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_one_token_filter.test
index 80bb5cf87..64732efd8 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_one_token_filter.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_one_token_filter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_parameter.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_parameter.test
index 99343ec60..3fb0caead 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_token_filters_index_parameter.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source include/have_innodb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_tokenizer_comment.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_tokenizer_comment.test
index e3e6d671a..29233d013 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_tokenizer_comment.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_tokenizer_comment.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_tokenizer_parameter.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_tokenizer_parameter.test
index 3eadb51a7..072ad4506 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_tokenizer_parameter.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/create_table_tokenizer_parameter.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mariadb.inc
 --source include/have_innodb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/delete_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/delete_TODO_SPLIT_ME.test
index b06a60671..9491ba7f0 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/delete_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/delete_TODO_SPLIT_ME.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/delete_all.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/delete_all.test
index ca33da8c3..50ebec449 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/delete_all.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/delete_all.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/drop_table_new_connection.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/drop_table_new_connection.test
index c0f492d19..5e761376a 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/drop_table_new_connection.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/drop_table_new_connection.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/not_embedded.inc
 --source include/have_innodb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_leading_not.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_leading_not.test
index 0234f831f..92c6b3fd4 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_leading_not.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_leading_not.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_multiple_match_against.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_multiple_match_against.test
index 73de4d5e7..5acbbe5c6 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_multiple_match_against.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_multiple_match_against.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_no_operator.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_no_operator.test
index 14fba8d22..bbd8223b8 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_no_operator.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_no_operator.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_with_or.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_with_or.test
index 9cfd841b7..d49e7e92f 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_with_or.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_with_or.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_with_plus.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_with_plus.test
index b28caa87e..2f90b9656 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_with_plus.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_minus_with_plus.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_no_operator.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_no_operator.test
index 1dfdc4969..dffbb6e37 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_no_operator.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_no_operator.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_with_minus.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_with_minus.test
index 66f7aaf88..310ca900d 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_with_minus.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_with_minus.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_with_plus.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_with_plus.test
index 54278e976..cd65c7924 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_with_plus.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_or_with_plus.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_no_operator.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_no_operator.test
index 459fd9135..3c8145f1c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_no_operator.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_no_operator.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_with_minus.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_with_minus.test
index 3245501d6..f7e457064 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_with_minus.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_with_minus.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_with_or.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_with_or.test
index 0e6994113..94069f9af 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_with_or.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_default_operator_plus_with_or.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_full_spec.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_full_spec.test
index 3191ff6c4..5c36b04b3 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_full_spec.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_full_spec.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_no_weight.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_no_weight.test
index 90216c0a4..a8ee6cf3c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_no_weight.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_no_weight.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_omit_section.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_omit_section.test
index 4a5512791..63379dcd0 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_omit_section.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_boolean_mode_pragma_weight_omit_section.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_ascii.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_ascii.test
index 27af7f5d8..5f42b534b 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_ascii.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_ascii.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_cp932.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_cp932.test
index 912b3c9ee..b7b5ccf27 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_cp932.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_cp932.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/have_cp932.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_eucjpms.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_eucjpms.test
index 56309998b..afe220277 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_eucjpms.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_eucjpms.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/have_eucjpms.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_japanese.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_japanese.test
index 589b4d79d..d013abb58 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_japanese.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_charset_japanese.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_index_recreate.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_index_recreate.test
index 6b0764762..e6f3d8113 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_index_recreate.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_index_recreate.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_insert_select.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_insert_select.test
index d4364af2d..38adadeaf 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_insert_select.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_insert_select.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_insert_values.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_insert_values.test
index ea76dd055..b8e55db4f 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_insert_values.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_insert_values.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_many_records.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_many_records.test
index 38e177002..a036a5215 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_many_records.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_many_records.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_have_where_matched_order.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_have_where_matched_order.test
index 61ef72370..306a12bd3 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_have_where_matched_order.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_have_where_matched_order.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_have_where_no_order.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_have_where_no_order.test
index 1cc2f6c29..488af677f 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_have_where_no_order.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_have_where_no_order.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_no_where_both_order.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_no_where_both_order.test
index 673ed5619..89a0804ee 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_no_where_both_order.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_matched_and_not_matched_no_where_both_order.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_delete.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_delete.test
index 2d2ffe7b0..0d2e0056b 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_insert.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_insert.test
index 81047e783..2886edafa 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_recreate.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_recreate.test
index 037784e42..249abeedc 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_recreate.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_recreate.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_update.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_update.test
index 72662d780..63b5943fa 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_update.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_column_index_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_index.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_index.test
index 8ecb8eeec..749b08ee0 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_index.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_multiple_index.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_myisam.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_myisam.test
index 818624392..dc92fafdc 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_myisam.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_myisam.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_not_match_against.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_not_match_against.test
index d65fdefd6..473fd2d7e 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_not_match_against.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_not_match_against.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_order_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_order_TODO_SPLIT_ME.test
index 55813bd3f..6949ecd6c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_order_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_order_TODO_SPLIT_ME.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_order_transaction.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_order_transaction.test
index bcab5307e..aa5100121 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_order_transaction.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/fulltext_order_transaction.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/function_last_insert_id_reference.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/function_last_insert_id_reference.test
index f08337af9..0423e9486 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/function_last_insert_id_reference.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/function_last_insert_id_reference.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/function_last_insert_id_set.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/function_last_insert_id_set.test
index d1be7ae64..046e9d74b 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/function_last_insert_id_set.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/function_last_insert_id_set.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_contains.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_contains.test
index 8c669052d..80dc209a2 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_contains.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_contains.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/have_geometry.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_delete.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_delete.test
index 3a4d399be..cc4d50b83 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/have_geometry.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_update.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_update.test
index db7aa344e..b340cf710 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_update.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/geometry_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/have_geometry.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/index_force_index_not_used.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/index_force_index_not_used.test
index 1c73f30b6..89e873606 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/index_force_index_not_used.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/index_force_index_not_used.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_TODO_SPLIT_ME.test
index 021d3f8e9..03aa71cd5 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_TODO_SPLIT_ME.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_bulk.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_bulk.test
index b21dcc5b8..e315ac5d3 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_bulk.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_bulk.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_on_duplicate_key_update_multiple_column_primary_key_myisam.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_on_duplicate_key_update_multiple_column_primary_key_myisam.test
index 3006bac6d..e7fba640e 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_on_duplicate_key_update_multiple_column_primary_key_myisam.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_on_duplicate_key_update_multiple_column_primary_key_myisam.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_on_duplicate_key_update_multiple_column_unique_index_myisam.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_on_duplicate_key_update_multiple_column_unique_index_myisam.test
index ae993b76b..dc5d8b5a8 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_on_duplicate_key_update_multiple_column_unique_index_myisam.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/insert_on_duplicate_key_update_multiple_column_unique_index_myisam.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mroonga.inc
 
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/multi_range_read_disk_sweep.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/multi_range_read_disk_sweep.test
index ce9cf85e7..436904e21 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/multi_range_read_disk_sweep.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/multi_range_read_disk_sweep.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql.inc
 --source ../../include/mroonga/have_version_5_6_or_later.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/multi_range_read_mysql_5_7_or_later_disk_sweep.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/multi_range_read_mysql_5_7_or_later_disk_sweep.test
index fb6529ef7..c883e4938 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/multi_range_read_mysql_5_7_or_later_disk_sweep.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/multi_range_read_mysql_5_7_or_later_disk_sweep.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source ../../include/mroonga/have_mysql_5_7_or_later.inc
 --source include/have_innodb.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_TODO_SPLIT_ME.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_TODO_SPLIT_ME.test
index 9aeeef0e8..a47e73f5b 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_TODO_SPLIT_ME.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_TODO_SPLIT_ME.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_no_direction.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_no_direction.test
index 4a2338714..21180eb95 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_no_direction.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_no_direction.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_no_where_clause.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_no_where_clause.test
index 8b8e4754d..d40328299 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_no_where_clause.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_no_where_clause.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_order_by_primary_key.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_order_by_primary_key.test
index f1b6ad62c..2513df8e7 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_order_by_primary_key.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/optimization_order_limit_order_by_primary_key.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/performance_schema.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/performance_schema.test
index 5ea33c4e1..6270ea66e 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/performance_schema.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/performance_schema.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/repair_table_no_files.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/repair_table_no_files.test
index 31b437122..5d9c5bd22 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/repair_table_no_files.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/repair_table_no_files.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/repair_table_no_index_file.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/repair_table_no_index_file.test
index f2b1f63a8..2fefadc25 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/repair_table_no_index_file.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/repair_table_no_index_file.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source include/not_embedded.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/temporary_table.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/temporary_table.test
index 143270dcf..e93f7f794 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/temporary_table.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/temporary_table.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/skip_osx.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_query_cache.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_query_cache.test
index 7c8486416..4284f60af 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_query_cache.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_query_cache.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_rollback_delete_delete.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_rollback_delete_delete.test
index f11ca4a98..8d3a569d2 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_rollback_delete_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_rollback_delete_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_rollback_delete_update.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_rollback_delete_update.test
index 36bc09be7..df568a79c 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_rollback_delete_update.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/transaction_rollback_delete_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/truncate.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/truncate.test
index b021b26b5..f538c3d5a 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/truncate.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/truncate.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/update_fulltext.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/update_fulltext.test
index 9052c434c..fae21d7b9 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/update_fulltext.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/update_fulltext.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/update_int.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/update_int.test
index ffa26994e..a42c06e6e 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/update_int.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/update_int.test
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_delete.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_delete.test
index c6f2a2a14..2669423ff 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_delete.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_delete.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_insert.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_insert.test
index b80f60fcb..5e369b24d 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_insert.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_insert.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_update.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_update.test
index ab75babfb..f27e9c7d4 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_update.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_dry_write_update.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_match_escalation_threshold_global.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_match_escalation_threshold_global.test
index 71d44ab57..a81468ea3 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_match_escalation_threshold_global.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_match_escalation_threshold_global.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_match_escalation_threshold_session.test b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_match_escalation_threshold_session.test
index 91196faf6..94f1a3ca0 100644
--- a/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_match_escalation_threshold_session.test
+++ b/storage/mroonga/mysql-test/mroonga/wrapper/t/variable_match_escalation_threshold_session.test
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 --source include/have_innodb.inc
 --source ../../include/mroonga/have_mroonga.inc
diff --git a/storage/mroonga/packages/ubuntu/upload.rb b/storage/mroonga/packages/ubuntu/upload.rb
index 1fedb2ecb..c8ca8aa5a 100755
--- a/storage/mroonga/packages/ubuntu/upload.rb
+++ b/storage/mroonga/packages/ubuntu/upload.rb
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 require "optparse"
 require "fileutils"
diff --git a/storage/mroonga/test/run-sql-test.sh b/storage/mroonga/test/run-sql-test.sh
index d3aaf6aec..589de4788 100755
--- a/storage/mroonga/test/run-sql-test.sh
+++ b/storage/mroonga/test/run-sql-test.sh
@@ -16,7 +16,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 export BASE_DIR="$(cd $(dirname $0); pwd)"
 top_dir="$BASE_DIR/.."
diff --git a/storage/mroonga/test/unit/test_mrn_path_mapper.cpp b/storage/mroonga/test/unit/test_mrn_path_mapper.cpp
index 54a9f35b0..3ede8726f 100644
--- a/storage/mroonga/test/unit/test_mrn_path_mapper.cpp
+++ b/storage/mroonga/test/unit/test_mrn_path_mapper.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/tools/travis/before_script.sh b/storage/mroonga/tools/travis/before_script.sh
index e3e22c876..10c319495 100755
--- a/storage/mroonga/tools/travis/before_script.sh
+++ b/storage/mroonga/tools/travis/before_script.sh
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # set -x
 set -e
diff --git a/storage/mroonga/tools/travis/install.sh b/storage/mroonga/tools/travis/install.sh
index 7596c1ccc..2c8cdbb83 100755
--- a/storage/mroonga/tools/travis/install.sh
+++ b/storage/mroonga/tools/travis/install.sh
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 set -x
 set -e
diff --git a/storage/mroonga/tools/travis/script.sh b/storage/mroonga/tools/travis/script.sh
index bc2a83e83..1c0121e07 100755
--- a/storage/mroonga/tools/travis/script.sh
+++ b/storage/mroonga/tools/travis/script.sh
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # set -x
 set -e
diff --git a/storage/mroonga/udf/mrn_udf_command.cpp b/storage/mroonga/udf/mrn_udf_command.cpp
index b4d0f8b20..10123c625 100644
--- a/storage/mroonga/udf/mrn_udf_command.cpp
+++ b/storage/mroonga/udf/mrn_udf_command.cpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/udf/mrn_udf_escape.cpp b/storage/mroonga/udf/mrn_udf_escape.cpp
index b97327fb1..72182790f 100644
--- a/storage/mroonga/udf/mrn_udf_escape.cpp
+++ b/storage/mroonga/udf/mrn_udf_escape.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/udf/mrn_udf_highlight_html.cpp b/storage/mroonga/udf/mrn_udf_highlight_html.cpp
index dc46ef5f2..12f54a7d1 100644
--- a/storage/mroonga/udf/mrn_udf_highlight_html.cpp
+++ b/storage/mroonga/udf/mrn_udf_highlight_html.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/udf/mrn_udf_last_insert_grn_id.cpp b/storage/mroonga/udf/mrn_udf_last_insert_grn_id.cpp
index fb4b5440e..46176bc86 100644
--- a/storage/mroonga/udf/mrn_udf_last_insert_grn_id.cpp
+++ b/storage/mroonga/udf/mrn_udf_last_insert_grn_id.cpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/udf/mrn_udf_normalize.cpp b/storage/mroonga/udf/mrn_udf_normalize.cpp
index dd597946e..303623516 100644
--- a/storage/mroonga/udf/mrn_udf_normalize.cpp
+++ b/storage/mroonga/udf/mrn_udf_normalize.cpp
@@ -15,7 +15,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/udf/mrn_udf_query_expand.cpp b/storage/mroonga/udf/mrn_udf_query_expand.cpp
index 562499242..03bef3215 100644
--- a/storage/mroonga/udf/mrn_udf_query_expand.cpp
+++ b/storage/mroonga/udf/mrn_udf_query_expand.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/udf/mrn_udf_snippet.cpp b/storage/mroonga/udf/mrn_udf_snippet.cpp
index 7a3522554..a4b37d03a 100644
--- a/storage/mroonga/udf/mrn_udf_snippet.cpp
+++ b/storage/mroonga/udf/mrn_udf_snippet.cpp
@@ -16,7 +16,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/udf/mrn_udf_snippet_html.cpp b/storage/mroonga/udf/mrn_udf_snippet_html.cpp
index 99c9edfbb..311c91bf6 100644
--- a/storage/mroonga/udf/mrn_udf_snippet_html.cpp
+++ b/storage/mroonga/udf/mrn_udf_snippet_html.cpp
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/CMakeLists.txt b/storage/mroonga/vendor/groonga/CMakeLists.txt
index ee526646c..e1f45b7fd 100644
--- a/storage/mroonga/vendor/groonga/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # https://buildbot.askmonty.org/buildbot/builders/work-amd64-valgrind/builds/5263/steps/compile/logs/stdio
 # says CMake 2.6.2... We want to drop old software support...
diff --git a/storage/mroonga/vendor/groonga/COPYING b/storage/mroonga/vendor/groonga/COPYING
index 4362b4915..a22bbf7e1 100644
--- a/storage/mroonga/vendor/groonga/COPYING
+++ b/storage/mroonga/vendor/groonga/COPYING
@@ -2,7 +2,7 @@
                        Version 2.1, February 1999
 
  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
 
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 Also add information on how to contact you by electronic and paper mail.
 
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-between-sequential.c b/storage/mroonga/vendor/groonga/benchmark/bench-between-sequential.c
index 53bc3af53..f0b7cf05f 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-between-sequential.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-between-sequential.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-cache.c b/storage/mroonga/vendor/groonga/benchmark/bench-cache.c
index ee54209c7..104a7c19e 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-cache.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-cache.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-ctx-create.c b/storage/mroonga/vendor/groonga/benchmark/bench-ctx-create.c
index cd6a99a40..576ac8ee6 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-ctx-create.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-ctx-create.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-geo-distance.c b/storage/mroonga/vendor/groonga/benchmark/bench-geo-distance.c
index f77cfb1d3..0b648a1c1 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-geo-distance.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-geo-distance.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-geo-select.c b/storage/mroonga/vendor/groonga/benchmark/bench-geo-select.c
index 31be2c7ad..dcad47fdf 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-geo-select.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-geo-select.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-nfkc.c b/storage/mroonga/vendor/groonga/benchmark/bench-nfkc.c
index 96b1c9bc6..ebae95b27 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-nfkc.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-nfkc.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-query-optimizer.c b/storage/mroonga/vendor/groonga/benchmark/bench-query-optimizer.c
index 4ce55c55b..48c2cb0f4 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-query-optimizer.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-query-optimizer.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-range-select.c b/storage/mroonga/vendor/groonga/benchmark/bench-range-select.c
index a0664d582..11df9c10d 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-range-select.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-range-select.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-result-set.c b/storage/mroonga/vendor/groonga/benchmark/bench-result-set.c
index cd4866e50..bba5baead 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-result-set.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-result-set.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/benchmark/bench-table-factory.c b/storage/mroonga/vendor/groonga/benchmark/bench-table-factory.c
index 9e378f553..025b0750c 100644
--- a/storage/mroonga/vendor/groonga/benchmark/bench-table-factory.c
+++ b/storage/mroonga/vendor/groonga/benchmark/bench-table-factory.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/benchmark/lib/bench-reporter.c b/storage/mroonga/vendor/groonga/benchmark/lib/bench-reporter.c
index 3eb86a264..cb4359762 100644
--- a/storage/mroonga/vendor/groonga/benchmark/lib/bench-reporter.c
+++ b/storage/mroonga/vendor/groonga/benchmark/lib/bench-reporter.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/benchmark/lib/bench-reporter.h b/storage/mroonga/vendor/groonga/benchmark/lib/bench-reporter.h
index 7ac51518d..d2c408c79 100644
--- a/storage/mroonga/vendor/groonga/benchmark/lib/bench-reporter.h
+++ b/storage/mroonga/vendor/groonga/benchmark/lib/bench-reporter.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef __BENCH_REPORTER_H__
diff --git a/storage/mroonga/vendor/groonga/benchmark/lib/bench-utils.c b/storage/mroonga/vendor/groonga/benchmark/lib/bench-utils.c
index a42797313..ef731b519 100644
--- a/storage/mroonga/vendor/groonga/benchmark/lib/bench-utils.c
+++ b/storage/mroonga/vendor/groonga/benchmark/lib/bench-utils.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/benchmark/lib/bench-utils.h b/storage/mroonga/vendor/groonga/benchmark/lib/bench-utils.h
index cebf5c2e6..b48e6f342 100644
--- a/storage/mroonga/vendor/groonga/benchmark/lib/bench-utils.h
+++ b/storage/mroonga/vendor/groonga/benchmark/lib/bench-utils.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef __BENCH_UTILS_H__
diff --git a/storage/mroonga/vendor/groonga/benchmark/lib/benchmark.c b/storage/mroonga/vendor/groonga/benchmark/lib/benchmark.c
index 3bcbacbb8..679889a4c 100644
--- a/storage/mroonga/vendor/groonga/benchmark/lib/benchmark.c
+++ b/storage/mroonga/vendor/groonga/benchmark/lib/benchmark.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "benchmark.h"
diff --git a/storage/mroonga/vendor/groonga/benchmark/lib/benchmark.h b/storage/mroonga/vendor/groonga/benchmark/lib/benchmark.h
index 87f4ed871..7d34b8f2b 100644
--- a/storage/mroonga/vendor/groonga/benchmark/lib/benchmark.h
+++ b/storage/mroonga/vendor/groonga/benchmark/lib/benchmark.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef __BENCHMARK_H__
diff --git a/storage/mroonga/vendor/groonga/bindings/python/ql/groongaql.c b/storage/mroonga/vendor/groonga/bindings/python/ql/groongaql.c
index 2eae9dacc..27a35ab9d 100644
--- a/storage/mroonga/vendor/groonga/bindings/python/ql/groongaql.c
+++ b/storage/mroonga/vendor/groonga/bindings/python/ql/groongaql.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include 
 #include 
diff --git a/storage/mroonga/vendor/groonga/build/cmake_modules/ReadFileList.cmake b/storage/mroonga/vendor/groonga/build/cmake_modules/ReadFileList.cmake
index 018587991..204f59f60 100644
--- a/storage/mroonga/vendor/groonga/build/cmake_modules/ReadFileList.cmake
+++ b/storage/mroonga/vendor/groonga/build/cmake_modules/ReadFileList.cmake
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 macro(read_file_list file_name output_variable)
   file(READ ${file_name} ${output_variable})
diff --git a/storage/mroonga/vendor/groonga/include/CMakeLists.txt b/storage/mroonga/vendor/groonga/include/CMakeLists.txt
index 7594c6e6c..791395f74 100644
--- a/storage/mroonga/vendor/groonga/include/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/include/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 install(FILES groonga.h DESTINATION "${GRN_INCLUDE_DIR}")
 install(DIRECTORY groonga DESTINATION "${GRN_INCLUDE_DIR}"
diff --git a/storage/mroonga/vendor/groonga/include/groonga.h b/storage/mroonga/vendor/groonga/include/groonga.h
index 6e1be29d2..4476eb1e8 100644
--- a/storage/mroonga/vendor/groonga/include/groonga.h
+++ b/storage/mroonga/vendor/groonga/include/groonga.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga.hpp b/storage/mroonga/vendor/groonga/include/groonga.hpp
index 3d8313b4e..010ea41bd 100644
--- a/storage/mroonga/vendor/groonga/include/groonga.hpp
+++ b/storage/mroonga/vendor/groonga/include/groonga.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/accessor.h b/storage/mroonga/vendor/groonga/include/groonga/accessor.h
index 43953287b..4fc062c57 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/accessor.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/accessor.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/array.h b/storage/mroonga/vendor/groonga/include/groonga/array.h
index 9c5e5c02a..c16ef216d 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/array.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/array.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/arrow.h b/storage/mroonga/vendor/groonga/include/groonga/arrow.h
index 248b44df4..82e945cca 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/arrow.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/arrow.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/arrow.hpp b/storage/mroonga/vendor/groonga/include/groonga/arrow.hpp
index a35a4aba6..0b434d395 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/arrow.hpp
+++ b/storage/mroonga/vendor/groonga/include/groonga/arrow.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/cache.h b/storage/mroonga/vendor/groonga/include/groonga/cache.h
index bba72243f..68325e524 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/cache.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/cache.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/column.h b/storage/mroonga/vendor/groonga/include/groonga/column.h
index 434543c22..6eacc89e0 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/column.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/column.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/command.h b/storage/mroonga/vendor/groonga/include/groonga/command.h
index 6e0880965..cccb6a97d 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/command.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/command.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/config.h b/storage/mroonga/vendor/groonga/include/groonga/config.h
index 8a8a5fc3f..bf4b94196 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/config.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/config.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/dat.h b/storage/mroonga/vendor/groonga/include/groonga/dat.h
index 164c7e793..e30df402c 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/dat.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/dat.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/db.h b/storage/mroonga/vendor/groonga/include/groonga/db.h
index cbfbfec30..e4217b4f5 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/db.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/db.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/dump.h b/storage/mroonga/vendor/groonga/include/groonga/dump.h
index 4f292f480..6c673ea91 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/dump.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/dump.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/error.h b/storage/mroonga/vendor/groonga/include/groonga/error.h
index abf3aa293..a63a52b6d 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/error.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/error.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/expr.h b/storage/mroonga/vendor/groonga/include/groonga/expr.h
index 0665f7f59..8090bc780 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/expr.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/expr.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/file_reader.h b/storage/mroonga/vendor/groonga/include/groonga/file_reader.h
index 743240716..4b3fee70a 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/file_reader.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/file_reader.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/geo.h b/storage/mroonga/vendor/groonga/include/groonga/geo.h
index 30fbb8d25..d1049350f 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/geo.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/geo.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/groonga.h b/storage/mroonga/vendor/groonga/include/groonga/groonga.h
index e289bf97f..b08403676 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/groonga.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/groonga.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/hash.h b/storage/mroonga/vendor/groonga/include/groonga/hash.h
index 7dc2df45f..6a008176d 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/hash.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/hash.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/id.h b/storage/mroonga/vendor/groonga/include/groonga/id.h
index 3284320ed..ddd7dff18 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/id.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/id.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/ii.h b/storage/mroonga/vendor/groonga/include/groonga/ii.h
index 2e8aaf7db..d19139612 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/ii.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/ii.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/nfkc.h b/storage/mroonga/vendor/groonga/include/groonga/nfkc.h
index f77ff118d..e771fd9b9 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/nfkc.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/nfkc.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/normalizer.h b/storage/mroonga/vendor/groonga/include/groonga/normalizer.h
index 827689265..b95ef6a2a 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/normalizer.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/normalizer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/obj.h b/storage/mroonga/vendor/groonga/include/groonga/obj.h
index 7bc554950..32cc2d2c0 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/obj.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/obj.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/operator.h b/storage/mroonga/vendor/groonga/include/groonga/operator.h
index 3e79e4015..7b45ac9ed 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/operator.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/operator.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/output.h b/storage/mroonga/vendor/groonga/include/groonga/output.h
index d5241aec6..cc33693ce 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/output.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/output.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/pat.h b/storage/mroonga/vendor/groonga/include/groonga/pat.h
index 27f45c0f6..c70085156 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/pat.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/pat.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/plugin.h b/storage/mroonga/vendor/groonga/include/groonga/plugin.h
index d24144454..23d3d606e 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/plugin.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/plugin.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/portability.h b/storage/mroonga/vendor/groonga/include/groonga/portability.h
index a45ba2f57..faee70b9c 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/portability.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/portability.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/request_canceler.h b/storage/mroonga/vendor/groonga/include/groonga/request_canceler.h
index a837b606a..5cb4702aa 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/request_canceler.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/request_canceler.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/request_timer.h b/storage/mroonga/vendor/groonga/include/groonga/request_timer.h
index ccc093b05..4bae968bc 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/request_timer.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/request_timer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/scorer.h b/storage/mroonga/vendor/groonga/include/groonga/scorer.h
index 7ee3f92a1..5ef4db5d9 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/scorer.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/scorer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/table.h b/storage/mroonga/vendor/groonga/include/groonga/table.h
index f9de43f46..c276df999 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/table.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/table.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/thread.h b/storage/mroonga/vendor/groonga/include/groonga/thread.h
index c7c8f8014..20bfcb39d 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/thread.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/thread.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/time.h b/storage/mroonga/vendor/groonga/include/groonga/time.h
index 44379598e..9f9427a71 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/time.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/time.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/token.h b/storage/mroonga/vendor/groonga/include/groonga/token.h
index af5e656a3..c40203c60 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/token.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/token.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/token_filter.h b/storage/mroonga/vendor/groonga/include/groonga/token_filter.h
index 6b09add12..982f7df7a 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/token_filter.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/token_filter.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/tokenizer.h b/storage/mroonga/vendor/groonga/include/groonga/tokenizer.h
index bdb1c41aa..a29c9e9ea 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/tokenizer.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/tokenizer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/type.h b/storage/mroonga/vendor/groonga/include/groonga/type.h
index c68dcd1ac..7e9c15946 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/type.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/type.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/util.h b/storage/mroonga/vendor/groonga/include/groonga/util.h
index 0a574c665..4c9b704c1 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/util.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/util.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/window_function.h b/storage/mroonga/vendor/groonga/include/groonga/window_function.h
index 404fd04bb..56ca323c8 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/window_function.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/window_function.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/windows.h b/storage/mroonga/vendor/groonga/include/groonga/windows.h
index 1984a7732..fe4e52276 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/windows.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/windows.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/include/groonga/windows_event_logger.h b/storage/mroonga/vendor/groonga/include/groonga/windows_event_logger.h
index 7fe6ea8f5..ca838f814 100644
--- a/storage/mroonga/vendor/groonga/include/groonga/windows_event_logger.h
+++ b/storage/mroonga/vendor/groonga/include/groonga/windows_event_logger.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/CMakeLists.txt b/storage/mroonga/vendor/groonga/lib/CMakeLists.txt
index 64fadb8bb..21628b26c 100644
--- a/storage/mroonga/vendor/groonga/lib/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/lib/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 add_definitions(
   -DGRN_DAT_EXPORT
diff --git a/storage/mroonga/vendor/groonga/lib/alloc.c b/storage/mroonga/vendor/groonga/lib/alloc.c
index 5d77c19e7..0adade0f4 100644
--- a/storage/mroonga/vendor/groonga/lib/alloc.c
+++ b/storage/mroonga/vendor/groonga/lib/alloc.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/arrow.cpp b/storage/mroonga/vendor/groonga/lib/arrow.cpp
index d96231f76..5f022ed17 100644
--- a/storage/mroonga/vendor/groonga/lib/arrow.cpp
+++ b/storage/mroonga/vendor/groonga/lib/arrow.cpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/cache.c b/storage/mroonga/vendor/groonga/lib/cache.c
index 38238f689..79a2c6782 100644
--- a/storage/mroonga/vendor/groonga/lib/cache.c
+++ b/storage/mroonga/vendor/groonga/lib/cache.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_cache.h"
diff --git a/storage/mroonga/vendor/groonga/lib/column.c b/storage/mroonga/vendor/groonga/lib/column.c
index 63c5d5921..ecfc71b7c 100644
--- a/storage/mroonga/vendor/groonga/lib/column.c
+++ b/storage/mroonga/vendor/groonga/lib/column.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/com.c b/storage/mroonga/vendor/groonga/lib/com.c
index 59ce80b44..2def22efd 100644
--- a/storage/mroonga/vendor/groonga/lib/com.c
+++ b/storage/mroonga/vendor/groonga/lib/com.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/command.c b/storage/mroonga/vendor/groonga/lib/command.c
index 82db2170d..3da5871b2 100644
--- a/storage/mroonga/vendor/groonga/lib/command.c
+++ b/storage/mroonga/vendor/groonga/lib/command.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/config.c b/storage/mroonga/vendor/groonga/lib/config.c
index ef40cc9c4..8a0e3a526 100644
--- a/storage/mroonga/vendor/groonga/lib/config.c
+++ b/storage/mroonga/vendor/groonga/lib/config.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ctx.c b/storage/mroonga/vendor/groonga/lib/ctx.c
index 1b9bcc3ac..dca4d1d90 100644
--- a/storage/mroonga/vendor/groonga/lib/ctx.c
+++ b/storage/mroonga/vendor/groonga/lib/ctx.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ctx_impl_mrb.c b/storage/mroonga/vendor/groonga/lib/ctx_impl_mrb.c
index fdb25108d..7f554f3fd 100644
--- a/storage/mroonga/vendor/groonga/lib/ctx_impl_mrb.c
+++ b/storage/mroonga/vendor/groonga/lib/ctx_impl_mrb.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/dat.cpp b/storage/mroonga/vendor/groonga/lib/dat.cpp
index 51f625f0b..1446be7cf 100644
--- a/storage/mroonga/vendor/groonga/lib/dat.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat.cpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/dat/array.hpp b/storage/mroonga/vendor/groonga/lib/dat/array.hpp
index ba297e81c..de60e3bd5 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/array.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/array.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/base.hpp b/storage/mroonga/vendor/groonga/lib/dat/base.hpp
index 6f80d7c29..51ec6f2f6 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/base.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/base.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/block.hpp b/storage/mroonga/vendor/groonga/lib/dat/block.hpp
index 4f1e78b0b..34e3620a7 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/block.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/block.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/check.hpp b/storage/mroonga/vendor/groonga/lib/dat/check.hpp
index 27abbc987..f77148c60 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/check.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/check.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/cursor-factory.cpp b/storage/mroonga/vendor/groonga/lib/dat/cursor-factory.cpp
index b47323a2b..0e97e527e 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/cursor-factory.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/cursor-factory.cpp
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "cursor-factory.hpp"
diff --git a/storage/mroonga/vendor/groonga/lib/dat/cursor-factory.hpp b/storage/mroonga/vendor/groonga/lib/dat/cursor-factory.hpp
index 48a0ac505..d48ab16da 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/cursor-factory.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/cursor-factory.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/cursor.hpp b/storage/mroonga/vendor/groonga/lib/dat/cursor.hpp
index 2dfd98ff1..357b5250e 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/cursor.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/cursor.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/dat.hpp b/storage/mroonga/vendor/groonga/lib/dat/dat.hpp
index a454ae7ca..1afbd0955 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/dat.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/dat.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/entry.hpp b/storage/mroonga/vendor/groonga/lib/dat/entry.hpp
index 47916e282..ecb9b53ed 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/entry.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/entry.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/file-impl.cpp b/storage/mroonga/vendor/groonga/lib/dat/file-impl.cpp
index 5bd442ef4..7032eff39 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/file-impl.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/file-impl.cpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "file-impl.hpp"
diff --git a/storage/mroonga/vendor/groonga/lib/dat/file-impl.hpp b/storage/mroonga/vendor/groonga/lib/dat/file-impl.hpp
index 830cf7737..7b9c8c766 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/file-impl.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/file-impl.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/file.cpp b/storage/mroonga/vendor/groonga/lib/dat/file.cpp
index 82d6159ed..84f2a1fb2 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/file.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/file.cpp
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "file.hpp"
diff --git a/storage/mroonga/vendor/groonga/lib/dat/file.hpp b/storage/mroonga/vendor/groonga/lib/dat/file.hpp
index 25d988d3e..722b93dda 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/file.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/file.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/header.hpp b/storage/mroonga/vendor/groonga/lib/dat/header.hpp
index cf2130762..dbbb1efd9 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/header.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/header.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/id-cursor.cpp b/storage/mroonga/vendor/groonga/lib/dat/id-cursor.cpp
index 784175f37..de9698395 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/id-cursor.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/id-cursor.cpp
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "id-cursor.hpp"
diff --git a/storage/mroonga/vendor/groonga/lib/dat/id-cursor.hpp b/storage/mroonga/vendor/groonga/lib/dat/id-cursor.hpp
index 0e02b2250..60953faeb 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/id-cursor.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/id-cursor.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/key-cursor.cpp b/storage/mroonga/vendor/groonga/lib/dat/key-cursor.cpp
index 6bf864dba..2ce04feee 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/key-cursor.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/key-cursor.cpp
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "key-cursor.hpp"
diff --git a/storage/mroonga/vendor/groonga/lib/dat/key-cursor.hpp b/storage/mroonga/vendor/groonga/lib/dat/key-cursor.hpp
index fcaa93550..56392b63c 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/key-cursor.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/key-cursor.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/key.hpp b/storage/mroonga/vendor/groonga/lib/dat/key.hpp
index 95fb2b425..eb0324cd8 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/key.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/key.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/node.hpp b/storage/mroonga/vendor/groonga/lib/dat/node.hpp
index 7f22d67d3..29febc7d8 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/node.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/node.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/predictive-cursor.cpp b/storage/mroonga/vendor/groonga/lib/dat/predictive-cursor.cpp
index 4737d8412..675203057 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/predictive-cursor.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/predictive-cursor.cpp
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "predictive-cursor.hpp"
diff --git a/storage/mroonga/vendor/groonga/lib/dat/predictive-cursor.hpp b/storage/mroonga/vendor/groonga/lib/dat/predictive-cursor.hpp
index d02b77875..88a950b8b 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/predictive-cursor.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/predictive-cursor.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/prefix-cursor.cpp b/storage/mroonga/vendor/groonga/lib/dat/prefix-cursor.cpp
index 7f994b5dc..83adeb373 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/prefix-cursor.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/prefix-cursor.cpp
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "prefix-cursor.hpp"
diff --git a/storage/mroonga/vendor/groonga/lib/dat/prefix-cursor.hpp b/storage/mroonga/vendor/groonga/lib/dat/prefix-cursor.hpp
index 9d2a62666..07a59186b 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/prefix-cursor.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/prefix-cursor.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/string.hpp b/storage/mroonga/vendor/groonga/lib/dat/string.hpp
index c6bee8641..aead21cac 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/string.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/string.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/trie.cpp b/storage/mroonga/vendor/groonga/lib/dat/trie.cpp
index 1022c2da0..b2c6a84ff 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/trie.cpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/trie.cpp
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "trie.hpp"
diff --git a/storage/mroonga/vendor/groonga/lib/dat/trie.hpp b/storage/mroonga/vendor/groonga/lib/dat/trie.hpp
index d6e5b9c28..bf7d0b988 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/trie.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/trie.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/dat/vector.hpp b/storage/mroonga/vendor/groonga/lib/dat/vector.hpp
index 202203334..8a67b27b2 100644
--- a/storage/mroonga/vendor/groonga/lib/dat/vector.hpp
+++ b/storage/mroonga/vendor/groonga/lib/dat/vector.hpp
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/db.c b/storage/mroonga/vendor/groonga/lib/db.c
index 34e339224..aeaff66f0 100644
--- a/storage/mroonga/vendor/groonga/lib/db.c
+++ b/storage/mroonga/vendor/groonga/lib/db.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include "grn_config.h"
diff --git a/storage/mroonga/vendor/groonga/lib/dump.c b/storage/mroonga/vendor/groonga/lib/dump.c
index 0c6eb6801..72017fe33 100644
--- a/storage/mroonga/vendor/groonga/lib/dump.c
+++ b/storage/mroonga/vendor/groonga/lib/dump.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx.h"
diff --git a/storage/mroonga/vendor/groonga/lib/error.c b/storage/mroonga/vendor/groonga/lib/error.c
index a745dd8fa..9fd03291f 100644
--- a/storage/mroonga/vendor/groonga/lib/error.c
+++ b/storage/mroonga/vendor/groonga/lib/error.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_error.h"
diff --git a/storage/mroonga/vendor/groonga/lib/expr.c b/storage/mroonga/vendor/groonga/lib/expr.c
index 5b1d01678..d190d3e0d 100644
--- a/storage/mroonga/vendor/groonga/lib/expr.c
+++ b/storage/mroonga/vendor/groonga/lib/expr.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include "grn_db.h"
diff --git a/storage/mroonga/vendor/groonga/lib/expr_code.c b/storage/mroonga/vendor/groonga/lib/expr_code.c
index c12a3cbc8..a2dfc60b5 100644
--- a/storage/mroonga/vendor/groonga/lib/expr_code.c
+++ b/storage/mroonga/vendor/groonga/lib/expr_code.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_expr_code.h"
diff --git a/storage/mroonga/vendor/groonga/lib/expr_executor.c b/storage/mroonga/vendor/groonga/lib/expr_executor.c
index 4fcf93a40..bc78a6500 100644
--- a/storage/mroonga/vendor/groonga/lib/expr_executor.c
+++ b/storage/mroonga/vendor/groonga/lib/expr_executor.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/file_lock.c b/storage/mroonga/vendor/groonga/lib/file_lock.c
index 3f00e45a9..3cf8acf1a 100644
--- a/storage/mroonga/vendor/groonga/lib/file_lock.c
+++ b/storage/mroonga/vendor/groonga/lib/file_lock.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_file_lock.h"
diff --git a/storage/mroonga/vendor/groonga/lib/file_reader.c b/storage/mroonga/vendor/groonga/lib/file_reader.c
index b19a626d7..0ba232749 100644
--- a/storage/mroonga/vendor/groonga/lib/file_reader.c
+++ b/storage/mroonga/vendor/groonga/lib/file_reader.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx.h"
diff --git a/storage/mroonga/vendor/groonga/lib/geo.c b/storage/mroonga/vendor/groonga/lib/geo.c
index deb8399d6..26aca4458 100644
--- a/storage/mroonga/vendor/groonga/lib/geo.c
+++ b/storage/mroonga/vendor/groonga/lib/geo.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_geo.h"
diff --git a/storage/mroonga/vendor/groonga/lib/grn.h b/storage/mroonga/vendor/groonga/lib/grn.h
index 0d0768eba..c213a3625 100644
--- a/storage/mroonga/vendor/groonga/lib/grn.h
+++ b/storage/mroonga/vendor/groonga/lib/grn.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_alloc.h b/storage/mroonga/vendor/groonga/lib/grn_alloc.h
index 8ea98cdb9..c90591136 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_alloc.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_alloc.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_cache.h b/storage/mroonga/vendor/groonga/lib/grn_cache.h
index 15a36f817..a0cb9c378 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_cache.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_cache.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_com.h b/storage/mroonga/vendor/groonga/lib/grn_com.h
index f40772371..505e87a51 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_com.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_com.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_config.h b/storage/mroonga/vendor/groonga/lib/grn_config.h
index 18d29fa00..75e23a461 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_config.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_config.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_ctx.h b/storage/mroonga/vendor/groonga/lib/grn_ctx.h
index 51eebaf3d..9e82785f9 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_ctx.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_ctx.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_ctx_impl.h b/storage/mroonga/vendor/groonga/lib/grn_ctx_impl.h
index 2d72065d4..8f300f092 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_ctx_impl.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_ctx_impl.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_ctx_impl_mrb.h b/storage/mroonga/vendor/groonga/lib/grn_ctx_impl_mrb.h
index caa303461..e3d619abe 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_ctx_impl_mrb.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_ctx_impl_mrb.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_dat.h b/storage/mroonga/vendor/groonga/lib/grn_dat.h
index 774c02694..7d0d0c8df 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_dat.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_dat.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_db.h b/storage/mroonga/vendor/groonga/lib/grn_db.h
index f0fbddad8..d3a6b48b4 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_db.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_db.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_error.h b/storage/mroonga/vendor/groonga/lib/grn_error.h
index 897ae5007..6917de83e 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_error.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_error.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_expr.h b/storage/mroonga/vendor/groonga/lib/grn_expr.h
index c20821f99..e270e1854 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_expr.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_expr.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_expr_code.h b/storage/mroonga/vendor/groonga/lib/grn_expr_code.h
index f33c532ee..48c907d50 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_expr_code.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_expr_code.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_expr_executor.h b/storage/mroonga/vendor/groonga/lib/grn_expr_executor.h
index df00134cf..1f2a1f4ed 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_expr_executor.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_expr_executor.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_file_lock.h b/storage/mroonga/vendor/groonga/lib/grn_file_lock.h
index 43ab57633..538e88af5 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_file_lock.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_file_lock.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_geo.h b/storage/mroonga/vendor/groonga/lib/grn_geo.h
index 884287aea..9597336ab 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_geo.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_geo.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_hash.h b/storage/mroonga/vendor/groonga/lib/grn_hash.h
index 6e851c212..4038909bd 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_hash.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_hash.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_ii.h b/storage/mroonga/vendor/groonga/lib/grn_ii.h
index 21f57e2f1..0598c9e70 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_ii.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_ii.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_index_column.h b/storage/mroonga/vendor/groonga/lib/grn_index_column.h
index afaed9c90..b9142d5c1 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_index_column.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_index_column.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_io.h b/storage/mroonga/vendor/groonga/lib/grn_io.h
index 6cea27f29..bc5ecf7fa 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_io.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_io.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_load.h b/storage/mroonga/vendor/groonga/lib/grn_load.h
index b4345c953..a3b909b2d 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_load.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_load.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_logger.h b/storage/mroonga/vendor/groonga/lib/grn_logger.h
index ea0a85fb2..58d745cff 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_logger.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_logger.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_mrb.h b/storage/mroonga/vendor/groonga/lib/grn_mrb.h
index 2fd00b328..d1e20a667 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_mrb.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_mrb.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_msgpack.h b/storage/mroonga/vendor/groonga/lib/grn_msgpack.h
index c153d83bb..3452d588b 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_msgpack.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_msgpack.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_nfkc.h b/storage/mroonga/vendor/groonga/lib/grn_nfkc.h
index 139cd5b95..33119d55d 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_nfkc.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_nfkc.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_normalizer.h b/storage/mroonga/vendor/groonga/lib/grn_normalizer.h
index 3afc9bcef..2ff500473 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_normalizer.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_normalizer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_obj.h b/storage/mroonga/vendor/groonga/lib/grn_obj.h
index b05a3778d..48eb503b2 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_obj.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_obj.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_output.h b/storage/mroonga/vendor/groonga/lib/grn_output.h
index af99b0c9c..143641074 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_output.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_output.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_pat.h b/storage/mroonga/vendor/groonga/lib/grn_pat.h
index 69a5d0c10..1a7e3cfbd 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_pat.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_pat.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_plugin.h b/storage/mroonga/vendor/groonga/lib/grn_plugin.h
index 3e7b95288..0bed139c7 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_plugin.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_plugin.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_proc.h b/storage/mroonga/vendor/groonga/lib/grn_proc.h
index 961ce3e46..267ef01be 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_proc.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_proc.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_raw_string.h b/storage/mroonga/vendor/groonga/lib/grn_raw_string.h
index b115ad838..2b5fdc9c7 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_raw_string.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_raw_string.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_report.h b/storage/mroonga/vendor/groonga/lib/grn_report.h
index a8bd52fcd..bb76caf7e 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_report.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_report.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_request_canceler.h b/storage/mroonga/vendor/groonga/lib/grn_request_canceler.h
index 212605394..ddb4031a8 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_request_canceler.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_request_canceler.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_request_timer.h b/storage/mroonga/vendor/groonga/lib/grn_request_timer.h
index 696687d0c..4a45751c5 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_request_timer.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_request_timer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_rset.h b/storage/mroonga/vendor/groonga/lib/grn_rset.h
index 6a6a8b83f..5ca6e8d56 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_rset.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_rset.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_scanner.h b/storage/mroonga/vendor/groonga/lib/grn_scanner.h
index 617c2b89a..8ea8597bf 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_scanner.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_scanner.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_scorer.h b/storage/mroonga/vendor/groonga/lib/grn_scorer.h
index 438fd87ab..04e8bfd52 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_scorer.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_scorer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_scorers.h b/storage/mroonga/vendor/groonga/lib/grn_scorers.h
index 4a6f1e255..1f136a9c1 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_scorers.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_scorers.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_snip.h b/storage/mroonga/vendor/groonga/lib/grn_snip.h
index 023a1d1b2..3989a17d5 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_snip.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_snip.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_store.h b/storage/mroonga/vendor/groonga/lib/grn_store.h
index 67f183e71..8de6fd66e 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_store.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_store.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_str.h b/storage/mroonga/vendor/groonga/lib/grn_str.h
index 61711aa7a..9efd28e3b 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_str.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_str.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_string.h b/storage/mroonga/vendor/groonga/lib/grn_string.h
index 95454ef0e..39e76c968 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_string.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_string.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_time.h b/storage/mroonga/vendor/groonga/lib/grn_time.h
index 1db99481e..b34f6687f 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_time.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_time.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_token_cursor.h b/storage/mroonga/vendor/groonga/lib/grn_token_cursor.h
index 17858f236..a89f4c684 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_token_cursor.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_token_cursor.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_tokenizers.h b/storage/mroonga/vendor/groonga/lib/grn_tokenizers.h
index d52bbbb63..e90dbfc0b 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_tokenizers.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_tokenizers.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_ts.h b/storage/mroonga/vendor/groonga/lib/grn_ts.h
index d6939646e..83f4dca80 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_ts.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_ts.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_util.h b/storage/mroonga/vendor/groonga/lib/grn_util.h
index b9ed347a9..5b888fd5e 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_util.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_util.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_window_function.h b/storage/mroonga/vendor/groonga/lib/grn_window_function.h
index e51798487..c5894241d 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_window_function.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_window_function.h
@@ -14,7 +14,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_window_functions.h b/storage/mroonga/vendor/groonga/lib/grn_window_functions.h
index a9d1e6fd9..c44e65a1c 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_window_functions.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_window_functions.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/grn_windows.h b/storage/mroonga/vendor/groonga/lib/grn_windows.h
index dd80aa54b..aee18aec7 100644
--- a/storage/mroonga/vendor/groonga/lib/grn_windows.h
+++ b/storage/mroonga/vendor/groonga/lib/grn_windows.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/hash.c b/storage/mroonga/vendor/groonga/lib/hash.c
index 905d27c0a..8fe180481 100644
--- a/storage/mroonga/vendor/groonga/lib/hash.c
+++ b/storage/mroonga/vendor/groonga/lib/hash.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn_hash.h"
 #include "grn_output.h"
diff --git a/storage/mroonga/vendor/groonga/lib/icudump.c b/storage/mroonga/vendor/groonga/lib/icudump.c
index 233aef7bf..91751f942 100644
--- a/storage/mroonga/vendor/groonga/lib/icudump.c
+++ b/storage/mroonga/vendor/groonga/lib/icudump.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include 
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/id.c b/storage/mroonga/vendor/groonga/lib/id.c
index 5cf96c8a0..96eae9f98 100644
--- a/storage/mroonga/vendor/groonga/lib/id.c
+++ b/storage/mroonga/vendor/groonga/lib/id.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ii.c b/storage/mroonga/vendor/groonga/lib/ii.c
index 04f8ec0d4..3a62d03ab 100644
--- a/storage/mroonga/vendor/groonga/lib/ii.c
+++ b/storage/mroonga/vendor/groonga/lib/ii.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/index_column.c b/storage/mroonga/vendor/groonga/lib/index_column.c
index 9838eb525..c4a2a7c6f 100644
--- a/storage/mroonga/vendor/groonga/lib/index_column.c
+++ b/storage/mroonga/vendor/groonga/lib/index_column.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_index_column.h"
diff --git a/storage/mroonga/vendor/groonga/lib/io.c b/storage/mroonga/vendor/groonga/lib/io.c
index a20fef614..013595218 100644
--- a/storage/mroonga/vendor/groonga/lib/io.c
+++ b/storage/mroonga/vendor/groonga/lib/io.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/load.c b/storage/mroonga/vendor/groonga/lib/load.c
index ee0a1e2a0..b840a0dc8 100644
--- a/storage/mroonga/vendor/groonga/lib/load.c
+++ b/storage/mroonga/vendor/groonga/lib/load.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_load.h"
diff --git a/storage/mroonga/vendor/groonga/lib/logger.c b/storage/mroonga/vendor/groonga/lib/logger.c
index d86b0b925..9c1a2dbd8 100644
--- a/storage/mroonga/vendor/groonga/lib/logger.c
+++ b/storage/mroonga/vendor/groonga/lib/logger.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_logger.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb.c b/storage/mroonga/vendor/groonga/lib/mrb.c
index 3293c0196..f5bb49fbd 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_mrb.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_accessor.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_accessor.c
index 0ef790544..ef341d3a1 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_accessor.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_accessor.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_accessor.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_accessor.h
index f8aca1e87..4443f7d5c 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_accessor.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_accessor.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_array.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_array.c
index ab0b3e57b..2d1e84cc9 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_array.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_array.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_array.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_array.h
index 39e8f5f81..77ef94d5c 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_array.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_array.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_bulk.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_bulk.c
index 6fa425867..b3c477958 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_bulk.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_bulk.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_bulk.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_bulk.h
index b351a78ce..f8f14b5f9 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_bulk.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_bulk.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_cache.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_cache.c
index c0fa33b89..843350f91 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_cache.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_cache.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_cache.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_cache.h
index 0eb7963b2..14628ba80 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_cache.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_cache.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_column.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_column.c
index 268558dd3..b36a42bfd 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_column.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_column.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_column.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_column.h
index c692e76f5..110b294c1 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_column.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_column.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command.c
index 802012ebd..0c9c74811 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command.h
index 6bbe4830a..1872ca9f9 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_input.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_input.c
index 07c0a74dd..36570fd1d 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_input.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_input.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_input.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_input.h
index 074912d92..7766d8196 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_input.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_input.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_version.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_version.c
index 89ecef309..8c7c07895 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_version.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_version.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_version.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_version.h
index 556964a7b..167b7cb9a 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_version.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_command_version.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_config.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_config.c
index ae94d2d51..52c722a45 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_config.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_config.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_config.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_config.h
index 5b6c95eb8..a460db09b 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_config.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_config.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_content_type.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_content_type.c
index 7f4ff139d..1010a4291 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_content_type.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_content_type.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_content_type.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_content_type.h
index ed0b999a7..094f3df0c 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_content_type.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_content_type.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_converter.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_converter.c
index 4dae6ba2c..147c47a33 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_converter.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_converter.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_converter.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_converter.h
index c7628a66e..9b8546ddc 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_converter.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_converter.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_ctx.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_ctx.c
index e4d9eed65..e89df53e4 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_ctx.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_ctx.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_ctx.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_ctx.h
index b94128292..72519ae62 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_ctx.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_ctx.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_database.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_database.c
index f9133167a..5ff2bdbef 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_database.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_database.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_database.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_database.h
index 7601cddfc..512e33c90 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_database.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_database.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_double_array_trie.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_double_array_trie.c
index 5c034090b..20007fef5 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_double_array_trie.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_double_array_trie.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_double_array_trie.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_double_array_trie.h
index a9109a499..4e7bd59dd 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_double_array_trie.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_double_array_trie.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_error.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_error.c
index 5ba86341f..f162d4995 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_error.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_error.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_error.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_error.h
index e68805076..917bfec50 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_error.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_error.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_eval_context.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_eval_context.c
index cd23c4eb1..fd5be59ca 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_eval_context.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_eval_context.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_eval_context.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_eval_context.h
index ef61ed5dd..c277ed5e0 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_eval_context.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_eval_context.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_expr.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_expr.c
index 47ef3b5b1..2b8f6a04c 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_expr.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_expr.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_expr.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_expr.h
index 14a5f975d..22b20220b 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_expr.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_expr.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_fixed_size_column.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_fixed_size_column.c
index 130225029..b1545dbcf 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_fixed_size_column.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_fixed_size_column.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_fixed_size_column.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_fixed_size_column.h
index 95d8f507a..9498d3373 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_fixed_size_column.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_fixed_size_column.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_hash_table.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_hash_table.c
index ee71987b0..cf9a0d91a 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_hash_table.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_hash_table.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_hash_table.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_hash_table.h
index 0fc40b2ba..d6b747f0d 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_hash_table.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_hash_table.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_id.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_id.c
index f55960716..d5970fee0 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_id.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_id.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_id.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_id.h
index ff277340c..b5418b736 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_id.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_id.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_column.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_column.c
index d31336f0a..02a3901b4 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_column.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_column.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_column.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_column.h
index 0aa29eea8..085a2d3a6 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_column.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_column.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_cursor.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_cursor.c
index 099266131..20f1e64f3 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_cursor.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_cursor.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_cursor.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_cursor.h
index 0c9d7b549..c1026002d 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_cursor.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_index_cursor.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_indexable.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_indexable.c
index 47a469358..cd8f44aed 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_indexable.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_indexable.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_indexable.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_indexable.h
index 7634dd6f5..3b191c723 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_indexable.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_indexable.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_logger.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_logger.c
index 3ba09d029..d5ed72dfa 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_logger.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_logger.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_logger.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_logger.h
index c6a1ede9d..d23ddb19b 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_logger.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_logger.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_object.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_object.c
index ffa2c55af..874d4addd 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_object.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_object.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_object.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_object.h
index 0eebe5477..5650ba285 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_object.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_object.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_object_flags.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_object_flags.c
index 21d5b310f..1fb70299c 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_object_flags.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_object_flags.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_object_flags.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_object_flags.h
index 59e5680ea..6f7bd7f7a 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_object_flags.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_object_flags.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_operator.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_operator.c
index ed16a0230..e0ef47272 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_operator.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_operator.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_operator.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_operator.h
index adbb3e24b..6f27e1371 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_operator.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_operator.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_options.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_options.c
index ff3a1c0e7..445bcaf63 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_options.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_options.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_options.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_options.h
index 1523f05e2..0cbd7bb71 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_options.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_options.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_patricia_trie.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_patricia_trie.c
index d2486f21c..bd206b5c2 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_patricia_trie.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_patricia_trie.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_patricia_trie.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_patricia_trie.h
index 9a34bc2ae..11da13a38 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_patricia_trie.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_patricia_trie.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_pointer.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_pointer.c
index 7440dc0b1..b0d60f181 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_pointer.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_pointer.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_pointer.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_pointer.h
index 2ee7fba4b..5fe1dfb47 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_pointer.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_pointer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_procedure.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_procedure.c
index 2b425d6a5..f5045dc1a 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_procedure.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_procedure.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_procedure.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_procedure.h
index 32135335a..5d64fcd00 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_procedure.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_procedure.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_query_logger.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_query_logger.c
index b2f5e79ed..d19ca7807 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_query_logger.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_query_logger.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_query_logger.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_query_logger.h
index 8293f3993..c0ea5eaff 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_query_logger.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_query_logger.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_record.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_record.c
index 84d061ad4..57411d271 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_record.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_record.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_record.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_record.h
index ad6e01d91..9c0e6ecee 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_record.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_record.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table.c
index baf110ad6..fecc6e3de 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table.h
index 3af173aa3..fd06db561 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor.c
index 4a3ad93e5..a7748168f 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor.h
index 6d3e2c4be..6ffd51af7 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor_flags.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor_flags.c
index 8b889fc5b..58a3137a3 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor_flags.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor_flags.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor_flags.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor_flags.h
index 058de5ee6..5db915a71 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor_flags.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_cursor_flags.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_flags.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_flags.c
index 9419f1b79..8984ebefa 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_flags.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_flags.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_flags.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_flags.h
index 1c80df39d..4230a2404 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_flags.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_flags.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_result.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_result.c
index 02c73c759..c4aaafa41 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_result.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_result.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_result.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_result.h
index 87615ebdc..c3b17af20 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_result.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_group_result.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_flags.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_flags.c
index 0c4025910..47f0169ef 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_flags.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_flags.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_flags.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_flags.h
index a8e35f495..7450399e2 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_flags.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_flags.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_key.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_key.c
index 860dd2b47..f8692d48c 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_key.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_key.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_key.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_key.h
index 9825ca80c..9ca38bfca 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_key.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_table_sort_key.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_thread.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_thread.c
index 6085543e1..ba3a7e7b2 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_thread.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_thread.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_thread.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_thread.h
index 946dd698e..030eafed7 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_thread.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_thread.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_type.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_type.c
index 9fe602e6c..a288d60f1 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_type.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_type.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_type.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_type.h
index 17b439446..8dc74b79d 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_type.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_type.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_variable_size_column.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_variable_size_column.c
index 153b28066..78f3de86d 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_variable_size_column.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_variable_size_column.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_variable_size_column.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_variable_size_column.h
index 16d5403a9..1bac1238b 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_variable_size_column.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_variable_size_column.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_void.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_void.c
index bdc451930..33cdea6c4 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_void.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_void.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_void.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_void.h
index 3169334fe..dced27476 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_void.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_void.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_window_definition.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_window_definition.c
index 964a84211..86ff372e7 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_window_definition.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_window_definition.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_window_definition.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_window_definition.h
index 871be3432..ea1b8ef62 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_window_definition.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_window_definition.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_writer.c b/storage/mroonga/vendor/groonga/lib/mrb/mrb_writer.c
index 20ebd6ab9..b2ca09f94 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_writer.c
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_writer.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/mrb/mrb_writer.h b/storage/mroonga/vendor/groonga/lib/mrb/mrb_writer.h
index a4de02615..7b5b32d4f 100644
--- a/storage/mroonga/vendor/groonga/lib/mrb/mrb_writer.h
+++ b/storage/mroonga/vendor/groonga/lib/mrb/mrb_writer.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/nfkc.c b/storage/mroonga/vendor/groonga/lib/nfkc.c
index 2330fbbe7..e83fe6106 100644
--- a/storage/mroonga/vendor/groonga/lib/nfkc.c
+++ b/storage/mroonga/vendor/groonga/lib/nfkc.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/nfkc.rb b/storage/mroonga/vendor/groonga/lib/nfkc.rb
index 9ad25bba9..0c0e7fe71 100755
--- a/storage/mroonga/vendor/groonga/lib/nfkc.rb
+++ b/storage/mroonga/vendor/groonga/lib/nfkc.rb
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 CUSTOM_RULE_PATH = 'nfkc-custom-rules.txt'
 
@@ -872,7 +872,7 @@ File.open("nfkc#{unicode_version}.c", "w") do |output|
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/lib/nfkc50.c b/storage/mroonga/vendor/groonga/lib/nfkc50.c
index 06e802962..f734e832c 100644
--- a/storage/mroonga/vendor/groonga/lib/nfkc50.c
+++ b/storage/mroonga/vendor/groonga/lib/nfkc50.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /*
diff --git a/storage/mroonga/vendor/groonga/lib/normalizer.c b/storage/mroonga/vendor/groonga/lib/normalizer.c
index 6004372f0..7e69d6844 100644
--- a/storage/mroonga/vendor/groonga/lib/normalizer.c
+++ b/storage/mroonga/vendor/groonga/lib/normalizer.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/obj.c b/storage/mroonga/vendor/groonga/lib/obj.c
index 09d71ec07..8160daf5b 100644
--- a/storage/mroonga/vendor/groonga/lib/obj.c
+++ b/storage/mroonga/vendor/groonga/lib/obj.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/operator.c b/storage/mroonga/vendor/groonga/lib/operator.c
index bece43883..1d371fe4f 100644
--- a/storage/mroonga/vendor/groonga/lib/operator.c
+++ b/storage/mroonga/vendor/groonga/lib/operator.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/output.c b/storage/mroonga/vendor/groonga/lib/output.c
index d894280ab..3c1fb21d3 100644
--- a/storage/mroonga/vendor/groonga/lib/output.c
+++ b/storage/mroonga/vendor/groonga/lib/output.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/pat.c b/storage/mroonga/vendor/groonga/lib/pat.c
index 8e20fde40..e2f98fba0 100644
--- a/storage/mroonga/vendor/groonga/lib/pat.c
+++ b/storage/mroonga/vendor/groonga/lib/pat.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/plugin.c b/storage/mroonga/vendor/groonga/lib/plugin.c
index e60c22ed9..ce4e33471 100644
--- a/storage/mroonga/vendor/groonga/lib/plugin.c
+++ b/storage/mroonga/vendor/groonga/lib/plugin.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include "grn_ctx_impl_mrb.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc.c b/storage/mroonga/vendor/groonga/lib/proc.c
index e21769f3f..489736414 100644
--- a/storage/mroonga/vendor/groonga/lib/proc.c
+++ b/storage/mroonga/vendor/groonga/lib/proc.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_column.c b/storage/mroonga/vendor/groonga/lib/proc/proc_column.c
index fa6dacf86..2e92f35fb 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_column.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_column.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_config.c b/storage/mroonga/vendor/groonga/lib/proc/proc_config.c
index 98533e3bc..61a1c5a80 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_config.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_config.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_dump.c b/storage/mroonga/vendor/groonga/lib/proc/proc_dump.c
index 9439e0cda..7915ddfd3 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_dump.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_dump.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_fuzzy_search.c b/storage/mroonga/vendor/groonga/lib/proc/proc_fuzzy_search.c
index bb1b6a65f..943a8fdf7 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_fuzzy_search.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_fuzzy_search.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_highlight.c b/storage/mroonga/vendor/groonga/lib/proc/proc_highlight.c
index 7d815184a..80551a104 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_highlight.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_highlight.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_in_records.c b/storage/mroonga/vendor/groonga/lib/proc/proc_in_records.c
index ca85678e7..e3b8a7e37 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_in_records.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_in_records.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_lock.c b/storage/mroonga/vendor/groonga/lib/proc/proc_lock.c
index 5dbcf5bbc..9eaf808a8 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_lock.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_lock.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_object.c b/storage/mroonga/vendor/groonga/lib/proc/proc_object.c
index a4b2fbe4a..380e65531 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_object.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_object.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_object_inspect.c b/storage/mroonga/vendor/groonga/lib/proc/proc_object_inspect.c
index 3b03ccb5e..eaa6ec4bf 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_object_inspect.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_object_inspect.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_pat.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_object_list.c b/storage/mroonga/vendor/groonga/lib/proc/proc_object_list.c
index a15e27825..adb4c91bc 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_object_list.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_object_list.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_query.c b/storage/mroonga/vendor/groonga/lib/proc/proc_query.c
index 981da834b..6dcf63e13 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_query.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_query.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_query_log_flags.c b/storage/mroonga/vendor/groonga/lib/proc/proc_query_log_flags.c
index 1c0560929..b05d1abf5 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_query_log_flags.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_query_log_flags.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_schema.c b/storage/mroonga/vendor/groonga/lib/proc/proc_schema.c
index eb1e71943..061c145a1 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_schema.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_schema.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_select.c b/storage/mroonga/vendor/groonga/lib/proc/proc_select.c
index f902f160d..605fd4223 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_select.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_select.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_snippet.c b/storage/mroonga/vendor/groonga/lib/proc/proc_snippet.c
index f98438d67..0c6ea6818 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_snippet.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_snippet.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_table.c b/storage/mroonga/vendor/groonga/lib/proc/proc_table.c
index 350155596..c3cf2b214 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_table.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_table.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/proc/proc_tokenize.c b/storage/mroonga/vendor/groonga/lib/proc/proc_tokenize.c
index cf65b13ee..d69b044c5 100644
--- a/storage/mroonga/vendor/groonga/lib/proc/proc_tokenize.c
+++ b/storage/mroonga/vendor/groonga/lib/proc/proc_tokenize.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "../grn_proc.h"
diff --git a/storage/mroonga/vendor/groonga/lib/raw_string.c b/storage/mroonga/vendor/groonga/lib/raw_string.c
index 81905bf69..794450f82 100644
--- a/storage/mroonga/vendor/groonga/lib/raw_string.c
+++ b/storage/mroonga/vendor/groonga/lib/raw_string.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_raw_string.h"
diff --git a/storage/mroonga/vendor/groonga/lib/report.c b/storage/mroonga/vendor/groonga/lib/report.c
index b9e396e04..c16e6e680 100644
--- a/storage/mroonga/vendor/groonga/lib/report.c
+++ b/storage/mroonga/vendor/groonga/lib/report.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_report.h"
diff --git a/storage/mroonga/vendor/groonga/lib/request_canceler.c b/storage/mroonga/vendor/groonga/lib/request_canceler.c
index 9ffe1f41c..c5aedf3ee 100644
--- a/storage/mroonga/vendor/groonga/lib/request_canceler.c
+++ b/storage/mroonga/vendor/groonga/lib/request_canceler.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx.h"
diff --git a/storage/mroonga/vendor/groonga/lib/request_timer.c b/storage/mroonga/vendor/groonga/lib/request_timer.c
index 9a5d85f79..23a0c644c 100644
--- a/storage/mroonga/vendor/groonga/lib/request_timer.c
+++ b/storage/mroonga/vendor/groonga/lib/request_timer.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx.h"
diff --git a/storage/mroonga/vendor/groonga/lib/rset.c b/storage/mroonga/vendor/groonga/lib/rset.c
index 85a9e1c52..f7b50039b 100644
--- a/storage/mroonga/vendor/groonga/lib/rset.c
+++ b/storage/mroonga/vendor/groonga/lib/rset.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn_db.h"
 
diff --git a/storage/mroonga/vendor/groonga/lib/scanner.c b/storage/mroonga/vendor/groonga/lib/scanner.c
index c7d86ff7b..9ac0f164c 100644
--- a/storage/mroonga/vendor/groonga/lib/scanner.c
+++ b/storage/mroonga/vendor/groonga/lib/scanner.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_scanner.h"
diff --git a/storage/mroonga/vendor/groonga/lib/scorer.c b/storage/mroonga/vendor/groonga/lib/scorer.c
index f1c110ddd..5791ad356 100644
--- a/storage/mroonga/vendor/groonga/lib/scorer.c
+++ b/storage/mroonga/vendor/groonga/lib/scorer.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/scorers.c b/storage/mroonga/vendor/groonga/lib/scorers.c
index dcec87c8e..44a3e9b4b 100644
--- a/storage/mroonga/vendor/groonga/lib/scorers.c
+++ b/storage/mroonga/vendor/groonga/lib/scorers.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_db.h"
diff --git a/storage/mroonga/vendor/groonga/lib/snip.c b/storage/mroonga/vendor/groonga/lib/snip.c
index da5ba704c..4693dc2b5 100644
--- a/storage/mroonga/vendor/groonga/lib/snip.c
+++ b/storage/mroonga/vendor/groonga/lib/snip.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/store.c b/storage/mroonga/vendor/groonga/lib/store.c
index e814a85c3..d0fe974ed 100644
--- a/storage/mroonga/vendor/groonga/lib/store.c
+++ b/storage/mroonga/vendor/groonga/lib/store.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include "grn_str.h"
diff --git a/storage/mroonga/vendor/groonga/lib/str.c b/storage/mroonga/vendor/groonga/lib/str.c
index d5b4e716b..6b2d17769 100644
--- a/storage/mroonga/vendor/groonga/lib/str.c
+++ b/storage/mroonga/vendor/groonga/lib/str.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/string.c b/storage/mroonga/vendor/groonga/lib/string.c
index 3ba8b8678..8e591100b 100644
--- a/storage/mroonga/vendor/groonga/lib/string.c
+++ b/storage/mroonga/vendor/groonga/lib/string.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/table.c b/storage/mroonga/vendor/groonga/lib/table.c
index 72a2f280b..0047c7871 100644
--- a/storage/mroonga/vendor/groonga/lib/table.c
+++ b/storage/mroonga/vendor/groonga/lib/table.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/thread.c b/storage/mroonga/vendor/groonga/lib/thread.c
index c598b7aa2..7e823ab3e 100644
--- a/storage/mroonga/vendor/groonga/lib/thread.c
+++ b/storage/mroonga/vendor/groonga/lib/thread.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx.h"
diff --git a/storage/mroonga/vendor/groonga/lib/time.c b/storage/mroonga/vendor/groonga/lib/time.c
index 38fa5086e..b11bc7a0e 100644
--- a/storage/mroonga/vendor/groonga/lib/time.c
+++ b/storage/mroonga/vendor/groonga/lib/time.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_time.h"
diff --git a/storage/mroonga/vendor/groonga/lib/token_cursor.c b/storage/mroonga/vendor/groonga/lib/token_cursor.c
index 7aff6ec9c..179d0f31f 100644
--- a/storage/mroonga/vendor/groonga/lib/token_cursor.c
+++ b/storage/mroonga/vendor/groonga/lib/token_cursor.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn_token_cursor.h"
 #include "grn_string.h"
diff --git a/storage/mroonga/vendor/groonga/lib/token_filter.c b/storage/mroonga/vendor/groonga/lib/token_filter.c
index a564bdfb8..55367762b 100644
--- a/storage/mroonga/vendor/groonga/lib/token_filter.c
+++ b/storage/mroonga/vendor/groonga/lib/token_filter.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/tokenizer.c b/storage/mroonga/vendor/groonga/lib/tokenizer.c
index c247efd2f..faf47fd63 100644
--- a/storage/mroonga/vendor/groonga/lib/tokenizer.c
+++ b/storage/mroonga/vendor/groonga/lib/tokenizer.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include "grn.h"
 #include 
diff --git a/storage/mroonga/vendor/groonga/lib/tokenizers.c b/storage/mroonga/vendor/groonga/lib/tokenizers.c
index 6bd0a1b9e..11f274e72 100644
--- a/storage/mroonga/vendor/groonga/lib/tokenizers.c
+++ b/storage/mroonga/vendor/groonga/lib/tokenizers.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include 
 #include "grn_token_cursor.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts.c b/storage/mroonga/vendor/groonga/lib/ts.c
index d1e5f0950..68e363a27 100644
--- a/storage/mroonga/vendor/groonga/lib/ts.c
+++ b/storage/mroonga/vendor/groonga/lib/ts.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /* TS is an acronym for "Turbo Selector". */
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_buf.c b/storage/mroonga/vendor/groonga/lib/ts/ts_buf.c
index bee724ccd..65521d714 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_buf.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_buf.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_buf.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_buf.h b/storage/mroonga/vendor/groonga/lib/ts/ts_buf.h
index 64caec933..f8077f0f8 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_buf.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_buf.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_cursor.c b/storage/mroonga/vendor/groonga/lib/ts/ts_cursor.c
index 5329571ff..779e4caee 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_cursor.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_cursor.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_cursor.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_cursor.h b/storage/mroonga/vendor/groonga/lib/ts/ts_cursor.h
index f05aa7518..f12034f70 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_cursor.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_cursor.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_expr.c b/storage/mroonga/vendor/groonga/lib/ts/ts_expr.c
index a7fcde657..16576fbc9 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_expr.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_expr.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_expr.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_expr.h b/storage/mroonga/vendor/groonga/lib/ts/ts_expr.h
index be370e8b5..b50e886d8 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_expr.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_expr.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_builder.c b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_builder.c
index 4577ede26..a742e062b 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_builder.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_builder.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_expr_builder.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_builder.h b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_builder.h
index 2e2eb436d..f9795ed19 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_builder.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_builder.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_node.c b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_node.c
index a3d838c32..dc64e802f 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_node.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_node.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_expr_node.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_node.h b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_node.h
index 40e7022f1..bcc9f3714 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_node.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_node.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_parser.c b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_parser.c
index 425171d42..10e6d2fcc 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_parser.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_parser.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_expr_parser.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_parser.h b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_parser.h
index 1023356e8..77205983a 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_expr_parser.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_expr_parser.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_log.h b/storage/mroonga/vendor/groonga/lib/ts/ts_log.h
index 7619d6054..844a0ee69 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_log.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_log.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_op.c b/storage/mroonga/vendor/groonga/lib/ts/ts_op.c
index 956aa7dc7..64262b775 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_op.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_op.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_op.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_op.h b/storage/mroonga/vendor/groonga/lib/ts/ts_op.h
index 3bdfcf43f..7c34de969 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_op.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_op.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_plan.c b/storage/mroonga/vendor/groonga/lib/ts/ts_plan.c
index 2bd2a4b50..3a8c9c0fe 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_plan.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_plan.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_plan.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_plan.h b/storage/mroonga/vendor/groonga/lib/ts/ts_plan.h
index c441adef4..462bccfa0 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_plan.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_plan.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_sorter.c b/storage/mroonga/vendor/groonga/lib/ts/ts_sorter.c
index 1d880476b..6a6146636 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_sorter.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_sorter.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_sorter.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_sorter.h b/storage/mroonga/vendor/groonga/lib/ts/ts_sorter.h
index 069154d26..d80479e13 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_sorter.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_sorter.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_str.c b/storage/mroonga/vendor/groonga/lib/ts/ts_str.c
index 6a8792eeb..9f200fa30 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_str.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_str.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_str.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_str.h b/storage/mroonga/vendor/groonga/lib/ts/ts_str.h
index bca07b92f..113712337 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_str.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_str.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_types.h b/storage/mroonga/vendor/groonga/lib/ts/ts_types.h
index 5a667e2ad..389eec420 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_types.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_types.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_util.c b/storage/mroonga/vendor/groonga/lib/ts/ts_util.c
index 9e85aa4dc..18e660602 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_util.c
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_util.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "ts_util.h"
diff --git a/storage/mroonga/vendor/groonga/lib/ts/ts_util.h b/storage/mroonga/vendor/groonga/lib/ts/ts_util.h
index 2ffbdd6f9..24a6a5073 100644
--- a/storage/mroonga/vendor/groonga/lib/ts/ts_util.h
+++ b/storage/mroonga/vendor/groonga/lib/ts/ts_util.h
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #pragma once
diff --git a/storage/mroonga/vendor/groonga/lib/type.c b/storage/mroonga/vendor/groonga/lib/type.c
index 845a28890..6696444a4 100644
--- a/storage/mroonga/vendor/groonga/lib/type.c
+++ b/storage/mroonga/vendor/groonga/lib/type.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx_impl.h"
diff --git a/storage/mroonga/vendor/groonga/lib/util.c b/storage/mroonga/vendor/groonga/lib/util.c
index 27fc944d6..43066c3f5 100644
--- a/storage/mroonga/vendor/groonga/lib/util.c
+++ b/storage/mroonga/vendor/groonga/lib/util.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_db.h"
diff --git a/storage/mroonga/vendor/groonga/lib/window_function.c b/storage/mroonga/vendor/groonga/lib/window_function.c
index 5ee182e62..27e8c9c85 100644
--- a/storage/mroonga/vendor/groonga/lib/window_function.c
+++ b/storage/mroonga/vendor/groonga/lib/window_function.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_ctx.h"
diff --git a/storage/mroonga/vendor/groonga/lib/window_functions.c b/storage/mroonga/vendor/groonga/lib/window_functions.c
index 1812f2922..7a177cd8e 100644
--- a/storage/mroonga/vendor/groonga/lib/window_functions.c
+++ b/storage/mroonga/vendor/groonga/lib/window_functions.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_db.h"
diff --git a/storage/mroonga/vendor/groonga/lib/windows.c b/storage/mroonga/vendor/groonga/lib/windows.c
index 83a1d499a..a363d711f 100644
--- a/storage/mroonga/vendor/groonga/lib/windows.c
+++ b/storage/mroonga/vendor/groonga/lib/windows.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn.h"
diff --git a/storage/mroonga/vendor/groonga/lib/windows_event_logger.c b/storage/mroonga/vendor/groonga/lib/windows_event_logger.c
index d7447e72e..fb8229ad1 100644
--- a/storage/mroonga/vendor/groonga/lib/windows_event_logger.c
+++ b/storage/mroonga/vendor/groonga/lib/windows_event_logger.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include "grn_logger.h"
diff --git a/storage/mroonga/vendor/groonga/plugins/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/CMakeLists.txt
index 244b60f90..d7a5f22ee 100644
--- a/storage/mroonga/vendor/groonga/plugins/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 add_subdirectory(suggest)
 add_subdirectory(tokenizers)
diff --git a/storage/mroonga/vendor/groonga/plugins/expression_rewriters/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/expression_rewriters/CMakeLists.txt
index 385b5c750..aabec4426 100644
--- a/storage/mroonga/vendor/groonga/plugins/expression_rewriters/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/expression_rewriters/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 if(NOT GRN_EMBED)
   if(GRN_WITH_MRUBY)
diff --git a/storage/mroonga/vendor/groonga/plugins/functions/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/functions/CMakeLists.txt
index 611e30b9c..65a6d2c31 100644
--- a/storage/mroonga/vendor/groonga/plugins/functions/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/functions/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/../../lib
diff --git a/storage/mroonga/vendor/groonga/plugins/functions/index_column.c b/storage/mroonga/vendor/groonga/plugins/functions/index_column.c
index acb7355cf..050100747 100644
--- a/storage/mroonga/vendor/groonga/plugins/functions/index_column.c
+++ b/storage/mroonga/vendor/groonga/plugins/functions/index_column.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/functions/math.c b/storage/mroonga/vendor/groonga/plugins/functions/math.c
index 2527012e9..a6a9e2608 100644
--- a/storage/mroonga/vendor/groonga/plugins/functions/math.c
+++ b/storage/mroonga/vendor/groonga/plugins/functions/math.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/functions/number.c b/storage/mroonga/vendor/groonga/plugins/functions/number.c
index 285c88f58..7cdfc0e18 100644
--- a/storage/mroonga/vendor/groonga/plugins/functions/number.c
+++ b/storage/mroonga/vendor/groonga/plugins/functions/number.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/functions/string.c b/storage/mroonga/vendor/groonga/plugins/functions/string.c
index aeef335ec..6cd7d953d 100644
--- a/storage/mroonga/vendor/groonga/plugins/functions/string.c
+++ b/storage/mroonga/vendor/groonga/plugins/functions/string.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/functions/time.c b/storage/mroonga/vendor/groonga/plugins/functions/time.c
index dc54f47ea..f82ea872d 100644
--- a/storage/mroonga/vendor/groonga/plugins/functions/time.c
+++ b/storage/mroonga/vendor/groonga/plugins/functions/time.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/functions/vector.c b/storage/mroonga/vendor/groonga/plugins/functions/vector.c
index a7283fc59..1104b3133 100644
--- a/storage/mroonga/vendor/groonga/plugins/functions/vector.c
+++ b/storage/mroonga/vendor/groonga/plugins/functions/vector.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/query_expanders/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/query_expanders/CMakeLists.txt
index 7f622608e..c2f04cb84 100644
--- a/storage/mroonga/vendor/groonga/plugins/query_expanders/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/query_expanders/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/../../lib
diff --git a/storage/mroonga/vendor/groonga/plugins/query_expanders/tsv.c b/storage/mroonga/vendor/groonga/plugins/query_expanders/tsv.c
index 2b0a5ba24..5d5deec69 100644
--- a/storage/mroonga/vendor/groonga/plugins/query_expanders/tsv.c
+++ b/storage/mroonga/vendor/groonga/plugins/query_expanders/tsv.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/ruby/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/ruby/CMakeLists.txt
index 7d34be185..a2bcccd1e 100644
--- a/storage/mroonga/vendor/groonga/plugins/ruby/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/ruby/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 if(NOT GRN_EMBED)
   if(GRN_WITH_MRUBY)
diff --git a/storage/mroonga/vendor/groonga/plugins/sharding/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/sharding/CMakeLists.txt
index 588a434e0..1131520fa 100644
--- a/storage/mroonga/vendor/groonga/plugins/sharding/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/sharding/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 if(NOT GRN_EMBED)
   if(GRN_WITH_MRUBY)
diff --git a/storage/mroonga/vendor/groonga/plugins/suggest/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/suggest/CMakeLists.txt
index e7d536497..8b287e65f 100644
--- a/storage/mroonga/vendor/groonga/plugins/suggest/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/suggest/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/../../lib
diff --git a/storage/mroonga/vendor/groonga/plugins/suggest/suggest.c b/storage/mroonga/vendor/groonga/plugins/suggest/suggest.c
index 4dd5f6e62..7f64f3c17 100644
--- a/storage/mroonga/vendor/groonga/plugins/suggest/suggest.c
+++ b/storage/mroonga/vendor/groonga/plugins/suggest/suggest.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/token_filters/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/token_filters/CMakeLists.txt
index 55491b20b..4aa7d09b8 100644
--- a/storage/mroonga/vendor/groonga/plugins/token_filters/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/token_filters/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/../../lib
diff --git a/storage/mroonga/vendor/groonga/plugins/token_filters/stem.c b/storage/mroonga/vendor/groonga/plugins/token_filters/stem.c
index e918ed8a1..2144eb096 100644
--- a/storage/mroonga/vendor/groonga/plugins/token_filters/stem.c
+++ b/storage/mroonga/vendor/groonga/plugins/token_filters/stem.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/token_filters/stop_word.c b/storage/mroonga/vendor/groonga/plugins/token_filters/stop_word.c
index e5a9a77de..a06d772fd 100644
--- a/storage/mroonga/vendor/groonga/plugins/token_filters/stop_word.c
+++ b/storage/mroonga/vendor/groonga/plugins/token_filters/stop_word.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/tokenizers/CMakeLists.txt b/storage/mroonga/vendor/groonga/plugins/tokenizers/CMakeLists.txt
index 8eec25d68..26aadc4e5 100644
--- a/storage/mroonga/vendor/groonga/plugins/tokenizers/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/plugins/tokenizers/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/../../lib
diff --git a/storage/mroonga/vendor/groonga/plugins/tokenizers/kytea.cpp b/storage/mroonga/vendor/groonga/plugins/tokenizers/kytea.cpp
index 62ef0bb58..76d827c00 100644
--- a/storage/mroonga/vendor/groonga/plugins/tokenizers/kytea.cpp
+++ b/storage/mroonga/vendor/groonga/plugins/tokenizers/kytea.cpp
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/plugins/tokenizers/mecab.c b/storage/mroonga/vendor/groonga/plugins/tokenizers/mecab.c
index eeb027acb..3dd969a89 100644
--- a/storage/mroonga/vendor/groonga/plugins/tokenizers/mecab.c
+++ b/storage/mroonga/vendor/groonga/plugins/tokenizers/mecab.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef GRN_EMBEDDED
diff --git a/storage/mroonga/vendor/groonga/src/CMakeLists.txt b/storage/mroonga/vendor/groonga/src/CMakeLists.txt
index 57bded2dd..17ef3a410 100644
--- a/storage/mroonga/vendor/groonga/src/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/src/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 include_directories(
   ${MRUBY_INCLUDE_DIRS}
diff --git a/storage/mroonga/vendor/groonga/src/grndb.c b/storage/mroonga/vendor/groonga/src/grndb.c
index 6733be93f..11f3ff5a9 100644
--- a/storage/mroonga/vendor/groonga/src/grndb.c
+++ b/storage/mroonga/vendor/groonga/src/grndb.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef WIN32
diff --git a/storage/mroonga/vendor/groonga/src/grnslap.c b/storage/mroonga/vendor/groonga/src/grnslap.c
index f9eee1081..cdd518536 100644
--- a/storage/mroonga/vendor/groonga/src/grnslap.c
+++ b/storage/mroonga/vendor/groonga/src/grnslap.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/src/groonga.c b/storage/mroonga/vendor/groonga/src/groonga.c
index 974271217..a7f15d138 100644
--- a/storage/mroonga/vendor/groonga/src/groonga.c
+++ b/storage/mroonga/vendor/groonga/src/groonga.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/src/groonga_benchmark.c b/storage/mroonga/vendor/groonga/src/groonga_benchmark.c
index 77543c206..267bb2787 100644
--- a/storage/mroonga/vendor/groonga/src/groonga_benchmark.c
+++ b/storage/mroonga/vendor/groonga/src/groonga_benchmark.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifdef HAVE_CONFIG_H
diff --git a/storage/mroonga/vendor/groonga/src/groonga_mruby.c b/storage/mroonga/vendor/groonga/src/groonga_mruby.c
index 2f442fbd1..3aa73aafb 100644
--- a/storage/mroonga/vendor/groonga/src/groonga_mruby.c
+++ b/storage/mroonga/vendor/groonga/src/groonga_mruby.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #include 
diff --git a/storage/mroonga/vendor/groonga/src/httpd/nginx-module/ngx_http_groonga_module.c b/storage/mroonga/vendor/groonga/src/httpd/nginx-module/ngx_http_groonga_module.c
index 15836a92e..078539062 100644
--- a/storage/mroonga/vendor/groonga/src/httpd/nginx-module/ngx_http_groonga_module.c
+++ b/storage/mroonga/vendor/groonga/src/httpd/nginx-module/ngx_http_groonga_module.c
@@ -13,7 +13,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 #ifndef WIN32
diff --git a/storage/mroonga/vendor/groonga/src/suggest/CMakeLists.txt b/storage/mroonga/vendor/groonga/src/suggest/CMakeLists.txt
index 83ae26b8c..ec85c1fbf 100644
--- a/storage/mroonga/vendor/groonga/src/suggest/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/src/suggest/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/../../lib
diff --git a/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_create_dataset.c b/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_create_dataset.c
index 7220ca88e..7cec29226 100644
--- a/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_create_dataset.c
+++ b/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_create_dataset.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /* For grn_str_getopt() */
diff --git a/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_httpd.c b/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_httpd.c
index d42ead2c9..4f542f212 100644
--- a/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_httpd.c
+++ b/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_httpd.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /* groonga origin headers */
diff --git a/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_learner.c b/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_learner.c
index 74465beff..8109ae7f4 100644
--- a/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_learner.c
+++ b/storage/mroonga/vendor/groonga/src/suggest/groonga_suggest_learner.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 /* for grn_str_getopt() */
diff --git a/storage/mroonga/vendor/groonga/src/suggest/util.c b/storage/mroonga/vendor/groonga/src/suggest/util.c
index f6a717b8d..e455a2573 100644
--- a/storage/mroonga/vendor/groonga/src/suggest/util.c
+++ b/storage/mroonga/vendor/groonga/src/suggest/util.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #include 
 #include 
diff --git a/storage/mroonga/vendor/groonga/src/suggest/util.h b/storage/mroonga/vendor/groonga/src/suggest/util.h
index 468fe1045..eb36edfd6 100644
--- a/storage/mroonga/vendor/groonga/src/suggest/util.h
+++ b/storage/mroonga/vendor/groonga/src/suggest/util.h
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #ifndef GRN_SUGGEST_UTIL_H
 #define GRN_SUGGEST_UTIL_H
diff --git a/storage/mroonga/vendor/groonga/src/suggest/zmq_compatible.h b/storage/mroonga/vendor/groonga/src/suggest/zmq_compatible.h
index 28bc035a4..e4897f68f 100644
--- a/storage/mroonga/vendor/groonga/src/suggest/zmq_compatible.h
+++ b/storage/mroonga/vendor/groonga/src/suggest/zmq_compatible.h
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 */
 #ifndef GRN_SUGGEST_ZMQ_COMPATIBLE_H
 #define GRN_SUGGEST_ZMQ_COMPATIBLE_H
diff --git a/storage/mroonga/vendor/groonga/tools/groonga-object-list-checker.rb b/storage/mroonga/vendor/groonga/tools/groonga-object-list-checker.rb
index 31d85c0ce..f92eec0eb 100755
--- a/storage/mroonga/vendor/groonga/tools/groonga-object-list-checker.rb
+++ b/storage/mroonga/vendor/groonga/tools/groonga-object-list-checker.rb
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 require "pp"
 require "json"
diff --git a/storage/mroonga/vendor/groonga/tools/groonga-suggest-httpd-client.rb b/storage/mroonga/vendor/groonga/tools/groonga-suggest-httpd-client.rb
index ac4c30778..00b6abf6a 100755
--- a/storage/mroonga/vendor/groonga/tools/groonga-suggest-httpd-client.rb
+++ b/storage/mroonga/vendor/groonga/tools/groonga-suggest-httpd-client.rb
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 require "optparse"
 require "cool.io"
diff --git a/storage/mroonga/vendor/groonga/vendor/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/CMakeLists.txt
index 9a9239084..5a2ec9ab1 100644
--- a/storage/mroonga/vendor/groonga/vendor/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 add_subdirectory(lz4)
 add_subdirectory(onigmo)
diff --git a/storage/mroonga/vendor/groonga/vendor/lz4/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/lz4/CMakeLists.txt
index 00342223d..87125a854 100644
--- a/storage/mroonga/vendor/groonga/vendor/lz4/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/lz4/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 set(LZ4_VERSION ${GRN_BUNDLED_LZ4_VERSION})
 
diff --git a/storage/mroonga/vendor/groonga/vendor/mecab/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/mecab/CMakeLists.txt
index a0a720df2..6376025c9 100644
--- a/storage/mroonga/vendor/groonga/vendor/mecab/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/mecab/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 set(MECAB_VERSION ${GRN_BUNDLED_MECAB_VERSION})
 set(MECAB_DICT_VERSION "102")
diff --git a/storage/mroonga/vendor/groonga/vendor/message_pack/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/message_pack/CMakeLists.txt
index fc0d90a1f..bf75f95e6 100644
--- a/storage/mroonga/vendor/groonga/vendor/message_pack/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/message_pack/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 set(MESSAGE_PACK_VERSION ${GRN_BUNDLED_MESSAGE_PACK_VERSION})
 
diff --git a/storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt
index 826ea6e4e..54be31fb4 100644
--- a/storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 if(GRN_WITH_MRUBY)
   set(MRUBY_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../mruby-source")
diff --git a/storage/mroonga/vendor/groonga/vendor/onigmo/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/onigmo/CMakeLists.txt
index 27717a0b7..664df2224 100644
--- a/storage/mroonga/vendor/groonga/vendor/onigmo/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/onigmo/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 if(GRN_WITH_ONIGMO)
   set(ONIGMO_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../onigmo-source")
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/plugins/CMakeLists.txt
index 845c57f57..e4428b577 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 file(GLOB
   PLUGIN_CMAKE_LISTS_LIST
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt
index 6f458e232..80e531e53 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt
@@ -13,7 +13,7 @@
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
 # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-# MA 02110-1301, USA
+# MA 02110-1335  USA
 
 cmake_minimum_required(VERSION 2.6)
 set(GROONGA_NORMALIZER_MYSQL_PROJECT_NAME "groonga-normalizer-mysql")
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/Makefile.am b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/Makefile.am
index cdc7ec525..16d8d9617 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/Makefile.am
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/Makefile.am
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 ACLOCAL_AMFLAGS = -I m4
 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/autogen.sh b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/autogen.sh
index 62385ed00..f6f5d5af7 100755
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/autogen.sh
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/autogen.sh
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 mkdir -p m4
 autoreconf -i
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/Makefile.am b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/Makefile.am
index 4a73087dc..06b75071b 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/Makefile.am
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/Makefile.am
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 SUBDIRS =					\
 	cmake_modules
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/cmake_modules/Makefile.am b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/cmake_modules/Makefile.am
index 44ac5150c..960411e10 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/cmake_modules/Makefile.am
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/cmake_modules/Makefile.am
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 EXTRA_DIST =					\
 	ReadFileList.cmake
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/cmake_modules/ReadFileList.cmake b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/cmake_modules/ReadFileList.cmake
index 018587991..204f59f60 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/cmake_modules/ReadFileList.cmake
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/build/cmake_modules/ReadFileList.cmake
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 macro(read_file_list file_name output_variable)
   file(READ ${file_name} ${output_variable})
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/configure.ac b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/configure.ac
index b61962274..f2d1933ec 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/configure.ac
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/configure.ac
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 AC_PREREQ(2.59)
 m4_define([groonga_normalizer_mysql_version], m4_include(version))
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/data/travis/setup.sh b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/data/travis/setup.sh
index a4752f821..82f6f84a1 100755
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/data/travis/setup.sh
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/data/travis/setup.sh
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 set -e
 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/Makefile.am b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/Makefile.am
index 771336d84..59b769770 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/Makefile.am
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/Makefile.am
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 SUBDIRS =					\
 	text
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/text/Makefile.am b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/text/Makefile.am
index 6adf4f103..7caeaddf1 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/text/Makefile.am
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/text/Makefile.am
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 docdir = $(datadir)/doc/$(PACKAGE)
 dist_doc_DATA =					\
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/text/lgpl-2.0.txt b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/text/lgpl-2.0.txt
index 5bc8fb2c8..c44d41a2f 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/text/lgpl-2.0.txt
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/doc/text/lgpl-2.0.txt
@@ -2,7 +2,7 @@
                        Version 2, June 1991
 
  Copyright (C) 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -464,7 +464,7 @@ convey the exclusion of warranty; and each file should have at least the
 
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 Also add information on how to contact you by electronic and paper mail.
 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/CMakeLists.txt
index bddda0a92..f8b748a7f 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/CMakeLists.txt
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/CMakeLists.txt
@@ -13,7 +13,7 @@
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
 # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-# MA 02110-1301, USA
+# MA 02110-1335  USA
 
 set(NORMALIZERS_DIR "${GROONGA_PLUGINS_DIR}/normalizers")
 read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mysql_sources.am MYSQL_SOURCES)
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/Makefile.am b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/Makefile.am
index 64cfe6552..769d43edb 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/Makefile.am
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/Makefile.am
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 EXTRA_DIST =					\
 	CMakeLists.txt
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql.c b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql.c
index e7961ee41..989d62679 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql.c
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql.c
@@ -15,7 +15,7 @@
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
+  MA 02110-1335  USA
 */
 
 #ifdef HAVE_CONFIG_H
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_general_ci_table.h b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_general_ci_table.h
index a84e44991..16b43dbfd 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_general_ci_table.h
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_general_ci_table.h
@@ -14,7 +14,7 @@
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
+  MA 02110-1335  USA
 
   This file uses normalization table defined in
   mysql-5.6.23/strings/ctype-utf8.c.
@@ -35,7 +35,7 @@
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free
     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-    MA 02110-1301, USA
+    MA 02110-1335  USA
 
     UTF8 according RFC 2279
     Written by Alexander Barkov 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_520_ci_except_kana_ci_kana_with_voiced_sound_mark_table.h b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_520_ci_except_kana_ci_kana_with_voiced_sound_mark_table.h
index 6832d3a3b..1a9631221 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_520_ci_except_kana_ci_kana_with_voiced_sound_mark_table.h
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_520_ci_except_kana_ci_kana_with_voiced_sound_mark_table.h
@@ -14,7 +14,7 @@
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
+  MA 02110-1335  USA
 
   This file uses normalization table defined in
   mysql-5.6.23/strings/ctype-uca.c.
@@ -35,7 +35,7 @@
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free
     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-    MA 02110-1301, USA
+    MA 02110-1335  USA
 
     UCA (Unicode Collation Algorithm) support.
     Written by Alexander Barkov 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_520_ci_table.h b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_520_ci_table.h
index 22a56d7f3..6e24719b2 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_520_ci_table.h
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_520_ci_table.h
@@ -14,7 +14,7 @@
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
+  MA 02110-1335  USA
 
   This file uses normalization table defined in
   mysql-5.6.23/strings/ctype-uca.c.
@@ -35,7 +35,7 @@
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free
     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-    MA 02110-1301, USA
+    MA 02110-1335  USA
 
     UCA (Unicode Collation Algorithm) support.
     Written by Alexander Barkov 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_ci_except_kana_ci_kana_with_voiced_sound_mark_table.h b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_ci_except_kana_ci_kana_with_voiced_sound_mark_table.h
index 7153cb187..98eabe878 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_ci_except_kana_ci_kana_with_voiced_sound_mark_table.h
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_ci_except_kana_ci_kana_with_voiced_sound_mark_table.h
@@ -14,7 +14,7 @@
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
+  MA 02110-1335  USA
 
   This file uses normalization table defined in
   mysql-5.6.23/strings/ctype-uca.c.
@@ -35,7 +35,7 @@
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free
     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-    MA 02110-1301, USA
+    MA 02110-1335  USA
 
     UCA (Unicode Collation Algorithm) support.
     Written by Alexander Barkov 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_ci_table.h b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_ci_table.h
index e3a6b4bcc..77b96d77e 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_ci_table.h
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/mysql_unicode_ci_table.h
@@ -14,7 +14,7 @@
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
+  MA 02110-1335  USA
 
   This file uses normalization table defined in
   mysql-5.6.23/strings/ctype-uca.c.
@@ -35,7 +35,7 @@
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free
     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-    MA 02110-1301, USA
+    MA 02110-1335  USA
 
     UCA (Unicode Collation Algorithm) support.
     Written by Alexander Barkov 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/dump_difference_uca.rb b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/dump_difference_uca.rb
index 45e60c297..b9d10584b 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/dump_difference_uca.rb
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/dump_difference_uca.rb
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 $LOAD_PATH.unshift(File.dirname(__FILE__))
 require "parser"
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/dump_difference_utf8.rb b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/dump_difference_utf8.rb
index 8cbfe969c..4b6fde8c7 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/dump_difference_utf8.rb
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/dump_difference_utf8.rb
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 $LOAD_PATH.unshift(File.dirname(__FILE__))
 require "parser"
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/generate_uca_table.rb b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/generate_uca_table.rb
index 4dcb14c32..d70734e66 100755
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/generate_uca_table.rb
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/generate_uca_table.rb
@@ -15,7 +15,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 require "optparse"
 
@@ -213,7 +213,7 @@ puts(<<-HEADER)
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
+  MA 02110-1335  USA
 
   This file uses normalization table defined in
   #{normalized_ctype_uca_c_path}.
@@ -234,7 +234,7 @@ puts(<<-HEADER)
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free
     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-    MA 02110-1301, USA
+    MA 02110-1335  USA
 
     UCA (Unicode Collation Algorithm) support.
     Written by Alexander Barkov 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/generate_utf8_table.rb b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/generate_utf8_table.rb
index dfedd9417..b8fc11436 100755
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/generate_utf8_table.rb
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/generate_utf8_table.rb
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 $LOAD_PATH.unshift(File.dirname(__FILE__))
 require "parser"
@@ -64,7 +64,7 @@ puts(<<-HEADER)
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-  MA 02110-1301, USA
+  MA 02110-1335  USA
 
   This file uses normalization table defined in
   #{normalized_ctype_utf8_c_path}.
@@ -85,7 +85,7 @@ puts(<<-HEADER)
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free
     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-    MA 02110-1301, USA
+    MA 02110-1335  USA
 
     UTF8 according RFC 2279
     Written by Alexander Barkov 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/parser.rb b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/parser.rb
index cc0b2f016..29268a43f 100644
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/parser.rb
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/parser.rb
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 require "English"
 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/travis/before_script.sh b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/travis/before_script.sh
index 353fb53d3..24e974305 100755
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/travis/before_script.sh
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/travis/before_script.sh
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 set -e
 
diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/travis/install.sh b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/travis/install.sh
index ed61a3540..2fc22888b 100755
--- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/travis/install.sh
+++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/tool/travis/install.sh
@@ -14,7 +14,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 set -e
 
diff --git a/storage/myisam/CMakeLists.txt b/storage/myisam/CMakeLists.txt
index f58c942b4..52485043e 100644
--- a/storage/myisam/CMakeLists.txt
+++ b/storage/myisam/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(MYISAM_SOURCES  ft_boolean_search.c ft_nlq_search.c ft_parser.c ft_static.c
                                 ha_myisam.cc
diff --git a/storage/myisam/ft_boolean_search.c b/storage/myisam/ft_boolean_search.c
index 4145ca754..49bc641f8 100644
--- a/storage/myisam/ft_boolean_search.c
+++ b/storage/myisam/ft_boolean_search.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/ft_myisam.c b/storage/myisam/ft_myisam.c
index 4e1879fa8..f2f1a2bbc 100644
--- a/storage/myisam/ft_myisam.c
+++ b/storage/myisam/ft_myisam.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/ft_nlq_search.c b/storage/myisam/ft_nlq_search.c
index 9524b6f18..2add5c5b3 100644
--- a/storage/myisam/ft_nlq_search.c
+++ b/storage/myisam/ft_nlq_search.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/ft_parser.c b/storage/myisam/ft_parser.c
index 5612b4bec..a85f8cc8c 100644
--- a/storage/myisam/ft_parser.c
+++ b/storage/myisam/ft_parser.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/ft_static.c b/storage/myisam/ft_static.c
index 92a0621fd..78123cdf2 100644
--- a/storage/myisam/ft_static.c
+++ b/storage/myisam/ft_static.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/ft_stopwords.c b/storage/myisam/ft_stopwords.c
index 7b2d520a6..c5ca8b848 100644
--- a/storage/myisam/ft_stopwords.c
+++ b/storage/myisam/ft_stopwords.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/ft_update.c b/storage/myisam/ft_update.c
index 19144ff01..a688b6704 100644
--- a/storage/myisam/ft_update.c
+++ b/storage/myisam/ft_update.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/ftbench/Ecompare.pl b/storage/myisam/ftbench/Ecompare.pl
index c958db6e9..07132ef90 100755
--- a/storage/myisam/ftbench/Ecompare.pl
+++ b/storage/myisam/ftbench/Ecompare.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # compares out-files (as created by Ereport.pl) from dir1/*.out and dir2/*.out
 # for each effectiveness column computes the probability of the hypothesis
diff --git a/storage/myisam/ftbench/Ecreate.pl b/storage/myisam/ftbench/Ecreate.pl
index 9e0ef321b..86af9f9c0 100755
--- a/storage/myisam/ftbench/Ecreate.pl
+++ b/storage/myisam/ftbench/Ecreate.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 $test=shift || die "Usage $0 testname [option]";
 $option=shift;
diff --git a/storage/myisam/ftbench/Ereport.pl b/storage/myisam/ftbench/Ereport.pl
index c3dad3d82..d3f8961ec 100755
--- a/storage/myisam/ftbench/Ereport.pl
+++ b/storage/myisam/ftbench/Ereport.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 die "Use: $0 eval_output qrels_file\n" unless @ARGV==2;
 
diff --git a/storage/myisam/ftbench/ft-test-run.sh b/storage/myisam/ftbench/ft-test-run.sh
index 08e03474d..08294071b 100755
--- a/storage/myisam/ftbench/ft-test-run.sh
+++ b/storage/myisam/ftbench/ft-test-run.sh
@@ -16,7 +16,7 @@
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
 # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, USA
+# MA 02110-1335  USA
 
 if [ ! -x ./ft-test-run.sh ] ; then
   echo "Usage: ./ft-test-run.sh"
diff --git a/storage/myisam/ftdefs.h b/storage/myisam/ftdefs.h
index 5c7f4c64a..a7417813c 100644
--- a/storage/myisam/ftdefs.h
+++ b/storage/myisam/ftdefs.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/fulltext.h b/storage/myisam/fulltext.h
index 98b3247ba..d8f900a60 100644
--- a/storage/myisam/fulltext.h
+++ b/storage/myisam/fulltext.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code */
 
diff --git a/storage/myisam/ha_myisam.cc b/storage/myisam/ha_myisam.cc
index 13c28dd13..bfa85abb7 100644
--- a/storage/myisam/ha_myisam.cc
+++ b/storage/myisam/ha_myisam.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
@@ -2016,7 +2016,7 @@ void ha_myisam::update_create_info(HA_CREATE_INFO *create_info)
 }
 
 
-int ha_myisam::create(const char *name, register TABLE *table_arg,
+int ha_myisam::create(const char *name, TABLE *table_arg,
 		      HA_CREATE_INFO *ha_create_info)
 {
   int error;
diff --git a/storage/myisam/ha_myisam.h b/storage/myisam/ha_myisam.h
index b132c9557..8890a4c9b 100644
--- a/storage/myisam/ha_myisam.h
+++ b/storage/myisam/ha_myisam.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_INTERFACE
diff --git a/storage/myisam/mi_cache.c b/storage/myisam/mi_cache.c
index edcc3520c..46e272c9d 100644
--- a/storage/myisam/mi_cache.c
+++ b/storage/myisam/mi_cache.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Functions for read record cacheing with myisam
diff --git a/storage/myisam/mi_changed.c b/storage/myisam/mi_changed.c
index e7ceff242..1eb2b5173 100644
--- a/storage/myisam/mi_changed.c
+++ b/storage/myisam/mi_changed.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Check if somebody has changed table since last check. */
 
diff --git a/storage/myisam/mi_check.c b/storage/myisam/mi_check.c
index 3bc141083..334ce75cd 100644
--- a/storage/myisam/mi_check.c
+++ b/storage/myisam/mi_check.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Describe, check and repair of MyISAM tables */
 
diff --git a/storage/myisam/mi_checksum.c b/storage/myisam/mi_checksum.c
index baee85566..ff84fa67e 100644
--- a/storage/myisam/mi_checksum.c
+++ b/storage/myisam/mi_checksum.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Calculate a checksum for a row */
 
diff --git a/storage/myisam/mi_close.c b/storage/myisam/mi_close.c
index f0a82bcef..8e6515f11 100644
--- a/storage/myisam/mi_close.c
+++ b/storage/myisam/mi_close.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* close a isam-database */
 /*
diff --git a/storage/myisam/mi_create.c b/storage/myisam/mi_create.c
index 8c02674fb..b7aac83c3 100644
--- a/storage/myisam/mi_create.c
+++ b/storage/myisam/mi_create.c
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Create a MyISAM table */
 
diff --git a/storage/myisam/mi_dbug.c b/storage/myisam/mi_dbug.c
index 4606e0af1..6f99d074c 100644
--- a/storage/myisam/mi_dbug.c
+++ b/storage/myisam/mi_dbug.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Support rutiner with are using with dbug */
 
diff --git a/storage/myisam/mi_delete.c b/storage/myisam/mi_delete.c
index 6a023f35b..419a0011f 100644
--- a/storage/myisam/mi_delete.c
+++ b/storage/myisam/mi_delete.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Remove a row from a MyISAM table */
 
diff --git a/storage/myisam/mi_delete_all.c b/storage/myisam/mi_delete_all.c
index 37fdf2dcb..31801399c 100644
--- a/storage/myisam/mi_delete_all.c
+++ b/storage/myisam/mi_delete_all.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Remove all rows from a MyISAM table */
 /* This clears the status information and truncates files */
diff --git a/storage/myisam/mi_delete_table.c b/storage/myisam/mi_delete_table.c
index 5ad63a5cc..7990c3e8a 100644
--- a/storage/myisam/mi_delete_table.c
+++ b/storage/myisam/mi_delete_table.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   deletes a table
diff --git a/storage/myisam/mi_dynrec.c b/storage/myisam/mi_dynrec.c
index 5241d7201..7c32c4340 100644
--- a/storage/myisam/mi_dynrec.c
+++ b/storage/myisam/mi_dynrec.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Functions to handle space-packed-records and blobs
diff --git a/storage/myisam/mi_extra.c b/storage/myisam/mi_extra.c
index bb276f022..a561ab8c7 100644
--- a/storage/myisam/mi_extra.c
+++ b/storage/myisam/mi_extra.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myisamdef.h"
 #ifdef HAVE_SYS_MMAN_H
diff --git a/storage/myisam/mi_extrafunc.h b/storage/myisam/mi_extrafunc.h
index 210979676..bfefb52ca 100644
--- a/storage/myisam/mi_extrafunc.h
+++ b/storage/myisam/mi_extrafunc.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 void _mi_report_crashed(MI_INFO *file __attribute__((unused)),
                         const char *message __attribute__((unused)),
diff --git a/storage/myisam/mi_info.c b/storage/myisam/mi_info.c
index 3b9288eeb..29d2283bc 100644
--- a/storage/myisam/mi_info.c
+++ b/storage/myisam/mi_info.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Return useful base information for an open table */
 
diff --git a/storage/myisam/mi_key.c b/storage/myisam/mi_key.c
index 18ecc9e8b..b5ca83600 100644
--- a/storage/myisam/mi_key.c
+++ b/storage/myisam/mi_key.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Functions to handle keys */
 
diff --git a/storage/myisam/mi_keycache.c b/storage/myisam/mi_keycache.c
index 59a1ca276..d7f1d8b17 100644
--- a/storage/myisam/mi_keycache.c
+++ b/storage/myisam/mi_keycache.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Key cache assignments
diff --git a/storage/myisam/mi_locking.c b/storage/myisam/mi_locking.c
index 85b06c813..3ec4026d6 100644
--- a/storage/myisam/mi_locking.c
+++ b/storage/myisam/mi_locking.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   locking of isam-tables.
diff --git a/storage/myisam/mi_log.c b/storage/myisam/mi_log.c
index 7004144c8..9b8405d0a 100644
--- a/storage/myisam/mi_log.c
+++ b/storage/myisam/mi_log.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Logging of MyISAM commands and records on logfile for debugging
diff --git a/storage/myisam/mi_open.c b/storage/myisam/mi_open.c
index e692f31b2..c1bf4f15c 100644
--- a/storage/myisam/mi_open.c
+++ b/storage/myisam/mi_open.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   open a isam-database
diff --git a/storage/myisam/mi_packrec.c b/storage/myisam/mi_packrec.c
index fc32bb7e5..6fa968bc7 100644
--- a/storage/myisam/mi_packrec.c
+++ b/storage/myisam/mi_packrec.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 	/* Functions to compressed records */
 
diff --git a/storage/myisam/mi_page.c b/storage/myisam/mi_page.c
index bbcacd35d..4d199f9e9 100644
--- a/storage/myisam/mi_page.c
+++ b/storage/myisam/mi_page.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Read and write key blocks */
 
diff --git a/storage/myisam/mi_panic.c b/storage/myisam/mi_panic.c
index 8607b8aea..541cf3996 100644
--- a/storage/myisam/mi_panic.c
+++ b/storage/myisam/mi_panic.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "fulltext.h"
 
diff --git a/storage/myisam/mi_preload.c b/storage/myisam/mi_preload.c
index 1a2d5aac9..bd61540c9 100644
--- a/storage/myisam/mi_preload.c
+++ b/storage/myisam/mi_preload.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Preload indexes into key cache
diff --git a/storage/myisam/mi_range.c b/storage/myisam/mi_range.c
index 2074c8739..de76c4cee 100644
--- a/storage/myisam/mi_range.c
+++ b/storage/myisam/mi_range.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Gives a approximated number of how many records there is between two keys.
diff --git a/storage/myisam/mi_rename.c b/storage/myisam/mi_rename.c
index 3c0f2e972..19df2e542 100644
--- a/storage/myisam/mi_rename.c
+++ b/storage/myisam/mi_rename.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Rename a table
diff --git a/storage/myisam/mi_rfirst.c b/storage/myisam/mi_rfirst.c
index 5f656229b..7bfe87867 100644
--- a/storage/myisam/mi_rfirst.c
+++ b/storage/myisam/mi_rfirst.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/mi_rkey.c b/storage/myisam/mi_rkey.c
index b70922b05..fa56b8113 100644
--- a/storage/myisam/mi_rkey.c
+++ b/storage/myisam/mi_rkey.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Read record based on a key */
 
diff --git a/storage/myisam/mi_rlast.c b/storage/myisam/mi_rlast.c
index b5465d2ea..30cd17d97 100644
--- a/storage/myisam/mi_rlast.c
+++ b/storage/myisam/mi_rlast.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/mi_rnext.c b/storage/myisam/mi_rnext.c
index 509cd75fb..4f6bddc01 100644
--- a/storage/myisam/mi_rnext.c
+++ b/storage/myisam/mi_rnext.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/mi_rnext_same.c b/storage/myisam/mi_rnext_same.c
index d6856459a..ed9e3c55b 100644
--- a/storage/myisam/mi_rnext_same.c
+++ b/storage/myisam/mi_rnext_same.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myisamdef.h"
 #include "rt_index.h"
diff --git a/storage/myisam/mi_rprev.c b/storage/myisam/mi_rprev.c
index 27fbda955..765f8a5d7 100644
--- a/storage/myisam/mi_rprev.c
+++ b/storage/myisam/mi_rprev.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/mi_rrnd.c b/storage/myisam/mi_rrnd.c
index dd321e19e..4e49e7922 100644
--- a/storage/myisam/mi_rrnd.c
+++ b/storage/myisam/mi_rrnd.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Read a record with random-access. The position to the record must
    get by MI_INFO. The next record can be read with pos= MI_POS_ERROR */
diff --git a/storage/myisam/mi_rsame.c b/storage/myisam/mi_rsame.c
index 8258dcdb8..7511531b2 100644
--- a/storage/myisam/mi_rsame.c
+++ b/storage/myisam/mi_rsame.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/mi_rsamepos.c b/storage/myisam/mi_rsamepos.c
index 9a7d46eab..4570aa3b4 100644
--- a/storage/myisam/mi_rsamepos.c
+++ b/storage/myisam/mi_rsamepos.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* read record through position and fix key-position */
 /* As mi_rsame but supply a position */
diff --git a/storage/myisam/mi_scan.c b/storage/myisam/mi_scan.c
index 2ccab7ba3..8d436c4ea 100644
--- a/storage/myisam/mi_scan.c
+++ b/storage/myisam/mi_scan.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Read through all rows sequntially */
 
diff --git a/storage/myisam/mi_search.c b/storage/myisam/mi_search.c
index 92f28f4e3..d16427f2d 100644
--- a/storage/myisam/mi_search.c
+++ b/storage/myisam/mi_search.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* key handling functions */
 
diff --git a/storage/myisam/mi_static.c b/storage/myisam/mi_static.c
index 49019fb86..3679ea4a3 100644
--- a/storage/myisam/mi_static.c
+++ b/storage/myisam/mi_static.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Static variables for MyISAM library. All definied here for easy making of
diff --git a/storage/myisam/mi_statrec.c b/storage/myisam/mi_statrec.c
index b8fa75540..363c9707a 100644
--- a/storage/myisam/mi_statrec.c
+++ b/storage/myisam/mi_statrec.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 	/* Functions to handle fixed-length-records */
 
diff --git a/storage/myisam/mi_test1.c b/storage/myisam/mi_test1.c
index d90a8549e..afa246ba7 100644
--- a/storage/myisam/mi_test1.c
+++ b/storage/myisam/mi_test1.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Testing of the basic functions of a MyISAM table */
 
diff --git a/storage/myisam/mi_test2.c b/storage/myisam/mi_test2.c
index 32dabca0e..48a091e80 100644
--- a/storage/myisam/mi_test2.c
+++ b/storage/myisam/mi_test2.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Test av isam-databas: stor test */
 
diff --git a/storage/myisam/mi_test3.c b/storage/myisam/mi_test3.c
index 86a639ad2..7bcbddbf8 100644
--- a/storage/myisam/mi_test3.c
+++ b/storage/myisam/mi_test3.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Test av locking */
 
diff --git a/storage/myisam/mi_test_all.sh b/storage/myisam/mi_test_all.sh
index e6327fd82..4d69051ea 100755
--- a/storage/myisam/mi_test_all.sh
+++ b/storage/myisam/mi_test_all.sh
@@ -16,7 +16,7 @@
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
 # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, USA
+# MA 02110-1335  USA
 
 #
 # Execute some simple basic test on MyISAM libary to check if things
diff --git a/storage/myisam/mi_unique.c b/storage/myisam/mi_unique.c
index cdf3e6182..1f3a35b19 100644
--- a/storage/myisam/mi_unique.c
+++ b/storage/myisam/mi_unique.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Functions to check if a row is unique */
 
diff --git a/storage/myisam/mi_update.c b/storage/myisam/mi_update.c
index b75bd4bf2..89ab5a0ae 100644
--- a/storage/myisam/mi_update.c
+++ b/storage/myisam/mi_update.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Update an old row in a MyISAM table */
 
diff --git a/storage/myisam/mi_write.c b/storage/myisam/mi_write.c
index 896f1fdab..5ae09b267 100644
--- a/storage/myisam/mi_write.c
+++ b/storage/myisam/mi_write.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Write a row to a MyISAM table */
 
diff --git a/storage/myisam/myisam_ftdump.c b/storage/myisam/myisam_ftdump.c
index 55ee3795f..7ced701ed 100644
--- a/storage/myisam/myisam_ftdump.c
+++ b/storage/myisam/myisam_ftdump.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Written by Sergei A. Golubchik, who has a shared copyright to this code
    added support for long options (my_getopt) 22.5.2002 by Jani Tolonen */
diff --git a/storage/myisam/myisamchk.c b/storage/myisam/myisamchk.c
index 74e29a762..1d33a8fdf 100644
--- a/storage/myisam/myisamchk.c
+++ b/storage/myisam/myisamchk.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Describe, check and repair of MyISAM tables */
 
diff --git a/storage/myisam/myisamdef.h b/storage/myisam/myisamdef.h
index 9d94a26d3..e0e8bcefd 100644
--- a/storage/myisam/myisamdef.h
+++ b/storage/myisam/myisamdef.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is included by all internal myisam files */
 
@@ -536,8 +536,7 @@ extern uchar *_mi_get_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page,
                           uchar *key, uchar *keypos,
                           uint *return_key_length);
 extern uint _mi_keylength(MI_KEYDEF *keyinfo, uchar *key);
-extern uint _mi_keylength_part(MI_KEYDEF *keyinfo, register uchar *key,
-                               HA_KEYSEG *end);
+extern uint _mi_keylength_part(MI_KEYDEF *keyinfo, uchar *key, HA_KEYSEG *end);
 extern uchar *_mi_move_key(MI_KEYDEF *keyinfo, uchar *to, uchar *from);
 extern int _mi_search_next(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
                            uint key_length, uint nextflag, my_off_t pos);
@@ -716,12 +715,12 @@ my_bool check_table_is_closed(const char *name, const char *where);
 int mi_open_datafile(MI_INFO *info, MYISAM_SHARE *share);
 
 int mi_open_keyfile(MYISAM_SHARE *share);
-void mi_setup_functions(register MYISAM_SHARE *share);
+void mi_setup_functions(MYISAM_SHARE *share);
 my_bool mi_dynmap_file(MI_INFO *info, my_off_t size);
 int mi_munmap_file(MI_INFO *info);
 void mi_remap_file(MI_INFO *info, my_off_t size);
 
-ICP_RESULT mi_check_index_cond(register MI_INFO *info, uint keynr, uchar *record);
+ICP_RESULT mi_check_index_cond(MI_INFO *info, uint keynr, uchar *record);
     /* Functions needed by mi_check */
 int killed_ptr(HA_CHECK *param);
 void mi_check_print_error(HA_CHECK *param, const char *fmt, ...);
diff --git a/storage/myisam/myisamlog.c b/storage/myisam/myisamlog.c
index f059d6f4c..d1f82237f 100644
--- a/storage/myisam/myisamlog.c
+++ b/storage/myisam/myisamlog.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* write whats in isam.log */
 
diff --git a/storage/myisam/myisampack.c b/storage/myisam/myisampack.c
index bb9f59f86..2ab26b45f 100644
--- a/storage/myisam/myisampack.c
+++ b/storage/myisam/myisampack.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Pack MyISAM file */
 
diff --git a/storage/myisam/rt_index.c b/storage/myisam/rt_index.c
index b3b7fd0e3..08543ec2b 100644
--- a/storage/myisam/rt_index.c
+++ b/storage/myisam/rt_index.c
@@ -11,7 +11,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/rt_index.h b/storage/myisam/rt_index.h
index e7f00b1c5..2c1009290 100644
--- a/storage/myisam/rt_index.h
+++ b/storage/myisam/rt_index.h
@@ -12,7 +12,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef _rt_index_h
 #define _rt_index_h
diff --git a/storage/myisam/rt_key.c b/storage/myisam/rt_key.c
index f4dbf06ae..3c58a4548 100644
--- a/storage/myisam/rt_key.c
+++ b/storage/myisam/rt_key.c
@@ -12,7 +12,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/rt_key.h b/storage/myisam/rt_key.h
index 94d79d08f..56f57d847 100644
--- a/storage/myisam/rt_key.h
+++ b/storage/myisam/rt_key.h
@@ -12,7 +12,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Written by Ramil Kalimullin, who has a shared copyright to this code */
 
diff --git a/storage/myisam/rt_mbr.c b/storage/myisam/rt_mbr.c
index 05576f0b5..8bcaf9f64 100644
--- a/storage/myisam/rt_mbr.c
+++ b/storage/myisam/rt_mbr.c
@@ -12,7 +12,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/rt_mbr.h b/storage/myisam/rt_mbr.h
index 597e93875..43e55d390 100644
--- a/storage/myisam/rt_mbr.h
+++ b/storage/myisam/rt_mbr.h
@@ -12,7 +12,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef _rt_mbr_h
 #define _rt_mbr_h
diff --git a/storage/myisam/rt_split.c b/storage/myisam/rt_split.c
index be61734e0..91465c5a2 100644
--- a/storage/myisam/rt_split.c
+++ b/storage/myisam/rt_split.c
@@ -12,7 +12,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/rt_test.c b/storage/myisam/rt_test.c
index 8b537d134..78deb8006 100644
--- a/storage/myisam/rt_test.c
+++ b/storage/myisam/rt_test.c
@@ -11,7 +11,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Testing of the basic functions of a MyISAM rtree table         */
 /* Written by Alex Barkov who has a shared copyright to this code */
diff --git a/storage/myisam/sort.c b/storage/myisam/sort.c
index f9838d4dc..6e8f5c89f 100644
--- a/storage/myisam/sort.c
+++ b/storage/myisam/sort.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Creates a index for a database by reading keys, sorting them and outputing
diff --git a/storage/myisam/sp_defs.h b/storage/myisam/sp_defs.h
index e04f0578f..d43fa49ed 100644
--- a/storage/myisam/sp_defs.h
+++ b/storage/myisam/sp_defs.h
@@ -12,7 +12,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifndef _SP_DEFS_H
 #define _SP_DEFS_H
diff --git a/storage/myisam/sp_key.c b/storage/myisam/sp_key.c
index 3837ed01b..c3aeb7553 100644
--- a/storage/myisam/sp_key.c
+++ b/storage/myisam/sp_key.c
@@ -11,7 +11,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myisamdef.h"
 
diff --git a/storage/myisam/sp_test.c b/storage/myisam/sp_test.c
index d573d9608..4e05dec6a 100644
--- a/storage/myisam/sp_test.c
+++ b/storage/myisam/sp_test.c
@@ -11,7 +11,7 @@
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Testing of the basic functions of a MyISAM spatial table        */
 /* Written by Alex Barkov, who has a shared copyright to this code */
diff --git a/storage/myisammrg/CMakeLists.txt b/storage/myisammrg/CMakeLists.txt
index eec3ca783..b4db348d2 100644
--- a/storage/myisammrg/CMakeLists.txt
+++ b/storage/myisammrg/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(MYISAMMRG_SOURCES  myrg_close.c myrg_create.c myrg_delete.c myrg_extra.c myrg_info.c
 				ha_myisammrg.cc
diff --git a/storage/myisammrg/ha_myisammrg.cc b/storage/myisammrg/ha_myisammrg.cc
index d1a3babdb..4cc4aca3f 100644
--- a/storage/myisammrg/ha_myisammrg.cc
+++ b/storage/myisammrg/ha_myisammrg.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 /*
@@ -1567,7 +1567,7 @@ int ha_myisammrg::create_mrg(const char *name, HA_CREATE_INFO *create_info)
 }
 
 
-int ha_myisammrg::create(const char *name, register TABLE *form,
+int ha_myisammrg::create(const char *name, TABLE *form,
 			 HA_CREATE_INFO *create_info)
 {
   char buff[FN_REFLEN];
diff --git a/storage/myisammrg/ha_myisammrg.h b/storage/myisammrg/ha_myisammrg.h
index b6db54911..ecf83f08d 100644
--- a/storage/myisammrg/ha_myisammrg.h
+++ b/storage/myisammrg/ha_myisammrg.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #ifdef USE_PRAGMA_INTERFACE
diff --git a/storage/myisammrg/myrg_close.c b/storage/myisammrg/myrg_close.c
index 97c356190..636382f92 100644
--- a/storage/myisammrg/myrg_close.c
+++ b/storage/myisammrg/myrg_close.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* close a isam-database */
 
diff --git a/storage/myisammrg/myrg_create.c b/storage/myisammrg/myrg_create.c
index 715a5bcbd..67e94f1de 100644
--- a/storage/myisammrg/myrg_create.c
+++ b/storage/myisammrg/myrg_create.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Create a MYMERGE_-file */
 
diff --git a/storage/myisammrg/myrg_def.h b/storage/myisammrg/myrg_def.h
index cf60390b2..9ef65f220 100644
--- a/storage/myisammrg/myrg_def.h
+++ b/storage/myisammrg/myrg_def.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is included by all myisam-merge files */
 
diff --git a/storage/myisammrg/myrg_delete.c b/storage/myisammrg/myrg_delete.c
index a80020d69..e13b9b4ef 100644
--- a/storage/myisammrg/myrg_delete.c
+++ b/storage/myisammrg/myrg_delete.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Delete last read record */
 
diff --git a/storage/myisammrg/myrg_extra.c b/storage/myisammrg/myrg_extra.c
index 18cc66cf9..43dfc18c7 100644
--- a/storage/myisammrg/myrg_extra.c
+++ b/storage/myisammrg/myrg_extra.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Extra functions we want to do with a database
diff --git a/storage/myisammrg/myrg_info.c b/storage/myisammrg/myrg_info.c
index 53484b430..1d78c6506 100644
--- a/storage/myisammrg/myrg_info.c
+++ b/storage/myisammrg/myrg_info.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_locking.c b/storage/myisammrg/myrg_locking.c
index 2c48f5199..a79e35d23 100644
--- a/storage/myisammrg/myrg_locking.c
+++ b/storage/myisammrg/myrg_locking.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /*
   Lock databases against read or write.
diff --git a/storage/myisammrg/myrg_open.c b/storage/myisammrg/myrg_open.c
index 7f3937f57..46a801802 100644
--- a/storage/myisammrg/myrg_open.c
+++ b/storage/myisammrg/myrg_open.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* open a MyISAM MERGE table */
 
diff --git a/storage/myisammrg/myrg_panic.c b/storage/myisammrg/myrg_panic.c
index 63e746260..3721b4037 100644
--- a/storage/myisammrg/myrg_panic.c
+++ b/storage/myisammrg/myrg_panic.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_queue.c b/storage/myisammrg/myrg_queue.c
index 2ec580e47..08d02bd5b 100644
--- a/storage/myisammrg/myrg_queue.c
+++ b/storage/myisammrg/myrg_queue.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_range.c b/storage/myisammrg/myrg_range.c
index 7dddf1265..893bda208 100644
--- a/storage/myisammrg/myrg_range.c
+++ b/storage/myisammrg/myrg_range.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_records.c b/storage/myisammrg/myrg_records.c
index 40116f8b1..4aa33a087 100644
--- a/storage/myisammrg/myrg_records.c
+++ b/storage/myisammrg/myrg_records.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_rfirst.c b/storage/myisammrg/myrg_rfirst.c
index 157029e5c..c8400c0a9 100644
--- a/storage/myisammrg/myrg_rfirst.c
+++ b/storage/myisammrg/myrg_rfirst.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_rkey.c b/storage/myisammrg/myrg_rkey.c
index 95056c09a..84e8297f5 100644
--- a/storage/myisammrg/myrg_rkey.c
+++ b/storage/myisammrg/myrg_rkey.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Read record based on a key */
 
diff --git a/storage/myisammrg/myrg_rlast.c b/storage/myisammrg/myrg_rlast.c
index 8fcb42473..d9402568f 100644
--- a/storage/myisammrg/myrg_rlast.c
+++ b/storage/myisammrg/myrg_rlast.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_rnext.c b/storage/myisammrg/myrg_rnext.c
index b19d4d569..8b35e40f7 100644
--- a/storage/myisammrg/myrg_rnext.c
+++ b/storage/myisammrg/myrg_rnext.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_rnext_same.c b/storage/myisammrg/myrg_rnext_same.c
index 6b741839a..f9a114a7c 100644
--- a/storage/myisammrg/myrg_rnext_same.c
+++ b/storage/myisammrg/myrg_rnext_same.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_rprev.c b/storage/myisammrg/myrg_rprev.c
index 581bc215c..72765f5d9 100644
--- a/storage/myisammrg/myrg_rprev.c
+++ b/storage/myisammrg/myrg_rprev.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_rrnd.c b/storage/myisammrg/myrg_rrnd.c
index 2e6a77ee5..a97f6d300 100644
--- a/storage/myisammrg/myrg_rrnd.c
+++ b/storage/myisammrg/myrg_rrnd.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /*
   Read a record with random-access. The position to the record must
diff --git a/storage/myisammrg/myrg_rsame.c b/storage/myisammrg/myrg_rsame.c
index 34dbbe510..f76fe79fa 100644
--- a/storage/myisammrg/myrg_rsame.c
+++ b/storage/myisammrg/myrg_rsame.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "myrg_def.h"
 
diff --git a/storage/myisammrg/myrg_static.c b/storage/myisammrg/myrg_static.c
index 176abc458..a2f5d074c 100644
--- a/storage/myisammrg/myrg_static.c
+++ b/storage/myisammrg/myrg_static.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Static variables for pisam library. All definied here for easy making of
diff --git a/storage/myisammrg/myrg_update.c b/storage/myisammrg/myrg_update.c
index add6f9f81..c70bde07d 100644
--- a/storage/myisammrg/myrg_update.c
+++ b/storage/myisammrg/myrg_update.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Update last read record */
 
diff --git a/storage/myisammrg/myrg_write.c b/storage/myisammrg/myrg_write.c
index dbe3142c4..eb496911a 100644
--- a/storage/myisammrg/myrg_write.c
+++ b/storage/myisammrg/myrg_write.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /* Write a row to a MyISAM MERGE table */
 
diff --git a/storage/oqgraph/graphcore-config.h b/storage/oqgraph/graphcore-config.h
index 3ef9da152..01c4b8b2f 100644
--- a/storage/oqgraph/graphcore-config.h
+++ b/storage/oqgraph/graphcore-config.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/graphcore-graph.cc b/storage/oqgraph/graphcore-graph.cc
index 423667873..e82448c26 100644
--- a/storage/oqgraph/graphcore-graph.cc
+++ b/storage/oqgraph/graphcore-graph.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/graphcore-graph.h b/storage/oqgraph/graphcore-graph.h
index 4b55068a7..1bed07e27 100644
--- a/storage/oqgraph/graphcore-graph.h
+++ b/storage/oqgraph/graphcore-graph.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/graphcore-types.h b/storage/oqgraph/graphcore-types.h
index 5f333c271..0032e859e 100644
--- a/storage/oqgraph/graphcore-types.h
+++ b/storage/oqgraph/graphcore-types.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/graphcore.cc b/storage/oqgraph/graphcore.cc
index 1a7df6147..b7a0dac3d 100644
--- a/storage/oqgraph/graphcore.cc
+++ b/storage/oqgraph/graphcore.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/graphcore.h b/storage/oqgraph/graphcore.h
index 7fa3d4554..0db77af3a 100644
--- a/storage/oqgraph/graphcore.h
+++ b/storage/oqgraph/graphcore.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/ha_oqgraph.cc b/storage/oqgraph/ha_oqgraph.cc
index 9a7c6070c..5c244e0b0 100644
--- a/storage/oqgraph/ha_oqgraph.cc
+++ b/storage/oqgraph/ha_oqgraph.cc
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/ha_oqgraph.h b/storage/oqgraph/ha_oqgraph.h
index 07f47bd12..22699f189 100644
--- a/storage/oqgraph/ha_oqgraph.h
+++ b/storage/oqgraph/ha_oqgraph.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/oqgraph_judy.cc b/storage/oqgraph/oqgraph_judy.cc
index 60b7a4a1f..0ad9f9fe1 100644
--- a/storage/oqgraph/oqgraph_judy.cc
+++ b/storage/oqgraph/oqgraph_judy.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/oqgraph_judy.h b/storage/oqgraph/oqgraph_judy.h
index 091b299af..53bb47069 100644
--- a/storage/oqgraph/oqgraph_judy.h
+++ b/storage/oqgraph/oqgraph_judy.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/oqgraph_probes.d b/storage/oqgraph/oqgraph_probes.d
index e1a29171b..db0b9cd7e 100644
--- a/storage/oqgraph/oqgraph_probes.d
+++ b/storage/oqgraph/oqgraph_probes.d
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 provider oqgraph {
 	probe open();
diff --git a/storage/oqgraph/oqgraph_shim.cc b/storage/oqgraph/oqgraph_shim.cc
index d24922552..3633b0348 100644
--- a/storage/oqgraph/oqgraph_shim.cc
+++ b/storage/oqgraph/oqgraph_shim.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/oqgraph_shim.h b/storage/oqgraph/oqgraph_shim.h
index aab6e7973..cd63708e1 100644
--- a/storage/oqgraph/oqgraph_shim.h
+++ b/storage/oqgraph/oqgraph_shim.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/oqgraph_thunk.cc b/storage/oqgraph/oqgraph_thunk.cc
index d81c5078b..2bb87737a 100644
--- a/storage/oqgraph/oqgraph_thunk.cc
+++ b/storage/oqgraph/oqgraph_thunk.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/oqgraph/oqgraph_thunk.h b/storage/oqgraph/oqgraph_thunk.h
index fe47c3bc7..57c21e836 100644
--- a/storage/oqgraph/oqgraph_thunk.h
+++ b/storage/oqgraph/oqgraph_thunk.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* ======================================================================
    Open Query Graph Computation Engine, based on a concept by Arjen Lentz
diff --git a/storage/perfschema/CMakeLists.txt b/storage/perfschema/CMakeLists.txt
index 89e7ed080..7db67700f 100644
--- a/storage/perfschema/CMakeLists.txt
+++ b/storage/perfschema/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software Foundation,
-# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}
                     ${CMAKE_SOURCE_DIR}/include
diff --git a/storage/perfschema/cursor_by_account.cc b/storage/perfschema/cursor_by_account.cc
index 6be69f803..2e75b8d51 100644
--- a/storage/perfschema/cursor_by_account.cc
+++ b/storage/perfschema/cursor_by_account.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/cursor_by_account.cc
diff --git a/storage/perfschema/cursor_by_account.h b/storage/perfschema/cursor_by_account.h
index ac52ada88..150615b9c 100644
--- a/storage/perfschema/cursor_by_account.h
+++ b/storage/perfschema/cursor_by_account.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef CURSOR_BY_ACCOUNT_H
 #define CURSOR_BY_ACCOUNT_H
diff --git a/storage/perfschema/cursor_by_host.cc b/storage/perfschema/cursor_by_host.cc
index e405bcad7..d16f8b24b 100644
--- a/storage/perfschema/cursor_by_host.cc
+++ b/storage/perfschema/cursor_by_host.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/cursor_by_host.cc
diff --git a/storage/perfschema/cursor_by_host.h b/storage/perfschema/cursor_by_host.h
index c0db4c5bf..db33bbad8 100644
--- a/storage/perfschema/cursor_by_host.h
+++ b/storage/perfschema/cursor_by_host.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef CURSOR_BY_HOST_H
 #define CURSOR_BY_HOST_H
diff --git a/storage/perfschema/cursor_by_thread.cc b/storage/perfschema/cursor_by_thread.cc
index 400e4bd23..2fa9202fc 100644
--- a/storage/perfschema/cursor_by_thread.cc
+++ b/storage/perfschema/cursor_by_thread.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/cursor_by_thread.cc
diff --git a/storage/perfschema/cursor_by_thread.h b/storage/perfschema/cursor_by_thread.h
index a671e0edd..5a77edf32 100644
--- a/storage/perfschema/cursor_by_thread.h
+++ b/storage/perfschema/cursor_by_thread.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef CURSOR_BY_THREAD_H
 #define CURSOR_BY_THREAD_H
diff --git a/storage/perfschema/cursor_by_thread_connect_attr.cc b/storage/perfschema/cursor_by_thread_connect_attr.cc
index 7a0dd0411..2d5399cda 100644
--- a/storage/perfschema/cursor_by_thread_connect_attr.cc
+++ b/storage/perfschema/cursor_by_thread_connect_attr.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "my_global.h"
 #include "cursor_by_thread_connect_attr.h"
diff --git a/storage/perfschema/cursor_by_thread_connect_attr.h b/storage/perfschema/cursor_by_thread_connect_attr.h
index fbce56f20..b5059918f 100644
--- a/storage/perfschema/cursor_by_thread_connect_attr.h
+++ b/storage/perfschema/cursor_by_thread_connect_attr.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef CURSOR_BY_THREAD_CONNECT_ATTR_H
 #define CURSOR_BY_THREAD_CONNECT_ATTR_H
diff --git a/storage/perfschema/cursor_by_user.cc b/storage/perfschema/cursor_by_user.cc
index d50a6dde1..37ecbf17f 100644
--- a/storage/perfschema/cursor_by_user.cc
+++ b/storage/perfschema/cursor_by_user.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/cursor_by_user.cc
diff --git a/storage/perfschema/cursor_by_user.h b/storage/perfschema/cursor_by_user.h
index c37bb8aa5..d6e997766 100644
--- a/storage/perfschema/cursor_by_user.h
+++ b/storage/perfschema/cursor_by_user.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef CURSOR_BY_USER_H
 #define CURSOR_BY_USER_H
diff --git a/storage/perfschema/gen_pfs_lex_token.cc b/storage/perfschema/gen_pfs_lex_token.cc
index 926982dd2..dcf25c797 100644
--- a/storage/perfschema/gen_pfs_lex_token.cc
+++ b/storage/perfschema/gen_pfs_lex_token.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
-   51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/ha_perfschema.cc b/storage/perfschema/ha_perfschema.cc
index cdbbc022d..42b452ca4 100644
--- a/storage/perfschema/ha_perfschema.cc
+++ b/storage/perfschema/ha_perfschema.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/ha_perfschema.cc
diff --git a/storage/perfschema/ha_perfschema.h b/storage/perfschema/ha_perfschema.h
index ff87b1fd6..9c56fc192 100644
--- a/storage/perfschema/ha_perfschema.h
+++ b/storage/perfschema/ha_perfschema.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef HA_PERFSCHEMA_H
 #define HA_PERFSCHEMA_H
diff --git a/storage/perfschema/pfs.cc b/storage/perfschema/pfs.cc
index 1a3f066bd..fa19f89f9 100644
--- a/storage/perfschema/pfs.cc
+++ b/storage/perfschema/pfs.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs.cc
@@ -2214,7 +2214,7 @@ start_mutex_wait_v1(PSI_mutex_locker_state *state,
   if (! pfs_mutex->m_enabled)
     return NULL;
 
-  register uint flags;
+  uint flags;
   ulonglong timer_start= 0;
 
   if (flag_thread_instrumentation)
@@ -2312,7 +2312,7 @@ start_rwlock_wait_v1(PSI_rwlock_locker_state *state,
   if (! pfs_rwlock->m_enabled)
     return NULL;
 
-  register uint flags;
+  uint flags;
   ulonglong timer_start= 0;
 
   if (flag_thread_instrumentation)
@@ -2420,7 +2420,7 @@ start_cond_wait_v1(PSI_cond_locker_state *state,
   if (! pfs_cond->m_enabled)
     return NULL;
 
-  register uint flags;
+  uint flags;
   ulonglong timer_start= 0;
 
   if (flag_thread_instrumentation)
@@ -2564,7 +2564,7 @@ start_table_io_wait_v1(PSI_table_locker_state *state,
 
   PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS);
 
-  register uint flags;
+  uint flags;
   ulonglong timer_start= 0;
 
   if (flag_thread_instrumentation)
@@ -2690,7 +2690,7 @@ start_table_lock_wait_v1(PSI_table_locker_state *state,
 
   DBUG_ASSERT((uint) lock_type < array_elements(table_lock_operation_map));
 
-  register uint flags;
+  uint flags;
   ulonglong timer_start= 0;
 
   if (flag_thread_instrumentation)
@@ -2798,7 +2798,7 @@ get_thread_file_name_locker_v1(PSI_file_locker_state *state,
   if (flag_thread_instrumentation && ! pfs_thread->m_enabled)
     return NULL;
 
-  register uint flags;
+  uint flags;
 
   state->m_thread= reinterpret_cast (pfs_thread);
   flags= STATE_FLAG_THREAD;
@@ -2867,7 +2867,7 @@ get_thread_file_stream_locker_v1(PSI_file_locker_state *state,
   if (! pfs_file->m_enabled)
     return NULL;
 
-  register uint flags;
+  uint flags;
 
   if (flag_thread_instrumentation)
   {
@@ -2973,7 +2973,7 @@ get_thread_file_descriptor_locker_v1(PSI_file_locker_state *state,
   DBUG_ASSERT(pfs_file->m_class != NULL);
   PFS_file_class *klass= pfs_file->m_class;
 
-  register uint flags;
+  uint flags;
 
   if (flag_thread_instrumentation)
   {
@@ -3062,7 +3062,7 @@ start_socket_wait_v1(PSI_socket_locker_state *state,
   if (!pfs_socket->m_enabled || pfs_socket->m_idle)
     return NULL;
 
-  register uint flags= 0;
+  uint flags= 0;
   ulonglong timer_start= 0;
 
   if (flag_thread_instrumentation)
@@ -3321,7 +3321,7 @@ start_idle_wait_v1(PSI_idle_locker_state* state, const char *src_file, uint src_
   if (!global_idle_class.m_enabled)
     return NULL;
 
-  register uint flags= 0;
+  uint flags= 0;
   ulonglong timer_start= 0;
 
   if (flag_thread_instrumentation)
@@ -3403,7 +3403,7 @@ static void end_idle_wait_v1(PSI_idle_locker* locker)
   ulonglong timer_end= 0;
   ulonglong wait_time= 0;
 
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
 
   if (flags & STATE_FLAG_TIMED)
   {
@@ -3473,7 +3473,7 @@ static void end_mutex_wait_v1(PSI_mutex_locker* locker, int rc)
   DBUG_ASSERT(mutex != NULL);
   PFS_thread *thread= reinterpret_cast (state->m_thread);
 
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
 
   if (flags & STATE_FLAG_TIMED)
   {
@@ -3794,7 +3794,7 @@ static void end_table_io_wait_v1(PSI_table_locker* locker)
     break;
   }
 
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
 
   if (flags & STATE_FLAG_TIMED)
   {
@@ -3865,7 +3865,7 @@ static void end_table_lock_wait_v1(PSI_table_locker* locker)
 
   PFS_single_stat *stat= & table->m_table_stat.m_lock_stat.m_stat[state->m_index];
 
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
 
   if (flags & STATE_FLAG_TIMED)
   {
@@ -4028,7 +4028,7 @@ static void start_file_wait_v1(PSI_file_locker *locker,
   PSI_file_locker_state *state= reinterpret_cast (locker);
   DBUG_ASSERT(state != NULL);
 
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
 
   if (flags & STATE_FLAG_TIMED)
   {
@@ -4064,7 +4064,7 @@ static void end_file_wait_v1(PSI_file_locker *locker,
   ulonglong timer_end= 0;
   ulonglong wait_time= 0;
   PFS_byte_stat *byte_stat;
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
   size_t bytes= ((int)byte_count > -1 ? byte_count : 0);
 
   PFS_file_stat *file_stat;
@@ -4419,7 +4419,7 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state,
   if (! klass->m_enabled)
     return NULL;
 
-  register uint flags;
+  uint flags;
 
   if (flag_thread_instrumentation)
   {
@@ -4596,7 +4596,7 @@ static void start_statement_v1(PSI_statement_locker *locker,
   PSI_statement_locker_state *state= reinterpret_cast (locker);
   DBUG_ASSERT(state != NULL);
 
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
   ulonglong timer_start= 0;
 
   if (flags & STATE_FLAG_TIMED)
@@ -4798,7 +4798,7 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da)
 
   ulonglong timer_end= 0;
   ulonglong wait_time= 0;
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
 
   if (flags & STATE_FLAG_TIMED)
   {
@@ -5024,7 +5024,7 @@ static void end_socket_wait_v1(PSI_socket_locker *locker, size_t byte_count)
   ulonglong timer_end= 0;
   ulonglong wait_time= 0;
   PFS_byte_stat *byte_stat;
-  register uint flags= state->m_flags;
+  uint flags= state->m_flags;
   size_t bytes= ((int)byte_count > -1 ? byte_count : 0);
 
   switch (state->m_operation)
diff --git a/storage/perfschema/pfs.h b/storage/perfschema/pfs.h
index 5f543d803..da5e11eda 100644
--- a/storage/perfschema/pfs.h
+++ b/storage/perfschema/pfs.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_H
 #define PFS_H
diff --git a/storage/perfschema/pfs_account.cc b/storage/perfschema/pfs_account.cc
index 4e3a6d8d1..6f949d440 100644
--- a/storage/perfschema/pfs_account.cc
+++ b/storage/perfschema/pfs_account.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/pfs_account.cc
diff --git a/storage/perfschema/pfs_account.h b/storage/perfschema/pfs_account.h
index efd0a424e..544abf913 100644
--- a/storage/perfschema/pfs_account.h
+++ b/storage/perfschema/pfs_account.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_ACCOUNT_H
 #define PFS_ACCOUNT_H
diff --git a/storage/perfschema/pfs_atomic.h b/storage/perfschema/pfs_atomic.h
index 31833b832..def9339d0 100644
--- a/storage/perfschema/pfs_atomic.h
+++ b/storage/perfschema/pfs_atomic.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_ATOMIC_H
 #define PFS_ATOMIC_H
diff --git a/storage/perfschema/pfs_autosize.cc b/storage/perfschema/pfs_autosize.cc
index 9bf70ceb2..d099a3f18 100644
--- a/storage/perfschema/pfs_autosize.cc
+++ b/storage/perfschema/pfs_autosize.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_autosize.cc
diff --git a/storage/perfschema/pfs_column_types.h b/storage/perfschema/pfs_column_types.h
index c70ca220d..ef657b387 100644
--- a/storage/perfschema/pfs_column_types.h
+++ b/storage/perfschema/pfs_column_types.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_COLUMN_TYPES_H
 #define PFS_COLUMN_TYPES_H
diff --git a/storage/perfschema/pfs_column_values.cc b/storage/perfschema/pfs_column_values.cc
index 65d0ae717..87fa9f0b6 100644
--- a/storage/perfschema/pfs_column_values.cc
+++ b/storage/perfschema/pfs_column_values.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_column_values.cc
diff --git a/storage/perfschema/pfs_column_values.h b/storage/perfschema/pfs_column_values.h
index 204d5230d..eb25a5977 100644
--- a/storage/perfschema/pfs_column_values.h
+++ b/storage/perfschema/pfs_column_values.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_COLUMN_VALUES_H
 #define PFS_COLUMN_VALUES_H
diff --git a/storage/perfschema/pfs_con_slice.cc b/storage/perfschema/pfs_con_slice.cc
index bd449df0a..bce4918ae 100644
--- a/storage/perfschema/pfs_con_slice.cc
+++ b/storage/perfschema/pfs_con_slice.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 
 #include "my_global.h"
diff --git a/storage/perfschema/pfs_con_slice.h b/storage/perfschema/pfs_con_slice.h
index d82adcb58..f83764339 100644
--- a/storage/perfschema/pfs_con_slice.h
+++ b/storage/perfschema/pfs_con_slice.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_CON_SLICE_H
 #define PFS_CON_SLICE_H
diff --git a/storage/perfschema/pfs_defaults.cc b/storage/perfschema/pfs_defaults.cc
index 01cf0d737..ec2da41e3 100644
--- a/storage/perfschema/pfs_defaults.cc
+++ b/storage/perfschema/pfs_defaults.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_defaults.cc
diff --git a/storage/perfschema/pfs_defaults.h b/storage/perfschema/pfs_defaults.h
index bbb041504..d95c4914e 100644
--- a/storage/perfschema/pfs_defaults.h
+++ b/storage/perfschema/pfs_defaults.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_DEFAULTS_H
 #define PFS_DEFAULTS_H
diff --git a/storage/perfschema/pfs_digest.cc b/storage/perfschema/pfs_digest.cc
index 86b05f37f..1362ef267 100644
--- a/storage/perfschema/pfs_digest.cc
+++ b/storage/perfschema/pfs_digest.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_digest.h
diff --git a/storage/perfschema/pfs_digest.h b/storage/perfschema/pfs_digest.h
index 429a9f425..543fa7858 100644
--- a/storage/perfschema/pfs_digest.h
+++ b/storage/perfschema/pfs_digest.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_DIGEST_H
 #define PFS_DIGEST_H
diff --git a/storage/perfschema/pfs_engine_table.cc b/storage/perfschema/pfs_engine_table.cc
index 9e9ab02df..289eb034e 100644
--- a/storage/perfschema/pfs_engine_table.cc
+++ b/storage/perfschema/pfs_engine_table.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_engine_table.cc
diff --git a/storage/perfschema/pfs_engine_table.h b/storage/perfschema/pfs_engine_table.h
index 2bbf88914..d3c4a0e43 100644
--- a/storage/perfschema/pfs_engine_table.h
+++ b/storage/perfschema/pfs_engine_table.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_ENGINE_TABLE_H
 #define PFS_ENGINE_TABLE_H
diff --git a/storage/perfschema/pfs_events.h b/storage/perfschema/pfs_events.h
index 905d6f859..09c393581 100644
--- a/storage/perfschema/pfs_events.h
+++ b/storage/perfschema/pfs_events.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_EVENTS_H
 #define PFS_EVENTS_H
diff --git a/storage/perfschema/pfs_events_stages.cc b/storage/perfschema/pfs_events_stages.cc
index 7351c95c9..673d2cb95 100644
--- a/storage/perfschema/pfs_events_stages.cc
+++ b/storage/perfschema/pfs_events_stages.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_events_stages.cc
diff --git a/storage/perfschema/pfs_events_stages.h b/storage/perfschema/pfs_events_stages.h
index 43231796b..ea879bcd2 100644
--- a/storage/perfschema/pfs_events_stages.h
+++ b/storage/perfschema/pfs_events_stages.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_EVENTS_STAGES_H
 #define PFS_EVENTS_STAGES_H
diff --git a/storage/perfschema/pfs_events_statements.cc b/storage/perfschema/pfs_events_statements.cc
index cecd0167c..66a98e3f7 100644
--- a/storage/perfschema/pfs_events_statements.cc
+++ b/storage/perfschema/pfs_events_statements.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_events_statements.cc
diff --git a/storage/perfschema/pfs_events_statements.h b/storage/perfschema/pfs_events_statements.h
index d3fd79ea1..a56423d38 100644
--- a/storage/perfschema/pfs_events_statements.h
+++ b/storage/perfschema/pfs_events_statements.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_EVENTS_STATEMENTS_H
 #define PFS_EVENTS_STATEMENTS_H
diff --git a/storage/perfschema/pfs_events_waits.cc b/storage/perfschema/pfs_events_waits.cc
index 1120ac2a4..f99a1f31b 100644
--- a/storage/perfschema/pfs_events_waits.cc
+++ b/storage/perfschema/pfs_events_waits.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_events_waits.cc
diff --git a/storage/perfschema/pfs_events_waits.h b/storage/perfschema/pfs_events_waits.h
index 52e2ef05a..79bd33832 100644
--- a/storage/perfschema/pfs_events_waits.h
+++ b/storage/perfschema/pfs_events_waits.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_EVENTS_WAITS_H
 #define PFS_EVENTS_WAITS_H
diff --git a/storage/perfschema/pfs_global.cc b/storage/perfschema/pfs_global.cc
index bd346f2b2..25dd817b1 100644
--- a/storage/perfschema/pfs_global.cc
+++ b/storage/perfschema/pfs_global.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_global.cc
diff --git a/storage/perfschema/pfs_global.h b/storage/perfschema/pfs_global.h
index f3326c558..8ca12883f 100644
--- a/storage/perfschema/pfs_global.h
+++ b/storage/perfschema/pfs_global.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_GLOBAL_H
 #define PFS_GLOBAL_H
@@ -80,7 +80,7 @@ inline uint randomized_index(const void *ptr, uint max_size)
   static uint seed1= 0;
   static uint seed2= 0;
   uint result;
-  register intptr value;
+  intptr value;
 
   if (unlikely(max_size == 0))
     return 0;
diff --git a/storage/perfschema/pfs_host.cc b/storage/perfschema/pfs_host.cc
index 7da34a6d5..8ac2b2fd5 100644
--- a/storage/perfschema/pfs_host.cc
+++ b/storage/perfschema/pfs_host.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/pfs_host.cc
diff --git a/storage/perfschema/pfs_host.h b/storage/perfschema/pfs_host.h
index 9c039cf91..4e6b24bf6 100644
--- a/storage/perfschema/pfs_host.h
+++ b/storage/perfschema/pfs_host.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_HOST_H
 #define PFS_HOST_H
diff --git a/storage/perfschema/pfs_instr.cc b/storage/perfschema/pfs_instr.cc
index a9ea6faf2..44b170469 100644
--- a/storage/perfschema/pfs_instr.cc
+++ b/storage/perfschema/pfs_instr.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_instr.cc
diff --git a/storage/perfschema/pfs_instr.h b/storage/perfschema/pfs_instr.h
index b25f5769b..76eeabb99 100644
--- a/storage/perfschema/pfs_instr.h
+++ b/storage/perfschema/pfs_instr.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_INSTR_H
 #define PFS_INSTR_H
diff --git a/storage/perfschema/pfs_instr_class.cc b/storage/perfschema/pfs_instr_class.cc
index c67c12028..0d06ac025 100644
--- a/storage/perfschema/pfs_instr_class.cc
+++ b/storage/perfschema/pfs_instr_class.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_instr_class.cc
diff --git a/storage/perfschema/pfs_instr_class.h b/storage/perfschema/pfs_instr_class.h
index a51af2eca..038814b07 100644
--- a/storage/perfschema/pfs_instr_class.h
+++ b/storage/perfschema/pfs_instr_class.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_INSTR_CLASS_H
 #define PFS_INSTR_CLASS_H
diff --git a/storage/perfschema/pfs_lock.h b/storage/perfschema/pfs_lock.h
index be84d0f7f..4011cba20 100644
--- a/storage/perfschema/pfs_lock.h
+++ b/storage/perfschema/pfs_lock.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_LOCK_H
 #define PFS_LOCK_H
diff --git a/storage/perfschema/pfs_server.cc b/storage/perfschema/pfs_server.cc
index 757715451..9dd6fbf47 100644
--- a/storage/perfschema/pfs_server.cc
+++ b/storage/perfschema/pfs_server.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_server.cc
diff --git a/storage/perfschema/pfs_server.h b/storage/perfschema/pfs_server.h
index bc0c69e86..aea86a576 100644
--- a/storage/perfschema/pfs_server.h
+++ b/storage/perfschema/pfs_server.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_SERVER_H
 #define PFS_SERVER_H
diff --git a/storage/perfschema/pfs_setup_actor.cc b/storage/perfschema/pfs_setup_actor.cc
index f12d70840..f3b6bc179 100644
--- a/storage/perfschema/pfs_setup_actor.cc
+++ b/storage/perfschema/pfs_setup_actor.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_setup_actor.cc
diff --git a/storage/perfschema/pfs_setup_actor.h b/storage/perfschema/pfs_setup_actor.h
index baebd27f0..92a1617c3 100644
--- a/storage/perfschema/pfs_setup_actor.h
+++ b/storage/perfschema/pfs_setup_actor.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_SETUP_ACTOR_H
 #define PFS_SETUP_ACTOR_H
diff --git a/storage/perfschema/pfs_setup_object.cc b/storage/perfschema/pfs_setup_object.cc
index 809fe8edd..3cc14d9a1 100644
--- a/storage/perfschema/pfs_setup_object.cc
+++ b/storage/perfschema/pfs_setup_object.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/pfs_setup_object.cc
diff --git a/storage/perfschema/pfs_setup_object.h b/storage/perfschema/pfs_setup_object.h
index 2615802fe..0d343f552 100644
--- a/storage/perfschema/pfs_setup_object.h
+++ b/storage/perfschema/pfs_setup_object.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_SETUP_OBJECT_H
 #define PFS_SETUP_OBJECT_H
diff --git a/storage/perfschema/pfs_stat.h b/storage/perfschema/pfs_stat.h
index 13a32d0e3..9e4da7957 100644
--- a/storage/perfschema/pfs_stat.h
+++ b/storage/perfschema/pfs_stat.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_STAT_H
 #define PFS_STAT_H
diff --git a/storage/perfschema/pfs_timer.cc b/storage/perfschema/pfs_timer.cc
index 8348f165e..5e2c27c21 100644
--- a/storage/perfschema/pfs_timer.cc
+++ b/storage/perfschema/pfs_timer.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/pfs_timer.cc
@@ -26,7 +26,6 @@ enum_timer_name idle_timer= TIMER_NAME_MICROSEC;
 enum_timer_name wait_timer= TIMER_NAME_CYCLE;
 enum_timer_name stage_timer= TIMER_NAME_NANOSEC;
 enum_timer_name statement_timer= TIMER_NAME_NANOSEC;
-MY_TIMER_INFO pfs_timer_info;
 
 static ulonglong cycle_v0;
 static ulonglong nanosec_v0;
@@ -65,41 +64,39 @@ void init_timers(void)
 {
   double pico_frequency= 1.0e12;
 
-  my_timer_init(&pfs_timer_info);
-
   cycle_v0= my_timer_cycles();
   nanosec_v0= my_timer_nanoseconds();
   microsec_v0= my_timer_microseconds();
   millisec_v0= my_timer_milliseconds();
   tick_v0= my_timer_ticks();
 
-  if (pfs_timer_info.cycles.frequency > 0)
+  if (sys_timer_info.cycles.frequency > 0)
     cycle_to_pico= round_to_ulong(pico_frequency/
-                                  (double)pfs_timer_info.cycles.frequency);
+                                  (double)sys_timer_info.cycles.frequency);
   else
     cycle_to_pico= 0;
 
-  if (pfs_timer_info.nanoseconds.frequency > 0)
+  if (sys_timer_info.nanoseconds.frequency > 0)
     nanosec_to_pico= round_to_ulong(pico_frequency/
-                                    (double)pfs_timer_info.nanoseconds.frequency);
+                                    (double)sys_timer_info.nanoseconds.frequency);
   else
     nanosec_to_pico= 0;
 
-  if (pfs_timer_info.microseconds.frequency > 0)
+  if (sys_timer_info.microseconds.frequency > 0)
     microsec_to_pico= round_to_ulong(pico_frequency/
-                                     (double)pfs_timer_info.microseconds.frequency);
+                                     (double)sys_timer_info.microseconds.frequency);
   else
     microsec_to_pico= 0;
 
-  if (pfs_timer_info.milliseconds.frequency > 0)
+  if (sys_timer_info.milliseconds.frequency > 0)
     millisec_to_pico= round_to_ulong(pico_frequency/
-                                     (double)pfs_timer_info.milliseconds.frequency);
+                                     (double)sys_timer_info.milliseconds.frequency);
   else
     millisec_to_pico= 0;
 
-  if (pfs_timer_info.ticks.frequency > 0)
+  if (sys_timer_info.ticks.frequency > 0)
     tick_to_pico= round_to_ulonglong(pico_frequency/
-                                     (double)pfs_timer_info.ticks.frequency);
+                                     (double)sys_timer_info.ticks.frequency);
   else
     tick_to_pico= 0;
 
diff --git a/storage/perfschema/pfs_timer.h b/storage/perfschema/pfs_timer.h
index 1cae20e89..a4f55c209 100644
--- a/storage/perfschema/pfs_timer.h
+++ b/storage/perfschema/pfs_timer.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_TIMER_H
 #define PFS_TIMER_H
@@ -102,7 +102,7 @@ extern enum_timer_name statement_timer;
   Timer information data.
   Characteristics about each suported timer.
 */
-extern MY_TIMER_INFO pfs_timer_info;
+extern MYSQL_PLUGIN_IMPORT MY_TIMER_INFO sys_timer_info;
 
 /** Initialize the timer component. */
 void init_timers();
diff --git a/storage/perfschema/pfs_user.cc b/storage/perfschema/pfs_user.cc
index 528457fe0..f9f6782cd 100644
--- a/storage/perfschema/pfs_user.cc
+++ b/storage/perfschema/pfs_user.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/pfs_user.cc
diff --git a/storage/perfschema/pfs_user.h b/storage/perfschema/pfs_user.h
index 2cb70e8e4..f2b1c4409 100644
--- a/storage/perfschema/pfs_user.h
+++ b/storage/perfschema/pfs_user.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_USER_H
 #define PFS_USER_H
diff --git a/storage/perfschema/pfs_visitor.cc b/storage/perfschema/pfs_visitor.cc
index 616bc2790..3df7ef91b 100644
--- a/storage/perfschema/pfs_visitor.cc
+++ b/storage/perfschema/pfs_visitor.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "my_global.h"
 #include "my_sys.h"
diff --git a/storage/perfschema/pfs_visitor.h b/storage/perfschema/pfs_visitor.h
index 4ec63d006..c3ada2f4e 100644
--- a/storage/perfschema/pfs_visitor.h
+++ b/storage/perfschema/pfs_visitor.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef PFS_VISITOR_H
 #define PFS_VISITOR_H
diff --git a/storage/perfschema/table_accounts.cc b/storage/perfschema/table_accounts.cc
index be18e0b7c..007fcb255 100644
--- a/storage/perfschema/table_accounts.cc
+++ b/storage/perfschema/table_accounts.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "my_global.h"
 #include "my_pthread.h"
diff --git a/storage/perfschema/table_accounts.h b/storage/perfschema/table_accounts.h
index 4c1932641..f72eb39ed 100644
--- a/storage/perfschema/table_accounts.h
+++ b/storage/perfschema/table_accounts.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_ACCOUNTS_H
 #define TABLE_ACCOUNTS_H
diff --git a/storage/perfschema/table_all_instr.cc b/storage/perfschema/table_all_instr.cc
index ae8988d3a..05ec9f09c 100644
--- a/storage/perfschema/table_all_instr.cc
+++ b/storage/perfschema/table_all_instr.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_all_instr.cc
diff --git a/storage/perfschema/table_all_instr.h b/storage/perfschema/table_all_instr.h
index f78f8cee3..7c9d5d9b0 100644
--- a/storage/perfschema/table_all_instr.h
+++ b/storage/perfschema/table_all_instr.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_ALL_INSTR_H
 #define TABLE_ALL_INSTR_H
diff --git a/storage/perfschema/table_esgs_by_account_by_event_name.cc b/storage/perfschema/table_esgs_by_account_by_event_name.cc
index a565cbb49..3bc76f899 100644
--- a/storage/perfschema/table_esgs_by_account_by_event_name.cc
+++ b/storage/perfschema/table_esgs_by_account_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esgs_by_account_by_event_name.cc
diff --git a/storage/perfschema/table_esgs_by_account_by_event_name.h b/storage/perfschema/table_esgs_by_account_by_event_name.h
index 531c48745..5afd68cd7 100644
--- a/storage/perfschema/table_esgs_by_account_by_event_name.h
+++ b/storage/perfschema/table_esgs_by_account_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESGS_BY_ACCOUNT_BY_EVENT_NAME_H
 #define TABLE_ESGS_BY_ACCOUNT_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esgs_by_host_by_event_name.cc b/storage/perfschema/table_esgs_by_host_by_event_name.cc
index 76e60b32a..bbef6a8d1 100644
--- a/storage/perfschema/table_esgs_by_host_by_event_name.cc
+++ b/storage/perfschema/table_esgs_by_host_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esgs_by_host_by_event_name.cc
diff --git a/storage/perfschema/table_esgs_by_host_by_event_name.h b/storage/perfschema/table_esgs_by_host_by_event_name.h
index 59a16c248..afc6d5294 100644
--- a/storage/perfschema/table_esgs_by_host_by_event_name.h
+++ b/storage/perfschema/table_esgs_by_host_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESGS_BY_HOST_BY_EVENT_NAME_H
 #define TABLE_ESGS_BY_HOST_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esgs_by_thread_by_event_name.cc b/storage/perfschema/table_esgs_by_thread_by_event_name.cc
index 4fde6013a..57ef634ac 100644
--- a/storage/perfschema/table_esgs_by_thread_by_event_name.cc
+++ b/storage/perfschema/table_esgs_by_thread_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esgs_by_thread_by_event_name.cc
diff --git a/storage/perfschema/table_esgs_by_thread_by_event_name.h b/storage/perfschema/table_esgs_by_thread_by_event_name.h
index 38c6d667d..7db8d1be4 100644
--- a/storage/perfschema/table_esgs_by_thread_by_event_name.h
+++ b/storage/perfschema/table_esgs_by_thread_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESGS_BY_THREAD_BY_EVENT_NAME_H
 #define TABLE_ESGS_BY_THREAD_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esgs_by_user_by_event_name.cc b/storage/perfschema/table_esgs_by_user_by_event_name.cc
index cdb7ed651..f8e8518bd 100644
--- a/storage/perfschema/table_esgs_by_user_by_event_name.cc
+++ b/storage/perfschema/table_esgs_by_user_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esgs_by_user_by_event_name.cc
diff --git a/storage/perfschema/table_esgs_by_user_by_event_name.h b/storage/perfschema/table_esgs_by_user_by_event_name.h
index 3e1a03bd7..8f48747c8 100644
--- a/storage/perfschema/table_esgs_by_user_by_event_name.h
+++ b/storage/perfschema/table_esgs_by_user_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESGS_BY_USER_BY_EVENT_NAME_H
 #define TABLE_ESGS_BY_USER_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esgs_global_by_event_name.cc b/storage/perfschema/table_esgs_global_by_event_name.cc
index 0d59940f4..83a4dbf43 100644
--- a/storage/perfschema/table_esgs_global_by_event_name.cc
+++ b/storage/perfschema/table_esgs_global_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esgs_global_by_event_name.cc
diff --git a/storage/perfschema/table_esgs_global_by_event_name.h b/storage/perfschema/table_esgs_global_by_event_name.h
index e6e23bf45..2b0ac8b62 100644
--- a/storage/perfschema/table_esgs_global_by_event_name.h
+++ b/storage/perfschema/table_esgs_global_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESGS_GLOBAL_BY_EVENT_NAME_H
 #define TABLE_ESGS_GLOBAL_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esms_by_account_by_event_name.cc b/storage/perfschema/table_esms_by_account_by_event_name.cc
index b08c68a70..d8f04d7af 100644
--- a/storage/perfschema/table_esms_by_account_by_event_name.cc
+++ b/storage/perfschema/table_esms_by_account_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esms_by_account_by_event_name.cc
diff --git a/storage/perfschema/table_esms_by_account_by_event_name.h b/storage/perfschema/table_esms_by_account_by_event_name.h
index 4e3097ef3..ff2122917 100644
--- a/storage/perfschema/table_esms_by_account_by_event_name.h
+++ b/storage/perfschema/table_esms_by_account_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESMS_BY_ACCOUNT_BY_EVENT_NAME_H
 #define TABLE_ESMS_BY_ACCOUNT_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esms_by_digest.cc b/storage/perfschema/table_esms_by_digest.cc
index 6c2b173d0..ae648378b 100644
--- a/storage/perfschema/table_esms_by_digest.cc
+++ b/storage/perfschema/table_esms_by_digest.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esms_by_digest.cc
diff --git a/storage/perfschema/table_esms_by_digest.h b/storage/perfschema/table_esms_by_digest.h
index 196a89fcd..682dc70ab 100644
--- a/storage/perfschema/table_esms_by_digest.h
+++ b/storage/perfschema/table_esms_by_digest.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESMS_BY_DIGEST_H
 #define TABLE_ESMS_BY_DIGEST_H
diff --git a/storage/perfschema/table_esms_by_host_by_event_name.cc b/storage/perfschema/table_esms_by_host_by_event_name.cc
index 78381cc8a..7233b340b 100644
--- a/storage/perfschema/table_esms_by_host_by_event_name.cc
+++ b/storage/perfschema/table_esms_by_host_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esms_by_host_by_event_name.cc
diff --git a/storage/perfschema/table_esms_by_host_by_event_name.h b/storage/perfschema/table_esms_by_host_by_event_name.h
index e1a6535d7..def5e19ec 100644
--- a/storage/perfschema/table_esms_by_host_by_event_name.h
+++ b/storage/perfschema/table_esms_by_host_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESMS_BY_HOST_BY_EVENT_NAME_H
 #define TABLE_ESMS_BY_HOST_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esms_by_thread_by_event_name.cc b/storage/perfschema/table_esms_by_thread_by_event_name.cc
index 56a081218..f62d974aa 100644
--- a/storage/perfschema/table_esms_by_thread_by_event_name.cc
+++ b/storage/perfschema/table_esms_by_thread_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esms_by_thread_by_event_name.cc
diff --git a/storage/perfschema/table_esms_by_thread_by_event_name.h b/storage/perfschema/table_esms_by_thread_by_event_name.h
index 32554c3a2..7c50307c4 100644
--- a/storage/perfschema/table_esms_by_thread_by_event_name.h
+++ b/storage/perfschema/table_esms_by_thread_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESMS_BY_THREAD_BY_EVENT_NAME_H
 #define TABLE_ESMS_BY_THREAD_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esms_by_user_by_event_name.cc b/storage/perfschema/table_esms_by_user_by_event_name.cc
index 7e0fce7ca..66afe288f 100644
--- a/storage/perfschema/table_esms_by_user_by_event_name.cc
+++ b/storage/perfschema/table_esms_by_user_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esms_by_user_by_event_name.cc
diff --git a/storage/perfschema/table_esms_by_user_by_event_name.h b/storage/perfschema/table_esms_by_user_by_event_name.h
index beba70459..652841220 100644
--- a/storage/perfschema/table_esms_by_user_by_event_name.h
+++ b/storage/perfschema/table_esms_by_user_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESMS_BY_USER_BY_EVENT_NAME_H
 #define TABLE_ESMS_BY_USER_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_esms_global_by_event_name.cc b/storage/perfschema/table_esms_global_by_event_name.cc
index 1e9f8f991..96957bf02 100644
--- a/storage/perfschema/table_esms_global_by_event_name.cc
+++ b/storage/perfschema/table_esms_global_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_esms_global_by_event_name.cc
diff --git a/storage/perfschema/table_esms_global_by_event_name.h b/storage/perfschema/table_esms_global_by_event_name.h
index 14435fb60..7453d6358 100644
--- a/storage/perfschema/table_esms_global_by_event_name.h
+++ b/storage/perfschema/table_esms_global_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_ESMS_GLOBAL_BY_EVENT_NAME_H
 #define TABLE_ESMS_GLOBAL_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_events_stages.cc b/storage/perfschema/table_events_stages.cc
index 42761d92a..757c42b59 100644
--- a/storage/perfschema/table_events_stages.cc
+++ b/storage/perfschema/table_events_stages.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_events_stages.cc
diff --git a/storage/perfschema/table_events_stages.h b/storage/perfschema/table_events_stages.h
index 2568a090a..cbc0f9a42 100644
--- a/storage/perfschema/table_events_stages.h
+++ b/storage/perfschema/table_events_stages.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_EVENTS_STAGES_H
 #define TABLE_EVENTS_STAGES_H
diff --git a/storage/perfschema/table_events_statements.cc b/storage/perfschema/table_events_statements.cc
index 0d0ea0297..9dc8c329b 100644
--- a/storage/perfschema/table_events_statements.cc
+++ b/storage/perfschema/table_events_statements.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_events_statements.cc
diff --git a/storage/perfschema/table_events_statements.h b/storage/perfschema/table_events_statements.h
index 506061791..6f8bc1621 100644
--- a/storage/perfschema/table_events_statements.h
+++ b/storage/perfschema/table_events_statements.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_EVENTS_STATEMENTS_H
 #define TABLE_EVENTS_STATEMENTS_H
diff --git a/storage/perfschema/table_events_waits.cc b/storage/perfschema/table_events_waits.cc
index cd32d8151..c77d35811 100644
--- a/storage/perfschema/table_events_waits.cc
+++ b/storage/perfschema/table_events_waits.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_events_waits.cc
diff --git a/storage/perfschema/table_events_waits.h b/storage/perfschema/table_events_waits.h
index 606572781..3e09fa487 100644
--- a/storage/perfschema/table_events_waits.h
+++ b/storage/perfschema/table_events_waits.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_EVENTS_WAITS_H
 #define TABLE_EVENTS_WAITS_H
diff --git a/storage/perfschema/table_events_waits_summary.cc b/storage/perfschema/table_events_waits_summary.cc
index 516b27166..2f5c83d57 100644
--- a/storage/perfschema/table_events_waits_summary.cc
+++ b/storage/perfschema/table_events_waits_summary.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_events_waits_summary.cc
diff --git a/storage/perfschema/table_events_waits_summary.h b/storage/perfschema/table_events_waits_summary.h
index 9d3a28816..a4f063bb6 100644
--- a/storage/perfschema/table_events_waits_summary.h
+++ b/storage/perfschema/table_events_waits_summary.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_EVENTS_WAITS_SUMMARY_H
 #define TABLE_EVENTS_WAITS_SUMMARY_H
diff --git a/storage/perfschema/table_ews_by_account_by_event_name.cc b/storage/perfschema/table_ews_by_account_by_event_name.cc
index 7f79feca9..0b86a4ac1 100644
--- a/storage/perfschema/table_ews_by_account_by_event_name.cc
+++ b/storage/perfschema/table_ews_by_account_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_ews_by_account_by_event_name.cc
diff --git a/storage/perfschema/table_ews_by_account_by_event_name.h b/storage/perfschema/table_ews_by_account_by_event_name.h
index 40283c30c..b46008e26 100644
--- a/storage/perfschema/table_ews_by_account_by_event_name.h
+++ b/storage/perfschema/table_ews_by_account_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_EWS_BY_ACCOUNT_BY_EVENT_NAME_H
 #define TABLE_EWS_BY_ACCOUNT_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_ews_by_host_by_event_name.cc b/storage/perfschema/table_ews_by_host_by_event_name.cc
index 61ac7848c..e82c73443 100644
--- a/storage/perfschema/table_ews_by_host_by_event_name.cc
+++ b/storage/perfschema/table_ews_by_host_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_ews_by_host_by_event_name.cc
diff --git a/storage/perfschema/table_ews_by_host_by_event_name.h b/storage/perfschema/table_ews_by_host_by_event_name.h
index c93afafd0..c631da36e 100644
--- a/storage/perfschema/table_ews_by_host_by_event_name.h
+++ b/storage/perfschema/table_ews_by_host_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_EWS_BY_HOST_BY_EVENT_NAME_H
 #define TABLE_EWS_BY_HOST_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_ews_by_thread_by_event_name.cc b/storage/perfschema/table_ews_by_thread_by_event_name.cc
index 833cdb3df..7b3e220e9 100644
--- a/storage/perfschema/table_ews_by_thread_by_event_name.cc
+++ b/storage/perfschema/table_ews_by_thread_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_ews_by_thread_by_event_name.cc
diff --git a/storage/perfschema/table_ews_by_thread_by_event_name.h b/storage/perfschema/table_ews_by_thread_by_event_name.h
index c584b507d..cf94e7a81 100644
--- a/storage/perfschema/table_ews_by_thread_by_event_name.h
+++ b/storage/perfschema/table_ews_by_thread_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_EWS_BY_THREAD_BY_EVENT_NAME_H
 #define TABLE_EWS_BY_THREAD_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_ews_by_user_by_event_name.cc b/storage/perfschema/table_ews_by_user_by_event_name.cc
index 82d476829..577a9ef66 100644
--- a/storage/perfschema/table_ews_by_user_by_event_name.cc
+++ b/storage/perfschema/table_ews_by_user_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_ews_by_user_by_event_name.cc
diff --git a/storage/perfschema/table_ews_by_user_by_event_name.h b/storage/perfschema/table_ews_by_user_by_event_name.h
index 4fe461320..e987cf1bc 100644
--- a/storage/perfschema/table_ews_by_user_by_event_name.h
+++ b/storage/perfschema/table_ews_by_user_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_EWS_BY_USER_BY_EVENT_NAME_H
 #define TABLE_EWS_BY_USER_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_ews_global_by_event_name.cc b/storage/perfschema/table_ews_global_by_event_name.cc
index ebd855f91..9a5ba4f23 100644
--- a/storage/perfschema/table_ews_global_by_event_name.cc
+++ b/storage/perfschema/table_ews_global_by_event_name.cc
@@ -10,8 +10,8 @@
   GNU General Public License for more details.
 
   You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  along with this program; if not, write to the Free Software Foundation,
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_ews_global_by_event_name.cc
diff --git a/storage/perfschema/table_ews_global_by_event_name.h b/storage/perfschema/table_ews_global_by_event_name.h
index 538f1f1fb..57e3459e3 100644
--- a/storage/perfschema/table_ews_global_by_event_name.h
+++ b/storage/perfschema/table_ews_global_by_event_name.h
@@ -10,8 +10,8 @@
   GNU General Public License for more details.
 
   You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  along with this program; if not, write to the Free Software Foundation,
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_EWS_GLOBAL_BY_EVENT_NAME_H
 #define TABLE_EWS_GLOBAL_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_file_instances.cc b/storage/perfschema/table_file_instances.cc
index 4b5ecf3cb..7914664e2 100644
--- a/storage/perfschema/table_file_instances.cc
+++ b/storage/perfschema/table_file_instances.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_file_instances.cc
diff --git a/storage/perfschema/table_file_instances.h b/storage/perfschema/table_file_instances.h
index 988c03bcb..e07017911 100644
--- a/storage/perfschema/table_file_instances.h
+++ b/storage/perfschema/table_file_instances.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_FILE_INSTANCES_H
 #define TABLE_FILE_INSTANCES_H
diff --git a/storage/perfschema/table_file_summary_by_event_name.cc b/storage/perfschema/table_file_summary_by_event_name.cc
index 2e46c7c13..e98bc5289 100644
--- a/storage/perfschema/table_file_summary_by_event_name.cc
+++ b/storage/perfschema/table_file_summary_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_file_summary.cc
diff --git a/storage/perfschema/table_file_summary_by_event_name.h b/storage/perfschema/table_file_summary_by_event_name.h
index 2c6f3b269..7a13fcdc4 100644
--- a/storage/perfschema/table_file_summary_by_event_name.h
+++ b/storage/perfschema/table_file_summary_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_FILE_SUMMARY_H
 #define TABLE_FILE_SUMMARY_H
diff --git a/storage/perfschema/table_file_summary_by_instance.cc b/storage/perfschema/table_file_summary_by_instance.cc
index c69aa641a..b80811d0a 100644
--- a/storage/perfschema/table_file_summary_by_instance.cc
+++ b/storage/perfschema/table_file_summary_by_instance.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_file_summary.cc
diff --git a/storage/perfschema/table_file_summary_by_instance.h b/storage/perfschema/table_file_summary_by_instance.h
index 4bc1f9a76..872698f8e 100644
--- a/storage/perfschema/table_file_summary_by_instance.h
+++ b/storage/perfschema/table_file_summary_by_instance.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_FILE_SUMMARY_BY_INSTANCE_H
 #define TABLE_FILE_SUMMARY_BY_INSTANCE_H
diff --git a/storage/perfschema/table_helper.cc b/storage/perfschema/table_helper.cc
index d064333dc..0dbeeb259 100644
--- a/storage/perfschema/table_helper.cc
+++ b/storage/perfschema/table_helper.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_helper.cc
diff --git a/storage/perfschema/table_helper.h b/storage/perfschema/table_helper.h
index b1377eb97..b57abe9c4 100644
--- a/storage/perfschema/table_helper.h
+++ b/storage/perfschema/table_helper.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef PFS_TABLE_HELPER_H
 #define PFS_TABLE_HELPER_H
diff --git a/storage/perfschema/table_host_cache.cc b/storage/perfschema/table_host_cache.cc
index df13207e5..758a2c6de 100644
--- a/storage/perfschema/table_host_cache.cc
+++ b/storage/perfschema/table_host_cache.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_host_cache.cc
diff --git a/storage/perfschema/table_host_cache.h b/storage/perfschema/table_host_cache.h
index 6a100cc4f..47abb4244 100644
--- a/storage/perfschema/table_host_cache.h
+++ b/storage/perfschema/table_host_cache.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_HOST_CACHE_H
 #define TABLE_HOST_CACHE_H
diff --git a/storage/perfschema/table_hosts.cc b/storage/perfschema/table_hosts.cc
index 8ddc34f57..2c5377db4 100644
--- a/storage/perfschema/table_hosts.cc
+++ b/storage/perfschema/table_hosts.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "my_global.h"
 #include "my_pthread.h"
diff --git a/storage/perfschema/table_hosts.h b/storage/perfschema/table_hosts.h
index 9f44dd338..60b70ae80 100644
--- a/storage/perfschema/table_hosts.h
+++ b/storage/perfschema/table_hosts.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_HOSTS_H
 #define TABLE_HOSTS_H
diff --git a/storage/perfschema/table_os_global_by_type.cc b/storage/perfschema/table_os_global_by_type.cc
index 2f7bf5ec5..cd2ace50c 100644
--- a/storage/perfschema/table_os_global_by_type.cc
+++ b/storage/perfschema/table_os_global_by_type.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_os_global_by_type.cc
diff --git a/storage/perfschema/table_os_global_by_type.h b/storage/perfschema/table_os_global_by_type.h
index 7968b85ae..a434961b6 100644
--- a/storage/perfschema/table_os_global_by_type.h
+++ b/storage/perfschema/table_os_global_by_type.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_OBJECTS_SUMMARY_GLOBAL_BY_TYPE_H
 #define TABLE_OBJECTS_SUMMARY_GLOBAL_BY_TYPE_H
diff --git a/storage/perfschema/table_performance_timers.cc b/storage/perfschema/table_performance_timers.cc
index 780d507a6..8d31c0178 100644
--- a/storage/perfschema/table_performance_timers.cc
+++ b/storage/perfschema/table_performance_timers.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_performance_timers.cc
@@ -58,23 +58,23 @@ table_performance_timers::table_performance_timers()
 
   index= (int)TIMER_NAME_CYCLE - FIRST_TIMER_NAME;
   m_data[index].m_timer_name= TIMER_NAME_CYCLE;
-  m_data[index].m_info= pfs_timer_info.cycles;
+  m_data[index].m_info= sys_timer_info.cycles;
 
   index= (int)TIMER_NAME_NANOSEC - FIRST_TIMER_NAME;
   m_data[index].m_timer_name= TIMER_NAME_NANOSEC;
-  m_data[index].m_info= pfs_timer_info.nanoseconds;
+  m_data[index].m_info= sys_timer_info.nanoseconds;
 
   index= (int)TIMER_NAME_MICROSEC - FIRST_TIMER_NAME;
   m_data[index].m_timer_name= TIMER_NAME_MICROSEC;
-  m_data[index].m_info= pfs_timer_info.microseconds;
+  m_data[index].m_info= sys_timer_info.microseconds;
 
   index= (int)TIMER_NAME_MILLISEC - FIRST_TIMER_NAME;
   m_data[index].m_timer_name= TIMER_NAME_MILLISEC;
-  m_data[index].m_info= pfs_timer_info.milliseconds;
+  m_data[index].m_info= sys_timer_info.milliseconds;
 
   index= (int)TIMER_NAME_TICK - FIRST_TIMER_NAME;
   m_data[index].m_timer_name= TIMER_NAME_TICK;
-  m_data[index].m_info= pfs_timer_info.ticks;
+  m_data[index].m_info= sys_timer_info.ticks;
 }
 
 void table_performance_timers::reset_position(void)
diff --git a/storage/perfschema/table_performance_timers.h b/storage/perfschema/table_performance_timers.h
index 79e9f5463..e1dc93fcb 100644
--- a/storage/perfschema/table_performance_timers.h
+++ b/storage/perfschema/table_performance_timers.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_PERFORMANCE_TIMERS_H
 #define TABLE_PERFORMANCE_TIMERS_H
diff --git a/storage/perfschema/table_session_account_connect_attrs.cc b/storage/perfschema/table_session_account_connect_attrs.cc
index 2aed519a9..c00f72e36 100644
--- a/storage/perfschema/table_session_account_connect_attrs.cc
+++ b/storage/perfschema/table_session_account_connect_attrs.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "table_session_account_connect_attrs.h"
 
diff --git a/storage/perfschema/table_session_account_connect_attrs.h b/storage/perfschema/table_session_account_connect_attrs.h
index ba8893e7c..d56d571fb 100644
--- a/storage/perfschema/table_session_account_connect_attrs.h
+++ b/storage/perfschema/table_session_account_connect_attrs.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SESSION_ACCOUNT_CONNECT_ATTRS_H
 #define TABLE_SESSION_ACCOUNT_CONNECT_ATTRS_H
diff --git a/storage/perfschema/table_session_connect.cc b/storage/perfschema/table_session_connect.cc
index 17c608a7f..737ff5145 100644
--- a/storage/perfschema/table_session_connect.cc
+++ b/storage/perfschema/table_session_connect.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "table_session_connect.h"
 
diff --git a/storage/perfschema/table_session_connect.h b/storage/perfschema/table_session_connect.h
index 7e06f8a3d..91d24ab70 100644
--- a/storage/perfschema/table_session_connect.h
+++ b/storage/perfschema/table_session_connect.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SESSION_CONNECT_H
 #define TABLE_SESSION_CONNECT_H
diff --git a/storage/perfschema/table_session_connect_attrs.cc b/storage/perfschema/table_session_connect_attrs.cc
index 840167a40..859c6f2f8 100644
--- a/storage/perfschema/table_session_connect_attrs.cc
+++ b/storage/perfschema/table_session_connect_attrs.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "table_session_connect_attrs.h"
 
diff --git a/storage/perfschema/table_session_connect_attrs.h b/storage/perfschema/table_session_connect_attrs.h
index b10b106ba..de18085d8 100644
--- a/storage/perfschema/table_session_connect_attrs.h
+++ b/storage/perfschema/table_session_connect_attrs.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SESSION_CONNECT_ATTRS_H
 #define TABLE_SESSION_CONNECT_ATTRS_H
diff --git a/storage/perfschema/table_setup_actors.cc b/storage/perfschema/table_setup_actors.cc
index c82d67fba..fcb32b9cb 100644
--- a/storage/perfschema/table_setup_actors.cc
+++ b/storage/perfschema/table_setup_actors.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_setup_actors.cc
diff --git a/storage/perfschema/table_setup_actors.h b/storage/perfschema/table_setup_actors.h
index 2a9395dfa..550e196c8 100644
--- a/storage/perfschema/table_setup_actors.h
+++ b/storage/perfschema/table_setup_actors.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SETUP_ACTORS_H
 #define TABLE_SETUP_ACTORS_H
diff --git a/storage/perfschema/table_setup_consumers.cc b/storage/perfschema/table_setup_consumers.cc
index c09853ffe..f00e1fff4 100644
--- a/storage/perfschema/table_setup_consumers.cc
+++ b/storage/perfschema/table_setup_consumers.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_setup_consumers.cc
diff --git a/storage/perfschema/table_setup_consumers.h b/storage/perfschema/table_setup_consumers.h
index e59033c0a..b27c88735 100644
--- a/storage/perfschema/table_setup_consumers.h
+++ b/storage/perfschema/table_setup_consumers.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SETUP_CONSUMERS_H
 #define TABLE_SETUP_CONSUMERS_H
diff --git a/storage/perfschema/table_setup_instruments.cc b/storage/perfschema/table_setup_instruments.cc
index d911128ce..8adea1d36 100644
--- a/storage/perfschema/table_setup_instruments.cc
+++ b/storage/perfschema/table_setup_instruments.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_setup_instruments.cc
diff --git a/storage/perfschema/table_setup_instruments.h b/storage/perfschema/table_setup_instruments.h
index 2e70a528b..b2711578d 100644
--- a/storage/perfschema/table_setup_instruments.h
+++ b/storage/perfschema/table_setup_instruments.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SETUP_INSTRUMENTS_H
 #define TABLE_SETUP_INSTRUMENTS_H
diff --git a/storage/perfschema/table_setup_objects.cc b/storage/perfschema/table_setup_objects.cc
index 5321271a6..8049fcdf4 100644
--- a/storage/perfschema/table_setup_objects.cc
+++ b/storage/perfschema/table_setup_objects.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_setup_objects.cc
diff --git a/storage/perfschema/table_setup_objects.h b/storage/perfschema/table_setup_objects.h
index 55423ffd9..943cc4a1a 100644
--- a/storage/perfschema/table_setup_objects.h
+++ b/storage/perfschema/table_setup_objects.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SETUP_OBJECTS_H
 #define TABLE_SETUP_OBJECTS_H
diff --git a/storage/perfschema/table_setup_timers.cc b/storage/perfschema/table_setup_timers.cc
index 911fa121e..26539da2e 100644
--- a/storage/perfschema/table_setup_timers.cc
+++ b/storage/perfschema/table_setup_timers.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_setup_timers.cc
diff --git a/storage/perfschema/table_setup_timers.h b/storage/perfschema/table_setup_timers.h
index 46af68bb9..9eb2f9583 100644
--- a/storage/perfschema/table_setup_timers.h
+++ b/storage/perfschema/table_setup_timers.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SETUP_TIMERS_H
 #define TABLE_SETUP_TIMERS_H
diff --git a/storage/perfschema/table_socket_instances.cc b/storage/perfschema/table_socket_instances.cc
index e47a97c90..419e19349 100644
--- a/storage/perfschema/table_socket_instances.cc
+++ b/storage/perfschema/table_socket_instances.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_socket_instances.cc
diff --git a/storage/perfschema/table_socket_instances.h b/storage/perfschema/table_socket_instances.h
index 76ed8c475..b5e5edb36 100644
--- a/storage/perfschema/table_socket_instances.h
+++ b/storage/perfschema/table_socket_instances.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SOCKET_INSTANCES_H
 #define TABLE_SOCKET_INSTANCES_H
diff --git a/storage/perfschema/table_socket_summary_by_event_name.cc b/storage/perfschema/table_socket_summary_by_event_name.cc
index 512fe8e41..2da45c0d2 100644
--- a/storage/perfschema/table_socket_summary_by_event_name.cc
+++ b/storage/perfschema/table_socket_summary_by_event_name.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_socket_summary_by_event_name.cc
diff --git a/storage/perfschema/table_socket_summary_by_event_name.h b/storage/perfschema/table_socket_summary_by_event_name.h
index 72a1e54fa..9bdeb3104 100644
--- a/storage/perfschema/table_socket_summary_by_event_name.h
+++ b/storage/perfschema/table_socket_summary_by_event_name.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SOCKET_SUMMARY_BY_EVENT_NAME_H
 #define TABLE_SOCKET_SUMMARY_BY_EVENT_NAME_H
diff --git a/storage/perfschema/table_socket_summary_by_instance.cc b/storage/perfschema/table_socket_summary_by_instance.cc
index 4ab600d8c..693f65e48 100644
--- a/storage/perfschema/table_socket_summary_by_instance.cc
+++ b/storage/perfschema/table_socket_summary_by_instance.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_socket_summary_by_instance.cc
diff --git a/storage/perfschema/table_socket_summary_by_instance.h b/storage/perfschema/table_socket_summary_by_instance.h
index 949e99bfe..deb8ffab5 100644
--- a/storage/perfschema/table_socket_summary_by_instance.h
+++ b/storage/perfschema/table_socket_summary_by_instance.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SOCKET_SUMMARY_BY_INSTANCE_H
 #define TABLE_SOCKET_SUMMARY_BY_INSTANCE_H
diff --git a/storage/perfschema/table_sync_instances.cc b/storage/perfschema/table_sync_instances.cc
index 4bf5ae669..6e48468e6 100644
--- a/storage/perfschema/table_sync_instances.cc
+++ b/storage/perfschema/table_sync_instances.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /**
   @file storage/perfschema/table_sync_instances.cc
diff --git a/storage/perfschema/table_sync_instances.h b/storage/perfschema/table_sync_instances.h
index da4592685..c6a2ed8ad 100644
--- a/storage/perfschema/table_sync_instances.h
+++ b/storage/perfschema/table_sync_instances.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_SYNC_INSTANCE_H
 #define TABLE_SYNC_INSTANCE_H
diff --git a/storage/perfschema/table_threads.cc b/storage/perfschema/table_threads.cc
index 5c78b567b..1f198ba13 100644
--- a/storage/perfschema/table_threads.cc
+++ b/storage/perfschema/table_threads.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "my_global.h"
 #include "my_pthread.h"
diff --git a/storage/perfschema/table_threads.h b/storage/perfschema/table_threads.h
index 10afbe14e..823f66bf7 100644
--- a/storage/perfschema/table_threads.h
+++ b/storage/perfschema/table_threads.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_THREADS_H
 #define TABLE_THREADS_H
diff --git a/storage/perfschema/table_tiws_by_index_usage.cc b/storage/perfschema/table_tiws_by_index_usage.cc
index 382b2f86b..5d24fcc68 100644
--- a/storage/perfschema/table_tiws_by_index_usage.cc
+++ b/storage/perfschema/table_tiws_by_index_usage.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_tiws_by_index_usage.cc
diff --git a/storage/perfschema/table_tiws_by_index_usage.h b/storage/perfschema/table_tiws_by_index_usage.h
index 1528de2fe..f6d935365 100644
--- a/storage/perfschema/table_tiws_by_index_usage.h
+++ b/storage/perfschema/table_tiws_by_index_usage.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_IO_WAIT_SUMMARY_BY_INDEX_USAGE_H
 #define TABLE_IO_WAIT_SUMMARY_BY_INDEX_USAGE_H
diff --git a/storage/perfschema/table_tiws_by_table.cc b/storage/perfschema/table_tiws_by_table.cc
index ab1e9b115..78535fd65 100644
--- a/storage/perfschema/table_tiws_by_table.cc
+++ b/storage/perfschema/table_tiws_by_table.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_tiws_by_table.cc
diff --git a/storage/perfschema/table_tiws_by_table.h b/storage/perfschema/table_tiws_by_table.h
index d11043188..9a86d3919 100644
--- a/storage/perfschema/table_tiws_by_table.h
+++ b/storage/perfschema/table_tiws_by_table.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_IO_WAITS_SUMMARY_BY_TABLE_H
 #define TABLE_IO_WAITS_SUMMARY_BY_TABLE_H
diff --git a/storage/perfschema/table_tlws_by_table.cc b/storage/perfschema/table_tlws_by_table.cc
index bae120248..5299e7f6a 100644
--- a/storage/perfschema/table_tlws_by_table.cc
+++ b/storage/perfschema/table_tlws_by_table.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file storage/perfschema/table_tlws_by_table.cc
diff --git a/storage/perfschema/table_tlws_by_table.h b/storage/perfschema/table_tlws_by_table.h
index f5bf6a99f..757adc3f5 100644
--- a/storage/perfschema/table_tlws_by_table.h
+++ b/storage/perfschema/table_tlws_by_table.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef TABLE_LOCK_WAITS_SUMMARY_BY_TABLE_H
 #define TABLE_LOCK_WAITS_SUMMARY_BY_TABLE_H
diff --git a/storage/perfschema/table_users.cc b/storage/perfschema/table_users.cc
index 134ebb08d..6d6bfc5bf 100644
--- a/storage/perfschema/table_users.cc
+++ b/storage/perfschema/table_users.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "my_global.h"
 #include "my_pthread.h"
diff --git a/storage/perfschema/table_users.h b/storage/perfschema/table_users.h
index 5d673cbda..1b24dfb90 100644
--- a/storage/perfschema/table_users.h
+++ b/storage/perfschema/table_users.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef TABLE_USERS_H
 #define TABLE_USERS_H
diff --git a/storage/perfschema/unittest/CMakeLists.txt b/storage/perfschema/unittest/CMakeLists.txt
index 4c6b0b910..b449640b3 100644
--- a/storage/perfschema/unittest/CMakeLists.txt
+++ b/storage/perfschema/unittest/CMakeLists.txt
@@ -10,8 +10,8 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
                     ${CMAKE_SOURCE_DIR}/include/mysql
diff --git a/storage/perfschema/unittest/conf.txt b/storage/perfschema/unittest/conf.txt
index 6eaa044c0..8a14b9ed1 100644
--- a/storage/perfschema/unittest/conf.txt
+++ b/storage/perfschema/unittest/conf.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software Foundation,
-# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 Performance schema test configurations.
 (Used internally for performance testing)
diff --git a/storage/perfschema/unittest/pfs-t.cc b/storage/perfschema/unittest/pfs-t.cc
index fd018c1b0..e2ff73699 100644
--- a/storage/perfschema/unittest/pfs-t.cc
+++ b/storage/perfschema/unittest/pfs-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_account-oom-t.cc b/storage/perfschema/unittest/pfs_account-oom-t.cc
index a87588487..71c089ab0 100644
--- a/storage/perfschema/unittest/pfs_account-oom-t.cc
+++ b/storage/perfschema/unittest/pfs_account-oom-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_connect_attr-t.cc b/storage/perfschema/unittest/pfs_connect_attr-t.cc
index ecf790eee..3dd62ca56 100644
--- a/storage/perfschema/unittest/pfs_connect_attr-t.cc
+++ b/storage/perfschema/unittest/pfs_connect_attr-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_host-oom-t.cc b/storage/perfschema/unittest/pfs_host-oom-t.cc
index c089083e4..e2eba7e6a 100644
--- a/storage/perfschema/unittest/pfs_host-oom-t.cc
+++ b/storage/perfschema/unittest/pfs_host-oom-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc
index 888acfab7..a18902dc3 100644
--- a/storage/perfschema/unittest/pfs_instr-oom-t.cc
+++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_instr-t.cc b/storage/perfschema/unittest/pfs_instr-t.cc
index 659f410e2..47a91d9bb 100644
--- a/storage/perfschema/unittest/pfs_instr-t.cc
+++ b/storage/perfschema/unittest/pfs_instr-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_instr_class-oom-t.cc b/storage/perfschema/unittest/pfs_instr_class-oom-t.cc
index c9b87b9cf..bdb2648c2 100644
--- a/storage/perfschema/unittest/pfs_instr_class-oom-t.cc
+++ b/storage/perfschema/unittest/pfs_instr_class-oom-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_instr_class-t.cc b/storage/perfschema/unittest/pfs_instr_class-t.cc
index dcbc3927e..0d8ec3852 100644
--- a/storage/perfschema/unittest/pfs_instr_class-t.cc
+++ b/storage/perfschema/unittest/pfs_instr_class-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_misc-t.cc b/storage/perfschema/unittest/pfs_misc-t.cc
index eed9039df..c308cf4b8 100644
--- a/storage/perfschema/unittest/pfs_misc-t.cc
+++ b/storage/perfschema/unittest/pfs_misc-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/pfs_server_stubs.cc b/storage/perfschema/unittest/pfs_server_stubs.cc
index d7154067f..3c4b864d7 100644
--- a/storage/perfschema/unittest/pfs_server_stubs.cc
+++ b/storage/perfschema/unittest/pfs_server_stubs.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Minimal code to be able to link a unit test.
@@ -43,3 +43,5 @@ enum sys_var::where get_sys_var_value_origin(void *ptr)
 {
   return sys_var::AUTO;
 }
+
+MY_TIMER_INFO sys_timer_info;
diff --git a/storage/perfschema/unittest/pfs_timer-t.cc b/storage/perfschema/unittest/pfs_timer-t.cc
index 551138605..9ef111f53 100644
--- a/storage/perfschema/unittest/pfs_timer-t.cc
+++ b/storage/perfschema/unittest/pfs_timer-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
@@ -33,6 +33,8 @@ void test_timers()
   ulonglong t4_b;
   ulonglong t5_b;
 
+  my_timer_init(&sys_timer_info);
+
   init_timers();
 
   t1_a= get_timer_pico_value(TIMER_NAME_CYCLE);
diff --git a/storage/perfschema/unittest/pfs_user-oom-t.cc b/storage/perfschema/unittest/pfs_user-oom-t.cc
index e153b39cb..6e81df8d5 100644
--- a/storage/perfschema/unittest/pfs_user-oom-t.cc
+++ b/storage/perfschema/unittest/pfs_user-oom-t.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/stub_pfs_defaults.h b/storage/perfschema/unittest/stub_pfs_defaults.h
index f4fa24245..6b4ee3f0e 100644
--- a/storage/perfschema/unittest/stub_pfs_defaults.h
+++ b/storage/perfschema/unittest/stub_pfs_defaults.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/stub_pfs_global.h b/storage/perfschema/unittest/stub_pfs_global.h
index 8f204006f..a665ed397 100644
--- a/storage/perfschema/unittest/stub_pfs_global.h
+++ b/storage/perfschema/unittest/stub_pfs_global.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/perfschema/unittest/stub_print_error.h b/storage/perfschema/unittest/stub_print_error.h
index e9b8bc255..476a6c0e9 100644
--- a/storage/perfschema/unittest/stub_print_error.h
+++ b/storage/perfschema/unittest/stub_print_error.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
-  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/storage/sequence/sequence.cc b/storage/sequence/sequence.cc
index 6a8625ce9..dbb3f7087 100644
--- a/storage/sequence/sequence.cc
+++ b/storage/sequence/sequence.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 /*
diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc
index c559f562e..6b105200c 100644
--- a/storage/spider/ha_spider.cc
+++ b/storage/spider/ha_spider.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifdef USE_PRAGMA_IMPLEMENTATION
 #pragma implementation
diff --git a/storage/spider/ha_spider.h b/storage/spider/ha_spider.h
index 50d890dc8..e926bedc0 100644
--- a/storage/spider/ha_spider.h
+++ b/storage/spider/ha_spider.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifdef USE_PRAGMA_INTERFACE
 #pragma interface
diff --git a/storage/spider/hs_client/hs_compat.h b/storage/spider/hs_client/hs_compat.h
index a26dd18e4..c947637a7 100644
--- a/storage/spider/hs_client/hs_compat.h
+++ b/storage/spider/hs_client/hs_compat.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef HS_COMPAT_H
 #define HS_COMPAT_H
diff --git a/storage/spider/scripts/install_spider.sql b/storage/spider/scripts/install_spider.sql
index 328541a55..173ca2e9b 100644
--- a/storage/spider/scripts/install_spider.sql
+++ b/storage/spider/scripts/install_spider.sql
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 
 # This SQL script creates system tables for SPIDER
 #   or fixes incompatibilities if ones already exist.
diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc
index 5de41ac0f..99599bca1 100644
--- a/storage/spider/spd_conn.cc
+++ b/storage/spider/spd_conn.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_conn.h b/storage/spider/spd_conn.h
index cdcb6543a..06e3c696f 100644
--- a/storage/spider/spd_conn.h
+++ b/storage/spider/spd_conn.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define SPIDER_LOCK_MODE_NO_LOCK             0
 #define SPIDER_LOCK_MODE_SHARED              1
diff --git a/storage/spider/spd_copy_tables.cc b/storage/spider/spd_copy_tables.cc
index d29ea635d..0d89f78ee 100644
--- a/storage/spider/spd_copy_tables.cc
+++ b/storage/spider/spd_copy_tables.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_copy_tables.h b/storage/spider/spd_copy_tables.h
index bac9b5d20..8c06e115d 100644
--- a/storage/spider/spd_copy_tables.h
+++ b/storage/spider/spd_copy_tables.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 int spider_udf_set_copy_tables_param_default(
   SPIDER_COPY_TABLES *copy_tables
diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc
index d94c34d67..efb5e6d8c 100644
--- a/storage/spider/spd_db_conn.cc
+++ b/storage/spider/spd_db_conn.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_db_conn.h b/storage/spider/spd_db_conn.h
index 6d149f6d4..e137a3524 100644
--- a/storage/spider/spd_db_conn.h
+++ b/storage/spider/spd_db_conn.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define SPIDER_DB_WRAPPER_STR "mysql"
 #define SPIDER_DB_WRAPPER_LEN (sizeof(SPIDER_DB_WRAPPER_STR) - 1)
diff --git a/storage/spider/spd_db_handlersocket.cc b/storage/spider/spd_db_handlersocket.cc
index 47f22b041..bc62914c6 100644
--- a/storage/spider/spd_db_handlersocket.cc
+++ b/storage/spider/spd_db_handlersocket.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_db_handlersocket.h b/storage/spider/spd_db_handlersocket.h
index d3fdf5564..5c9133d14 100644
--- a/storage/spider/spd_db_handlersocket.h
+++ b/storage/spider/spd_db_handlersocket.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define SPIDER_HS_CONN dena::hstcpcli_ptr
 #define SPIDER_HS_CONN_CREATE dena::hstcpcli_i::create
diff --git a/storage/spider/spd_db_include.h b/storage/spider/spd_db_include.h
index 680fabf03..05e840ab6 100644
--- a/storage/spider/spd_db_include.h
+++ b/storage/spider/spd_db_include.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "hs_compat.h"
 #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc
index 499ff7e04..cf1a07715 100644
--- a/storage/spider/spd_db_mysql.cc
+++ b/storage/spider/spd_db_mysql.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_db_mysql.h b/storage/spider/spd_db_mysql.h
index 9a4f08ade..0bbfd8e82 100644
--- a/storage/spider/spd_db_mysql.h
+++ b/storage/spider/spd_db_mysql.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 class spider_db_mysql_util: public spider_db_util
 {
diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc
index 8d7b91265..4622f3254 100644
--- a/storage/spider/spd_db_oracle.cc
+++ b/storage/spider/spd_db_oracle.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_db_oracle.h b/storage/spider/spd_db_oracle.h
index 0e84435d9..ffd12db4e 100644
--- a/storage/spider/spd_db_oracle.h
+++ b/storage/spider/spd_db_oracle.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 class spider_db_oracle;
 class spider_db_oracle_result;
diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc
index 5c3ef9cab..267ac36ed 100644
--- a/storage/spider/spd_direct_sql.cc
+++ b/storage/spider/spd_direct_sql.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_direct_sql.h b/storage/spider/spd_direct_sql.h
index 12d81346f..bf3e24caa 100644
--- a/storage/spider/spd_direct_sql.h
+++ b/storage/spider/spd_direct_sql.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 uint spider_udf_calc_hash(
   char *key,
diff --git a/storage/spider/spd_err.h b/storage/spider/spd_err.h
index ed26359f9..4a2fb6b1a 100644
--- a/storage/spider/spd_err.h
+++ b/storage/spider/spd_err.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define ER_SPIDER_INVALID_CONNECT_INFO_NUM 12501
 #define ER_SPIDER_INVALID_CONNECT_INFO_STR "The connect info '%-.64s' is invalid"
diff --git a/storage/spider/spd_i_s.cc b/storage/spider/spd_i_s.cc
index a52592834..1a4ef510a 100644
--- a/storage/spider/spd_i_s.cc
+++ b/storage/spider/spd_i_s.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_include.h b/storage/spider/spd_include.h
index 37d9db3ba..472bcea29 100644
--- a/storage/spider/spd_include.h
+++ b/storage/spider/spd_include.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define SPIDER_DETAIL_VERSION "3.2.37"
 #define SPIDER_HEX_VERSION 0x0302
diff --git a/storage/spider/spd_malloc.cc b/storage/spider/spd_malloc.cc
index 8d348682e..511c21e1a 100644
--- a/storage/spider/spd_malloc.cc
+++ b/storage/spider/spd_malloc.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_malloc.h b/storage/spider/spd_malloc.h
index 697595ede..abbeb58d7 100644
--- a/storage/spider/spd_malloc.h
+++ b/storage/spider/spd_malloc.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define spider_free(A,B,C) spider_free_mem(A,B,C)
 #define spider_malloc(A,B,C,D) \
diff --git a/storage/spider/spd_param.cc b/storage/spider/spd_param.cc
index 39d5ba87c..decdd9bd1 100644
--- a/storage/spider/spd_param.cc
+++ b/storage/spider/spd_param.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_param.h b/storage/spider/spd_param.h
index d62917adb..cc8238584 100644
--- a/storage/spider/spd_param.h
+++ b/storage/spider/spd_param.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program); if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 my_bool spider_param_support_xa();
 my_bool spider_param_connect_mutex();
diff --git a/storage/spider/spd_ping_table.cc b/storage/spider/spd_ping_table.cc
index 6f04e08dc..89c097bdd 100644
--- a/storage/spider/spd_ping_table.cc
+++ b/storage/spider/spd_ping_table.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_ping_table.h b/storage/spider/spd_ping_table.h
index 8d12010e5..f9e0c00da 100644
--- a/storage/spider/spd_ping_table.h
+++ b/storage/spider/spd_ping_table.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 SPIDER_TABLE_MON_LIST *spider_get_ping_table_mon_list(
   SPIDER_TRX *trx,
diff --git a/storage/spider/spd_sys_table.cc b/storage/spider/spd_sys_table.cc
index 70d6dfd61..a118a7e41 100644
--- a/storage/spider/spd_sys_table.cc
+++ b/storage/spider/spd_sys_table.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_sys_table.h b/storage/spider/spd_sys_table.h
index fc9d3fc38..feb88d4af 100644
--- a/storage/spider/spd_sys_table.h
+++ b/storage/spider/spd_sys_table.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define SPIDER_SYS_XA_TABLE_NAME_STR "spider_xa"
 #define SPIDER_SYS_XA_TABLE_NAME_LEN (sizeof(SPIDER_SYS_XA_TABLE_NAME_STR) - 1)
diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc
index 5f7e59b47..9726afdd6 100644
--- a/storage/spider/spd_table.cc
+++ b/storage/spider/spd_table.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
@@ -6302,7 +6302,7 @@ int spider_panic(
 int spider_db_init(
   void *p
 ) {
-  int error_num, roop_count;
+  int error_num = 0, roop_count;
   uint dbton_id = 0;
   handlerton *spider_hton = (handlerton *)p;
   DBUG_ENTER("spider_db_init");
diff --git a/storage/spider/spd_table.h b/storage/spider/spd_table.h
index 6140f5bbd..3eb1e6108 100644
--- a/storage/spider/spd_table.h
+++ b/storage/spider/spd_table.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 uchar *spider_tbl_get_key(
   SPIDER_SHARE *share,
diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc
index f6bf39b81..1264c593c 100644
--- a/storage/spider/spd_trx.cc
+++ b/storage/spider/spd_trx.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include "mysql_version.h"
diff --git a/storage/spider/spd_trx.h b/storage/spider/spd_trx.h
index b4abecf45..dec1db4d8 100644
--- a/storage/spider/spd_trx.h
+++ b/storage/spider/spd_trx.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 int spider_free_trx_conn(
   SPIDER_TRX *trx,
diff --git a/storage/spider/spd_udf.cc b/storage/spider/spd_udf.cc
index 8381121aa..023285cb4 100644
--- a/storage/spider/spd_udf.cc
+++ b/storage/spider/spd_udf.cc
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #define MYSQL_SERVER 1
 #include 
diff --git a/storage/spider/spd_udf.h b/storage/spider/spd_udf.h
index 30a2d6699..d00a61518 100644
--- a/storage/spider/spd_udf.h
+++ b/storage/spider/spd_udf.h
@@ -11,7 +11,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 long long spider_direct_sql_body(
   UDF_INIT *initid,
diff --git a/storage/test_sql_discovery/test_sql_discovery.cc b/storage/test_sql_discovery/test_sql_discovery.cc
index e9efa47a4..ffbe59e13 100644
--- a/storage/test_sql_discovery/test_sql_discovery.cc
+++ b/storage/test_sql_discovery/test_sql_discovery.cc
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 /*
diff --git a/storage/tokudb/PerconaFT/COPYING.GPLv2 b/storage/tokudb/PerconaFT/COPYING.GPLv2
index d511905c1..6e475df55 100644
--- a/storage/tokudb/PerconaFT/COPYING.GPLv2
+++ b/storage/tokudb/PerconaFT/COPYING.GPLv2
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 
     You should have received a copy of the GNU General Public License along
     with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
 
 Also add information on how to contact you by electronic and paper mail.
 
diff --git a/storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in b/storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in
index 0a59e4553..ef9af445d 100644
--- a/storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in
+++ b/storage/tokudb/PerconaFT/cmake/merge_archives_unix.cmake.in
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA 
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA 
 
 # This script merges many static libraries into
 # one big library on Unix.
diff --git a/storage/tokudb/PerconaFT/ft/comparator.h b/storage/tokudb/PerconaFT/ft/comparator.h
index 9775cc133..dfafd7154 100644
--- a/storage/tokudb/PerconaFT/ft/comparator.h
+++ b/storage/tokudb/PerconaFT/ft/comparator.h
@@ -31,6 +31,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/ft/ft-ops.cc b/storage/tokudb/PerconaFT/ft/ft-ops.cc
index eb8696423..6d39b08fe 100644
--- a/storage/tokudb/PerconaFT/ft/ft-ops.cc
+++ b/storage/tokudb/PerconaFT/ft/ft-ops.cc
@@ -4973,6 +4973,7 @@ int toku_ft_layer_init(void) {
 
     // Portability must be initialized first
     r = toku_portability_init();
+    assert(r==0);
     if (r) {
         goto exit;
     }
@@ -4980,6 +4981,7 @@ int toku_ft_layer_init(void) {
     toku_pfs_keys_init("fti");
 
     r = db_env_set_toku_product_name("tokudb");
+    assert(r==0);
     if (r) {
         goto exit;
     }
diff --git a/storage/tokudb/PerconaFT/ft/ft-status.cc b/storage/tokudb/PerconaFT/ft/ft-status.cc
index 19a378c22..3305c1cf4 100644
--- a/storage/tokudb/PerconaFT/ft/ft-status.cc
+++ b/storage/tokudb/PerconaFT/ft/ft-status.cc
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/ft/ft-status.h b/storage/tokudb/PerconaFT/ft/ft-status.h
index b17616168..4775487cc 100644
--- a/storage/tokudb/PerconaFT/ft/ft-status.h
+++ b/storage/tokudb/PerconaFT/ft/ft-status.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/ft/logger/logger.cc b/storage/tokudb/PerconaFT/ft/logger/logger.cc
index 3f13fe10f..ddbbdcb25 100644
--- a/storage/tokudb/PerconaFT/ft/logger/logger.cc
+++ b/storage/tokudb/PerconaFT/ft/logger/logger.cc
@@ -667,12 +667,8 @@ int toku_logger_find_logfiles (const char *directory, char ***resultp, int *n_lo
         snprintf(fname, fnamelen, "%s/%s", directory, de->d_name);
         result[n_results++] = fname;
     }
-    // Return them in increasing order.  Set width to allow for newer log file names ("xxx.tokulog13")
-    // which are one character longer than old log file names ("xxx.tokulog2").  The comparison function
-    // won't look beyond the terminating NUL, so an extra character in the comparison string doesn't matter.
-    // Allow room for terminating NUL after "xxx.tokulog13" even if result[0] is of form "xxx.tokulog2."
-    int width = sizeof(result[0]+2);
-    qsort(result, n_results, width, logfilenamecompare);
+    // Return them in increasing order.
+    qsort(result, n_results, sizeof(result[0]), logfilenamecompare);
     *resultp    = result;
     *n_logfiles = n_results;
     result[n_results]=0; // make a trailing null
diff --git a/storage/tokudb/PerconaFT/locktree/keyrange.cc b/storage/tokudb/PerconaFT/locktree/keyrange.cc
index 2b4b3bbd4..24a999e13 100644
--- a/storage/tokudb/PerconaFT/locktree/keyrange.cc
+++ b/storage/tokudb/PerconaFT/locktree/keyrange.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/keyrange.h b/storage/tokudb/PerconaFT/locktree/keyrange.h
index a454287cb..8347e4d8e 100644
--- a/storage/tokudb/PerconaFT/locktree/keyrange.h
+++ b/storage/tokudb/PerconaFT/locktree/keyrange.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/lock_request.cc b/storage/tokudb/PerconaFT/locktree/lock_request.cc
index 51898d4cc..0a95dc417 100644
--- a/storage/tokudb/PerconaFT/locktree/lock_request.cc
+++ b/storage/tokudb/PerconaFT/locktree/lock_request.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/lock_request.h b/storage/tokudb/PerconaFT/locktree/lock_request.h
index 455433cb9..8b22241e2 100644
--- a/storage/tokudb/PerconaFT/locktree/lock_request.h
+++ b/storage/tokudb/PerconaFT/locktree/lock_request.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/locktree.cc b/storage/tokudb/PerconaFT/locktree/locktree.cc
index 8ba3f0f00..8e81adefb 100644
--- a/storage/tokudb/PerconaFT/locktree/locktree.cc
+++ b/storage/tokudb/PerconaFT/locktree/locktree.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/locktree.h b/storage/tokudb/PerconaFT/locktree/locktree.h
index 7006b6fb0..4d9e5bdaf 100644
--- a/storage/tokudb/PerconaFT/locktree/locktree.h
+++ b/storage/tokudb/PerconaFT/locktree/locktree.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/manager.cc b/storage/tokudb/PerconaFT/locktree/manager.cc
index 21f8dc6cf..5662150de 100644
--- a/storage/tokudb/PerconaFT/locktree/manager.cc
+++ b/storage/tokudb/PerconaFT/locktree/manager.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/range_buffer.cc b/storage/tokudb/PerconaFT/locktree/range_buffer.cc
index d1f14fc4a..33ee481aa 100644
--- a/storage/tokudb/PerconaFT/locktree/range_buffer.cc
+++ b/storage/tokudb/PerconaFT/locktree/range_buffer.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/range_buffer.h b/storage/tokudb/PerconaFT/locktree/range_buffer.h
index 811b0f85e..3b08e8953 100644
--- a/storage/tokudb/PerconaFT/locktree/range_buffer.h
+++ b/storage/tokudb/PerconaFT/locktree/range_buffer.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/treenode.cc b/storage/tokudb/PerconaFT/locktree/treenode.cc
index 0247242f9..f328bf348 100644
--- a/storage/tokudb/PerconaFT/locktree/treenode.cc
+++ b/storage/tokudb/PerconaFT/locktree/treenode.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/treenode.h b/storage/tokudb/PerconaFT/locktree/treenode.h
index 981e8b5a9..fb2adc474 100644
--- a/storage/tokudb/PerconaFT/locktree/treenode.h
+++ b/storage/tokudb/PerconaFT/locktree/treenode.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/txnid_set.cc b/storage/tokudb/PerconaFT/locktree/txnid_set.cc
index bd4e97231..f5ed6b2e4 100644
--- a/storage/tokudb/PerconaFT/locktree/txnid_set.cc
+++ b/storage/tokudb/PerconaFT/locktree/txnid_set.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/txnid_set.h b/storage/tokudb/PerconaFT/locktree/txnid_set.h
index 81fd45b6d..70b0ce767 100644
--- a/storage/tokudb/PerconaFT/locktree/txnid_set.h
+++ b/storage/tokudb/PerconaFT/locktree/txnid_set.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/wfg.cc b/storage/tokudb/PerconaFT/locktree/wfg.cc
index 26b7a3b52..8fd079bed 100644
--- a/storage/tokudb/PerconaFT/locktree/wfg.cc
+++ b/storage/tokudb/PerconaFT/locktree/wfg.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/locktree/wfg.h b/storage/tokudb/PerconaFT/locktree/wfg.h
index 5c1599592..32f14e4b5 100644
--- a/storage/tokudb/PerconaFT/locktree/wfg.h
+++ b/storage/tokudb/PerconaFT/locktree/wfg.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/portability/memory.cc b/storage/tokudb/PerconaFT/portability/memory.cc
index 403abfe1d..f4888dccc 100644
--- a/storage/tokudb/PerconaFT/portability/memory.cc
+++ b/storage/tokudb/PerconaFT/portability/memory.cc
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
@@ -65,7 +79,7 @@ static realloc_fun_t t_xrealloc = 0;
 static LOCAL_MEMORY_STATUS_S status;
 int toku_memory_do_stats = 0;
 
-static bool memory_startup_complete;
+static bool memory_startup_complete = false;
 
 int
 toku_memory_startup(void) {
@@ -83,8 +97,10 @@ toku_memory_startup(void) {
     if (success) {
         status.mallocator_version = "libc";
         status.mmap_threshold = mmap_threshold;
-    } else
+    } else {
         result = EINVAL;
+    }
+    assert(result == 0);
 #else
     // just a guess
     status.mallocator_version = "darwin";
@@ -100,18 +116,17 @@ toku_memory_startup(void) {
     if (mallctl_f) { // jemalloc is loaded
         size_t version_length = sizeof status.mallocator_version;
         result = mallctl_f("version", &status.mallocator_version, &version_length, NULL, 0);
+        assert(result == 0);
         if (result == 0) {
             size_t lg_chunk; // log2 of the mmap threshold
             size_t lg_chunk_length = sizeof lg_chunk;
             result  = mallctl_f("opt.lg_chunk", &lg_chunk, &lg_chunk_length, NULL, 0);
-            if (result)
-            {
-                status.mmap_threshold = 1 << 21; // Default value.
-                                                 // Incompatible jemalloc change.
+            if (result == 0) {
+                status.mmap_threshold = 1 << lg_chunk;
+            } else {
+                status.mmap_threshold = 1 << 22;
                 result = 0;
             }
-            else
-                status.mmap_threshold = 1 << lg_chunk;
         }
     }
 
diff --git a/storage/tokudb/PerconaFT/portability/memory.h b/storage/tokudb/PerconaFT/portability/memory.h
index 851e4d69e..b80446341 100644
--- a/storage/tokudb/PerconaFT/portability/memory.h
+++ b/storage/tokudb/PerconaFT/portability/memory.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/portability/portability.cc b/storage/tokudb/PerconaFT/portability/portability.cc
index dfa5153cc..81115a516 100644
--- a/storage/tokudb/PerconaFT/portability/portability.cc
+++ b/storage/tokudb/PerconaFT/portability/portability.cc
@@ -88,9 +88,11 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 int
 toku_portability_init(void) {
     int r = toku_memory_startup();
+    assert(r==0);
     if (r == 0) {
         uint64_t hz;
         r = toku_os_get_processor_frequency(&hz); // get and cache freq
+        assert(r==0);
     }
     (void) toku_os_get_pagesize(); // get and cache pagesize
     return r;
diff --git a/storage/tokudb/PerconaFT/portability/toku_atomic.h b/storage/tokudb/PerconaFT/portability/toku_atomic.h
index 5086c8717..88644f569 100644
--- a/storage/tokudb/PerconaFT/portability/toku_atomic.h
+++ b/storage/tokudb/PerconaFT/portability/toku_atomic.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/portability/toku_instrumentation.h b/storage/tokudb/PerconaFT/portability/toku_instrumentation.h
index 7f2946d97..01552f9fe 100644
--- a/storage/tokudb/PerconaFT/portability/toku_instrumentation.h
+++ b/storage/tokudb/PerconaFT/portability/toku_instrumentation.h
@@ -1,3 +1,49 @@
+/*======
+This file is part of PerconaFT.
+
+Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
+
+    PerconaFT is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License, version 2,
+    as published by the Free Software Foundation.
+
+    PerconaFT is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+    PerconaFT is free software: you can redistribute it and/or modify
+    it under the terms of the GNU Affero General Public License, version 3,
+    as published by the Free Software Foundation.
+
+    PerconaFT is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU Affero General Public License for more details.
+
+    You should have received a copy of the GNU Affero General Public License
+    along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+======= */
+
 #pragma once
 
 #include   // FILE
diff --git a/storage/tokudb/PerconaFT/portability/toku_portability.h b/storage/tokudb/PerconaFT/portability/toku_portability.h
index af49f8eeb..8945ed6ff 100644
--- a/storage/tokudb/PerconaFT/portability/toku_portability.h
+++ b/storage/tokudb/PerconaFT/portability/toku_portability.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/portability/toku_pthread.cc b/storage/tokudb/PerconaFT/portability/toku_pthread.cc
index 65eeea6ae..fe8a4d485 100644
--- a/storage/tokudb/PerconaFT/portability/toku_pthread.cc
+++ b/storage/tokudb/PerconaFT/portability/toku_pthread.cc
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/portability/toku_pthread.h b/storage/tokudb/PerconaFT/portability/toku_pthread.h
index d05c6fabf..a0831f677 100644
--- a/storage/tokudb/PerconaFT/portability/toku_pthread.h
+++ b/storage/tokudb/PerconaFT/portability/toku_pthread.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/portability/toku_race_tools.h b/storage/tokudb/PerconaFT/portability/toku_race_tools.h
index eee081855..479363546 100644
--- a/storage/tokudb/PerconaFT/portability/toku_race_tools.h
+++ b/storage/tokudb/PerconaFT/portability/toku_race_tools.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/portability/toku_time.cc b/storage/tokudb/PerconaFT/portability/toku_time.cc
index 07bf09f88..bbc5689a8 100644
--- a/storage/tokudb/PerconaFT/portability/toku_time.cc
+++ b/storage/tokudb/PerconaFT/portability/toku_time.cc
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/portability/toku_time.h b/storage/tokudb/PerconaFT/portability/toku_time.h
index c4c45b8e8..b9789bc56 100644
--- a/storage/tokudb/PerconaFT/portability/toku_time.h
+++ b/storage/tokudb/PerconaFT/portability/toku_time.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m4 b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m4
index 470ed7edd..881dba8f0 100644
--- a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m4
+++ b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/aclocal.m4
@@ -58,7 +58,7 @@ m4_define([_LT_COPYING], [dnl
 # along with GNU Libtool; see the file COPYING.  If not, a copy
 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
 # obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.
 ])
 
 # serial 57 LT_INIT
@@ -8643,7 +8643,7 @@ m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
diff --git a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure
index c6b02e8ab..5149d1014 100755
--- a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure
+++ b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/configure
@@ -18060,7 +18060,7 @@ $as_echo X"$file" |
 # along with GNU Libtool; see the file COPYING.  If not, a copy
 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
 # obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.
 
 
 # The names of the tagged configurations supported by this script.
diff --git a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh
index c2852d856..9385c3e67 100644
--- a/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh
+++ b/storage/tokudb/PerconaFT/third_party/snappy-1.1.2/ltmain.sh
@@ -26,7 +26,7 @@
 # along with GNU Libtool; see the file COPYING.  If not, a copy
 # can be downloaded from http://www.gnu.org/licenses/gpl.html,
 # or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.
 
 # Usage: $progname [OPTION]... [MODE-ARG]...
 #
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv2 b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv2
index d511905c1..6e475df55 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv2
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.GPLv2
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 
     You should have received a copy of the GNU General Public License along
     with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
 
 Also add information on how to contact you by electronic and paper mail.
 
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.1 b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.1
index 5ab7695ab..dbe030ddc 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.1
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/COPYING.LGPLv2.1
@@ -2,7 +2,7 @@
 		       Version 2.1, February 1999
 
  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
 
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 Also add information on how to contact you by electronic and paper mail.
 
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub
index a39437d01..8b9b9b533 100755
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/config.sub
@@ -23,7 +23,7 @@ timestamp='2009-04-17'
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# 02110-1335  USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh
index b36c4ad36..58923bb7b 100755
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/build-aux/ltmain.sh
@@ -26,7 +26,7 @@
 # along with GNU Libtool; see the file COPYING.  If not, a copy
 # can be downloaded from http://www.gnu.org/licenses/gpl.html,
 # or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.
 
 # Usage: $progname [OPTION]... [MODE-ARG]...
 #
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure
index f0a417e0d..288961ad7 100755
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/configure
@@ -22091,7 +22091,7 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
 # along with GNU Libtool; see the file COPYING.  If not, a copy
 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
 # obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.
 
 
 # The names of the tagged configurations supported by this script.
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c
index a5908a4ad..e5a2e45c7 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.c
@@ -20,7 +20,7 @@
 
    You should have received a copy of the GNU Lesser General Public License along
    with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.  */
 
 #ifndef _LIBC
 # include 
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h
index fc2a13510..9b79b63d1 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt.in.h
@@ -17,7 +17,7 @@
 
    You should have received a copy of the GNU Lesser General Public License along
    with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.  */
 
 #ifndef _GETOPT_H
 
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c
index e7df1c8b1..53e588d54 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt1.c
@@ -17,7 +17,7 @@
 
    You should have received a copy of the GNU Lesser General Public License along
    with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.  */
 
 #ifdef _LIBC
 # include 
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h
index 7eed4f1a8..1585d4106 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/lib/getopt_int.h
@@ -17,7 +17,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.  */
 
 #ifndef _GETOPT_INT_H
 #define _GETOPT_INT_H	1
diff --git a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m4 b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m4
index faec0c309..1317892b7 100644
--- a/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m4
+++ b/storage/tokudb/PerconaFT/third_party/xz-4.999.9beta/m4/libtool.m4
@@ -34,7 +34,7 @@ m4_define([_LT_COPYING], [dnl
 # along with GNU Libtool; see the file COPYING.  If not, a copy
 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
 # obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA.
 ])
 
 # serial 56 LT_INIT
diff --git a/storage/tokudb/PerconaFT/util/dbt.h b/storage/tokudb/PerconaFT/util/dbt.h
index d3ef73a7a..1b8375674 100644
--- a/storage/tokudb/PerconaFT/util/dbt.h
+++ b/storage/tokudb/PerconaFT/util/dbt.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/util/growable_array.h b/storage/tokudb/PerconaFT/util/growable_array.h
index ad60ea639..bc9e67af2 100644
--- a/storage/tokudb/PerconaFT/util/growable_array.h
+++ b/storage/tokudb/PerconaFT/util/growable_array.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/util/memarena.cc b/storage/tokudb/PerconaFT/util/memarena.cc
index 158cf37e5..8c0542211 100644
--- a/storage/tokudb/PerconaFT/util/memarena.cc
+++ b/storage/tokudb/PerconaFT/util/memarena.cc
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/util/memarena.h b/storage/tokudb/PerconaFT/util/memarena.h
index 7cbbdc89c..c1de3c94a 100644
--- a/storage/tokudb/PerconaFT/util/memarena.h
+++ b/storage/tokudb/PerconaFT/util/memarena.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/util/omt.cc b/storage/tokudb/PerconaFT/util/omt.cc
index 846c4df7f..44da98478 100644
--- a/storage/tokudb/PerconaFT/util/omt.cc
+++ b/storage/tokudb/PerconaFT/util/omt.cc
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident \
diff --git a/storage/tokudb/PerconaFT/util/omt.h b/storage/tokudb/PerconaFT/util/omt.h
index dc26b2d57..849389b9f 100644
--- a/storage/tokudb/PerconaFT/util/omt.h
+++ b/storage/tokudb/PerconaFT/util/omt.h
@@ -45,6 +45,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/util/partitioned_counter.cc b/storage/tokudb/PerconaFT/util/partitioned_counter.cc
index beab7fc72..7a6b8ab26 100644
--- a/storage/tokudb/PerconaFT/util/partitioned_counter.cc
+++ b/storage/tokudb/PerconaFT/util/partitioned_counter.cc
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/util/partitioned_counter.h b/storage/tokudb/PerconaFT/util/partitioned_counter.h
index 43d4e7b46..d5bf97cf3 100644
--- a/storage/tokudb/PerconaFT/util/partitioned_counter.h
+++ b/storage/tokudb/PerconaFT/util/partitioned_counter.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/PerconaFT/util/status.h b/storage/tokudb/PerconaFT/util/status.h
index ddf43c72d..2d03ef1ed 100644
--- a/storage/tokudb/PerconaFT/util/status.h
+++ b/storage/tokudb/PerconaFT/util/status.h
@@ -32,6 +32,20 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
 
     You should have received a copy of the GNU Affero General Public License
     along with PerconaFT.  If not, see .
+
+----------------------------------------
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 ======= */
 
 #ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_Makefile b/storage/tokudb/mysql-test/tokudb/t/change_column_Makefile
index d1a692e03..b1ee6d1f1 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_Makefile
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_Makefile
@@ -1,4 +1,4 @@
-# generate tests from test generator python programs
+# generate tests from test generator python2 programs
 
 S = $(wildcard *.py)
 T = $(patsubst %.py,%.test,$(S))
@@ -6,14 +6,14 @@ T = $(patsubst %.py,%.test,$(S))
 default: $(T)
 
 %.test: %.py
-	python $< >$@
+	python2 $< >$@
 
 change_all.test: change_all.py change_all_1000_10.test change_all_1000_1.test change_all_10000_1.test
 	true
 change_all_1000_10.test: change_all.py
-	python change_all.py --experiments=1000 --nrows=10 >change_all_1000_10.test
+	python2 change_all.py --experiments=1000 --nrows=10 >change_all_1000_10.test
 change_all_1000_1.test: change_all.py
-	python change_all.py --experiments=1000 --nrows=1 >change_all_1000_1.test
+	python2 change_all.py --experiments=1000 --nrows=1 >change_all_1000_1.test
 change_all_10000_1.test: change_all.py
-	python change_all.py --experiments=10000 --nrows=1 >change_all_10000_1.test
+	python2 change_all.py --experiments=10000 --nrows=1 >change_all_10000_1.test
 
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_bin.py b/storage/tokudb/mysql-test/tokudb/t/change_column_bin.py
index 2c7d8dd9a..9b291c8f9 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_bin.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_bin.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(n):
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_bin_rename.py b/storage/tokudb/mysql-test/tokudb/t/change_column_bin_rename.py
index 6bd5de38f..50feab50f 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_bin_rename.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_bin_rename.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(n):
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_char.py b/storage/tokudb/mysql-test/tokudb/t/change_column_char.py
index c53442ade..a0b45e9de 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_char.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_char.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(n):
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_char_binary.py b/storage/tokudb/mysql-test/tokudb/t/change_column_char_binary.py
index e92797918..3cbf389eb 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_char_binary.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_char_binary.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(n):
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_char_charbinary.py b/storage/tokudb/mysql-test/tokudb/t/change_column_char_charbinary.py
index 065e37b18..ca507130f 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_char_charbinary.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_char_charbinary.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(n):
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_char_rename.py b/storage/tokudb/mysql-test/tokudb/t/change_column_char_rename.py
index fe73fce0d..26707868c 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_char_rename.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_char_rename.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(n):
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_int.py b/storage/tokudb/mysql-test/tokudb/t/change_column_int.py
index 6f69156e2..1067031fd 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_int.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_int.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(types, values):
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py b/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py
index fd7e5868c..4b06df546 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_int_key.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(types):
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_int_not_supported.py b/storage/tokudb/mysql-test/tokudb/t/change_column_int_not_supported.py
index 1708c65ef..afafbe1a9 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_int_not_supported.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_int_not_supported.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 import sys
 def supported(from_int, from_modifier, to_int, to_modifer):
     if from_modifier != to_modifer:
diff --git a/storage/tokudb/mysql-test/tokudb/t/change_column_int_rename.py b/storage/tokudb/mysql-test/tokudb/t/change_column_int_rename.py
index 5222564a9..6b6c97932 100644
--- a/storage/tokudb/mysql-test/tokudb/t/change_column_int_rename.py
+++ b/storage/tokudb/mysql-test/tokudb/t/change_column_int_rename.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 
 import sys
 def gen_test(types, values):
diff --git a/storage/tokudb/mysql-test/tokudb/t/fast_update_Makefile b/storage/tokudb/mysql-test/tokudb/t/fast_update_Makefile
index 71956d1fe..dfcf28777 100644
--- a/storage/tokudb/mysql-test/tokudb/t/fast_update_Makefile
+++ b/storage/tokudb/mysql-test/tokudb/t/fast_update_Makefile
@@ -1,4 +1,4 @@
-# generate tests from test generator python programs
+# generate tests from test generator python2 programs
 
 S = $(wildcard *.py)
 T = $(patsubst %.py,%.test,$(S))
@@ -6,5 +6,5 @@ T = $(patsubst %.py,%.test,$(S))
 default: $(T)
 
 %.test: %.py
-	python $< >$@
+	python2 $< >$@
 
diff --git a/storage/tokudb/mysql-test/tokudb_parts/t/partition_debug_sync_tokudb-master.opt b/storage/tokudb/mysql-test/tokudb_parts/t/partition_debug_sync_tokudb-master.opt
deleted file mode 100644
index 9854fda30..000000000
--- a/storage/tokudb/mysql-test/tokudb_parts/t/partition_debug_sync_tokudb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb_file_per_table=1
diff --git a/storage/tokudb/mysql-test/tokudb_parts/t/partition_debug_tokudb-master.opt b/storage/tokudb/mysql-test/tokudb_parts/t/partition_debug_tokudb-master.opt
deleted file mode 100644
index d57f32b54..000000000
--- a/storage/tokudb/mysql-test/tokudb_parts/t/partition_debug_tokudb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb-file-format-check --innodb-file-per-table=1
diff --git a/storage/tokudb/mysql-test/tokudb_parts/t/partition_special_tokudb-master.opt b/storage/tokudb/mysql-test/tokudb_parts/t/partition_special_tokudb-master.opt
deleted file mode 100644
index 624645d75..000000000
--- a/storage/tokudb/mysql-test/tokudb_parts/t/partition_special_tokudb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb_lock_wait_timeout=2 --innodb-file-per-table=1
diff --git a/storage/xtradb/CMakeLists.txt b/storage/xtradb/CMakeLists.txt
index 77fd2ba29..cc269b442 100644
--- a/storage/xtradb/CMakeLists.txt
+++ b/storage/xtradb/CMakeLists.txt
@@ -11,7 +11,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 # This is the CMakeLists for XtraDB
 
@@ -493,8 +493,7 @@ SET(INNOBASE_SOURCES
 	ut/ut0rnd.cc
 	ut/ut0ut.cc
 	ut/ut0vec.cc
-	ut/ut0wqueue.cc
-	ut/ut0timer.cc)
+	ut/ut0wqueue.cc)
 
 IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
     enable_language(ASM)
diff --git a/storage/xtradb/api/api0api.cc b/storage/xtradb/api/api0api.cc
index 55ed555ed..1cb11d5e8 100644
--- a/storage/xtradb/api/api0api.cc
+++ b/storage/xtradb/api/api0api.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/api/api0misc.cc b/storage/xtradb/api/api0misc.cc
index 5daee5de4..b16abf9b8 100644
--- a/storage/xtradb/api/api0misc.cc
+++ b/storage/xtradb/api/api0misc.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/btr/btr0btr.cc b/storage/xtradb/btr/btr0btr.cc
index dca854263..1f129b302 100644
--- a/storage/xtradb/btr/btr0btr.cc
+++ b/storage/xtradb/btr/btr0btr.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/btr/btr0cur.cc b/storage/xtradb/btr/btr0cur.cc
index e29d9091f..5235fe434 100644
--- a/storage/xtradb/btr/btr0cur.cc
+++ b/storage/xtradb/btr/btr0cur.cc
@@ -21,7 +21,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/btr/btr0defragment.cc b/storage/xtradb/btr/btr0defragment.cc
index 3124db650..070f6a9cc 100644
--- a/storage/xtradb/btr/btr0defragment.cc
+++ b/storage/xtradb/btr/btr0defragment.cc
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (C) 2012, 2014 Facebook, Inc. All Rights Reserved.
-Copyright (C) 2014, 2015, MariaDB Corporation. All Rights Reserved.
+Copyright (C) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**************************************************//**
@@ -35,8 +35,6 @@ Modified 30/07/2014 Jan Lindström jan.lindstrom@mariadb.com
 #include "ibuf0ibuf.h"
 #include "lock0lock.h"
 #include "srv0start.h"
-#include "srv0srv.h"
-#include "ut0timer.h"
 
 #include 
 
@@ -100,8 +98,7 @@ Initialize defragmentation. */
 void
 btr_defragment_init()
 {
-	srv_defragment_interval = ut_microseconds_to_timer(
-		1000000.0 / srv_defragment_frequency);
+	srv_defragment_interval = 1000000000ULL / srv_defragment_frequency;
 	mutex_create(btr_defragment_mutex_key, &btr_defragment_mutex,
 		     SYNC_ANY_LATCH);
 }
@@ -729,7 +726,7 @@ DECLARE_THREAD(btr_defragment_thread)(void*)
 		}
 
 		pcur = item->pcur;
-		ulonglong now = ut_timer_now();
+		ulonglong now = my_interval_timer();
 		ulonglong elapsed = now - item->last_processed;
 
 		if (elapsed < srv_defragment_interval) {
@@ -739,11 +736,12 @@ DECLARE_THREAD(btr_defragment_thread)(void*)
 			defragmentation of all indices queue up on a single
 			thread, it's likely other indices that follow this one
 			don't need to sleep again. */
-			os_thread_sleep(((ulint)ut_timer_to_microseconds(
-						srv_defragment_interval - elapsed)));
+			os_thread_sleep(static_cast
+					((srv_defragment_interval - elapsed)
+					 / 1000));
 		}
 
-		now = ut_timer_now();
+		now = my_interval_timer();
 		mtr_start(&mtr);
 		btr_pcur_restore_position(BTR_MODIFY_TREE, pcur, &mtr);
 		cursor = btr_pcur_get_btr_cur(pcur);
diff --git a/storage/xtradb/btr/btr0pcur.cc b/storage/xtradb/btr/btr0pcur.cc
index 06166e1aa..1524266ea 100644
--- a/storage/xtradb/btr/btr0pcur.cc
+++ b/storage/xtradb/btr/btr0pcur.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/btr/btr0sea.cc b/storage/xtradb/btr/btr0sea.cc
index 713a584ee..5f3bcca41 100644
--- a/storage/xtradb/btr/btr0sea.cc
+++ b/storage/xtradb/btr/btr0sea.cc
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/buf/buf0buddy.cc b/storage/xtradb/buf/buf0buddy.cc
index e058c69d4..686298440 100644
--- a/storage/xtradb/buf/buf0buddy.cc
+++ b/storage/xtradb/buf/buf0buddy.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -612,7 +612,7 @@ buf_buddy_relocate(
 
 	if (buf_page_can_relocate(bpage)) {
 		/* Relocate the compressed page. */
-		ullint	usec = ut_time_us(NULL);
+		const ulonglong ns = my_interval_timer();
 
 		ut_a(bpage->zip.data == src);
 
@@ -630,11 +630,8 @@ buf_buddy_relocate(
 			reinterpret_cast(src), i);
 
 		buf_buddy_stat_t*	buddy_stat = &buf_pool->buddy_stat[i];
-
 		++buddy_stat->relocated;
-
-		buddy_stat->relocated_usec += ut_time_us(NULL) - usec;
-
+		buddy_stat->relocated_usec+= (my_interval_timer() - ns) / 1000;
 		return(true);
 	}
 
diff --git a/storage/xtradb/buf/buf0buf.cc b/storage/xtradb/buf/buf0buf.cc
index 773b528b4..09db51882 100644
--- a/storage/xtradb/buf/buf0buf.cc
+++ b/storage/xtradb/buf/buf0buf.cc
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -950,24 +950,25 @@ buf_page_is_corrupted(
 	the first page of each file of the system tablespace.
 	Ignore it for the system tablespace. */
 	if (!checksum_field1 && !checksum_field2) {
-		ulint i = 0;
-		do {
-			if (read_buf[i]) {
-				return true;
+		/* Checksum fields can have valid value as zero.
+		If the page is not empty then do the checksum
+		calculation for the page. */
+		bool all_zeroes = true;
+		for (size_t i = 0; i < srv_page_size; i++) {
+			if (i == FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION
+			    && (!space || space->id)) {
+				i += 8;
 			}
-		} while (++i < FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION);
 
-		if (!space || !space->id) {
-			/* Skip FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION
-			in the system tablespace. */
-			i += 8;
-		}
-		do {
 			if (read_buf[i]) {
-				return true;
+				all_zeroes = false;
+				break;
 			}
-		} while (++i < srv_page_size);
-		return false;
+		}
+
+		if (all_zeroes) {
+			return false;
+		}
 	}
 
 	switch (curr_algo) {
@@ -1699,7 +1700,7 @@ buf_pool_init_instance(
 
 		buf_pool->zip_hash = hash_create(2 * buf_pool->curr_size);
 
-		buf_pool->last_printout_time = ut_time();
+		buf_pool->last_printout_time = time(NULL);
 	}
 	/* 2. Initialize flushing fields
 	-------------------------------- */
@@ -2484,10 +2485,6 @@ buf_page_get_zip(
 	ibool		discard_attempted = FALSE;
 	ibool		must_read;
 	trx_t*		trx = NULL;
-	ulint		sec;
-	ulint		ms;
-	ib_uint64_t	start_time;
-	ib_uint64_t	finish_time;
 	buf_pool_t*	buf_pool = buf_pool_get(space, offset);
 
 	if (UNIV_UNLIKELY(innobase_get_slow_log())) {
@@ -2606,14 +2603,10 @@ buf_page_get_zip(
 	if (must_read) {
 		/* Let us wait until the read operation
 		completes */
-
-		if (UNIV_UNLIKELY(trx && trx->take_stats))
-		{
-			ut_usectime(&sec, &ms);
-			start_time = (ib_uint64_t)sec * 1000000 + ms;
-		} else {
-			start_time = 0;
-		}
+		const ulonglong start_time = UNIV_UNLIKELY(trx
+							   && trx->take_stats)
+			? my_interval_timer()
+			: 0;
 		for (;;) {
 			enum buf_io_fix	io_fix;
 
@@ -2628,11 +2621,9 @@ buf_page_get_zip(
 				break;
 			}
 		}
-		if (UNIV_UNLIKELY(start_time != 0))
-		{
-			ut_usectime(&sec, &ms);
-			finish_time = (ib_uint64_t)sec * 1000000 + ms;
-			trx->io_reads_wait_timer += (ulint)(finish_time - start_time);
+		if (UNIV_UNLIKELY(start_time != 0)) {
+			trx->io_reads_wait_timer += ulint(
+				(my_interval_timer() - start_time) / 1000);
 		}
 	}
 
@@ -3012,21 +3003,13 @@ buf_wait_for_read(buf_block_t* block, trx_t* trx)
 
 	if (buf_block_get_io_fix_unlocked(block) == BUF_IO_READ) {
 
-		ib_uint64_t	start_time;
-		ulint		sec;
-		ulint		ms;
-
 		/* Wait until the read operation completes */
 
 		ib_mutex_t*	mutex = buf_page_get_mutex(&block->page);
-
-		if (UNIV_UNLIKELY(trx && trx->take_stats))
-		{
-			ut_usectime(&sec, &ms);
-			start_time = (ib_uint64_t)sec * 1000000 + ms;
-		} else {
-			start_time = 0;
-		}
+		const ulonglong start_time = UNIV_UNLIKELY(trx
+							   && trx->take_stats)
+			? my_interval_timer()
+			: 0;
 
 		for (;;) {
 			buf_io_fix	io_fix;
@@ -3046,15 +3029,10 @@ buf_wait_for_read(buf_block_t* block, trx_t* trx)
 			}
 		}
 
-		if (UNIV_UNLIKELY(start_time != 0))
-		{
-			ut_usectime(&sec, &ms);
-			ib_uint64_t finish_time
-				= (ib_uint64_t)sec * 1000000 + ms;
-			trx->io_reads_wait_timer
-				+= (ulint)(finish_time - start_time);
+		if (UNIV_UNLIKELY(start_time != 0)) {
+			trx->io_reads_wait_timer += ulint(
+				(my_interval_timer() - start_time) / 1000);
 		}
-
 	}
 }
 
@@ -6222,7 +6200,7 @@ buf_refresh_io_stats(
 /*=================*/
 	buf_pool_t*	buf_pool)	/*!< in: buffer pool instance */
 {
-	buf_pool->last_printout_time = ut_time();
+	buf_pool->last_printout_time = time(NULL);
 	buf_pool->old_stat = buf_pool->stat;
 }
 
diff --git a/storage/xtradb/buf/buf0checksum.cc b/storage/xtradb/buf/buf0checksum.cc
index 01b646a78..dfc672f99 100644
--- a/storage/xtradb/buf/buf0checksum.cc
+++ b/storage/xtradb/buf/buf0checksum.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/buf/buf0dblwr.cc b/storage/xtradb/buf/buf0dblwr.cc
index 245ec6859..6e0c6fb61 100644
--- a/storage/xtradb/buf/buf0dblwr.cc
+++ b/storage/xtradb/buf/buf0dblwr.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -612,20 +612,13 @@ buf_dblwr_process()
 
 		ulint decomp = fil_page_decompress(buf, page);
 		if (!decomp || (decomp != srv_page_size && zip_size)) {
-			goto bad_doublewrite;
+			continue;
 		}
 
 		if (expect_encrypted && mach_read_from_4(
 			    page + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION)
 		    ? !fil_space_verify_crypt_checksum(page, zip_size)
 		    : buf_page_is_corrupted(true, page, zip_size, space())) {
-			if (!is_all_zero) {
-bad_doublewrite:
-				ib_logf(IB_LOG_LEVEL_WARN,
-					"A doublewrite copy of page "
-					ULINTPF ":" ULINTPF " is corrupted.",
-					space_id, page_no);
-			}
 			/* Theoretically we could have another good
 			copy for this page in the doublewrite
 			buffer. If not, we will report a fatal error
diff --git a/storage/xtradb/buf/buf0dump.cc b/storage/xtradb/buf/buf0dump.cc
index f73bf3bdc..349e7d45a 100644
--- a/storage/xtradb/buf/buf0dump.cc
+++ b/storage/xtradb/buf/buf0dump.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/buf/buf0flu.cc b/storage/xtradb/buf/buf0flu.cc
index de59bbcd4..96ab72a26 100644
--- a/storage/xtradb/buf/buf0flu.cc
+++ b/storage/xtradb/buf/buf0flu.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/buf/buf0lru.cc b/storage/xtradb/buf/buf0lru.cc
index d71ba56fb..13bf5e79f 100644
--- a/storage/xtradb/buf/buf0lru.cc
+++ b/storage/xtradb/buf/buf0lru.cc
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -2408,8 +2408,8 @@ buf_LRU_old_ratio_update_instance(
 	buf_pool_t*	buf_pool,/*!< in: buffer pool instance */
 	uint		old_pct,/*!< in: Reserve this percentage of
 				the buffer pool for "old" blocks. */
-	ibool		adjust)	/*!< in: TRUE=adjust the LRU list;
-				FALSE=just assign buf_pool->LRU_old_ratio
+	bool		adjust)	/*!< in: true=adjust the LRU list;
+				false=just assign buf_pool->LRU_old_ratio
 				during the initialization of InnoDB */
 {
 	uint	ratio;
@@ -2447,17 +2447,17 @@ buf_LRU_old_ratio_update_instance(
 Updates buf_pool->LRU_old_ratio.
 @return	updated old_pct */
 UNIV_INTERN
-ulint
+uint
 buf_LRU_old_ratio_update(
 /*=====================*/
 	uint	old_pct,/*!< in: Reserve this percentage of
 			the buffer pool for "old" blocks. */
-	ibool	adjust)	/*!< in: TRUE=adjust the LRU list;
-			FALSE=just assign buf_pool->LRU_old_ratio
+	bool	adjust)	/*!< in: true=adjust the LRU list;
+			false=just assign buf_pool->LRU_old_ratio
 			during the initialization of InnoDB */
 {
 	ulint	i;
-	ulint	new_ratio = 0;
+	uint	new_ratio = 0;
 
 	for (i = 0; i < srv_buf_pool_instances; i++) {
 		buf_pool_t*	buf_pool;
diff --git a/storage/xtradb/buf/buf0mtflu.cc b/storage/xtradb/buf/buf0mtflu.cc
index f90b1e46c..9cf102fff 100644
--- a/storage/xtradb/buf/buf0mtflu.cc
+++ b/storage/xtradb/buf/buf0mtflu.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/buf/buf0rea.cc b/storage/xtradb/buf/buf0rea.cc
index 43e678ed7..1ef9162ca 100644
--- a/storage/xtradb/buf/buf0rea.cc
+++ b/storage/xtradb/buf/buf0rea.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/data/data0data.cc b/storage/xtradb/data/data0data.cc
index cda27de17..6c01176bf 100644
--- a/storage/xtradb/data/data0data.cc
+++ b/storage/xtradb/data/data0data.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/data/data0type.cc b/storage/xtradb/data/data0type.cc
index 34ca399f9..715649f47 100644
--- a/storage/xtradb/data/data0type.cc
+++ b/storage/xtradb/data/data0type.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/dict/dict0boot.cc b/storage/xtradb/dict/dict0boot.cc
index 9731211ff..c5ee27ff0 100644
--- a/storage/xtradb/dict/dict0boot.cc
+++ b/storage/xtradb/dict/dict0boot.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/dict/dict0crea.cc b/storage/xtradb/dict/dict0crea.cc
index 639785bf8..3ca2f00a7 100644
--- a/storage/xtradb/dict/dict0crea.cc
+++ b/storage/xtradb/dict/dict0crea.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/dict/dict0dict.cc b/storage/xtradb/dict/dict0dict.cc
index 344f58dec..73d255f7a 100644
--- a/storage/xtradb/dict/dict0dict.cc
+++ b/storage/xtradb/dict/dict0dict.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/dict/dict0load.cc b/storage/xtradb/dict/dict0load.cc
index fb14a9058..ae89ed79b 100644
--- a/storage/xtradb/dict/dict0load.cc
+++ b/storage/xtradb/dict/dict0load.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/dict/dict0mem.cc b/storage/xtradb/dict/dict0mem.cc
index 7c8a09bd0..f4bbc5c8f 100644
--- a/storage/xtradb/dict/dict0mem.cc
+++ b/storage/xtradb/dict/dict0mem.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -751,7 +751,7 @@ void
 dict_mem_init(void)
 {
 	/* Initialize a randomly distributed temporary file number */
-	ib_uint32_t now = static_cast(ut_time());
+	ib_uint32_t now = static_cast(time(NULL));
 
 	const byte* buf = reinterpret_cast(&now);
 	ut_ad(ut_crc32 != NULL);
diff --git a/storage/xtradb/dict/dict0stats.cc b/storage/xtradb/dict/dict0stats.cc
index 063646891..59c661514 100644
--- a/storage/xtradb/dict/dict0stats.cc
+++ b/storage/xtradb/dict/dict0stats.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -45,7 +45,7 @@ Created Jan 06, 2010 Vasil Dimov
 #include "trx0trx.h" /* trx_create() */
 #include "trx0roll.h" /* trx_rollback_to_savepoint() */
 #include "ut0rnd.h" /* ut_rnd_interval() */
-#include "ut0ut.h" /* ut_format_name(), ut_time() */
+#include "ut0ut.h" /* ut_format_name() */
 
 #include 
 #include 
@@ -1000,7 +1000,7 @@ dict_stats_update_transient(
 	table->stat_sum_of_other_index_sizes = sum_of_index_sizes
 		- index->stat_index_size;
 
-	table->stats_last_recalc = ut_time();
+	table->stats_last_recalc = time(NULL);
 
 	table->stat_modified_counter = 0;
 
@@ -2325,7 +2325,7 @@ dict_stats_update_persistent(
 			+= index->stat_index_size;
 	}
 
-	table->stats_last_recalc = ut_time();
+	table->stats_last_recalc = time(NULL);
 
 	table->stat_modified_counter = 0;
 
@@ -2535,7 +2535,7 @@ dict_stats_save(
 	/* MySQL's timestamp is 4 byte, so we use
 	pars_info_add_int4_literal() which takes a lint arg, so "now" is
 	lint */
-	now = (lint) ut_time();
+	now = (lint) time(NULL);
 
 	pinfo = pars_info_create();
 
@@ -3980,7 +3980,7 @@ dict_stats_save_defrag_summary(
 	dict_index_t*	index)	/*!< in: index */
 {
 	dberr_t	ret;
-	lint	now = (lint) ut_time();
+	lint	now = (lint) time(NULL);
 	if (dict_index_is_univ(index)) {
 		return DB_SUCCESS;
 	}
@@ -4017,7 +4017,7 @@ dict_stats_save_defrag_stats(
 		return DB_SUCCESS;
 	}
 
-	lint	now = (lint) ut_time();
+	lint	now = (lint) time(NULL);
 	mtr_t	mtr;
 	ulint	n_leaf_pages;
 	ulint	n_leaf_reserved;
diff --git a/storage/xtradb/dict/dict0stats_bg.cc b/storage/xtradb/dict/dict0stats_bg.cc
index 9394ca283..b4923364c 100644
--- a/storage/xtradb/dict/dict0stats_bg.cc
+++ b/storage/xtradb/dict/dict0stats_bg.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -437,14 +437,14 @@ dict_stats_process_entry_from_recalc_pool()
 
 	mutex_exit(&dict_sys->mutex);
 
-	/* ut_time() could be expensive, the current function
+	/* time() could be expensive, the current function
 	is called once every time a table has been changed more than 10% and
 	on a system with lots of small tables, this could become hot. If we
 	find out that this is a problem, then the check below could eventually
 	be replaced with something else, though a time interval is the natural
 	approach. */
 
-	if (ut_difftime(ut_time(), table->stats_last_recalc)
+	if (difftime(time(NULL), table->stats_last_recalc)
 	    < MIN_RECALC_INTERVAL) {
 
 		/* Stats were (re)calculated not long ago. To avoid
diff --git a/storage/xtradb/dyn/dyn0dyn.cc b/storage/xtradb/dyn/dyn0dyn.cc
index dd1f6863c..8302de53e 100644
--- a/storage/xtradb/dyn/dyn0dyn.cc
+++ b/storage/xtradb/dyn/dyn0dyn.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/eval/eval0eval.cc b/storage/xtradb/eval/eval0eval.cc
index ccc547811..d62febd46 100644
--- a/storage/xtradb/eval/eval0eval.cc
+++ b/storage/xtradb/eval/eval0eval.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1997, 2011, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -858,7 +859,7 @@ eval_predefined(
 			       dfield_get_data(que_node_get_val(arg1)));
 
 	} else if (func == PARS_SYSDATE_TOKEN) {
-		int_val = (lint) ut_time();
+		int_val = (lint) time(NULL);
 	} else {
 		eval_predefined_2(func_node);
 
diff --git a/storage/xtradb/eval/eval0proc.cc b/storage/xtradb/eval/eval0proc.cc
index e6f3a32cd..7adfe1e63 100644
--- a/storage/xtradb/eval/eval0proc.cc
+++ b/storage/xtradb/eval/eval0proc.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/fil/fil0crypt.cc b/storage/xtradb/fil/fil0crypt.cc
index 296096e44..43a3bd8ff 100644
--- a/storage/xtradb/fil/fil0crypt.cc
+++ b/storage/xtradb/fil/fil0crypt.cc
@@ -1,6 +1,6 @@
 /*****************************************************************************
 Copyright (C) 2013, 2015, Google Inc. All Rights Reserved.
-Copyright (c) 2014, 2018, MariaDB Corporation. All Rights Reserved.
+Copyright (c) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**************************************************//**
@@ -1698,19 +1698,18 @@ fil_crypt_get_page_throttle_func(
 
 	state->crypt_stat.pages_read_from_disk++;
 
-	ullint start = ut_time_us(NULL);
+	const ulonglong start = my_interval_timer();
 	block = buf_page_get_gen(space->id, zip_size, offset,
 				 RW_X_LATCH,
 				 NULL, BUF_GET_POSSIBLY_FREED,
 				 file, line, mtr);
-	ullint end = ut_time_us(NULL);
-
-	if (end < start) {
-		end = start; // safety...
-	}
+	const ulonglong end = my_interval_timer();
 
 	state->cnt_waited++;
-	state->sum_waited_us += (end - start);
+
+	if (end > start) {
+		state->sum_waited_us += (end - start) / 1000;
+	}
 
 	/* average page load */
 	ulint add_sleeptime_ms = 0;
@@ -2032,7 +2031,7 @@ fil_crypt_flush_space(
 		bool success = false;
 		ulint n_pages = 0;
 		ulint sum_pages = 0;
-		ullint start = ut_time_us(NULL);
+		const ulonglong start = my_interval_timer();
 
 		do {
 			success = buf_flush_list(ULINT_MAX, end_lsn, &n_pages);
@@ -2040,11 +2039,11 @@ fil_crypt_flush_space(
 			sum_pages += n_pages;
 		} while (!success && !space->is_stopping());
 
-		ullint end = ut_time_us(NULL);
+		const ulonglong end = my_interval_timer();
 
 		if (sum_pages && end > start) {
 			state->cnt_waited += sum_pages;
-			state->sum_waited_us += (end - start);
+			state->sum_waited_us += (end - start) / 1000;
 
 			/* statistics */
 			state->crypt_stat.pages_flushed += sum_pages;
diff --git a/storage/xtradb/fil/fil0fil.cc b/storage/xtradb/fil/fil0fil.cc
index 01ebd9892..766e9d91c 100644
--- a/storage/xtradb/fil/fil0fil.cc
+++ b/storage/xtradb/fil/fil0fil.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -2819,6 +2819,29 @@ fil_close_tablespace(
 	return(err);
 }
 
+/** Determine whether a table can be accessed in operations that are
+not (necessarily) protected by meta-data locks.
+(Rollback would generally be protected, but rollback of
+FOREIGN KEY CASCADE/SET NULL is not protected by meta-data locks
+but only by InnoDB table locks, which may be broken by
+lock_remove_all_on_table().)
+@param[in]	table	persistent table
+checked @return whether the table is accessible */
+UNIV_INTERN bool fil_table_accessible(const dict_table_t* table)
+{
+	if (UNIV_UNLIKELY(!table->is_readable() || table->corrupted)) {
+		return(false);
+	}
+
+	if (fil_space_t* space = fil_space_acquire(table->space)) {
+		bool accessible = !space->is_stopping();
+		fil_space_release(space);
+		return(accessible);
+	} else {
+		return(false);
+	}
+}
+
 /** Delete a tablespace and associated .ibd file.
 @param[in]	id		tablespace identifier
 @param[in]	drop_ahi	whether to drop the adaptive hash index
@@ -3239,8 +3262,13 @@ fil_rename_tablespace(
 		space, node, new_name, new_path);
 
 	if (success) {
+		DBUG_EXECUTE_IF("fil_rename_tablespace_failure_2",
+				goto skip_second_rename; );
 		success = os_file_rename(
 			innodb_file_data_key, old_path, new_path);
+		DBUG_EXECUTE_IF("fil_rename_tablespace_failure_2",
+skip_second_rename:
+				success = FALSE; );
 
 		if (!success) {
 			/* We have to revert the changes we made
@@ -5100,7 +5128,7 @@ fil_load_single_table_tablespaces(ibool (*pred)(const char*, const char*))
 	ulint		dbpath_len	= 100;
         ulint 		files_read	= 0;
         ulint 		files_read_at_last_check	= 0;
-        ib_time_t 	prev_report_time = ut_time();
+	time_t		prev_report_time = time(NULL);
 	os_file_dir_t	dir;
 	os_file_dir_t	dbdir;
 	os_file_stat_t	dbinfo;
@@ -5200,11 +5228,10 @@ fil_load_single_table_tablespaces(ibool (*pred)(const char*, const char*))
 					files_read++;
 					if (files_read - files_read_at_last_check >
 					    CHECK_TIME_EVERY_N_FILES) {
-						ib_time_t cur_time= ut_time();
+						time_t cur_time= time(NULL);
 						files_read_at_last_check= files_read;
-						double time_elapsed= ut_difftime(cur_time, 
-						                                 prev_report_time);
-						if (time_elapsed > 15) {
+						if (cur_time - prev_report_time
+						    > 15) {
 							ib_logf(IB_LOG_LEVEL_INFO, 
 								"Processed %ld .ibd/.isl files",
 								files_read);
diff --git a/storage/xtradb/fil/fil0pagecompress.cc b/storage/xtradb/fil/fil0pagecompress.cc
index 101f8fb0f..edc1fa913 100644
--- a/storage/xtradb/fil/fil0pagecompress.cc
+++ b/storage/xtradb/fil/fil0pagecompress.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/fsp/fsp0fsp.cc b/storage/xtradb/fsp/fsp0fsp.cc
index f97e0c133..fc2e192a3 100644
--- a/storage/xtradb/fsp/fsp0fsp.cc
+++ b/storage/xtradb/fsp/fsp0fsp.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/fts/fts0ast.cc b/storage/xtradb/fts/fts0ast.cc
index 4b36152cf..c69eabc0f 100644
--- a/storage/xtradb/fts/fts0ast.cc
+++ b/storage/xtradb/fts/fts0ast.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/fts/fts0blex.cc b/storage/xtradb/fts/fts0blex.cc
index 84811050e..508069a32 100644
--- a/storage/xtradb/fts/fts0blex.cc
+++ b/storage/xtradb/fts/fts0blex.cc
@@ -653,7 +653,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**
diff --git a/storage/xtradb/fts/fts0blex.l b/storage/xtradb/fts/fts0blex.l
index ae6e8ffaa..0d1788f89 100644
--- a/storage/xtradb/fts/fts0blex.l
+++ b/storage/xtradb/fts/fts0blex.l
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/fts/fts0config.cc b/storage/xtradb/fts/fts0config.cc
index 5b4ae5c39..940c944a4 100644
--- a/storage/xtradb/fts/fts0config.cc
+++ b/storage/xtradb/fts/fts0config.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2013, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -85,6 +86,7 @@ fts_config_get_value(
 	que_t*		graph;
 	dberr_t		error;
 	ulint		name_len = strlen(name);
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -100,12 +102,14 @@ fts_config_get_value(
 	pars_info_bind_varchar_literal(info, "name", (byte*) name, name_len);
 
 	fts_table->suffix = "CONFIG";
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
 
 	graph = fts_parse_sql(
 		fts_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
-		"DECLARE CURSOR c IS SELECT value FROM \"%s\""
+		"DECLARE CURSOR c IS SELECT value FROM $table_name"
 		" WHERE key = :name;\n"
 		"BEGIN\n"
 		""
@@ -212,6 +216,7 @@ fts_config_set_value(
 	undo_no_t	undo_no;
 	undo_no_t	n_rows_updated;
 	ulint		name_len = strlen(name);
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -219,11 +224,17 @@ fts_config_set_value(
 	pars_info_bind_varchar_literal(info, "value",
 				       value->f_str, value->f_len);
 
+	const bool dict_locked = fts_table->table->fts->fts_status
+		& TABLE_DICT_LOCKED;
+
 	fts_table->suffix = "CONFIG";
+	fts_get_table_name(fts_table, table_name, dict_locked);
+	pars_info_bind_id(info, true, "table_name", table_name);
 
 	graph = fts_parse_sql(
 		fts_table, info,
-		"BEGIN UPDATE \"%s\" SET value = :value WHERE key = :name;");
+		"BEGIN UPDATE $table_name SET value = :value "
+		"WHERE key = :name;");
 
 	trx->op_info = "setting FTS config value";
 
@@ -245,10 +256,13 @@ fts_config_set_value(
 		pars_info_bind_varchar_literal(
 			info, "value", value->f_str, value->f_len);
 
+		fts_get_table_name(fts_table, table_name, dict_locked);
+		pars_info_bind_id(info, true, "table_name", table_name);
+
 		graph = fts_parse_sql(
 			fts_table, info,
 			"BEGIN\n"
-			"INSERT INTO \"%s\" VALUES(:name, :value);");
+			"INSERT INTO $table_name VALUES(:name, :value);");
 
 		trx->op_info = "inserting FTS config value";
 
@@ -465,6 +479,7 @@ fts_config_increment_value(
 	que_t*		graph = NULL;
 	ulint		name_len = strlen(name);
 	pars_info_t*	info = pars_info_create();
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	/* We set the length of value to the max bytes it can hold. This
 	information is used by the callback that reads the value.*/
@@ -479,11 +494,13 @@ fts_config_increment_value(
 		info, "my_func", fts_config_fetch_value, &value);
 
 	fts_table->suffix = "CONFIG";
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "config_table", table_name);
 
 	graph = fts_parse_sql(
 		fts_table, info,
 		"DECLARE FUNCTION my_func;\n"
-		"DECLARE CURSOR c IS SELECT value FROM \"%s\""
+		"DECLARE CURSOR c IS SELECT value FROM $config_table"
 		" WHERE key = :name FOR UPDATE;\n"
 		"BEGIN\n"
 		""
diff --git a/storage/xtradb/fts/fts0fts.cc b/storage/xtradb/fts/fts0fts.cc
index 1ea3a8d2c..264c520bb 100644
--- a/storage/xtradb/fts/fts0fts.cc
+++ b/storage/xtradb/fts/fts0fts.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -77,8 +77,8 @@ UNIV_INTERN ulong	fts_min_token_size;
 
 
 // FIXME: testing
-ib_time_t elapsed_time = 0;
-ulint n_nodes = 0;
+static time_t elapsed_time;
+static ulint n_nodes;
 
 /** Error condition reported by fts_utf8_decode() */
 const ulint UTF8_ERROR = 0xFFFFFFFF;
@@ -107,11 +107,6 @@ UNIV_INTERN mysql_pfs_key_t	fts_doc_id_mutex_key;
 UNIV_INTERN mysql_pfs_key_t	fts_pll_tokenize_mutex_key;
 #endif /* UNIV_PFS_MUTEX */
 
-/** variable to record innodb_fts_internal_tbl_name for information
-schema table INNODB_FTS_INSERTED etc. */
-UNIV_INTERN char* fts_internal_tbl_name		= NULL;
-UNIV_INTERN char* fts_internal_tbl_name2	= NULL;
-
 /** InnoDB default stopword list:
 There are different versions of stopwords, the stop words listed
 below comes from "Google Stopword" list. Reference:
@@ -167,38 +162,39 @@ struct fts_aux_table_t {
 	char*		name;		/*!< Name of the table */
 };
 
-/** SQL statements for creating the ancillary common FTS tables. */
+/** SQL statements for creating the ancillary common FTS tables.
+The table name here shall be consistent with fts_common_tables. */
 static const char* fts_create_common_tables_sql = {
 	"BEGIN\n"
 	""
-	"CREATE TABLE \"%s_DELETED\" (\n"
+	"CREATE TABLE $DELETED (\n"
 	"  doc_id BIGINT UNSIGNED\n"
 	") COMPACT;\n"
-	"CREATE UNIQUE CLUSTERED INDEX IND ON \"%s_DELETED\"(doc_id);\n"
+	"CREATE UNIQUE CLUSTERED INDEX IND ON $DELETED (doc_id);\n"
 	""
-	"CREATE TABLE \"%s_DELETED_CACHE\" (\n"
+	"CREATE TABLE $DELETED_CACHE (\n"
 	"  doc_id BIGINT UNSIGNED\n"
 	") COMPACT;\n"
 	"CREATE UNIQUE CLUSTERED INDEX IND "
-		"ON \"%s_DELETED_CACHE\"(doc_id);\n"
+		"ON $DELETED_CACHE(doc_id);\n"
 	""
-	"CREATE TABLE \"%s_BEING_DELETED\" (\n"
+	"CREATE TABLE $BEING_DELETED (\n"
 	"  doc_id BIGINT UNSIGNED\n"
 	") COMPACT;\n"
 	"CREATE UNIQUE CLUSTERED INDEX IND "
-		"ON \"%s_BEING_DELETED\"(doc_id);\n"
+		"ON $BEING_DELETED(doc_id);\n"
 	""
-	"CREATE TABLE \"%s_BEING_DELETED_CACHE\" (\n"
+	"CREATE TABLE $BEING_DELETED_CACHE (\n"
 	"  doc_id BIGINT UNSIGNED\n"
 	") COMPACT;\n"
 	"CREATE UNIQUE CLUSTERED INDEX IND "
-		"ON \"%s_BEING_DELETED_CACHE\"(doc_id);\n"
+		"ON $BEING_DELETED_CACHE(doc_id);\n"
 	""
-	"CREATE TABLE \"%s_CONFIG\" (\n"
+	"CREATE TABLE $CONFIG (\n"
 	"  key CHAR(50),\n"
 	"  value CHAR(200) NOT NULL\n"
 	") COMPACT;\n"
-	"CREATE UNIQUE CLUSTERED INDEX IND ON \"%s_CONFIG\"(key);\n"
+	"CREATE UNIQUE CLUSTERED INDEX IND ON $CONFIG(key);\n"
 };
 
 #ifdef FTS_DOC_STATS_DEBUG
@@ -207,11 +203,11 @@ mainly designed for the statistics work in the future */
 static const char* fts_create_index_tables_sql = {
 	"BEGIN\n"
 	""
-	"CREATE TABLE \"%s_DOC_ID\" (\n"
+	"CREATE TABLE $doc_id_table (\n"
 	"   doc_id BIGINT UNSIGNED,\n"
 	"   word_count INTEGER UNSIGNED NOT NULL\n"
 	") COMPACT;\n"
-	"CREATE UNIQUE CLUSTERED INDEX IND ON \"%s_DOC_ID\"(doc_id);\n"
+	"CREATE UNIQUE CLUSTERED INDEX IND ON $doc_id_table(doc_id);\n"
 };
 #endif
 
@@ -220,11 +216,11 @@ static const char* fts_create_index_sql = {
 	"BEGIN\n"
 	""
 	"CREATE UNIQUE CLUSTERED INDEX FTS_INDEX_TABLE_IND "
-		"ON \"%s\"(word, first_doc_id);\n"
+		"ON $table (word, first_doc_id);\n"
 };
 
 /** FTS auxiliary table suffixes that are common to all FT indexes. */
-static const char* fts_common_tables[] = {
+const char* fts_common_tables[] = {
 	"BEING_DELETED",
 	"BEING_DELETED_CACHE",
 	"CONFIG",
@@ -248,19 +244,19 @@ const  fts_index_selector_t fts_index_selector[] = {
 static const char* fts_config_table_insert_values_sql =
 	"BEGIN\n"
 	"\n"
-	"INSERT INTO \"%s\" VALUES('"
+	"INSERT INTO $config_table VALUES('"
 		FTS_MAX_CACHE_SIZE_IN_MB "', '256');\n"
 	""
-	"INSERT INTO \"%s\" VALUES('"
+	"INSERT INTO $config_table VALUES('"
 		FTS_OPTIMIZE_LIMIT_IN_SECS  "', '180');\n"
 	""
-	"INSERT INTO \"%s\" VALUES ('"
+	"INSERT INTO $config_table VALUES ('"
 		FTS_SYNCED_DOC_ID "', '0');\n"
 	""
-	"INSERT INTO \"%s\" VALUES ('"
+	"INSERT INTO $config_table VALUES ('"
 		FTS_TOTAL_DELETED_COUNT "', '0');\n"
 	"" /* Note: 0 == FTS_TABLE_STATE_RUNNING */
-	"INSERT INTO \"%s\" VALUES ('"
+	"INSERT INTO $config_table VALUES ('"
 		FTS_TABLE_STATE "', '0');\n";
 
 /** Run SYNC on the table, i.e., write out data from the cache to the
@@ -334,7 +330,6 @@ dberr_t
 fts_update_sync_doc_id(
 /*===================*/
 	const dict_table_t*	table,		/*!< in: table */
-	const char*		table_name,	/*!< in: table name, or NULL */
 	doc_id_t		doc_id,		/*!< in: last document id */
 	trx_t*			trx)		/*!< in: update trx, or NULL */
 	MY_ATTRIBUTE((nonnull(1)));
@@ -1586,19 +1581,17 @@ fts_rename_aux_tables(
 
 	FTS_INIT_FTS_TABLE(&fts_table, NULL, FTS_COMMON_TABLE, table);
 
+	dberr_t err = DB_SUCCESS;
+	char old_table_name[MAX_FULL_NAME_LEN];
+
 	/* Rename common auxiliary tables */
 	for (i = 0; fts_common_tables[i] != NULL; ++i) {
-		char*	old_table_name;
-		dberr_t	err = DB_SUCCESS;
-
 		fts_table.suffix = fts_common_tables[i];
 
-		old_table_name = fts_get_table_name(&fts_table);
+		fts_get_table_name(&fts_table, old_table_name, true);
 
 		err = fts_rename_one_aux_table(new_name, old_table_name, trx);
 
-		mem_free(old_table_name);
-
 		if (err != DB_SUCCESS) {
 			return(err);
 		}
@@ -1617,12 +1610,8 @@ fts_rename_aux_tables(
 		FTS_INIT_INDEX_TABLE(&fts_table, NULL, FTS_INDEX_TABLE, index);
 
 		for (ulint j = 0; fts_index_selector[j].value; ++j) {
-			dberr_t	err;
-			char*	old_table_name;
-
 			fts_table.suffix = fts_get_suffix(j);
-
-			old_table_name = fts_get_table_name(&fts_table);
+			fts_get_table_name(&fts_table, old_table_name, true);
 
 			err = fts_rename_one_aux_table(
 				new_name, old_table_name, trx);
@@ -1631,8 +1620,6 @@ fts_rename_aux_tables(
 					err = DB_DEADLOCK;
 					fts_sql_rollback(trx););
 
-			mem_free(old_table_name);
-
 			if (err != DB_SUCCESS) {
 				return(err);
 			}
@@ -1660,11 +1647,11 @@ fts_drop_common_tables(
 
 	for (i = 0; fts_common_tables[i] != NULL; ++i) {
 		dberr_t	err;
-		char*	table_name;
+		char	table_name[MAX_FULL_NAME_LEN];
 
 		fts_table->suffix = fts_common_tables[i];
 
-		table_name = fts_get_table_name(fts_table);
+		fts_get_table_name(fts_table, table_name, true);
 
 		err = fts_drop_table(trx, table_name);
 
@@ -1672,8 +1659,6 @@ fts_drop_common_tables(
 		if (err != DB_SUCCESS && err != DB_FAIL) {
 			error = err;
 		}
-
-		mem_free(table_name);
 	}
 
 	return(error);
@@ -1699,11 +1684,11 @@ fts_drop_index_split_tables(
 
 	for (i = 0; fts_index_selector[i].value; ++i) {
 		dberr_t	err;
-		char*	table_name;
+		char	table_name[MAX_FULL_NAME_LEN];
 
 		fts_table.suffix = fts_get_suffix(i);
 
-		table_name = fts_get_table_name(&fts_table);
+		fts_get_table_name(&fts_table, table_name, true);
 
 		err = fts_drop_table(trx, table_name);
 
@@ -1711,8 +1696,6 @@ fts_drop_index_split_tables(
 		if (err != DB_SUCCESS && err != DB_FAIL) {
 			error = err;
 		}
-
-		mem_free(table_name);
 	}
 
 	return(error);
@@ -1749,11 +1732,11 @@ fts_drop_index_tables(
 	FTS_INIT_INDEX_TABLE(&fts_table, NULL, FTS_INDEX_TABLE, index);
 
 	for (ulint i = 0; index_tables[i] != NULL; ++i) {
-		char*	table_name;
+		char	table_name[MAX_FULL_NAME_LEN];
 
 		fts_table.suffix = index_tables[i];
 
-		table_name = fts_get_table_name(&fts_table);
+		fts_get_table_name(&fts_table, table_name, true);
 
 		err = fts_drop_table(trx, table_name);
 
@@ -1761,8 +1744,6 @@ fts_drop_index_tables(
 		if (err != DB_SUCCESS && err != DB_FAIL) {
 			error = err;
 		}
-
-		mem_free(table_name);
 	}
 #endif /* FTS_DOC_STATS_DEBUG */
 
@@ -1831,26 +1812,6 @@ fts_drop_tables(
 	return(error);
 }
 
-/*********************************************************************//**
-Prepare the SQL, so that all '%s' are replaced by the common prefix.
-@return sql string, use mem_free() to free the memory */
-static
-char*
-fts_prepare_sql(
-/*============*/
-	fts_table_t*	fts_table,	/*!< in: table name info */
-	const char*	my_template)	/*!< in: sql template */
-{
-	char*		sql;
-	char*		name_prefix;
-
-	name_prefix = fts_get_table_name_prefix(fts_table);
-	sql = ut_strreplace(my_template, "%s", name_prefix);
-	mem_free(name_prefix);
-
-	return(sql);
-}
-
 /*********************************************************************//**
 Creates the common ancillary tables needed for supporting an FTS index
 on the given table. row_mysql_lock_data_dictionary must have been called
@@ -1865,12 +1826,15 @@ fts_create_common_tables(
 	const char*	name,		/*!< in: table name normalized.*/
 	bool		skip_doc_id_index)/*!< in: Skip index on doc id */
 {
-	char*		sql;
 	dberr_t		error;
 	que_t*		graph;
 	fts_table_t	fts_table;
 	mem_heap_t*	heap = mem_heap_create(1024);
 	pars_info_t*	info;
+	char		fts_name[MAX_FULL_NAME_LEN];
+	char		full_name[sizeof(fts_common_tables) / sizeof(char*)]
+				[MAX_FULL_NAME_LEN];
+	ulint		i;
 
 	FTS_INIT_FTS_TABLE(&fts_table, NULL, FTS_COMMON_TABLE, table);
 
@@ -1882,9 +1846,19 @@ fts_create_common_tables(
 	}
 
 	/* Create the FTS tables that are common to an FTS index. */
-	sql = fts_prepare_sql(&fts_table, fts_create_common_tables_sql);
-	graph = fts_parse_sql_no_dict_lock(NULL, NULL, sql);
-	mem_free(sql);
+	info = pars_info_create();
+
+	for (i = 0; fts_common_tables[i] != NULL; ++i) {
+
+		fts_table.suffix = fts_common_tables[i];
+		fts_get_table_name(&fts_table, full_name[i], true);
+
+		pars_info_bind_id(info, true,
+				  fts_common_tables[i], full_name[i]);
+	}
+
+	graph = fts_parse_sql_no_dict_lock(NULL, info,
+					   fts_create_common_tables_sql);
 
 	error = fts_eval_sql(trx, graph);
 
@@ -1896,9 +1870,14 @@ fts_create_common_tables(
 	}
 
 	/* Write the default settings to the config table. */
+	info = pars_info_create();
+
 	fts_table.suffix = "CONFIG";
+	fts_get_table_name(&fts_table, fts_name, true);
+	pars_info_bind_id(info, true, "config_table", fts_name);
+
 	graph = fts_parse_sql_no_dict_lock(
-		&fts_table, NULL, fts_config_table_insert_values_sql);
+		&fts_table, info, fts_config_table_insert_values_sql);
 
 	error = fts_eval_sql(trx, graph);
 
@@ -1966,13 +1945,15 @@ fts_create_one_index_table(
 {
 	dict_field_t*		field;
 	dict_table_t*		new_table = NULL;
-	char*			table_name = fts_get_table_name(fts_table);
+	char			table_name[MAX_FULL_NAME_LEN];
 	dberr_t			error;
 	CHARSET_INFO*		charset;
 	ulint			flags2 = 0;
 
 	ut_ad(index->type & DICT_FTS);
 
+	fts_get_table_name(fts_table, table_name, true);
+
 	if (srv_file_per_table) {
 		flags2 = DICT_TF2_USE_TABLESPACE;
 	}
@@ -2016,8 +1997,6 @@ fts_create_one_index_table(
 			"Fail to create FTS index table %s", table_name);
 	}
 
-	mem_free(table_name);
-
 	return(new_table);
 }
 
@@ -2040,23 +2019,27 @@ fts_create_index_tables_low(
 	que_t*		graph;
 	fts_table_t	fts_table;
 	dberr_t		error = DB_SUCCESS;
+	pars_info_t*	info;
 	mem_heap_t*	heap = mem_heap_create(1024);
+	char		fts_name[MAX_FULL_NAME_LEN];
 
 	fts_table.type = FTS_INDEX_TABLE;
 	fts_table.index_id = index->id;
 	fts_table.table_id = table_id;
-	fts_table.parent = table_name;
 	fts_table.table = index->table;
 
 #ifdef FTS_DOC_STATS_DEBUG
-	char*		sql;
-
 	/* Create the FTS auxiliary tables that are specific
 	to an FTS index. */
-	sql = fts_prepare_sql(&fts_table, fts_create_index_tables_sql);
+	info = pars_info_create();
+
+	fts_table.suffix = "DOC_ID";
+	fts_get_table_name(&fts_table, fts_name, true);
 
-	graph = fts_parse_sql_no_dict_lock(NULL, NULL, sql);
-	mem_free(sql);
+	pars_info_bind_id(info, true, "doc_id_table", fts_name);
+
+	graph = fts_parse_sql_no_dict_lock(NULL, info,
+					   fts_create_index_tables_sql);
 
 	error = fts_eval_sql(trx, graph);
 	que_graph_free(graph);
@@ -2065,6 +2048,8 @@ fts_create_index_tables_low(
 	for (i = 0; fts_index_selector[i].value && error == DB_SUCCESS; ++i) {
 		dict_table_t*	new_table;
 
+		info = pars_info_create();
+
 		/* Create the FTS auxiliary tables that are specific
 		to an FTS index. We need to preserve the table_id %s
 		which fts_parse_sql_no_dict_lock() will fill in for us. */
@@ -2078,8 +2063,12 @@ fts_create_index_tables_low(
 			break;
 		}
 
+		fts_get_table_name(&fts_table, fts_name, true);
+
+		pars_info_bind_id(info, true, "table", fts_name);
+
 		graph = fts_parse_sql_no_dict_lock(
-			&fts_table, NULL, fts_create_index_sql);
+			&fts_table, info, fts_create_index_sql);
 
 		error = fts_eval_sql(trx, graph);
 		que_graph_free(graph);
@@ -2632,7 +2621,6 @@ fts_update_next_doc_id(
 /*===================*/
 	trx_t*			trx,		/*!< in/out: transaction */
 	const dict_table_t*	table,		/*!< in: table */
-	const char*		table_name,	/*!< in: table name, or NULL */
 	doc_id_t		doc_id)		/*!< in: DOC ID to set */
 {
 	table->fts->cache->synced_doc_id = doc_id;
@@ -2641,7 +2629,7 @@ fts_update_next_doc_id(
 	table->fts->cache->first_doc_id = table->fts->cache->next_doc_id;
 
 	fts_update_sync_doc_id(
-		table, table_name, table->fts->cache->synced_doc_id, trx);
+		table, table->fts->cache->synced_doc_id, trx);
 
 }
 
@@ -2704,6 +2692,7 @@ fts_cmp_set_sync_doc_id(
 	fts_table_t	fts_table;
 	que_t*		graph = NULL;
 	fts_cache_t*	cache = table->fts->cache;
+	char		table_name[MAX_FULL_NAME_LEN];
 retry:
 	ut_a(table->fts->doc_col != ULINT_UNDEFINED);
 
@@ -2712,8 +2701,6 @@ fts_cmp_set_sync_doc_id(
 	fts_table.type = FTS_COMMON_TABLE;
 	fts_table.table = table;
 
-	fts_table.parent = table->name;
-
 	trx = trx_allocate_for_background();
 
 	trx->op_info = "update the next FTS document id";
@@ -2723,10 +2710,13 @@ fts_cmp_set_sync_doc_id(
 	pars_info_bind_function(
 		info, "my_func", fts_fetch_store_doc_id, doc_id);
 
+	fts_get_table_name(&fts_table, table_name);
+	pars_info_bind_id(info, true, "config_table", table_name);
+
 	graph = fts_parse_sql(
 		&fts_table, info,
 		"DECLARE FUNCTION my_func;\n"
-		"DECLARE CURSOR c IS SELECT value FROM \"%s\""
+		"DECLARE CURSOR c IS SELECT value FROM $config_table"
 		" WHERE key = 'synced_doc_id' FOR UPDATE;\n"
 		"BEGIN\n"
 		""
@@ -2770,7 +2760,7 @@ fts_cmp_set_sync_doc_id(
 
 	if (doc_id_cmp > *doc_id) {
 		error = fts_update_sync_doc_id(
-			table, table->name, cache->synced_doc_id, trx);
+			table, cache->synced_doc_id, trx);
 	}
 
 	*doc_id = cache->next_doc_id;
@@ -2808,7 +2798,6 @@ dberr_t
 fts_update_sync_doc_id(
 /*===================*/
 	const dict_table_t*	table,		/*!< in: table */
-	const char*		table_name,	/*!< in: table name, or NULL */
 	doc_id_t		doc_id,		/*!< in: last document id */
 	trx_t*			trx)		/*!< in: update trx, or NULL */
 {
@@ -2820,16 +2809,12 @@ fts_update_sync_doc_id(
 	dberr_t		error;
 	ibool		local_trx = FALSE;
 	fts_cache_t*	cache = table->fts->cache;
+	char		fts_name[MAX_FULL_NAME_LEN];
 
 	fts_table.suffix = "CONFIG";
 	fts_table.table_id = table->id;
 	fts_table.type = FTS_COMMON_TABLE;
 	fts_table.table = table;
-	if (table_name) {
-		fts_table.parent = table_name;
-	} else {
-		fts_table.parent = table->name;
-	}
 
 	if (!trx) {
 		trx = trx_allocate_for_background();
@@ -2845,10 +2830,14 @@ fts_update_sync_doc_id(
 
 	pars_info_bind_varchar_literal(info, "doc_id", id, id_len);
 
+	fts_get_table_name(&fts_table, fts_name,
+			   table->fts->fts_status & TABLE_DICT_LOCKED);
+	pars_info_bind_id(info, true, "table_name", fts_name);
+
 	graph = fts_parse_sql(
 		&fts_table, info,
 		"BEGIN "
-		"UPDATE \"%s\" SET value = :doc_id"
+		"UPDATE $table_name SET value = :doc_id"
 		" WHERE key = 'synced_doc_id';");
 
 	error = fts_eval_sql(trx, graph);
@@ -2895,22 +2884,6 @@ fts_doc_ids_create(void)
 	return(fts_doc_ids);
 }
 
-/*********************************************************************//**
-Free a fts_doc_ids_t. */
-
-void
-fts_doc_ids_free(
-/*=============*/
-	fts_doc_ids_t*	fts_doc_ids)
-{
-	mem_heap_t*	heap = static_cast(
-		fts_doc_ids->self_heap->arg);
-
-	memset(fts_doc_ids, 0, sizeof(*fts_doc_ids));
-
-	mem_heap_free(heap);
-}
-
 /*********************************************************************//**
 Do commit-phase steps necessary for the insertion of a new row. */
 void
@@ -2995,6 +2968,7 @@ fts_delete(
 
 	/* Note the deleted document for OPTIMIZE to purge. */
 	if (error == DB_SUCCESS) {
+		char	table_name[MAX_FULL_NAME_LEN];
 
 		trx->op_info = "adding doc id to FTS DELETED";
 
@@ -3002,10 +2976,13 @@ fts_delete(
 
 		fts_table.suffix = "DELETED";
 
+		fts_get_table_name(&fts_table, table_name);
+		pars_info_bind_id(info, true, "deleted", table_name);
+
 		graph = fts_parse_sql(
 			&fts_table,
 			info,
-			"BEGIN INSERT INTO \"%s\" VALUES (:doc_id);");
+			"BEGIN INSERT INTO $deleted VALUES (:doc_id);");
 
 		error = fts_eval_sql(trx, graph);
 
@@ -3821,14 +3798,18 @@ fts_write_node(
 	pars_info_t*	info;
 	dberr_t		error;
 	ib_uint32_t	doc_count;
-	ib_time_t	start_time;
+	time_t		start_time;
 	doc_id_t	last_doc_id;
 	doc_id_t	first_doc_id;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	if (*graph) {
 		info = (*graph)->info;
 	} else {
 		info = pars_info_create();
+
+		fts_get_table_name(fts_table, table_name);
+		pars_info_bind_id(info, true, "index_table_name", table_name);
 	}
 
 	pars_info_bind_varchar_literal(info, "token", word->f_str, word->f_len);
@@ -3854,18 +3835,19 @@ fts_write_node(
 		DATA_BLOB, DATA_BINARY_TYPE);
 
 	if (!*graph) {
+
 		*graph = fts_parse_sql(
 			fts_table,
 			info,
 			"BEGIN\n"
-			"INSERT INTO \"%s\" VALUES "
+			"INSERT INTO $index_table_name VALUES "
 			"(:token, :first_doc_id,"
 			" :last_doc_id, :doc_count, :ilist);");
 	}
 
-	start_time = ut_time();
+	start_time = time(NULL);
 	error = fts_eval_sql(trx, *graph);
-	elapsed_time += ut_time() - start_time;
+	elapsed_time += time(NULL) - start_time;
 	++n_nodes;
 
 	return(error);
@@ -3885,6 +3867,7 @@ fts_sync_add_deleted_cache(
 	pars_info_t*	info;
 	que_t*		graph;
 	fts_table_t	fts_table;
+	char		table_name[MAX_FULL_NAME_LEN];
 	doc_id_t	dummy = 0;
 	dberr_t		error = DB_SUCCESS;
 	ulint		n_elems = ib_vector_size(doc_ids);
@@ -3900,10 +3883,13 @@ fts_sync_add_deleted_cache(
 	FTS_INIT_FTS_TABLE(
 		&fts_table, "DELETED_CACHE", FTS_COMMON_TABLE, sync->table);
 
+	fts_get_table_name(&fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
+
 	graph = fts_parse_sql(
 		&fts_table,
 		info,
-		"BEGIN INSERT INTO \"%s\" VALUES (:doc_id);");
+		"BEGIN INSERT INTO $table_name VALUES (:doc_id);");
 
 	for (i = 0; i < n_elems && error == DB_SUCCESS; ++i) {
 		fts_update_t*	update;
@@ -4080,6 +4066,7 @@ fts_sync_write_doc_stat(
 	doc_id_t	doc_id;
 	dberr_t		error = DB_SUCCESS;
 	ib_uint32_t	word_count;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	if (*graph) {
 		info = (*graph)->info;
@@ -4102,10 +4089,15 @@ fts_sync_write_doc_stat(
 		FTS_INIT_INDEX_TABLE(
 			&fts_table, "DOC_ID", FTS_INDEX_TABLE, index);
 
+		fts_get_table_name(&fts_table, table_name);
+
+		pars_info_bind_id(info, true, "doc_id_table", table_name);
+
 		*graph = fts_parse_sql(
 			&fts_table,
 			info,
-			"BEGIN INSERT INTO \"%s\" VALUES (:doc_id, :count);");
+			"BEGIN "
+			"INSERT INTO $doc_id_table VALUES (:doc_id, :count);");
 	}
 
 	for (;;) {
@@ -4227,6 +4219,7 @@ fts_is_word_in_index(
 {
 	pars_info_t*	info;
 	dberr_t		error;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	trx->op_info = "looking up word in FTS index";
 
@@ -4236,6 +4229,8 @@ fts_is_word_in_index(
 		info = pars_info_create();
 	}
 
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
 	pars_info_bind_function(info, "my_func", fts_lookup_word, found);
 	pars_info_bind_varchar_literal(info, "word", word->f_str, word->f_len);
 
@@ -4246,7 +4241,7 @@ fts_is_word_in_index(
 			"DECLARE FUNCTION my_func;\n"
 			"DECLARE CURSOR c IS"
 			" SELECT doc_count\n"
-			" FROM \"%s\"\n"
+			" FROM $table_name\n"
 			" WHERE word = :word "
 			" ORDER BY first_doc_id;\n"
 			"BEGIN\n"
@@ -4303,7 +4298,7 @@ fts_sync_begin(
 	n_nodes = 0;
 	elapsed_time = 0;
 
-	sync->start_time = ut_time();
+	sync->start_time = time(NULL);
 
 	sync->trx = trx_allocate_for_background();
 
@@ -4462,7 +4457,7 @@ fts_sync_commit(
 			"SYNC for table %s: SYNC time : %lu secs: "
 			"elapsed %lf ins/sec",
 			sync->table->name,
-			(ulong) (ut_time() - sync->start_time),
+			(ulong) (time(NULL) - sync->start_time),
 			(double) n_nodes/ (double) elapsed_time);
 	}
 
@@ -4995,6 +4990,7 @@ fts_get_rows_count(
 	que_t*		graph;
 	dberr_t		error;
 	ulint		count = 0;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	trx = trx_allocate_for_background();
 
@@ -5004,13 +5000,16 @@ fts_get_rows_count(
 
 	pars_info_bind_function(info, "my_func", fts_read_ulint, &count);
 
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
+
 	graph = fts_parse_sql(
 		fts_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
 		"DECLARE CURSOR c IS"
 		" SELECT COUNT(*) "
-		" FROM \"%s\";\n"
+		" FROM $table_name;\n"
 		"BEGIN\n"
 		"\n"
 		"OPEN c;\n"
@@ -6219,7 +6218,7 @@ fts_rename_one_aux_table_to_hex_format(
 {
 	const char*     ptr;
 	fts_table_t	fts_table;
-	char*		new_name;
+	char		new_name[MAX_FULL_NAME_LEN];
 	dberr_t		error;
 
 	ptr = strchr(aux_table->name, '/');
@@ -6260,12 +6259,11 @@ fts_rename_one_aux_table_to_hex_format(
 
 	ut_a(fts_table.suffix != NULL);
 
-	fts_table.parent = parent_table->name;
 	fts_table.table_id = aux_table->parent_id;
 	fts_table.index_id = aux_table->index_id;
 	fts_table.table = parent_table;
 
-	new_name = fts_get_table_name(&fts_table);
+	fts_get_table_name(&fts_table, new_name);
 	ut_ad(strcmp(new_name, aux_table->name) != 0);
 
 	if (trx_get_dict_operation(trx) == TRX_DICT_OP_NONE) {
@@ -6286,8 +6284,6 @@ fts_rename_one_aux_table_to_hex_format(
 			aux_table->name, new_name);
 	}
 
-	mem_free(new_name);
-
 	return (error);
 }
 
diff --git a/storage/xtradb/fts/fts0opt.cc b/storage/xtradb/fts/fts0opt.cc
index 28e704eb9..2f8739d3d 100644
--- a/storage/xtradb/fts/fts0opt.cc
+++ b/storage/xtradb/fts/fts0opt.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -43,6 +43,9 @@ Completed 2011/7/10 Sunny and Jimmy Yang
 /** The FTS optimize thread's work queue. */
 static ib_wqueue_t* fts_optimize_wq;
 
+/** The FTS vector to store fts_slot_t */
+static ib_vector_t*  fts_slots;
+
 /** Time to wait for a message. */
 static const ulint FTS_QUEUE_WAIT_IN_USECS = 5000000;
 
@@ -56,16 +59,7 @@ static bool fts_opt_start_shutdown = false;
 static const ulint FTS_WORD_NODES_INIT_SIZE = 64;
 
 /** Last time we did check whether system need a sync */
-static ib_time_t	last_check_sync_time;
-
-/** State of a table within the optimization sub system. */
-enum fts_state_t {
-	FTS_STATE_LOADED,
-	FTS_STATE_RUNNING,
-	FTS_STATE_SUSPENDED,
-	FTS_STATE_DONE,
-	FTS_STATE_EMPTY
-};
+static time_t	last_check_sync_time;
 
 /** FTS optimize thread message types. */
 enum fts_msg_type_t {
@@ -175,11 +169,11 @@ struct fts_encode_t {
 /** We use this information to determine when to start the optimize
 cycle for a table. */
 struct fts_slot_t {
-	dict_table_t*	table;		/*!< Table to optimize */
-
-	table_id_t	table_id;	/*!< Table id */
+	/** table identifier, or 0 if the slot is empty */
+	table_id_t	table_id;
 
-	fts_state_t	state;		/*!< State of this slot */
+	/** whether this slot is being processed */
+	bool		running;
 
 	ulint		added;		/*!< Number of doc ids added since the
 					last time this table was optimized */
@@ -187,12 +181,11 @@ struct fts_slot_t {
 	ulint		deleted;	/*!< Number of doc ids deleted since the
 					last time this table was optimized */
 
-	ib_time_t	last_run;	/*!< Time last run completed */
+	/** time(NULL) of completing fts_optimize_table_bk() */
+	time_t		last_run;
 
-	ib_time_t	completed;	/*!< Optimize finish time */
-
-	ib_time_t	interval_time;	/*!< Minimum time to wait before
-					optimizing the table again. */
+	/** time(NULL) of latest successful fts_optimize_table() */
+	time_t		completed;
 };
 
 /** A table remove message for the FTS optimize thread. */
@@ -229,30 +222,33 @@ UNIV_INTERN char	fts_enable_diag_print;
 /** ZLib compressed block size.*/
 static ulint FTS_ZIP_BLOCK_SIZE	= 1024;
 
-/** The amount of time optimizing in a single pass, in milliseconds. */
-static ib_time_t fts_optimize_time_limit = 0;
+/** The amount of time optimizing in a single pass, in seconds. */
+static ulint fts_optimize_time_limit;
+
+/** It's defined in fts0fts.cc  */
+extern const char* fts_common_tables[];
 
 /** SQL Statement for changing state of rows to be deleted from FTS Index. */
 static	const char* fts_init_delete_sql =
 	"BEGIN\n"
 	"\n"
-	"INSERT INTO \"%s_BEING_DELETED\"\n"
-		"SELECT doc_id FROM \"%s_DELETED\";\n"
+	"INSERT INTO $BEING_DELETED\n"
+		"SELECT doc_id FROM $DELETED;\n"
 	"\n"
-	"INSERT INTO \"%s_BEING_DELETED_CACHE\"\n"
-		"SELECT doc_id FROM \"%s_DELETED_CACHE\";\n";
+	"INSERT INTO $BEING_DELETED_CACHE\n"
+		"SELECT doc_id FROM $DELETED_CACHE;\n";
 
 static const char* fts_delete_doc_ids_sql =
 	"BEGIN\n"
 	"\n"
-	"DELETE FROM \"%s_DELETED\" WHERE doc_id = :doc_id1;\n"
-	"DELETE FROM \"%s_DELETED_CACHE\" WHERE doc_id = :doc_id2;\n";
+	"DELETE FROM $DELETED WHERE doc_id = :doc_id1;\n"
+	"DELETE FROM $DELETED_CACHE WHERE doc_id = :doc_id2;\n";
 
 static const char* fts_end_delete_sql =
 	"BEGIN\n"
 	"\n"
-	"DELETE FROM \"%s_BEING_DELETED\";\n"
-	"DELETE FROM \"%s_BEING_DELETED_CACHE\";\n";
+	"DELETE FROM $BEING_DELETED;\n"
+	"DELETE FROM $BEING_DELETED_CACHE;\n";
 
 /**********************************************************************//**
 Initialize fts_zip_t. */
@@ -483,21 +479,17 @@ fts_index_fetch_nodes(
 {
 	pars_info_t*	info;
 	dberr_t		error;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	trx->op_info = "fetching FTS index nodes";
 
 	if (*graph) {
 		info = (*graph)->info;
 	} else {
-		info = pars_info_create();
-	}
-
-	pars_info_bind_function(info, "my_func", fetch->read_record, fetch);
-	pars_info_bind_varchar_literal(info, "word", word->f_str, word->f_len);
-
-	if (!*graph) {
 		ulint	selected;
 
+		info = pars_info_create();
+
 		ut_a(fts_table->type == FTS_INDEX_TABLE);
 
 		selected = fts_select_index(fts_table->charset,
@@ -505,6 +497,16 @@ fts_index_fetch_nodes(
 
 		fts_table->suffix = fts_get_suffix(selected);
 
+		fts_get_table_name(fts_table, table_name);
+
+		pars_info_bind_id(info, true, "table_name", table_name);
+	}
+
+	pars_info_bind_function(info, "my_func", fetch->read_record, fetch);
+	pars_info_bind_varchar_literal(info, "word", word->f_str, word->f_len);
+
+	if (!*graph) {
+
 		*graph = fts_parse_sql(
 			fts_table,
 			info,
@@ -512,7 +514,7 @@ fts_index_fetch_nodes(
 			"DECLARE CURSOR c IS"
 			" SELECT word, doc_count, first_doc_id, last_doc_id, "
 				"ilist\n"
-			" FROM \"%s\"\n"
+			" FROM $table_name\n"
 			" WHERE word LIKE :word\n"
 			" ORDER BY first_doc_id;\n"
 			"BEGIN\n"
@@ -812,6 +814,8 @@ fts_index_fetch_words(
 	     fts_index_selector[selected].value;
 	     selected++) {
 
+		char	table_name[MAX_FULL_NAME_LEN];
+
 		optim->fts_index_table.suffix = fts_get_suffix(selected);
 
 		/* We've search all indexes. */
@@ -827,13 +831,16 @@ fts_index_fetch_words(
 		pars_info_bind_varchar_literal(
 			info, "word", word->f_str, word->f_len);
 
+		fts_get_table_name(&optim->fts_index_table, table_name);
+		pars_info_bind_id(info, true, "table_name", table_name);
+
 		graph = fts_parse_sql(
 			&optim->fts_index_table,
 			info,
 			"DECLARE FUNCTION my_func;\n"
 			"DECLARE CURSOR c IS"
 			" SELECT word\n"
-			" FROM \"%s\"\n"
+			" FROM $table_name\n"
 			" WHERE word > :word\n"
 			" ORDER BY word;\n"
 			"BEGIN\n"
@@ -975,6 +982,7 @@ fts_table_fetch_doc_ids(
 	que_t*		graph;
 	pars_info_t*	info = pars_info_create();
 	ibool		alloc_bk_trx = FALSE;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	ut_a(fts_table->suffix != NULL);
 	ut_a(fts_table->type == FTS_COMMON_TABLE);
@@ -988,12 +996,15 @@ fts_table_fetch_doc_ids(
 
 	pars_info_bind_function(info, "my_func", fts_fetch_doc_ids, doc_ids);
 
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
+
 	graph = fts_parse_sql(
 		fts_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
 		"DECLARE CURSOR c IS"
-		" SELECT doc_id FROM \"%s\";\n"
+		" SELECT doc_id FROM $table_name;\n"
 		"BEGIN\n"
 		"\n"
 		"OPEN c;\n"
@@ -1446,7 +1457,7 @@ fts_optimize_write_word(
 	que_t*		graph;
 	ulint		selected;
 	dberr_t		error = DB_SUCCESS;
-	char*		table_name = fts_get_table_name(fts_table);
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -1464,11 +1475,13 @@ fts_optimize_write_word(
 				    word->f_str, word->f_len);
 
 	fts_table->suffix = fts_get_suffix(selected);
+	fts_get_table_name(fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
 
 	graph = fts_parse_sql(
 		fts_table,
 		info,
-		"BEGIN DELETE FROM \"%s\" WHERE word = :word;");
+		"BEGIN DELETE FROM $table_name WHERE word = :word;");
 
 	error = fts_eval_sql(trx, graph);
 
@@ -1482,8 +1495,6 @@ fts_optimize_write_word(
 	fts_que_graph_free(graph);
 	graph = NULL;
 
-	mem_free(table_name);
-
 	/* Even if the operation needs to be rolled back and redone,
 	we iterate over the nodes in order to free the ilist. */
 	for (i = 0; i < ib_vector_size(nodes); ++i) {
@@ -1541,7 +1552,7 @@ fts_optimize_compact(
 /*=================*/
 	fts_optimize_t*	optim,		/*!< in: optimize state data */
 	dict_index_t*	index,		/*!< in: current FTS being optimized */
-	ib_time_t	start_time)	/*!< in: optimize start time */
+	time_t		start_time)	/*!< in: optimize start time */
 {
 	ulint		i;
 	dberr_t		error = DB_SUCCESS;
@@ -1574,8 +1585,11 @@ fts_optimize_compact(
 		/* Free the word that was optimized. */
 		fts_word_free(word);
 
+		ulint interval = ulint(time(NULL) - start_time);
+
 		if (fts_optimize_time_limit > 0
-		    && (ut_time() - start_time) > fts_optimize_time_limit) {
+		    && (lint(interval) < 0
+			|| interval > fts_optimize_time_limit)) {
 
 			optim->done = TRUE;
 		}
@@ -1609,12 +1623,10 @@ fts_optimize_create(
 
 	optim->trx = trx_allocate_for_background();
 
-	optim->fts_common_table.parent = table->name;
 	optim->fts_common_table.table_id = table->id;
 	optim->fts_common_table.type = FTS_COMMON_TABLE;
 	optim->fts_common_table.table = table;
 
-	optim->fts_index_table.parent = table->name;
 	optim->fts_index_table.table_id = table->id;
 	optim->fts_index_table.type = FTS_INDEX_TABLE;
 	optim->fts_index_table.table = table;
@@ -1636,7 +1648,7 @@ fts_optimize_get_index_start_time(
 /*==============================*/
 	trx_t*		trx,			/*!< in: transaction */
 	dict_index_t*	index,			/*!< in: FTS index */
-	ib_time_t*	start_time)		/*!< out: time in secs */
+	time_t*		start_time)		/*!< out: time in secs */
 {
 	return(fts_config_get_index_ulint(
 		       trx, index, FTS_OPTIMIZE_START_TIME,
@@ -1652,7 +1664,7 @@ fts_optimize_set_index_start_time(
 /*==============================*/
 	trx_t*		trx,			/*!< in: transaction */
 	dict_index_t*	index,			/*!< in: FTS index */
-	ib_time_t	start_time)		/*!< in: start time */
+	time_t		start_time)		/*!< in: start time */
 {
 	return(fts_config_set_index_ulint(
 		       trx, index, FTS_OPTIMIZE_START_TIME,
@@ -1668,7 +1680,7 @@ fts_optimize_get_index_end_time(
 /*============================*/
 	trx_t*		trx,			/*!< in: transaction */
 	dict_index_t*	index,			/*!< in: FTS index */
-	ib_time_t*	end_time)		/*!< out: time in secs */
+	time_t*		end_time)		/*!< out: time in secs */
 {
 	return(fts_config_get_index_ulint(
 		       trx, index, FTS_OPTIMIZE_END_TIME, (ulint*) end_time));
@@ -1683,7 +1695,7 @@ fts_optimize_set_index_end_time(
 /*============================*/
 	trx_t*		trx,			/*!< in: transaction */
 	dict_index_t*	index,			/*!< in: FTS index */
-	ib_time_t	end_time)		/*!< in: end time */
+	time_t		end_time)		/*!< in: end time */
 {
 	return(fts_config_set_index_ulint(
 		       trx, index, FTS_OPTIMIZE_END_TIME, (ulint) end_time));
@@ -1735,7 +1747,7 @@ fts_optimize_free(
 	fts_doc_ids_free(optim->to_delete);
 	fts_optimize_graph_free(&optim->graph);
 
-	mem_free(optim->name_prefix);
+	ut_free(optim->name_prefix);
 
 	/* This will free the heap from which optim itself was allocated. */
 	mem_heap_free(heap);
@@ -1745,22 +1757,23 @@ fts_optimize_free(
 Get the max time optimize should run in millisecs.
 @return max optimize time limit in millisecs. */
 static
-ib_time_t
+ulint
 fts_optimize_get_time_limit(
 /*========================*/
 	trx_t*		trx,			/*!< in: transaction */
 	fts_table_t*	fts_table)		/*!< in: aux table */
 {
-	ib_time_t	time_limit = 0;
+	ulint	time_limit = 0;
 
 	fts_config_get_ulint(
 		trx, fts_table,
-		FTS_OPTIMIZE_LIMIT_IN_SECS, (ulint*) &time_limit);
+		FTS_OPTIMIZE_LIMIT_IN_SECS, &time_limit);
 
+	/* FIXME: This is returning milliseconds, while the variable
+	is being stored and interpreted as seconds! */
 	return(time_limit * 1000);
 }
 
-
 /**********************************************************************//**
 Run OPTIMIZE on the given table. Note: this can take a very long time
 (hours). */
@@ -1773,7 +1786,6 @@ fts_optimize_words(
 	fts_string_t*	word)	/*!< in: the starting word to optimize */
 {
 	fts_fetch_t	fetch;
-	ib_time_t	start_time;
 	que_t*		graph = NULL;
 	CHARSET_INFO*	charset = optim->fts_index_table.charset;
 
@@ -1783,14 +1795,12 @@ fts_optimize_words(
 	fts_optimize_time_limit = fts_optimize_get_time_limit(
 		optim->trx, &optim->fts_common_table);
 
-	start_time = ut_time();
+	const time_t start_time = time(NULL);
 
 	/* Setup the callback to use for fetching the word ilist etc. */
 	fetch.read_arg = optim->words;
 	fetch.read_record = fts_optimize_index_fetch_node;
 
-	fprintf(stderr, "%.*s\n", (int) word->f_len, word->f_str);
-
 	while(!optim->done) {
 		dberr_t	error;
 		trx_t*	trx = optim->trx;
@@ -1908,7 +1918,7 @@ fts_optimize_index_completed(
 	dberr_t		error;
 	byte		buf[sizeof(ulint)];
 #ifdef FTS_OPTIMIZE_DEBUG
-	ib_time_t	end_time = ut_time();
+	time_t		end_time = time(NULL);
 
 	error = fts_optimize_set_index_end_time(optim->trx, index, end_time);
 #endif
@@ -2075,9 +2085,10 @@ fts_optimize_purge_deleted_doc_ids(
 	pars_info_t*	info;
 	que_t*		graph;
 	fts_update_t*	update;
-	char*		sql_str;
 	doc_id_t	write_doc_id;
 	dberr_t		error = DB_SUCCESS;
+	char		deleted[MAX_FULL_NAME_LEN];
+	char		deleted_cache[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -2094,14 +2105,17 @@ fts_optimize_purge_deleted_doc_ids(
 	fts_bind_doc_id(info, "doc_id1", &write_doc_id);
 	fts_bind_doc_id(info, "doc_id2", &write_doc_id);
 
-	/* Since we only replace the table_id and don't construct the full
-	name, we do substitution ourselves. Remember to free sql_str. */
-	sql_str = ut_strreplace(
-		fts_delete_doc_ids_sql, "%s", optim->name_prefix);
+	/* Make sure the following two names are consistent with the name
+	used in the fts_delete_doc_ids_sql */
+	optim->fts_common_table.suffix = fts_common_tables[3];
+	fts_get_table_name(&optim->fts_common_table, deleted);
+	pars_info_bind_id(info, true, fts_common_tables[3], deleted);
 
-	graph = fts_parse_sql(NULL, info, sql_str);
+	optim->fts_common_table.suffix = fts_common_tables[4];
+	fts_get_table_name(&optim->fts_common_table, deleted_cache);
+	pars_info_bind_id(info, true, fts_common_tables[4], deleted_cache);
 
-	mem_free(sql_str);
+	graph = fts_parse_sql(NULL, info, fts_delete_doc_ids_sql);
 
 	/* Delete the doc ids that were copied at the start. */
 	for (i = 0; i < ib_vector_size(optim->to_delete->doc_ids); ++i) {
@@ -2142,17 +2156,26 @@ fts_optimize_purge_deleted_doc_id_snapshot(
 {
 	dberr_t		error;
 	que_t*		graph;
-	char*		sql_str;
+	pars_info_t*	info;
+	char		being_deleted[MAX_FULL_NAME_LEN];
+	char		being_deleted_cache[MAX_FULL_NAME_LEN];
 
-	/* Since we only replace the table_id and don't construct
-	the full name, we do the '%s' substitution ourselves. */
-	sql_str = ut_strreplace(fts_end_delete_sql, "%s", optim->name_prefix);
+	info = pars_info_create();
+
+	/* Make sure the following two names are consistent with the name
+	used in the fts_end_delete_sql */
+	optim->fts_common_table.suffix = fts_common_tables[0];
+	fts_get_table_name(&optim->fts_common_table, being_deleted);
+	pars_info_bind_id(info, true, fts_common_tables[0], being_deleted);
+
+	optim->fts_common_table.suffix = fts_common_tables[1];
+	fts_get_table_name(&optim->fts_common_table, being_deleted_cache);
+	pars_info_bind_id(info, true, fts_common_tables[1],
+			  being_deleted_cache);
 
 	/* Delete the doc ids that were copied to delete pending state at
 	the start of optimize. */
-	graph = fts_parse_sql(NULL, NULL, sql_str);
-
-	mem_free(sql_str);
+	graph = fts_parse_sql(NULL, info, fts_end_delete_sql);
 
 	error = fts_eval_sql(optim->trx, graph);
 	fts_que_graph_free(graph);
@@ -2192,16 +2215,35 @@ fts_optimize_create_deleted_doc_id_snapshot(
 {
 	dberr_t		error;
 	que_t*		graph;
-	char*		sql_str;
+	pars_info_t*	info;
+	char		being_deleted[MAX_FULL_NAME_LEN];
+	char		deleted[MAX_FULL_NAME_LEN];
+	char		being_deleted_cache[MAX_FULL_NAME_LEN];
+	char		deleted_cache[MAX_FULL_NAME_LEN];
+
+	info = pars_info_create();
 
-	/* Since we only replace the table_id and don't construct the
-	full name, we do the substitution ourselves. */
-	sql_str = ut_strreplace(fts_init_delete_sql, "%s", optim->name_prefix);
+	/* Make sure the following four names are consistent with the name
+	used in the fts_init_delete_sql */
+	optim->fts_common_table.suffix = fts_common_tables[0];
+	fts_get_table_name(&optim->fts_common_table, being_deleted);
+	pars_info_bind_id(info, true, fts_common_tables[0], being_deleted);
 
-	/* Move doc_ids that are to be deleted to state being deleted. */
-	graph = fts_parse_sql(NULL, NULL, sql_str);
+	optim->fts_common_table.suffix = fts_common_tables[3];
+	fts_get_table_name(&optim->fts_common_table, deleted);
+	pars_info_bind_id(info, true, fts_common_tables[3], deleted);
 
-	mem_free(sql_str);
+	optim->fts_common_table.suffix = fts_common_tables[1];
+	fts_get_table_name(&optim->fts_common_table, being_deleted_cache);
+	pars_info_bind_id(info, true, fts_common_tables[1],
+			  being_deleted_cache);
+
+	optim->fts_common_table.suffix = fts_common_tables[4];
+	fts_get_table_name(&optim->fts_common_table, deleted_cache);
+	pars_info_bind_id(info, true, fts_common_tables[4], deleted_cache);
+
+	/* Move doc_ids that are to be deleted to state being deleted. */
+	graph = fts_parse_sql(NULL, info, fts_init_delete_sql);
 
 	error = fts_eval_sql(optim->trx, graph);
 
@@ -2274,8 +2316,8 @@ fts_optimize_indexes(
 		dict_index_t*	index;
 
 #ifdef	FTS_OPTIMIZE_DEBUG
-		ib_time_t	end_time;
-		ib_time_t	start_time;
+		time_t	end_time;
+		time_t	start_time;
 
 		/* Get the start and end optimize times for this index. */
 		error = fts_optimize_get_index_start_time(
@@ -2295,14 +2337,14 @@ fts_optimize_indexes(
 		/* Start time will be 0 only for the first time or after
 		completing the optimization of all FTS indexes. */
 		if (start_time == 0) {
-			start_time = ut_time();
+			start_time = time(NULL);
 
 			error = fts_optimize_set_index_start_time(
 				optim->trx, index, start_time);
 		}
 
 		/* Check if this index needs to be optimized or not. */
-		if (ut_difftime(end_time, start_time) < 0) {
+		if (difftime(end_time, start_time) < 0) {
 			error = fts_optimize_index(optim, index);
 
 			if (error != DB_SUCCESS) {
@@ -2374,7 +2416,7 @@ fts_optimize_reset_start_time(
 	for (uint i = 0; i < ib_vector_size(fts->indexes); ++i) {
 		dict_index_t*	index;
 
-		ib_time_t	start_time = 0;
+		time_t	start_time = 0;
 
 		/* Reset the start time to 0 for this index. */
 		error = fts_optimize_set_index_start_time(
@@ -2403,32 +2445,45 @@ fts_optimize_table_bk(
 /*==================*/
 	fts_slot_t*	slot)	/*!< in: table to optimiza */
 {
-	dberr_t		error;
-	dict_table_t*	table = slot->table;
-	fts_t*		fts = table->fts;
+	const time_t now = time(NULL);
+	const ulint interval = ulint(now - slot->last_run);
 
 	/* Avoid optimizing tables that were optimized recently. */
 	if (slot->last_run > 0
-	    && (ut_time() - slot->last_run) < slot->interval_time) {
+	    && lint(interval) >= 0
+	    && interval < FTS_OPTIMIZE_INTERVAL_IN_SECS) {
 
 		return(DB_SUCCESS);
+	}
+
+	dict_table_t* table = dict_table_open_on_id(
+		slot->table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
-	} else if (fts && fts->cache
-		   && fts->cache->deleted >= FTS_OPTIMIZE_THRESHOLD) {
+	if (!table) {
+		slot->last_run = now;
+		return DB_SUCCESS;
+	}
+
+	dberr_t		error;
 
+	if (fil_table_accessible(table)
+	    && table->fts && table->fts->cache
+	    && table->fts->cache->deleted >= FTS_OPTIMIZE_THRESHOLD) {
 		error = fts_optimize_table(table);
 
+		slot->last_run = time(NULL);
+
 		if (error == DB_SUCCESS) {
-			slot->state = FTS_STATE_DONE;
-			slot->last_run = 0;
-			slot->completed = ut_time();
+			slot->running = false;
+			slot->completed = slot->last_run;
 		}
 	} else {
+		/* Note time this run completed. */
+		slot->last_run = now;
 		error = DB_SUCCESS;
 	}
 
-	/* Note time this run completed. */
-	slot->last_run = ut_time();
+	dict_table_close(table, FALSE, FALSE);
 
 	return(error);
 }
@@ -2647,85 +2702,59 @@ fts_optimize_request_sync_table(
 	ib_wqueue_add(fts_optimize_wq, msg, msg->heap);
 }
 
-/**********************************************************************//**
-Add the table to the vector if it doesn't already exist. */
-static
-ibool
-fts_optimize_new_table(
-/*===================*/
-	ib_vector_t*	tables,			/*!< in/out: vector of tables */
-	dict_table_t*	table)			/*!< in: table to add */
+/** Add a table to fts_slots if it doesn't already exist. */
+static bool fts_optimize_new_table(dict_table_t* table)
 {
 	ulint		i;
 	fts_slot_t*	slot;
-	ulint		empty_slot = ULINT_UNDEFINED;
+	fts_slot_t*	empty = NULL;
+	const table_id_t table_id = table->id;
+	ut_ad(table_id);
 
 	/* Search for duplicates, also find a free slot if one exists. */
-	for (i = 0; i < ib_vector_size(tables); ++i) {
+	for (i = 0; i < ib_vector_size(fts_slots); ++i) {
 
-		slot = static_cast(
-			ib_vector_get(tables, i));
+		slot = static_cast(ib_vector_get(fts_slots, i));
 
-		if (slot->state == FTS_STATE_EMPTY) {
-			empty_slot = i;
-		} else if (slot->table->id == table->id) {
+		if (!slot->table_id) {
+			empty = slot;
+		} else if (slot->table_id == table_id) {
 			/* Already exists in our optimize queue. */
-			ut_ad(slot->table_id = table->id);
 			return(FALSE);
 		}
 	}
 
-	/* Reuse old slot. */
-	if (empty_slot != ULINT_UNDEFINED) {
-
-		slot = static_cast(
-			ib_vector_get(tables, empty_slot));
-
-		ut_a(slot->state == FTS_STATE_EMPTY);
-
-	} else { /* Create a new slot. */
-
-		slot = static_cast(ib_vector_push(tables, NULL));
-	}
+	slot = empty ? empty : static_cast(
+		ib_vector_push(fts_slots, NULL));
 
 	memset(slot, 0x0, sizeof(*slot));
 
-	slot->table = table;
 	slot->table_id = table->id;
-	slot->state = FTS_STATE_LOADED;
-	slot->interval_time = FTS_OPTIMIZE_INTERVAL_IN_SECS;
+	slot->running = false;
 
 	return(TRUE);
 }
 
-/**********************************************************************//**
-Remove the table from the vector if it exists. */
-static
-ibool
-fts_optimize_del_table(
-/*===================*/
-	ib_vector_t*	tables,			/*!< in/out: vector of tables */
-	fts_msg_del_t*	msg)			/*!< in: table to delete */
+/** Remove a table from fts_slots if it exists.
+@param[in,out]	table	table to be removed from fts_slots */
+static bool fts_optimize_del_table(const dict_table_t* table)
 {
-	ulint		i;
-	dict_table_t*	table = msg->table;
+	const table_id_t table_id = table->id;
+	ut_ad(table_id);
 
-	for (i = 0; i < ib_vector_size(tables); ++i) {
+	for (ulint i = 0; i < ib_vector_size(fts_slots); ++i) {
 		fts_slot_t*	slot;
 
-		slot = static_cast(ib_vector_get(tables, i));
+		slot = static_cast(ib_vector_get(fts_slots, i));
 
-		/* FIXME: Should we assert on this ? */
-		if (slot->state != FTS_STATE_EMPTY
-		    && slot->table->id == table->id) {
-
-			ut_print_timestamp(stderr);
-			fprintf(stderr, " InnoDB: FTS Optimize Removing "
-				"table %s\n", table->name);
-
-			slot->table = NULL;
-			slot->state = FTS_STATE_EMPTY;
+		if (slot->table_id == table_id) {
+			if (fts_enable_diag_print) {
+				ib_logf(IB_LOG_LEVEL_INFO,
+					"FTS Optimize Removing table %s",
+					table->name);
+			}
 
+			slot->table_id = 0;
 			return(TRUE);
 		}
 	}
@@ -2734,58 +2763,28 @@ fts_optimize_del_table(
 }
 
 /**********************************************************************//**
-Calculate how many of the registered tables need to be optimized.
+Calculate how many tables in fts_slots need to be optimized.
 @return no. of tables to optimize */
-static
-ulint
-fts_optimize_how_many(
-/*==================*/
-	const ib_vector_t*	tables)		/*!< in: registered tables
-						vector*/
+static ulint fts_optimize_how_many()
 {
-	ulint		i;
-	ib_time_t	delta;
-	ulint		n_tables = 0;
-	ib_time_t	current_time;
-
-	current_time = ut_time();
-
-	for (i = 0; i < ib_vector_size(tables); ++i) {
-		const fts_slot_t*	slot;
-
-		slot = static_cast(
-			ib_vector_get_const(tables, i));
-
-		switch (slot->state) {
-		case FTS_STATE_DONE:
-		case FTS_STATE_LOADED:
-			ut_a(slot->completed <= current_time);
+	ulint n_tables = 0;
+	const time_t current_time = time(NULL);
 
-			delta = current_time - slot->completed;
-
-			/* Skip slots that have been optimized recently. */
-			if (delta >= slot->interval_time) {
-				++n_tables;
-			}
-			break;
-
-		case FTS_STATE_RUNNING:
-			ut_a(slot->last_run <= current_time);
+	for (ulint i = 0; i < ib_vector_size(fts_slots); ++i) {
+		const fts_slot_t* slot = static_cast(
+			ib_vector_get_const(fts_slots, i));
+		if (slot->table_id == 0) {
+			continue;
+		}
 
-			delta = current_time - slot->last_run;
+		const time_t end = slot->running
+			? slot->last_run : slot->completed;
+		ulint interval = ulint(current_time - end);
 
-			if (delta > slot->interval_time) {
-				++n_tables;
-			}
-			break;
-
-			/* Slots in a state other than the above
-			are ignored. */
-		case FTS_STATE_EMPTY:
-		case FTS_STATE_SUSPENDED:
-			break;
+		if (lint(interval) < 0
+		    || interval >= FTS_OPTIMIZE_INTERVAL_IN_SECS) {
+			++n_tables;
 		}
-
 	}
 
 	return(n_tables);
@@ -2794,33 +2793,38 @@ fts_optimize_how_many(
 /**********************************************************************//**
 Check if the total memory used by all FTS table exceeds the maximum limit.
 @return true if a sync is needed, false otherwise */
-static
-bool
-fts_is_sync_needed(
-/*===============*/
-	const ib_vector_t*	tables)		/*!< in: registered tables
-						vector*/
+static bool fts_is_sync_needed()
 {
 	ulint		total_memory = 0;
-	double		time_diff = difftime(ut_time(), last_check_sync_time);
+	const time_t	now = time(NULL);
+	double		time_diff = difftime(now, last_check_sync_time);
 
-	if (fts_need_sync || time_diff < 5) {
+	if (fts_need_sync || (time_diff >= 0 && time_diff < 5)) {
 		return(false);
 	}
 
-	last_check_sync_time = ut_time();
+	last_check_sync_time = now;
+
+	for (ulint i = 0; i < ib_vector_size(fts_slots); ++i) {
+		const fts_slot_t* slot = static_cast(
+			ib_vector_get_const(fts_slots, i));
 
-	for (ulint i = 0; i < ib_vector_size(tables); ++i) {
-		const fts_slot_t*	slot;
+		if (slot->table_id == 0) {
+			continue;
+		}
 
-		slot = static_cast(
-			ib_vector_get_const(tables, i));
+		dict_table_t* table = dict_table_open_on_id(
+			slot->table_id, FALSE, DICT_TABLE_OP_NORMAL);
+		if (!table) {
+			continue;
+		}
 
-		if (slot->state != FTS_STATE_EMPTY && slot->table
-		    && slot->table->fts) {
-			total_memory += slot->table->fts->cache->total_size;
+		if (table->fts && table->fts->cache) {
+			total_memory += table->fts->cache->total_size;
 		}
 
+		dict_table_close(table, FALSE, FALSE);
+
 		if (total_memory > fts_max_total_cache_size) {
 			return(true);
 		}
@@ -2831,16 +2835,12 @@ fts_is_sync_needed(
 
 /** Sync fts cache of a table
 @param[in]	table_id	table id */
-void
-fts_optimize_sync_table(
-	table_id_t	table_id)
+static void fts_optimize_sync_table(table_id_t table_id)
 {
-	dict_table_t*   table = NULL;
-
-	table = dict_table_open_on_id(table_id, FALSE, DICT_TABLE_OP_NORMAL);
-
-	if (table) {
-		if (dict_table_has_fts_index(table) && table->fts->cache) {
+	if (dict_table_t* table = dict_table_open_on_id(
+		    table_id, FALSE, DICT_TABLE_OP_NORMAL)) {
+		if (fil_table_accessible(table)
+		    && table->fts && table->fts->cache) {
 			fts_sync_table(table, true, false, false);
 		}
 
@@ -2858,7 +2858,6 @@ fts_optimize_thread(
 	void*		arg)			/*!< in: work queue*/
 {
 	mem_heap_t*	heap;
-	ib_vector_t*	tables;
 	ib_alloc_t*	heap_alloc;
 	ulint		current = 0;
 	ibool		done = FALSE;
@@ -2873,7 +2872,7 @@ fts_optimize_thread(
 	heap = mem_heap_create(sizeof(dict_table_t*) * 64);
 	heap_alloc = ib_heap_allocator_create(heap);
 
-	tables = ib_vector_create(heap_alloc, sizeof(fts_slot_t), 4);
+	fts_slots = ib_vector_create(heap_alloc, sizeof(fts_slot_t), 4);
 
 	while(!done && srv_shutdown_state == SRV_SHUTDOWN_NONE) {
 
@@ -2884,28 +2883,18 @@ fts_optimize_thread(
 		    && ib_wqueue_is_empty(wq)
 		    && n_tables > 0
 		    && n_optimize > 0) {
-
-			fts_slot_t*	slot;
-
-			ut_a(ib_vector_size(tables) > 0);
-
-			slot = static_cast(
-				ib_vector_get(tables, current));
+			fts_slot_t* slot = static_cast(
+				ib_vector_get(fts_slots, current));
 
 			/* Handle the case of empty slots. */
-			if (slot->state != FTS_STATE_EMPTY) {
-
-				slot->state = FTS_STATE_RUNNING;
-
+			if (slot->table_id) {
+				slot->running = true;
 				fts_optimize_table_bk(slot);
 			}
 
-			++current;
-
 			/* Wrap around the counter. */
-			if (current >= ib_vector_size(tables)) {
-				n_optimize = fts_optimize_how_many(tables);
-
+			if (++current >= ib_vector_size(fts_slots)) {
+				n_optimize = fts_optimize_how_many();
 				current = 0;
 			}
 
@@ -2917,7 +2906,7 @@ fts_optimize_thread(
 
 			/* Timeout ? */
 			if (msg == NULL) {
-				if (fts_is_sync_needed(tables)) {
+				if (fts_is_sync_needed()) {
 					fts_need_sync = true;
 				}
 
@@ -2933,17 +2922,16 @@ fts_optimize_thread(
 			case FTS_MSG_ADD_TABLE:
 				ut_a(!done);
 				if (fts_optimize_new_table(
-					tables,
-					static_cast(
-					msg->ptr))) {
+					    static_cast(
+						    msg->ptr))) {
 					++n_tables;
 				}
 				break;
 
 			case FTS_MSG_DEL_TABLE:
 				if (fts_optimize_del_table(
-					tables, static_cast(
-						msg->ptr))) {
+					    static_cast(
+						    msg->ptr)->table)) {
 					--n_tables;
 				}
 
@@ -2967,33 +2955,25 @@ fts_optimize_thread(
 			}
 
 			mem_heap_free(msg->heap);
-
-			if (!done) {
-				n_optimize = fts_optimize_how_many(tables);
-			} else {
-				n_optimize = 0;
-			}
+			n_optimize = done ? 0 : fts_optimize_how_many();
 		}
 	}
 
 	/* Server is being shutdown, sync the data from FTS cache to disk
 	if needed */
 	if (n_tables > 0) {
-		ulint	i;
-
-		for (i = 0; i < ib_vector_size(tables); i++) {
-			fts_slot_t*	slot;
-
-			slot = static_cast(
-				ib_vector_get(tables, i));
+		for (ulint i = 0; i < ib_vector_size(fts_slots); i++) {
+			fts_slot_t* slot = static_cast(
+				ib_vector_get(fts_slots, i));
 
-			if (slot->state != FTS_STATE_EMPTY) {
-				fts_optimize_sync_table(slot->table_id);
+			if (table_id_t table_id = slot->table_id) {
+				fts_optimize_sync_table(table_id);
 			}
 		}
 	}
 
-	ib_vector_free(tables);
+	ib_vector_free(fts_slots);
+	fts_slots = NULL;
 
 	ib_logf(IB_LOG_LEVEL_INFO, "FTS optimize thread exiting.");
 
@@ -3021,7 +3001,7 @@ fts_optimize_init(void)
 
 	fts_optimize_wq = ib_wqueue_create();
 	ut_a(fts_optimize_wq != NULL);
-	last_check_sync_time = ut_time();
+	last_check_sync_time = time(NULL);
 
 	os_thread_create(fts_optimize_thread, fts_optimize_wq, NULL);
 }
diff --git a/storage/xtradb/fts/fts0pars.y b/storage/xtradb/fts/fts0pars.y
index 65c4189ee..31895e8a8 100644
--- a/storage/xtradb/fts/fts0pars.y
+++ b/storage/xtradb/fts/fts0pars.y
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/fts/fts0que.cc b/storage/xtradb/fts/fts0que.cc
index b9ad43c62..8fce8efac 100644
--- a/storage/xtradb/fts/fts0que.cc
+++ b/storage/xtradb/fts/fts0que.cc
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2018, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -2052,13 +2052,22 @@ fts_query_find_term(
 	fts_select_t		select;
 	doc_id_t		match_doc_id;
 	trx_t*			trx = query->trx;
+	char			table_name[MAX_FULL_NAME_LEN];
 
 	trx->op_info = "fetching FTS index matching nodes";
 
 	if (*graph) {
 		info = (*graph)->info;
 	} else {
+		ulint	selected;
+
 		info = pars_info_create();
+
+		selected = fts_select_index(*word->f_str);
+		query->fts_index_table.suffix = fts_get_suffix(selected);
+
+		fts_get_table_name(&query->fts_index_table, table_name);
+		pars_info_bind_id(info, true, "index_table_name", table_name);
 	}
 
 	select.found = FALSE;
@@ -2077,11 +2086,6 @@ fts_query_find_term(
 	fts_bind_doc_id(info, "max_doc_id", &match_doc_id);
 
 	if (!*graph) {
-		ulint		selected;
-
-		selected = fts_select_index(*word->f_str);
-
-		query->fts_index_table.suffix = fts_get_suffix(selected);
 
 		*graph = fts_parse_sql(
 			&query->fts_index_table,
@@ -2089,7 +2093,7 @@ fts_query_find_term(
 			"DECLARE FUNCTION my_func;\n"
 			"DECLARE CURSOR c IS"
 			" SELECT doc_count, ilist\n"
-			" FROM \"%s\"\n"
+			" FROM $index_table_name\n"
 			" WHERE word LIKE :word AND "
 			"	first_doc_id <= :min_doc_id AND "
 			"	last_doc_id >= :max_doc_id\n"
@@ -2188,6 +2192,7 @@ fts_query_total_docs_containing_term(
 	que_t*			graph;
 	ulint			selected;
 	trx_t*			trx = query->trx;
+	char			table_name[MAX_FULL_NAME_LEN]
 
 	trx->op_info = "fetching FTS index document count";
 
@@ -2202,13 +2207,17 @@ fts_query_total_docs_containing_term(
 
 	query->fts_index_table.suffix = fts_get_suffix(selected);
 
+	fts_get_table_name(&query->fts_index_table, table_name);
+
+	pars_info_bind_id(info, true, "index_table_name", table_name);
+
 	graph = fts_parse_sql(
 		&query->fts_index_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
 		"DECLARE CURSOR c IS"
 		" SELECT doc_count\n"
-		" FROM %s\n"
+		" FROM $index_table_name\n"
 		" WHERE word = :word "
 		" ORDER BY first_doc_id;\n"
 		"BEGIN\n"
@@ -2267,6 +2276,7 @@ fts_query_terms_in_document(
 	que_t*		graph;
 	doc_id_t	read_doc_id;
 	trx_t*		trx = query->trx;
+	char		table_name[MAX_FULL_NAME_LEN];
 
 	trx->op_info = "fetching FTS document term count";
 
@@ -2282,13 +2292,17 @@ fts_query_terms_in_document(
 
 	query->fts_index_table.suffix = "DOC_ID";
 
+	fts_get_table_name(&query->fts_index_table, table_name);
+
+	pars_info_bind_id(info, true, "index_table_name", table_name);
+
 	graph = fts_parse_sql(
 		&query->fts_index_table,
 		info,
 		"DECLARE FUNCTION my_func;\n"
 		"DECLARE CURSOR c IS"
 		" SELECT count\n"
-		" FROM \"%s\"\n"
+		" FROM $index_table_name\n"
 		" WHERE doc_id = :doc_id "
 		"BEGIN\n"
 		"\n"
@@ -3891,7 +3905,6 @@ fts_query(
 
 	query.fts_common_table.type = FTS_COMMON_TABLE;
 	query.fts_common_table.table_id = index->table->id;
-	query.fts_common_table.parent = index->table->name;
 	query.fts_common_table.table = index->table;
 
 	charset = fts_index_get_charset(index);
@@ -3899,7 +3912,6 @@ fts_query(
 	query.fts_index_table.type = FTS_INDEX_TABLE;
 	query.fts_index_table.index_id = index->id;
 	query.fts_index_table.table_id = index->table->id;
-	query.fts_index_table.parent = index->table->name;
 	query.fts_index_table.charset = charset;
 	query.fts_index_table.table = index->table;
 
diff --git a/storage/xtradb/fts/fts0sql.cc b/storage/xtradb/fts/fts0sql.cc
index cb8eff3ca..258164415 100644
--- a/storage/xtradb/fts/fts0sql.cc
+++ b/storage/xtradb/fts/fts0sql.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2013, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -35,8 +36,7 @@ Created 2007-03-27 Sunny Bains
 #include "fts0vlc.ic"
 #endif
 
-/** SQL statements for creating the ancillary FTS tables. %s must be replaced
-with the indexed table's id. */
+/** SQL statements for creating the ancillary FTS tables. */
 
 /** Preamble to all SQL statements. */
 static const char* fts_sql_begin=
@@ -95,76 +95,56 @@ fts_get_table_id(
 	return(len);
 }
 
-/******************************************************************//**
-Construct the prefix name of an FTS table.
-@return own: table name, must be freed with mem_free() */
-UNIV_INTERN
-char*
-fts_get_table_name_prefix(
-/*======================*/
-	const fts_table_t*
-			fts_table)	/*!< in: Auxiliary table type */
+/** Construct the name of an internal FTS table for the given table.
+@param[in]	fts_table	metadata on fulltext-indexed table
+@param[in]	dict_locked	whether dict_sys->mutex is being held
+@return	the prefix, must be freed with ut_free() */
+UNIV_INTERN char* fts_get_table_name_prefix(const fts_table_t* fts_table)
 {
-	int		len;
-	const char*	slash;
-	char*		prefix_name;
-	int		dbname_len = 0;
-	int		prefix_name_len;
 	char		table_id[FTS_AUX_MIN_TABLE_ID_LENGTH];
-
-	slash = static_cast(
-		memchr(fts_table->parent, '/', strlen(fts_table->parent)));
-
-	if (slash) {
-		/* Print up to and including the separator. */
-		dbname_len = static_cast(slash - fts_table->parent) + 1;
-	}
-
-	len = fts_get_table_id(fts_table, table_id);
-
-	prefix_name_len = dbname_len + 4 + len + 1;
-
-	prefix_name = static_cast(mem_alloc(prefix_name_len));
-
-	len = sprintf(prefix_name, "%.*sFTS_%s",
-		      dbname_len, fts_table->parent, table_id);
-
-	ut_a(len > 0);
-	ut_a(len == prefix_name_len - 1);
-
-	return(prefix_name);
+	const size_t table_id_len = size_t(fts_get_table_id(fts_table,
+							    table_id)) + 1;
+	mutex_enter(&dict_sys->mutex);
+	const char* slash = strchr(fts_table->table->name, '/');
+	ut_ad(slash);
+	/* Include the separator as well. */
+	const size_t dbname_len = (slash - fts_table->table->name) + 1;
+	ut_ad(dbname_len > 1);
+	const size_t prefix_name_len = dbname_len + 4 + table_id_len;
+	char* prefix_name = static_cast(ut_malloc(prefix_name_len));
+	memcpy(prefix_name, fts_table->table->name, dbname_len);
+	mutex_exit(&dict_sys->mutex);
+	memcpy(prefix_name + dbname_len, "FTS_", 4);
+	memcpy(prefix_name + dbname_len + 4, table_id, table_id_len);
+	return prefix_name;
 }
 
-/******************************************************************//**
-Construct the name of an ancillary FTS table.
-@return own: table name, must be freed with mem_free() */
+/** Construct the name of an internal FTS table for the given table.
+@param[in]	fts_table	metadata on fulltext-indexed table
+@param[out]	table_name	a name up to MAX_FULL_NAME_LEN
+@param[in]	dict_locked	whether dict_sys->mutex is being held */
 UNIV_INTERN
-char*
-fts_get_table_name(
-/*===============*/
-	const fts_table_t*	fts_table)
-					/*!< in: Auxiliary table type */
+void fts_get_table_name(const fts_table_t* fts_table, char* table_name,
+			bool dict_locked)
 {
-	int		len;
-	char*		name;
-	int		name_len;
-	char*		prefix_name;
-
-	prefix_name = fts_get_table_name_prefix(fts_table);
-
-	name_len = static_cast(
-		strlen(prefix_name) + 1 + strlen(fts_table->suffix) + 1);
-
-	name = static_cast(mem_alloc(name_len));
-
-	len = sprintf(name, "%s_%s", prefix_name, fts_table->suffix);
-
-	ut_a(len > 0);
-	ut_a(len == name_len - 1);
-
-	mem_free(prefix_name);
-
-	return(name);
+	if (!dict_locked) {
+		mutex_enter(&dict_sys->mutex);
+	}
+	ut_ad(mutex_own(&dict_sys->mutex));
+	const char* slash = strchr(fts_table->table->name, '/');
+	ut_ad(slash);
+	/* Include the separator as well. */
+	const size_t dbname_len = (slash - fts_table->table->name) + 1;
+	ut_ad(dbname_len > 1);
+	memcpy(table_name, fts_table->table->name, dbname_len);
+	if (!dict_locked) {
+		mutex_exit(&dict_sys->mutex);
+	}
+	memcpy(table_name += dbname_len, "FTS_", 4);
+	table_name += 4;
+	table_name += fts_get_table_id(fts_table, table_name);
+	*table_name++ = '_';
+	strcpy(table_name, fts_table->suffix);
 }
 
 /******************************************************************//**
@@ -180,24 +160,9 @@ fts_parse_sql(
 {
 	char*		str;
 	que_t*		graph;
-	char*		str_tmp;
 	ibool		dict_locked;
 
-	if (fts_table != NULL) {
-		char*	table_name;
-
-		table_name = fts_get_table_name(fts_table);
-		str_tmp = ut_strreplace(sql, "%s", table_name);
-		mem_free(table_name);
-	} else {
-		ulint	sql_len = strlen(sql) + 1;
-
-		str_tmp = static_cast(mem_alloc(sql_len));
-		strcpy(str_tmp, sql);
-	}
-
-	str = ut_str3cat(fts_sql_begin, str_tmp, fts_sql_end);
-	mem_free(str_tmp);
+	str = ut_str3cat(fts_sql_begin, sql, fts_sql_end);
 
 	dict_locked = (fts_table && fts_table->table->fts
 		       && (fts_table->table->fts->fts_status
@@ -223,7 +188,7 @@ fts_parse_sql(
 }
 
 /******************************************************************//**
-Parse an SQL string. %s is replaced with the table's id.
+Parse an SQL string.
 @return query graph */
 UNIV_INTERN
 que_t*
@@ -235,28 +200,10 @@ fts_parse_sql_no_dict_lock(
 {
 	char*		str;
 	que_t*		graph;
-	char*		str_tmp = NULL;
 
-#ifdef UNIV_DEBUG
 	ut_ad(mutex_own(&dict_sys->mutex));
-#endif
-
-	if (fts_table != NULL) {
-		char*		table_name;
-
-		table_name = fts_get_table_name(fts_table);
-		str_tmp = ut_strreplace(sql, "%s", table_name);
-		mem_free(table_name);
-	}
-
-	if (str_tmp != NULL) {
-		str = ut_str3cat(fts_sql_begin, str_tmp, fts_sql_end);
-		mem_free(str_tmp);
-	} else {
-		str = ut_str3cat(fts_sql_begin, sql, fts_sql_end);
-	}
 
-	//fprintf(stderr, "%s\n", str);
+	str = ut_str3cat(fts_sql_begin, sql, fts_sql_end);
 
 	graph = pars_sql(info, str);
 	ut_a(graph);
diff --git a/storage/xtradb/fts/fts0tlex.cc b/storage/xtradb/fts/fts0tlex.cc
index 73c34a607..9cb46c70e 100644
--- a/storage/xtradb/fts/fts0tlex.cc
+++ b/storage/xtradb/fts/fts0tlex.cc
@@ -649,7 +649,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**
diff --git a/storage/xtradb/fts/fts0tlex.l b/storage/xtradb/fts/fts0tlex.l
index 4f55a83af..bcf5439ae 100644
--- a/storage/xtradb/fts/fts0tlex.l
+++ b/storage/xtradb/fts/fts0tlex.l
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/fts/make_parser.sh b/storage/xtradb/fts/make_parser.sh
index 52b63eff6..6b82c5ba6 100755
--- a/storage/xtradb/fts/make_parser.sh
+++ b/storage/xtradb/fts/make_parser.sh
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License along with
 # this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 
 TMPF=t.$$
diff --git a/storage/xtradb/fut/fut0fut.cc b/storage/xtradb/fut/fut0fut.cc
index 9bb1c5121..74814acbb 100644
--- a/storage/xtradb/fut/fut0fut.cc
+++ b/storage/xtradb/fut/fut0fut.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/fut/fut0lst.cc b/storage/xtradb/fut/fut0lst.cc
index dd3fa1238..76cf3cadd 100644
--- a/storage/xtradb/fut/fut0lst.cc
+++ b/storage/xtradb/fut/fut0lst.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ha/ha0ha.cc b/storage/xtradb/ha/ha0ha.cc
index 3674260f1..259925a40 100644
--- a/storage/xtradb/ha/ha0ha.cc
+++ b/storage/xtradb/ha/ha0ha.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ha/ha0storage.cc b/storage/xtradb/ha/ha0storage.cc
index 6820591f3..2a8ee8b24 100644
--- a/storage/xtradb/ha/ha0storage.cc
+++ b/storage/xtradb/ha/ha0storage.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ha/hash0hash.cc b/storage/xtradb/ha/hash0hash.cc
index 6f5b98e5e..acb81623a 100644
--- a/storage/xtradb/ha/hash0hash.cc
+++ b/storage/xtradb/ha/hash0hash.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc
index 583ee3b54..5e7482ff6 100644
--- a/storage/xtradb/handler/ha_innodb.cc
+++ b/storage/xtradb/handler/ha_innodb.cc
@@ -30,7 +30,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -92,7 +92,6 @@ this program; if not, write to the Free Software Foundation, Inc.,
 #include "dict0stats_bg.h"
 #include "ha_prototypes.h"
 #include "ut0mem.h"
-#include "ut0timer.h"
 #include "ibuf0ibuf.h"
 #include "dict0dict.h"
 #include "srv0mon.h"
@@ -961,20 +960,6 @@ innodb_empty_free_list_algorithm_allowed(
 			|| algorithm != SRV_EMPTY_FREE_LIST_BACKOFF);
 }
 
-/** Get the list of foreign keys referencing a specified table
-table.
-@param thd		The thread handle
-@param path		Path to the table
-@param f_key_list[out]	The list of foreign keys
-
-@return error code or zero for success */
-static
-int
-innobase_get_parent_fk_list(
-	THD*			thd,
-	const char*		path,
-	List*	f_key_list) __attribute__((unused));
-
 /******************************************************************//**
 Maps a MySQL trx isolation level code to the InnoDB isolation level code
 @return	InnoDB isolation level */
@@ -1962,13 +1947,14 @@ innobase_srv_conc_enter_innodb(
 
 		} else if (trx->mysql_thd != NULL
 			   && thd_is_replication_slave_thread(trx->mysql_thd)) {
-
-			UT_WAIT_FOR(
-				srv_conc_get_active_threads()
-				< srv_thread_concurrency,
-				srv_replication_delay * 1000);
-
-		}  else {
+			const ulonglong end = my_interval_timer()
+				+ ulonglong(srv_replication_delay) * 1000000;
+			while (srv_conc_get_active_threads()
+			       >= srv_thread_concurrency
+			       || my_interval_timer() >= end) {
+				os_thread_sleep(2000 /* 2 ms */);
+			}
+		} else {
 			srv_conc_enter_innodb(trx);
 		}
 	}
@@ -4590,14 +4576,6 @@ innobase_init(
 	/* Turn on monitor counters that are default on */
 	srv_mon_default_on();
 
-#ifndef UNIV_HOTBACKUP
-#ifdef _WIN32
-	if (ut_win_init_time()) {
-		goto mem_free_and_error;
-	}
-#endif /* _WIN32 */
-#endif /* !UNIV_HOTBACKUP */
-
 	DBUG_RETURN(FALSE);
 error:
 	DBUG_RETURN(TRUE);
@@ -13233,11 +13211,12 @@ ha_innobase::delete_table(
 	++trx->will_lock;
 	trx->ddl = true;
 
+	const int sqlcom = thd_sql_command(thd);
+
 	/* Drop the table in InnoDB */
 	err = row_drop_table_for_mysql(
-		norm_name, trx, thd_sql_command(thd) == SQLCOM_DROP_DB,
-		FALSE);
-
+		norm_name, trx, sqlcom == SQLCOM_DROP_DB,
+		sqlcom == SQLCOM_CREATE_TABLE /* CREATE TABLE ... SELECT */);
 
 	if (err == DB_TABLE_NOT_FOUND
 	    && innobase_get_lower_case_table_names() == 1) {
@@ -13267,8 +13246,9 @@ ha_innobase::delete_table(
 #endif
 			err = row_drop_table_for_mysql(
 				par_case_name, trx,
-				thd_sql_command(thd) == SQLCOM_DROP_DB,
-				FALSE);
+				sqlcom == SQLCOM_DROP_DB,
+				sqlcom == SQLCOM_CREATE_TABLE
+				/* CREATE TABLE ... SELECT */);
 		}
 	}
 
@@ -14121,7 +14101,7 @@ innodb_rec_per_key(
 		}
 
 		/* If the number of NULL values is the same as or
-		large than that of the distinct values, we could
+		larger than that of the distinct values, we could
 		consider that the table consists mostly of NULL value.
 		Set rec_per_key to 1. */
 		if (n_diff <= n_null) {
@@ -15084,6 +15064,10 @@ get_foreign_key_info(
 	LEX_STRING*		referenced_key_name;
 	LEX_STRING*		name = NULL;
 
+	if (row_is_mysql_tmp_table_name(foreign->foreign_table_name)) {
+		return NULL;
+	}
+
 	ptr = dict_remove_db_name(foreign->id);
 	f_key_info.foreign_id = thd_make_lex_string(thd, 0, ptr,
 						    (uint) strlen(ptr), 1);
@@ -15198,49 +15182,6 @@ fill_foreign_key_list(THD* thd,
 	}
 }
 
-/** Get the list of foreign keys referencing a specified table
-table.
-@param thd		The thread handle
-@param path		Path to the table
-@param f_key_list[out]	The list of foreign keys
-
-@return error code or zero for success */
-static
-int
-innobase_get_parent_fk_list(
-	THD*			thd,
-	const char*		path,
-	List*	f_key_list)
-{
-	ut_a(strlen(path) <= FN_REFLEN);
-	char	norm_name[FN_REFLEN + 1];
-	normalize_table_name(norm_name, path);
-
-	trx_t*	parent_trx = check_trx_exists(thd);
-	parent_trx->op_info = "getting list of referencing foreign keys";
-	trx_search_latch_release_if_reserved(parent_trx);
-
-	mutex_enter(&dict_sys->mutex);
-
-	dict_table_t*	table
-		= dict_table_open_on_name(norm_name, TRUE, FALSE,
-					  static_cast(
-						  DICT_ERR_IGNORE_INDEX_ROOT
-						  | DICT_ERR_IGNORE_CORRUPT));
-	if (!table) {
-		mutex_exit(&dict_sys->mutex);
-		return(HA_ERR_NO_SUCH_TABLE);
-	}
-
-	fill_foreign_key_list(thd, table, f_key_list);
-
-	dict_table_close(table, TRUE, FALSE);
-
-	mutex_exit(&dict_sys->mutex);
-	parent_trx->op_info = "";
-	return(0);
-}
-
 /*******************************************************************//**
 Gets the list of foreign keys in this table.
 @return always 0, that is, always succeeds */
@@ -17892,98 +17833,36 @@ innodb_stopword_table_validate(
 	return(ret);
 }
 
-/*************************************************************//**
-Check whether valid argument given to "innodb_fts_internal_tbl_name"
-This function is registered as a callback with MySQL.
-@return 0 for valid stopword table */
-static
-int
-innodb_internal_table_validate(
-/*===========================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to system
-						variable */
-	void*				save,	/*!< out: immediate result
-						for update function */
-	struct st_mysql_value*		value)	/*!< in: incoming string */
-{
-	const char*	table_name;
-	char		buff[STRING_BUFFER_USUAL_SIZE];
-	int		len = sizeof(buff);
-	int		ret = 1;
-	dict_table_t*	user_table;
-
-	ut_a(save != NULL);
-	ut_a(value != NULL);
-
-	table_name = value->val_str(value, buff, &len);
-
-	if (!table_name) {
-		*static_cast(save) = NULL;
-		return(0);
-	}
-
-	user_table = dict_table_open_on_name(
-		table_name, FALSE, TRUE, DICT_ERR_IGNORE_NONE);
-
-	if (user_table) {
-		if (dict_table_has_fts_index(user_table)) {
-			*static_cast(save) = table_name;
-			ret = 0;
+/** The latest assigned innodb_ft_aux_table name */
+static char* innodb_ft_aux_table;
+
+/** Update innodb_ft_aux_table_id on SET GLOBAL innodb_ft_aux_table.
+@param[out]	save	new value of innodb_ft_aux_table
+@param[in]	value	user-specified value */
+static int innodb_ft_aux_table_validate(THD*, st_mysql_sys_var*,
+					void* save, st_mysql_value* value)
+{
+	char buf[STRING_BUFFER_USUAL_SIZE];
+	int len = sizeof buf;
+
+	if (const char* table_name = value->val_str(value, buf, &len)) {
+		if (dict_table_t* table = dict_table_open_on_name(
+			    table_name, FALSE, TRUE, DICT_ERR_IGNORE_NONE)) {
+			const table_id_t id = dict_table_has_fts_index(table)
+				? table->id : 0;
+			dict_table_close(table, FALSE, FALSE);
+			if (id) {
+				innodb_ft_aux_table_id = id;
+				*static_cast(save) = table_name;
+				return 0;
+			}
 		}
 
-		dict_table_close(user_table, FALSE, TRUE);
-
-		DBUG_EXECUTE_IF("innodb_evict_autoinc_table",
-			mutex_enter(&dict_sys->mutex);
-			dict_table_remove_from_cache_low(user_table, TRUE);
-			mutex_exit(&dict_sys->mutex);
-		);
-	}
-
-	return(ret);
-}
-
-/****************************************************************//**
-Update global variable "fts_internal_tbl_name" with the "saved"
-stopword table name value. This function is registered as a callback
-with MySQL. */
-static
-void
-innodb_internal_table_update(
-/*=========================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to
-						system variable */
-	void*				var_ptr,/*!< out: where the
-						formal string goes */
-	const void*			save)	/*!< in: immediate result
-						from check function */
-{
-	const char*	table_name;
-	char*		old;
-
-	ut_a(save != NULL);
-	ut_a(var_ptr != NULL);
-
-	table_name = *static_cast(save);
-	old = *(char**) var_ptr;
-
-	if (table_name) {
-		*(char**) var_ptr =  my_strdup(table_name,  MYF(0));
-	} else {
-		*(char**) var_ptr = NULL;
-	}
-
-	if (old) {
-		my_free(old);
-	}
-
-	fts_internal_tbl_name2 = *(char**) var_ptr;
-	if (fts_internal_tbl_name2 == NULL) {
-		fts_internal_tbl_name = const_cast("default");
+		return 1;
 	} else {
-		fts_internal_tbl_name = fts_internal_tbl_name2;
+		*static_cast(save) = NULL;
+		innodb_ft_aux_table_id = 0;
+		return 0;
 	}
 }
 
@@ -18002,11 +17881,13 @@ innodb_adaptive_hash_index_update(
 	const void*			save)	/*!< in: immediate result
 						from check function */
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	if (*(my_bool*) save) {
 		btr_search_enable();
 	} else {
 		btr_search_disable();
 	}
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
 /****************************************************************//**
@@ -18027,7 +17908,9 @@ innodb_cmp_per_index_update(
 	/* Reset the stats whenever we enable the table
 	INFORMATION_SCHEMA.innodb_cmp_per_index. */
 	if (!srv_cmp_per_index_enabled && *(my_bool*) save) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		page_zip_reset_stat_per_index();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 
 	srv_cmp_per_index_enabled = !!(*(my_bool*) save);
@@ -18048,9 +17931,11 @@ innodb_old_blocks_pct_update(
 	const void*			save)	/*!< in: immediate result
 						from check function */
 {
-	innobase_old_blocks_pct = static_cast(
-		buf_LRU_old_ratio_update(
-			*static_cast(save), TRUE));
+	mysql_mutex_unlock(&LOCK_global_system_variables);
+	uint ratio = buf_LRU_old_ratio_update(*static_cast(save),
+					      true);
+	mysql_mutex_lock(&LOCK_global_system_variables);
+	innobase_old_blocks_pct = ratio;
 }
 
 /****************************************************************//**
@@ -18068,9 +17953,10 @@ innodb_change_buffer_max_size_update(
 	const void*			save)	/*!< in: immediate result
 						from check function */
 {
-	innobase_change_buffer_max_size =
-			(*static_cast(save));
+	innobase_change_buffer_max_size = *static_cast(save);
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	ibuf_max_size_update(innobase_change_buffer_max_size);
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
 #ifdef UNIV_DEBUG
@@ -18114,6 +18000,7 @@ innodb_make_page_dirty(
 {
 	mtr_t mtr;
 	ulong space_id = *static_cast(save);
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 
 	mtr_start(&mtr);
 
@@ -18131,6 +18018,7 @@ innodb_make_page_dirty(
 				 MLOG_2BYTES, &mtr);
 	}
 	mtr_commit(&mtr);
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 #endif // UNIV_DEBUG
 
@@ -18776,8 +18664,11 @@ innodb_buffer_pool_evict_update(
 {
 	if (const char* op = *static_cast(save)) {
 		if (!strcmp(op, "uncompressed")) {
+			mysql_mutex_unlock(&LOCK_global_system_variables);
 			for (uint tries = 0; tries < 10000; tries++) {
 				if (innodb_buffer_pool_evict_uncompressed()) {
+					mysql_mutex_lock(
+						&LOCK_global_system_variables);
 					return;
 				}
 
@@ -18880,8 +18771,7 @@ innodb_defragment_frequency_update(
 	          from check function */
 {
 	srv_defragment_frequency = (*static_cast(save));
-	srv_defragment_interval = ut_microseconds_to_timer(
-		1000000.0 / srv_defragment_frequency);
+	srv_defragment_interval = 1000000000ULL / srv_defragment_frequency;
 }
 
 /****************************************************************//**
@@ -19314,7 +19204,9 @@ purge_run_now_set(
 						check function */
 {
 	if (*(my_bool*) save && trx_purge_state() != PURGE_STATE_DISABLED) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		trx_purge_run();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -19337,7 +19229,9 @@ purge_stop_now_set(
 						check function */
 {
 	if (*(my_bool*) save && trx_purge_state() != PURGE_STATE_DISABLED) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		trx_purge_stop();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -19359,6 +19253,8 @@ checkpoint_now_set(
 						check function */
 {
 	if (*(my_bool*) save) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
+
 		while (log_sys->last_checkpoint_lsn < log_sys->lsn) {
 			log_make_checkpoint_at(LSN_MAX, TRUE);
 			fil_flush_file_spaces(FIL_LOG);
@@ -19372,6 +19268,8 @@ checkpoint_now_set(
 				"system tablespace at checkpoint err=%s",
 				ut_strerr(err));
 		}
+
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -19393,8 +19291,10 @@ buf_flush_list_now_set(
 						  check function */
 {
 	if (*(my_bool*) save) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		buf_flush_list(ULINT_MAX, LSN_MAX, NULL);
 		buf_flush_wait_batch_end(NULL, BUF_FLUSH_LIST);
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -19521,7 +19421,9 @@ buffer_pool_dump_now(
 						check function */
 {
 	if (*(my_bool*) save && !srv_read_only_mode) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		buf_dump_start();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -19544,7 +19446,9 @@ buffer_pool_load_now(
 						check function */
 {
 	if (*(my_bool*) save && !srv_read_only_mode) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		buf_load_start();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
@@ -19567,96 +19471,71 @@ buffer_pool_load_abort(
 						check function */
 {
 	if (*(my_bool*) save && !srv_read_only_mode) {
+		mysql_mutex_unlock(&LOCK_global_system_variables);
 		buf_load_abort();
+		mysql_mutex_lock(&LOCK_global_system_variables);
 	}
 }
 
 /** Update innodb_status_output or innodb_status_output_locks,
 which control InnoDB "status monitor" output to the error log.
-@param[in]	thd	thread handle
-@param[in]	var	system variable
-@param[out]	var_ptr	current value
+@param[out]	var	current value
 @param[in]	save	to-be-assigned value */
 static
 void
-innodb_status_output_update(
-/*========================*/
-	THD*				thd __attribute__((unused)),
-	struct st_mysql_sys_var*	var __attribute__((unused)),
-	void*				var_ptr __attribute__((unused)),
-	const void*			save __attribute__((unused)))
+innodb_status_output_update(THD*,st_mysql_sys_var*,void*var,const void*save)
 {
-	*static_cast(var_ptr) = *static_cast(save);
+	*static_cast(var) = *static_cast(save);
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	/* Wakeup server monitor thread. */
 	os_event_set(srv_monitor_event);
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
-/******************************************************************
-Update the system variable innodb_encryption_threads */
+/** Update the system variable innodb_encryption_threads.
+@param[in]	save	to-be-assigned value */
 static
 void
-innodb_encryption_threads_update(
-/*=============================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to
-						system variable */
-	void*				var_ptr,/*!< out: where the
-						formal string goes */
-	const void*			save)	/*!< in: immediate result
-						from check function */
+innodb_encryption_threads_update(THD*,st_mysql_sys_var*,void*,const void*save)
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	fil_crypt_set_thread_cnt(*static_cast(save));
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
-/******************************************************************
-Update the system variable innodb_encryption_rotate_key_age */
+/** Update the system variable innodb_encryption_rotate_key_age.
+@param[in]	save	to-be-assigned value */
 static
 void
-innodb_encryption_rotate_key_age_update(
-/*====================================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to
-						system variable */
-	void*				var_ptr,/*!< out: where the
-						formal string goes */
-	const void*			save)	/*!< in: immediate result
-						from check function */
+innodb_encryption_rotate_key_age_update(THD*,st_mysql_sys_var*,void*,
+					const void*save)
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	fil_crypt_set_rotate_key_age(*static_cast(save));
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
-/******************************************************************
-Update the system variable innodb_encryption_rotation_iops */
+/** Update the system variable innodb_encryption_rotation_iops.
+@param[in]	save	to-be-assigned value */
 static
 void
-innodb_encryption_rotation_iops_update(
-/*===================================*/
-	THD*				thd,	/*!< in: thread handle */
-	struct st_mysql_sys_var*	var,	/*!< in: pointer to
-						system variable */
-	void*				var_ptr,/*!< out: where the
-						formal string goes */
-	const void*			save)	/*!< in: immediate result
-						from check function */
+innodb_encryption_rotation_iops_update(THD*,st_mysql_sys_var*,void*,
+				       const void*save)
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	fil_crypt_set_rotation_iops(*static_cast(save));
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
-/******************************************************************
-Update the system variable innodb_encrypt_tables*/
+/** Update the system variable innodb_encrypt_tables.
+@param[in]	save	to-be-assigned value */
 static
 void
-innodb_encrypt_tables_update(
-/*=========================*/
-	THD*                            thd,    /*!< in: thread handle */
-	struct st_mysql_sys_var*        var,    /*!< in: pointer to
-						system variable */
-	void*                           var_ptr,/*!< out: where the
-						formal string goes */
-	const void*                     save)   /*!< in: immediate result
-						from check function */
+innodb_encrypt_tables_update(THD*,st_mysql_sys_var*,void*,const void*save)
 {
+	mysql_mutex_unlock(&LOCK_global_system_variables);
 	fil_crypt_set_encrypt_tables(*static_cast(save));
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
 static SHOW_VAR innodb_status_variables_export[]= {
@@ -20746,11 +20625,10 @@ static MYSQL_SYSVAR_BOOL(disable_sort_file_cache, srv_disable_sort_file_cache,
   "Whether to disable OS system file cache for sort I/O",
   NULL, NULL, FALSE);
 
-static MYSQL_SYSVAR_STR(ft_aux_table, fts_internal_tbl_name2,
-  PLUGIN_VAR_NOCMDARG,
+static MYSQL_SYSVAR_STR(ft_aux_table, innodb_ft_aux_table,
+  PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_MEMALLOC,
   "FTS internal auxiliary table to be checked",
-  innodb_internal_table_validate,
-  innodb_internal_table_update, NULL);
+  innodb_ft_aux_table_validate, NULL, NULL);
 
 static MYSQL_SYSVAR_ULONG(ft_cache_size, fts_max_cache_size,
   PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
@@ -21095,12 +20973,15 @@ innobase_disallow_writes_update(
 						variable */
 	const void*		save)		/* in: temporary storage */
 {
-	*(my_bool*)var_ptr = *(my_bool*)save;
+	const my_bool val = *static_cast(save);
+	*static_cast(var_ptr) = val;
 	ut_a(srv_allow_writes_event);
-	if (*(my_bool*)var_ptr)
+	mysql_mutex_unlock(&LOCK_global_system_variables);
+	if (val)
 		os_event_reset(srv_allow_writes_event);
 	else
 		os_event_set(srv_allow_writes_event);
+	mysql_mutex_lock(&LOCK_global_system_variables);
 }
 
 static MYSQL_SYSVAR_BOOL(disallow_writes, innobase_disallow_writes,
diff --git a/storage/xtradb/handler/ha_innodb.h b/storage/xtradb/handler/ha_innodb.h
index 48ec8ba5b..4a7c526d3 100644
--- a/storage/xtradb/handler/ha_innodb.h
+++ b/storage/xtradb/handler/ha_innodb.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/handler/handler0alter.cc b/storage/xtradb/handler/handler0alter.cc
index 808f8529a..12257ec0f 100644
--- a/storage/xtradb/handler/handler0alter.cc
+++ b/storage/xtradb/handler/handler0alter.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/handler/i_s.cc b/storage/xtradb/handler/i_s.cc
index 5c2d65e57..8eb53502d 100644
--- a/storage/xtradb/handler/i_s.cc
+++ b/storage/xtradb/handler/i_s.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -75,6 +75,9 @@ Modified Dec 29, 2014 Jan Lindström (Added sys_semaphore_waits)
 #include "fil0fil.h"
 #include "fil0crypt.h"
 
+/** The latest successfully looked up innodb_fts_aux_table */
+UNIV_INTERN table_id_t innodb_ft_aux_table_id;
+
 /** structure associates a name string with a file page type and/or buffer
 page state. */
 struct buf_page_desc_t{
@@ -2928,25 +2931,21 @@ i_s_fts_deleted_generic_fill(
 		DBUG_RETURN(0);
 	}
 
-	if (!fts_internal_tbl_name) {
-		DBUG_RETURN(0);
-	}
+	RETURN_IF_INNODB_NOT_STARTED(tables->schema_table_name);
 
-	/* Prevent DDL to drop fts aux tables. */
+	/* Prevent DROP of the internal tables for fulltext indexes.
+	FIXME: acquire DDL-blocking MDL on the user table name! */
 	rw_lock_s_lock(&dict_operation_lock);
 
-	user_table = dict_table_open_on_name(
-		fts_internal_tbl_name, FALSE, FALSE, DICT_ERR_IGNORE_NONE);
+	user_table = dict_table_open_on_id(
+		innodb_ft_aux_table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
 	if (!user_table) {
 		rw_lock_s_unlock(&dict_operation_lock);
-
 		DBUG_RETURN(0);
 	} else if (!dict_table_has_fts_index(user_table)) {
 		dict_table_close(user_table, FALSE, FALSE);
-
 		rw_lock_s_unlock(&dict_operation_lock);
-
 		DBUG_RETURN(0);
 	}
 
@@ -2961,6 +2960,12 @@ i_s_fts_deleted_generic_fill(
 
 	fts_table_fetch_doc_ids(trx, &fts_table, deleted);
 
+	dict_table_close(user_table, FALSE, FALSE);
+
+	rw_lock_s_unlock(&dict_operation_lock);
+
+	trx_free_for_background(trx);
+
 	fields = table->field;
 
 	int	ret = 0;
@@ -2975,14 +2980,8 @@ i_s_fts_deleted_generic_fill(
 		BREAK_IF(ret = schema_table_store_record(thd, table));
 	}
 
-	trx_free_for_background(trx);
-
 	fts_doc_ids_free(deleted);
 
-	dict_table_close(user_table, FALSE, FALSE);
-
-	rw_lock_s_unlock(&dict_operation_lock);
-
 	DBUG_RETURN(ret);
 }
 
@@ -3340,32 +3339,33 @@ i_s_fts_index_cache_fill(
 		DBUG_RETURN(0);
 	}
 
-	if (!fts_internal_tbl_name) {
-		DBUG_RETURN(0);
-	}
+	RETURN_IF_INNODB_NOT_STARTED(tables->schema_table_name);
 
-	user_table = dict_table_open_on_name(
-		fts_internal_tbl_name, FALSE, FALSE, DICT_ERR_IGNORE_NONE);
+	/* Prevent DROP of the internal tables for fulltext indexes.
+	FIXME: acquire DDL-blocking MDL on the user table name! */
+	rw_lock_s_lock(&dict_operation_lock);
+
+	user_table = dict_table_open_on_id(
+		innodb_ft_aux_table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
 	if (!user_table) {
+no_fts:
+		rw_lock_s_unlock(&dict_operation_lock);
 		DBUG_RETURN(0);
 	}
 
-	if (user_table->fts == NULL || user_table->fts->cache == NULL) {
+	if (!user_table->fts || !user_table->fts->cache) {
 		dict_table_close(user_table, FALSE, FALSE);
-
-		DBUG_RETURN(0);
+		goto no_fts;
 	}
 
 	cache = user_table->fts->cache;
 
-	ut_a(cache);
-
 	int			ret = 0;
 	fts_string_t		conv_str;
-	conv_str.f_len = system_charset_info->mbmaxlen
-		* FTS_MAX_WORD_LEN_IN_CHAR;
-	conv_str.f_str = static_cast(ut_malloc(conv_str.f_len));
+	byte			word[HA_FT_MAXBYTELEN + 1];
+	conv_str.f_len = sizeof word;
+	conv_str.f_str = word;
 
 	for (ulint i = 0; i < ib_vector_size(cache->indexes); i++) {
 		fts_index_cache_t*      index_cache;
@@ -3377,9 +3377,8 @@ i_s_fts_index_cache_fill(
 				 index_cache, thd, &conv_str, tables));
 	}
 
-	ut_free(conv_str.f_str);
-
 	dict_table_close(user_table, FALSE, FALSE);
+	rw_lock_s_unlock(&dict_operation_lock);
 
 	DBUG_RETURN(ret);
 }
@@ -3470,6 +3469,7 @@ i_s_fts_index_table_fill_selected(
 	que_t*			graph;
 	dberr_t			error;
 	fts_fetch_t		fetch;
+	char			table_name[MAX_FULL_NAME_LEN];
 
 	info = pars_info_create();
 
@@ -3490,6 +3490,8 @@ i_s_fts_index_table_fill_selected(
 
 	FTS_INIT_INDEX_TABLE(&fts_table, fts_get_suffix(selected),
 			     FTS_INDEX_TABLE, index);
+	fts_get_table_name(&fts_table, table_name);
+	pars_info_bind_id(info, true, "table_name", table_name);
 
 	graph = fts_parse_sql(
 		&fts_table, info,
@@ -3497,7 +3499,7 @@ i_s_fts_index_table_fill_selected(
 		"DECLARE CURSOR c IS"
 		" SELECT word, doc_count, first_doc_id, last_doc_id, "
 		"ilist\n"
-		" FROM %s WHERE word >= :word;\n"
+		" FROM $table_name WHERE word >= :word;\n"
 		"BEGIN\n"
 		"\n"
 		"OPEN c;\n"
@@ -3789,19 +3791,17 @@ i_s_fts_index_table_fill(
 		DBUG_RETURN(0);
 	}
 
-	if (!fts_internal_tbl_name) {
-		DBUG_RETURN(0);
-	}
+	RETURN_IF_INNODB_NOT_STARTED(tables->schema_table_name);
 
-	/* Prevent DDL to drop fts aux tables. */
+	/* Prevent DROP of the internal tables for fulltext indexes.
+	FIXME: acquire DDL-blocking MDL on the user table name! */
 	rw_lock_s_lock(&dict_operation_lock);
 
-	user_table = dict_table_open_on_name(
-		fts_internal_tbl_name, FALSE, FALSE, DICT_ERR_IGNORE_NONE);
+	user_table = dict_table_open_on_id(
+		innodb_ft_aux_table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
 	if (!user_table) {
 		rw_lock_s_unlock(&dict_operation_lock);
-
 		DBUG_RETURN(0);
 	}
 
@@ -3953,32 +3953,28 @@ i_s_fts_config_fill(
 		DBUG_RETURN(0);
 	}
 
-	if (!fts_internal_tbl_name) {
-		DBUG_RETURN(0);
-	}
-
-	DEBUG_SYNC_C("i_s_fts_config_fille_check");
-
-	fields = table->field;
+	RETURN_IF_INNODB_NOT_STARTED(tables->schema_table_name);
 
-	/* Prevent DDL to drop fts aux tables. */
+	/* Prevent DROP of the internal tables for fulltext indexes.
+	FIXME: acquire DDL-blocking MDL on the user table name! */
 	rw_lock_s_lock(&dict_operation_lock);
 
-	user_table = dict_table_open_on_name(
-		fts_internal_tbl_name, FALSE, FALSE, DICT_ERR_IGNORE_NONE);
+	user_table = dict_table_open_on_id(
+		innodb_ft_aux_table_id, FALSE, DICT_TABLE_OP_NORMAL);
 
 	if (!user_table) {
+no_fts:
 		rw_lock_s_unlock(&dict_operation_lock);
-
 		DBUG_RETURN(0);
-	} else if (!dict_table_has_fts_index(user_table)) {
-		dict_table_close(user_table, FALSE, FALSE);
-
-		rw_lock_s_unlock(&dict_operation_lock);
+	}
 
-		DBUG_RETURN(0);
+	if (!dict_table_has_fts_index(user_table)) {
+		dict_table_close(user_table, FALSE, FALSE);
+		goto no_fts;
 	}
 
+	fields = table->field;
+
 	trx = trx_allocate_for_background();
 	trx->op_info = "Select for FTS CONFIG TABLE";
 
@@ -4030,12 +4026,12 @@ i_s_fts_config_fill(
 
 	fts_sql_commit(trx);
 
-	trx_free_for_background(trx);
-
 	dict_table_close(user_table, FALSE, FALSE);
 
 	rw_lock_s_unlock(&dict_operation_lock);
 
+	trx_free_for_background(trx);
+
 	DBUG_RETURN(ret);
 }
 
diff --git a/storage/xtradb/handler/i_s.h b/storage/xtradb/handler/i_s.h
index 4bb3ea334..81d697795 100644
--- a/storage/xtradb/handler/i_s.h
+++ b/storage/xtradb/handler/i_s.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2013, Oracle and/or its affiliates. All Rights Reserved.
-Copyrigth (c) 2014, 2017, MariaDB Corporation.
+Copyrigth (c) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -27,6 +27,7 @@ Modified Dec 29, 2014 Jan Lindström
 
 #ifndef i_s_h
 #define i_s_h
+#include "dict0types.h"
 
 const char plugin_author[] = "Oracle Corporation";
 const char maria_plugin_author[] = "MariaDB Corporation";
@@ -69,6 +70,9 @@ extern struct st_maria_plugin	i_s_innodb_tablespaces_scrubbing;
 extern struct st_mysql_plugin	i_s_innodb_sys_semaphore_waits;
 extern struct st_mysql_plugin	i_s_innodb_changed_page_bitmaps;
 
+/** The latest successfully looked up innodb_fts_aux_table */
+extern table_id_t innodb_ft_aux_table_id;
+
 /** maximum number of buffer page info we would cache. */
 #define MAX_BUF_INFO_CACHED		10000
 
diff --git a/storage/xtradb/handler/xtradb_i_s.cc b/storage/xtradb/handler/xtradb_i_s.cc
index b3c79975f..0e7cec6b3 100644
--- a/storage/xtradb/handler/xtradb_i_s.cc
+++ b/storage/xtradb/handler/xtradb_i_s.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/handler/xtradb_i_s.h b/storage/xtradb/handler/xtradb_i_s.h
index 994bc11c1..37a30cae0 100644
--- a/storage/xtradb/handler/xtradb_i_s.h
+++ b/storage/xtradb/handler/xtradb_i_s.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ibuf/ibuf0ibuf.cc b/storage/xtradb/ibuf/ibuf0ibuf.cc
index 96a86eea4..c8510915b 100644
--- a/storage/xtradb/ibuf/ibuf0ibuf.cc
+++ b/storage/xtradb/ibuf/ibuf0ibuf.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/api0api.h b/storage/xtradb/include/api0api.h
index 500bf4fe3..1d4882d1f 100644
--- a/storage/xtradb/include/api0api.h
+++ b/storage/xtradb/include/api0api.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/api0misc.h b/storage/xtradb/include/api0misc.h
index fcd748390..4827b53d2 100644
--- a/storage/xtradb/include/api0misc.h
+++ b/storage/xtradb/include/api0misc.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0btr.h b/storage/xtradb/include/btr0btr.h
index 9ab62f773..ef5130bac 100644
--- a/storage/xtradb/include/btr0btr.h
+++ b/storage/xtradb/include/btr0btr.h
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0btr.ic b/storage/xtradb/include/btr0btr.ic
index 9f13c9303..c206b6d49 100644
--- a/storage/xtradb/include/btr0btr.ic
+++ b/storage/xtradb/include/btr0btr.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0cur.h b/storage/xtradb/include/btr0cur.h
index 1b0632e21..af0bee8d8 100644
--- a/storage/xtradb/include/btr0cur.h
+++ b/storage/xtradb/include/btr0cur.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0cur.ic b/storage/xtradb/include/btr0cur.ic
index 43ee3304c..c27956f29 100644
--- a/storage/xtradb/include/btr0cur.ic
+++ b/storage/xtradb/include/btr0cur.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0defragment.h b/storage/xtradb/include/btr0defragment.h
index 477824c1a..9f6aba490 100644
--- a/storage/xtradb/include/btr0defragment.h
+++ b/storage/xtradb/include/btr0defragment.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0pcur.h b/storage/xtradb/include/btr0pcur.h
index dafe14ce5..bcb9fb6db 100644
--- a/storage/xtradb/include/btr0pcur.h
+++ b/storage/xtradb/include/btr0pcur.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0pcur.ic b/storage/xtradb/include/btr0pcur.ic
index 1cd138245..05ac35c1e 100644
--- a/storage/xtradb/include/btr0pcur.ic
+++ b/storage/xtradb/include/btr0pcur.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0sea.h b/storage/xtradb/include/btr0sea.h
index 55366d3c0..9d415b10a 100644
--- a/storage/xtradb/include/btr0sea.h
+++ b/storage/xtradb/include/btr0sea.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0sea.ic b/storage/xtradb/include/btr0sea.ic
index e963d8a84..4838799e9 100644
--- a/storage/xtradb/include/btr0sea.ic
+++ b/storage/xtradb/include/btr0sea.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/btr0types.h b/storage/xtradb/include/btr0types.h
index 4bc9c72ec..e3c64bd11 100644
--- a/storage/xtradb/include/btr0types.h
+++ b/storage/xtradb/include/btr0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0buddy.h b/storage/xtradb/include/buf0buddy.h
index 09768dda9..76472bffe 100644
--- a/storage/xtradb/include/buf0buddy.h
+++ b/storage/xtradb/include/buf0buddy.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0buddy.ic b/storage/xtradb/include/buf0buddy.ic
index a5fb510dd..5cab28be6 100644
--- a/storage/xtradb/include/buf0buddy.ic
+++ b/storage/xtradb/include/buf0buddy.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0buf.h b/storage/xtradb/include/buf0buf.h
index a618d925f..e8a82f2e3 100644
--- a/storage/xtradb/include/buf0buf.h
+++ b/storage/xtradb/include/buf0buf.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0buf.ic b/storage/xtradb/include/buf0buf.ic
index 20721b28e..f4778e177 100644
--- a/storage/xtradb/include/buf0buf.ic
+++ b/storage/xtradb/include/buf0buf.ic
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0checksum.h b/storage/xtradb/include/buf0checksum.h
index 6818345f9..8a87c4815 100644
--- a/storage/xtradb/include/buf0checksum.h
+++ b/storage/xtradb/include/buf0checksum.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0dblwr.h b/storage/xtradb/include/buf0dblwr.h
index 7b7464761..3d51c1e10 100644
--- a/storage/xtradb/include/buf0dblwr.h
+++ b/storage/xtradb/include/buf0dblwr.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0dump.h b/storage/xtradb/include/buf0dump.h
index c704a8e97..32db2a0eb 100644
--- a/storage/xtradb/include/buf0dump.h
+++ b/storage/xtradb/include/buf0dump.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0flu.h b/storage/xtradb/include/buf0flu.h
index 6089baf81..f682d537c 100644
--- a/storage/xtradb/include/buf0flu.h
+++ b/storage/xtradb/include/buf0flu.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0flu.ic b/storage/xtradb/include/buf0flu.ic
index 06fa49754..0e66ce685 100644
--- a/storage/xtradb/include/buf0flu.ic
+++ b/storage/xtradb/include/buf0flu.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0lru.h b/storage/xtradb/include/buf0lru.h
index ee84d168e..69ada4abb 100644
--- a/storage/xtradb/include/buf0lru.h
+++ b/storage/xtradb/include/buf0lru.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -208,13 +208,13 @@ buf_LRU_make_block_old(
 Updates buf_pool->LRU_old_ratio.
 @return	updated old_pct */
 UNIV_INTERN
-ulint
+uint
 buf_LRU_old_ratio_update(
 /*=====================*/
 	uint	old_pct,/*!< in: Reserve this percentage of
 			the buffer pool for "old" blocks. */
-	ibool	adjust);/*!< in: TRUE=adjust the LRU list;
-			FALSE=just assign buf_pool->LRU_old_ratio
+	bool	adjust);/*!< in: true=adjust the LRU list;
+			false=just assign buf_pool->LRU_old_ratio
 			during the initialization of InnoDB */
 /********************************************************************//**
 Update the historical stats that we are collecting for LRU eviction
diff --git a/storage/xtradb/include/buf0lru.ic b/storage/xtradb/include/buf0lru.ic
index 6e0da7a25..b39fc06e9 100644
--- a/storage/xtradb/include/buf0lru.ic
+++ b/storage/xtradb/include/buf0lru.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0mtflu.h b/storage/xtradb/include/buf0mtflu.h
index 0475335bb..5f11de572 100644
--- a/storage/xtradb/include/buf0mtflu.h
+++ b/storage/xtradb/include/buf0mtflu.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0rea.h b/storage/xtradb/include/buf0rea.h
index ab73108a7..35ce384f5 100644
--- a/storage/xtradb/include/buf0rea.h
+++ b/storage/xtradb/include/buf0rea.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/buf0types.h b/storage/xtradb/include/buf0types.h
index 6db3cb123..0df0b0f4a 100644
--- a/storage/xtradb/include/buf0types.h
+++ b/storage/xtradb/include/buf0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/data0data.h b/storage/xtradb/include/data0data.h
index 1d954bfc0..2cd9f61ba 100644
--- a/storage/xtradb/include/data0data.h
+++ b/storage/xtradb/include/data0data.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/data0data.ic b/storage/xtradb/include/data0data.ic
index deac969a0..21f534d1b 100644
--- a/storage/xtradb/include/data0data.ic
+++ b/storage/xtradb/include/data0data.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/data0type.h b/storage/xtradb/include/data0type.h
index f3ecab5a3..73dcb720b 100644
--- a/storage/xtradb/include/data0type.h
+++ b/storage/xtradb/include/data0type.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/data0type.ic b/storage/xtradb/include/data0type.ic
index a7e2eb068..7f655d162 100644
--- a/storage/xtradb/include/data0type.ic
+++ b/storage/xtradb/include/data0type.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/data0types.h b/storage/xtradb/include/data0types.h
index bd2bb5776..bcd6b8bc2 100644
--- a/storage/xtradb/include/data0types.h
+++ b/storage/xtradb/include/data0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/db0err.h b/storage/xtradb/include/db0err.h
index 8bd3beda1..c7412bf9e 100644
--- a/storage/xtradb/include/db0err.h
+++ b/storage/xtradb/include/db0err.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0boot.h b/storage/xtradb/include/dict0boot.h
index 4fd9b0b7f..b2c7bf46e 100644
--- a/storage/xtradb/include/dict0boot.h
+++ b/storage/xtradb/include/dict0boot.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0boot.ic b/storage/xtradb/include/dict0boot.ic
index 42e91ee93..3721d3de9 100644
--- a/storage/xtradb/include/dict0boot.ic
+++ b/storage/xtradb/include/dict0boot.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0crea.h b/storage/xtradb/include/dict0crea.h
index 082048b8b..172de0162 100644
--- a/storage/xtradb/include/dict0crea.h
+++ b/storage/xtradb/include/dict0crea.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0crea.ic b/storage/xtradb/include/dict0crea.ic
index 3eb3ddfa8..59d6fb9d8 100644
--- a/storage/xtradb/include/dict0crea.ic
+++ b/storage/xtradb/include/dict0crea.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0dict.h b/storage/xtradb/include/dict0dict.h
index 241ed89e3..dde8368a0 100644
--- a/storage/xtradb/include/dict0dict.h
+++ b/storage/xtradb/include/dict0dict.h
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0dict.ic b/storage/xtradb/include/dict0dict.ic
index 5c0cdbd72..475391a3f 100644
--- a/storage/xtradb/include/dict0dict.ic
+++ b/storage/xtradb/include/dict0dict.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0load.h b/storage/xtradb/include/dict0load.h
index 1a720de5b..54446fee6 100644
--- a/storage/xtradb/include/dict0load.h
+++ b/storage/xtradb/include/dict0load.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0load.ic b/storage/xtradb/include/dict0load.ic
index 2c0f1ff38..a0b0feb56 100644
--- a/storage/xtradb/include/dict0load.ic
+++ b/storage/xtradb/include/dict0load.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0mem.h b/storage/xtradb/include/dict0mem.h
index 09eabf298..1dcc3ebdd 100644
--- a/storage/xtradb/include/dict0mem.h
+++ b/storage/xtradb/include/dict0mem.h
@@ -2,7 +2,7 @@
 
 Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2012, Facebook Inc.
-Copyright (c) 2013, 2018, MariaDB Corporation.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1198,7 +1198,7 @@ struct dict_table_t{
 				goes to zero. If it's -1, means there's DDL
 		                on the table, DML from memcached will be
 				blocked. */
-	ib_time_t	stats_last_recalc;
+	time_t		stats_last_recalc;
 				/*!< Timestamp of last recalc of the stats */
 	ib_uint32_t	stat_persistent;
 				/*!< The two bits below are set in the
diff --git a/storage/xtradb/include/dict0mem.ic b/storage/xtradb/include/dict0mem.ic
index 38d51f617..9acdd6a45 100644
--- a/storage/xtradb/include/dict0mem.ic
+++ b/storage/xtradb/include/dict0mem.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0pagecompress.h b/storage/xtradb/include/dict0pagecompress.h
index 6503c86ff..9c0c551d9 100644
--- a/storage/xtradb/include/dict0pagecompress.h
+++ b/storage/xtradb/include/dict0pagecompress.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0pagecompress.ic b/storage/xtradb/include/dict0pagecompress.ic
index 13c2b46c5..6311668ee 100644
--- a/storage/xtradb/include/dict0pagecompress.ic
+++ b/storage/xtradb/include/dict0pagecompress.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0priv.h b/storage/xtradb/include/dict0priv.h
index e034662ab..3ebd75997 100644
--- a/storage/xtradb/include/dict0priv.h
+++ b/storage/xtradb/include/dict0priv.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0priv.ic b/storage/xtradb/include/dict0priv.ic
index 983218af7..e9b111c32 100644
--- a/storage/xtradb/include/dict0priv.ic
+++ b/storage/xtradb/include/dict0priv.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0stats.h b/storage/xtradb/include/dict0stats.h
index 72501bf94..4eda752c4 100644
--- a/storage/xtradb/include/dict0stats.h
+++ b/storage/xtradb/include/dict0stats.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0stats.ic b/storage/xtradb/include/dict0stats.ic
index ec9a90654..940100077 100644
--- a/storage/xtradb/include/dict0stats.ic
+++ b/storage/xtradb/include/dict0stats.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0stats_bg.h b/storage/xtradb/include/dict0stats_bg.h
index 66fcf7a09..a14c183c6 100644
--- a/storage/xtradb/include/dict0stats_bg.h
+++ b/storage/xtradb/include/dict0stats_bg.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0stats_bg.ic b/storage/xtradb/include/dict0stats_bg.ic
index 87e3225de..7e0d596af 100644
--- a/storage/xtradb/include/dict0stats_bg.ic
+++ b/storage/xtradb/include/dict0stats_bg.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dict0types.h b/storage/xtradb/include/dict0types.h
index 909fdf9cf..e44bc15e9 100644
--- a/storage/xtradb/include/dict0types.h
+++ b/storage/xtradb/include/dict0types.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dyn0dyn.h b/storage/xtradb/include/dyn0dyn.h
index 20963a147..83b5b7b02 100644
--- a/storage/xtradb/include/dyn0dyn.h
+++ b/storage/xtradb/include/dyn0dyn.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/dyn0dyn.ic b/storage/xtradb/include/dyn0dyn.ic
index 6e9764924..d26082d54 100644
--- a/storage/xtradb/include/dyn0dyn.ic
+++ b/storage/xtradb/include/dyn0dyn.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/eval0eval.h b/storage/xtradb/include/eval0eval.h
index e3b1e6c16..4301b491a 100644
--- a/storage/xtradb/include/eval0eval.h
+++ b/storage/xtradb/include/eval0eval.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/eval0eval.ic b/storage/xtradb/include/eval0eval.ic
index e4b1dd080..47d70d593 100644
--- a/storage/xtradb/include/eval0eval.ic
+++ b/storage/xtradb/include/eval0eval.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/eval0proc.h b/storage/xtradb/include/eval0proc.h
index 7755fb103..6dfeff1cc 100644
--- a/storage/xtradb/include/eval0proc.h
+++ b/storage/xtradb/include/eval0proc.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/eval0proc.ic b/storage/xtradb/include/eval0proc.ic
index 81418bae2..c3ba8a97d 100644
--- a/storage/xtradb/include/eval0proc.ic
+++ b/storage/xtradb/include/eval0proc.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fil0crypt.h b/storage/xtradb/include/fil0crypt.h
index 199f5a637..9c6a9ec30 100644
--- a/storage/xtradb/include/fil0crypt.h
+++ b/storage/xtradb/include/fil0crypt.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fil0crypt.ic b/storage/xtradb/include/fil0crypt.ic
index cb9ba0834..0c3b01144 100644
--- a/storage/xtradb/include/fil0crypt.ic
+++ b/storage/xtradb/include/fil0crypt.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fil0fil.h b/storage/xtradb/include/fil0fil.h
index 7be4d0380..a4274f4d8 100644
--- a/storage/xtradb/include/fil0fil.h
+++ b/storage/xtradb/include/fil0fil.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2013, 2018, MariaDB Corporation.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -841,6 +841,18 @@ fil_op_log_parse_or_replay(
 				only be parsed but not replayed */
 	ulint	log_flags);	/*!< in: redo log flags
 				(stored in the page number parameter) */
+
+/** Determine whether a table can be accessed in operations that are
+not (necessarily) protected by meta-data locks.
+(Rollback would generally be protected, but rollback of
+FOREIGN KEY CASCADE/SET NULL is not protected by meta-data locks
+but only by InnoDB table locks, which may be broken by
+lock_remove_all_on_table().)
+@param[in]	table	persistent table
+checked @return whether the table is accessible */
+UNIV_INTERN bool fil_table_accessible(const dict_table_t* table)
+	MY_ATTRIBUTE((warn_unused_result, nonnull));
+
 /** Delete a tablespace and associated .ibd file.
 @param[in]	id		tablespace identifier
 @param[in]	drop_ahi	whether to drop the adaptive hash index
diff --git a/storage/xtradb/include/fil0fil.ic b/storage/xtradb/include/fil0fil.ic
index 3f21c5293..e9e681ffb 100644
--- a/storage/xtradb/include/fil0fil.ic
+++ b/storage/xtradb/include/fil0fil.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fil0pagecompress.h b/storage/xtradb/include/fil0pagecompress.h
index 934372c55..c2f94247d 100644
--- a/storage/xtradb/include/fil0pagecompress.h
+++ b/storage/xtradb/include/fil0pagecompress.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fsp0fsp.h b/storage/xtradb/include/fsp0fsp.h
index bc81a9c12..b31a75745 100644
--- a/storage/xtradb/include/fsp0fsp.h
+++ b/storage/xtradb/include/fsp0fsp.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fsp0fsp.ic b/storage/xtradb/include/fsp0fsp.ic
index ee4cb1f32..f7b047171 100644
--- a/storage/xtradb/include/fsp0fsp.ic
+++ b/storage/xtradb/include/fsp0fsp.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fsp0pagecompress.h b/storage/xtradb/include/fsp0pagecompress.h
index c623d11c3..0dfbc258e 100644
--- a/storage/xtradb/include/fsp0pagecompress.h
+++ b/storage/xtradb/include/fsp0pagecompress.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fsp0pagecompress.ic b/storage/xtradb/include/fsp0pagecompress.ic
index 99d0dfb3c..159b0526b 100644
--- a/storage/xtradb/include/fsp0pagecompress.ic
+++ b/storage/xtradb/include/fsp0pagecompress.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fsp0types.h b/storage/xtradb/include/fsp0types.h
index 7152d6505..f2ea27a9d 100644
--- a/storage/xtradb/include/fsp0types.h
+++ b/storage/xtradb/include/fsp0types.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fts0ast.h b/storage/xtradb/include/fts0ast.h
index 983a35797..b7d467e00 100644
--- a/storage/xtradb/include/fts0ast.h
+++ b/storage/xtradb/include/fts0ast.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fts0fts.h b/storage/xtradb/include/fts0fts.h
index ce30a17c4..a1fab6597 100644
--- a/storage/xtradb/include/fts0fts.h
+++ b/storage/xtradb/include/fts0fts.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2011, 2018, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2016, 2017, MariaDB Corporation.
+Copyright (c) 2016, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -151,7 +151,6 @@ do {								\
 	(fts_table)->suffix = m_suffix;				\
         (fts_table)->type = m_type;				\
         (fts_table)->table_id = m_table->id;			\
-        (fts_table)->parent = m_table->name;			\
         (fts_table)->table = m_table;				\
 } while (0);
 
@@ -160,7 +159,6 @@ do {								\
 	(fts_table)->suffix = m_suffix;				\
         (fts_table)->type = m_type;				\
         (fts_table)->table_id = m_index->table->id;		\
-        (fts_table)->parent = m_index->table->name;		\
         (fts_table)->table = m_index->table;			\
         (fts_table)->index_id = m_index->id;			\
 } while (0);
@@ -265,10 +263,6 @@ struct fts_result_t {
 table id and the index id to generate the column specific FTS auxiliary
 table name. */
 struct fts_table_t {
-	const char*	parent;		/*!< Parent table name, this is
-					required only for the database
-					name */
-
 	fts_table_type_t
 			type;		/*!< The auxiliary table type */
 
@@ -373,11 +367,6 @@ extern bool		fts_need_sync;
 /** Maximum possible Fulltext word length (in characters) */
 #define FTS_MAX_WORD_LEN_IN_CHAR	HA_FT_MAXCHARLEN
 
-/** Variable specifying the table that has Fulltext index to display its
-content through information schema table */
-extern char*		fts_internal_tbl_name;
-extern char*		fts_internal_tbl_name2;
-
 #define	fts_que_graph_free(graph)			\
 do {							\
 	mutex_enter(&dict_sys->mutex);			\
@@ -424,7 +413,6 @@ fts_update_next_doc_id(
 /*===================*/
 	trx_t*			trx,		/*!< in/out: transaction */
 	const dict_table_t*	table,		/*!< in: table */
-	const char*		table_name,	/*!< in: table name, or NULL */
 	doc_id_t		doc_id)		/*!< in: DOC ID to set */
 	MY_ATTRIBUTE((nonnull(2)));
 
@@ -436,13 +424,11 @@ fts_doc_ids_t*
 fts_doc_ids_create(void);
 /*=====================*/
 
-/******************************************************************//**
-Free a fts_doc_ids_t. */
-UNIV_INTERN
-void
-fts_doc_ids_free(
-/*=============*/
-	fts_doc_ids_t*	doc_ids);		/*!< in: doc_ids to free */
+/** Free fts_doc_ids_t */
+inline void fts_doc_ids_free(fts_doc_ids_t* doc_ids)
+{
+	mem_heap_free(static_cast(doc_ids->self_heap->arg));
+}
 
 /******************************************************************//**
 Notify the FTS system about an operation on an FTS-indexed table. */
diff --git a/storage/xtradb/include/fts0opt.h b/storage/xtradb/include/fts0opt.h
index 92eaf8270..e8bd4be95 100644
--- a/storage/xtradb/include/fts0opt.h
+++ b/storage/xtradb/include/fts0opt.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fts0priv.h b/storage/xtradb/include/fts0priv.h
index a3936f54a..266534c95 100644
--- a/storage/xtradb/include/fts0priv.h
+++ b/storage/xtradb/include/fts0priv.h
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2011, 2018, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -132,16 +133,15 @@ fts_eval_sql(
 	trx_t*		trx,		/*!< in: transaction */
 	que_t*		graph)		/*!< in: Parsed statement */
 	MY_ATTRIBUTE((nonnull, warn_unused_result));
-/******************************************************************//**
-Construct the name of an ancillary FTS table for the given table.
-@return own: table name, must be freed with mem_free() */
+
+/** Construct the name of an internal FTS table for the given table.
+@param[in]	fts_table	metadata on fulltext-indexed table
+@param[out]	table_name	a name up to MAX_FULL_NAME_LEN
+@param[in]	dict_locked	whether dict_sys->mutex is being held */
 UNIV_INTERN
-char*
-fts_get_table_name(
-/*===============*/
-	const fts_table_t*
-			fts_table)	/*!< in: FTS aux table info */
-	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
+void fts_get_table_name(const fts_table_t* fts_table, char* table_name,
+			bool dict_locked = false)
+	MY_ATTRIBUTE((nonnull));
 /******************************************************************//**
 Construct the column specification part of the SQL string for selecting the
 indexed FTS columns for the given table. Adds the necessary bound
@@ -597,15 +597,11 @@ fts_get_table_id(
 					FTS_AUX_MIN_TABLE_ID_LENGTH bytes
 					long */
 	MY_ATTRIBUTE((nonnull, warn_unused_result));
-/******************************************************************//**
-Construct the prefix name of an FTS table.
-@return own: table name, must be freed with mem_free() */
-UNIV_INTERN
-char*
-fts_get_table_name_prefix(
-/*======================*/
-	const fts_table_t*
-			fts_table)	/*!< in: Auxiliary table type */
+/** Construct the name of an internal FTS table for the given table.
+@param[in]	fts_table	metadata on fulltext-indexed table
+@param[in]	dict_locked	whether dict_sys->mutex is being held
+@return	the prefix, must be freed with ut_free() */
+UNIV_INTERN char* fts_get_table_name_prefix(const fts_table_t* fts_table)
 	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
 /******************************************************************//**
 Add node positions. */
diff --git a/storage/xtradb/include/fts0priv.ic b/storage/xtradb/include/fts0priv.ic
index 88f2d67c7..6d52edc75 100644
--- a/storage/xtradb/include/fts0priv.ic
+++ b/storage/xtradb/include/fts0priv.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fts0types.h b/storage/xtradb/include/fts0types.h
index 9ecd90808..3cb01a92d 100644
--- a/storage/xtradb/include/fts0types.h
+++ b/storage/xtradb/include/fts0types.h
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -122,7 +123,8 @@ struct fts_sync_t {
 	doc_id_t	max_doc_id;	/*!< The doc id at which the cache was
 					noted as being full, we use this to
 					set the upper_limit field */
-	ib_time_t	start_time;	/*!< SYNC start time */
+	time_t		start_time;	/*!< SYNC start time; only used if
+					fts_enable_diag_print */
 	bool		in_progress;	/*!< flag whether sync is in progress.*/
 	bool		unlock_cache;	/*!< flag whether unlock cache when
 					write fts node */
diff --git a/storage/xtradb/include/fts0types.ic b/storage/xtradb/include/fts0types.ic
index f0dfd023a..5e29cf6d8 100644
--- a/storage/xtradb/include/fts0types.ic
+++ b/storage/xtradb/include/fts0types.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fts0vlc.ic b/storage/xtradb/include/fts0vlc.ic
index e79bcf593..75d853505 100644
--- a/storage/xtradb/include/fts0vlc.ic
+++ b/storage/xtradb/include/fts0vlc.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fut0fut.h b/storage/xtradb/include/fut0fut.h
index 851cdb44c..4f7b9af2e 100644
--- a/storage/xtradb/include/fut0fut.h
+++ b/storage/xtradb/include/fut0fut.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fut0fut.ic b/storage/xtradb/include/fut0fut.ic
index 15c964df6..57af9a511 100644
--- a/storage/xtradb/include/fut0fut.ic
+++ b/storage/xtradb/include/fut0fut.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fut0lst.h b/storage/xtradb/include/fut0lst.h
index 8554cc60c..f8a99bf1b 100644
--- a/storage/xtradb/include/fut0lst.h
+++ b/storage/xtradb/include/fut0lst.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/fut0lst.ic b/storage/xtradb/include/fut0lst.ic
index d18cf2137..ba617ff0d 100644
--- a/storage/xtradb/include/fut0lst.ic
+++ b/storage/xtradb/include/fut0lst.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ha0ha.h b/storage/xtradb/include/ha0ha.h
index 58eb581e7..d28f8c72a 100644
--- a/storage/xtradb/include/ha0ha.h
+++ b/storage/xtradb/include/ha0ha.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ha0ha.ic b/storage/xtradb/include/ha0ha.ic
index 9d0e396e2..fdcaa593b 100644
--- a/storage/xtradb/include/ha0ha.ic
+++ b/storage/xtradb/include/ha0ha.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ha0storage.h b/storage/xtradb/include/ha0storage.h
index 0073930b5..d4e680a10 100644
--- a/storage/xtradb/include/ha0storage.h
+++ b/storage/xtradb/include/ha0storage.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ha0storage.ic b/storage/xtradb/include/ha0storage.ic
index 7150ca045..03df7be5e 100644
--- a/storage/xtradb/include/ha0storage.ic
+++ b/storage/xtradb/include/ha0storage.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ha_prototypes.h b/storage/xtradb/include/ha_prototypes.h
index 3f3c4f28c..50b223d34 100644
--- a/storage/xtradb/include/ha_prototypes.h
+++ b/storage/xtradb/include/ha_prototypes.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/handler0alter.h b/storage/xtradb/include/handler0alter.h
index 63379ad93..ca71edb42 100644
--- a/storage/xtradb/include/handler0alter.h
+++ b/storage/xtradb/include/handler0alter.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/hash0hash.h b/storage/xtradb/include/hash0hash.h
index 68d3c6ace..43fb7201d 100644
--- a/storage/xtradb/include/hash0hash.h
+++ b/storage/xtradb/include/hash0hash.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/hash0hash.ic b/storage/xtradb/include/hash0hash.ic
index e4822538e..3d93cc12e 100644
--- a/storage/xtradb/include/hash0hash.ic
+++ b/storage/xtradb/include/hash0hash.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ibuf0ibuf.h b/storage/xtradb/include/ibuf0ibuf.h
index 0b325b68a..16a11c408 100644
--- a/storage/xtradb/include/ibuf0ibuf.h
+++ b/storage/xtradb/include/ibuf0ibuf.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ibuf0ibuf.ic b/storage/xtradb/include/ibuf0ibuf.ic
index a5df9f7b6..d26a8c60a 100644
--- a/storage/xtradb/include/ibuf0ibuf.ic
+++ b/storage/xtradb/include/ibuf0ibuf.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ibuf0types.h b/storage/xtradb/include/ibuf0types.h
index 3fdbf078b..6b7c47208 100644
--- a/storage/xtradb/include/ibuf0types.h
+++ b/storage/xtradb/include/ibuf0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/lock0iter.h b/storage/xtradb/include/lock0iter.h
index 0054850b5..e63ed54bb 100644
--- a/storage/xtradb/include/lock0iter.h
+++ b/storage/xtradb/include/lock0iter.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/lock0lock.h b/storage/xtradb/include/lock0lock.h
index 5aff67db0..878a42ea8 100644
--- a/storage/xtradb/include/lock0lock.h
+++ b/storage/xtradb/include/lock0lock.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -629,22 +629,6 @@ lock_report_trx_id_insanity(
 	trx_id_t	max_trx_id)	/*!< in: trx_sys_get_max_trx_id() */
 	MY_ATTRIBUTE((nonnull));
 /*********************************************************************//**
-Prints info of a table lock. */
-UNIV_INTERN
-void
-lock_table_print(
-/*=============*/
-	FILE*		file,	/*!< in: file where to print */
-	const lock_t*	lock);	/*!< in: table type lock */
-/*********************************************************************//**
-Prints info of a record lock. */
-UNIV_INTERN
-void
-lock_rec_print(
-/*===========*/
-	FILE*		file,	/*!< in: file where to print */
-	const lock_t*	lock);	/*!< in: record type lock */
-/*********************************************************************//**
 Prints info of locks for all transactions.
 @return FALSE if not able to obtain lock mutex and exits without
 printing info */
diff --git a/storage/xtradb/include/lock0lock.ic b/storage/xtradb/include/lock0lock.ic
index 736936954..bce04e582 100644
--- a/storage/xtradb/include/lock0lock.ic
+++ b/storage/xtradb/include/lock0lock.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/lock0priv.h b/storage/xtradb/include/lock0priv.h
index 7a74cbdc2..3b2c7f080 100644
--- a/storage/xtradb/include/lock0priv.h
+++ b/storage/xtradb/include/lock0priv.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -74,10 +74,14 @@ struct lock_t {
 					lock */
 	dict_index_t*	index;		/*!< index for a record lock */
 
-	/* Statistics for how long lock has been held and time
-	how long this lock had to be waited before it was granted */
-	time_t		requested_time; /*!< Lock request time */
-	ulint		wait_time;	/*!< Time waited this lock or 0 */
+	/** time(NULL) of the lock request creation.
+	Used for computing wait_time and diagnostics only.
+	Note: bogus durations may be reported
+	when the system time is adjusted! */
+	time_t		requested_time;
+	/** Cumulated wait time in seconds.
+	Note: may be bogus when the system time is adjusted! */
+	ulint		wait_time;
 
 	union {
 		lock_table_t	tab_lock;/*!< table lock */
diff --git a/storage/xtradb/include/lock0priv.ic b/storage/xtradb/include/lock0priv.ic
index 6b70dc33d..02c4ff093 100644
--- a/storage/xtradb/include/lock0priv.ic
+++ b/storage/xtradb/include/lock0priv.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/lock0types.h b/storage/xtradb/include/lock0types.h
index cf32e72f8..90c6f6cea 100644
--- a/storage/xtradb/include/lock0types.h
+++ b/storage/xtradb/include/lock0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/log0crypt.h b/storage/xtradb/include/log0crypt.h
index b7a221e0a..97ceac7b8 100644
--- a/storage/xtradb/include/log0crypt.h
+++ b/storage/xtradb/include/log0crypt.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**************************************************//**
diff --git a/storage/xtradb/include/log0log.h b/storage/xtradb/include/log0log.h
index 916e2ee3e..5f4ca08c0 100644
--- a/storage/xtradb/include/log0log.h
+++ b/storage/xtradb/include/log0log.h
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/log0log.ic b/storage/xtradb/include/log0log.ic
index 70458fa54..b65524462 100644
--- a/storage/xtradb/include/log0log.ic
+++ b/storage/xtradb/include/log0log.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/log0online.h b/storage/xtradb/include/log0online.h
index 1a53b9efa..3cdd6bc6d 100644
--- a/storage/xtradb/include/log0online.h
+++ b/storage/xtradb/include/log0online.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
-Street, Fifth Floor, Boston, MA 02110-1301, USA
+Street, Fifth Floor, Boston, MA 02110-1335  USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/log0recv.h b/storage/xtradb/include/log0recv.h
index 73d53d2dd..afdc5ccd9 100644
--- a/storage/xtradb/include/log0recv.h
+++ b/storage/xtradb/include/log0recv.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -431,7 +431,7 @@ struct recv_sys_t{
 				log record, or there is a log parsing
 				buffer overflow */
 	/** the time when progress was last reported */
-	ib_time_t	progress_time;
+	time_t		progress_time;
 #ifdef UNIV_LOG_ARCHIVE
 	log_group_t*	archive_group;
 				/*!< in archive recovery: the log group whose
@@ -449,7 +449,7 @@ struct recv_sys_t{
 	@param[in]	time	the current time
 	@return	whether progress should be reported
 		(the last report was at least 15 seconds ago) */
-	bool report(ib_time_t time)
+	bool report(time_t time)
 	{
 		if (time - progress_time < 15) {
 			return false;
diff --git a/storage/xtradb/include/log0recv.ic b/storage/xtradb/include/log0recv.ic
index b29272f46..7d17e9dc9 100644
--- a/storage/xtradb/include/log0recv.ic
+++ b/storage/xtradb/include/log0recv.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mach0data.h b/storage/xtradb/include/mach0data.h
index 2e16634a6..5f3559b7c 100644
--- a/storage/xtradb/include/mach0data.h
+++ b/storage/xtradb/include/mach0data.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mach0data.ic b/storage/xtradb/include/mach0data.ic
index 3b1cf9c03..125bf09d6 100644
--- a/storage/xtradb/include/mach0data.ic
+++ b/storage/xtradb/include/mach0data.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mem0dbg.h b/storage/xtradb/include/mem0dbg.h
index cc339b829..448e5f80f 100644
--- a/storage/xtradb/include/mem0dbg.h
+++ b/storage/xtradb/include/mem0dbg.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mem0dbg.ic b/storage/xtradb/include/mem0dbg.ic
index ec60ed353..69bb5fd8d 100644
--- a/storage/xtradb/include/mem0dbg.ic
+++ b/storage/xtradb/include/mem0dbg.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mem0mem.h b/storage/xtradb/include/mem0mem.h
index de9b8b29f..b01a0fdee 100644
--- a/storage/xtradb/include/mem0mem.h
+++ b/storage/xtradb/include/mem0mem.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mem0mem.ic b/storage/xtradb/include/mem0mem.ic
index 2b4638718..3010bbf5c 100644
--- a/storage/xtradb/include/mem0mem.ic
+++ b/storage/xtradb/include/mem0mem.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mem0pool.h b/storage/xtradb/include/mem0pool.h
index a65ba50fd..d6fb23f74 100644
--- a/storage/xtradb/include/mem0pool.h
+++ b/storage/xtradb/include/mem0pool.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mem0pool.ic b/storage/xtradb/include/mem0pool.ic
index f4bafb8ba..d99daf59e 100644
--- a/storage/xtradb/include/mem0pool.ic
+++ b/storage/xtradb/include/mem0pool.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mtr0log.h b/storage/xtradb/include/mtr0log.h
index 18a345d05..929f68122 100644
--- a/storage/xtradb/include/mtr0log.h
+++ b/storage/xtradb/include/mtr0log.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mtr0log.ic b/storage/xtradb/include/mtr0log.ic
index 8c891fac5..a4d333544 100644
--- a/storage/xtradb/include/mtr0log.ic
+++ b/storage/xtradb/include/mtr0log.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mtr0mtr.h b/storage/xtradb/include/mtr0mtr.h
index 42a57f102..2d3da4d2a 100644
--- a/storage/xtradb/include/mtr0mtr.h
+++ b/storage/xtradb/include/mtr0mtr.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mtr0mtr.ic b/storage/xtradb/include/mtr0mtr.ic
index 04c39cf7f..a44728463 100644
--- a/storage/xtradb/include/mtr0mtr.ic
+++ b/storage/xtradb/include/mtr0mtr.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/mtr0types.h b/storage/xtradb/include/mtr0types.h
index 43368c0b7..715e9d8b5 100644
--- a/storage/xtradb/include/mtr0types.h
+++ b/storage/xtradb/include/mtr0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0file.h b/storage/xtradb/include/os0file.h
index 5e93b3454..dffacb81b 100644
--- a/storage/xtradb/include/os0file.h
+++ b/storage/xtradb/include/os0file.h
@@ -22,7 +22,7 @@ Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 ***********************************************************************/
 
diff --git a/storage/xtradb/include/os0file.ic b/storage/xtradb/include/os0file.ic
index a2011da35..612e3e4c1 100644
--- a/storage/xtradb/include/os0file.ic
+++ b/storage/xtradb/include/os0file.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0once.h b/storage/xtradb/include/os0once.h
index a8bbaf1d2..aaf2db117 100644
--- a/storage/xtradb/include/os0once.h
+++ b/storage/xtradb/include/os0once.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0proc.h b/storage/xtradb/include/os0proc.h
index d6aafccf4..ffb53e05c 100644
--- a/storage/xtradb/include/os0proc.h
+++ b/storage/xtradb/include/os0proc.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0proc.ic b/storage/xtradb/include/os0proc.ic
index 506f4f8ce..4726eb56f 100644
--- a/storage/xtradb/include/os0proc.ic
+++ b/storage/xtradb/include/os0proc.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0stacktrace.h b/storage/xtradb/include/os0stacktrace.h
index e79347c61..ba09c0041 100644
--- a/storage/xtradb/include/os0stacktrace.h
+++ b/storage/xtradb/include/os0stacktrace.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0sync.h b/storage/xtradb/include/os0sync.h
index 7bc591b29..d2dfcca54 100644
--- a/storage/xtradb/include/os0sync.h
+++ b/storage/xtradb/include/os0sync.h
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0sync.ic b/storage/xtradb/include/os0sync.ic
index 5f4b0d240..90c28f279 100644
--- a/storage/xtradb/include/os0sync.ic
+++ b/storage/xtradb/include/os0sync.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0thread.h b/storage/xtradb/include/os0thread.h
index 7865358b0..619f984d5 100644
--- a/storage/xtradb/include/os0thread.h
+++ b/storage/xtradb/include/os0thread.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/os0thread.ic b/storage/xtradb/include/os0thread.ic
index 0622d22f2..15f9b277f 100644
--- a/storage/xtradb/include/os0thread.ic
+++ b/storage/xtradb/include/os0thread.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/page0cur.h b/storage/xtradb/include/page0cur.h
index f04667ff2..aec7c6356 100644
--- a/storage/xtradb/include/page0cur.h
+++ b/storage/xtradb/include/page0cur.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/page0cur.ic b/storage/xtradb/include/page0cur.ic
index 6e068d9f7..9d0e8408c 100644
--- a/storage/xtradb/include/page0cur.ic
+++ b/storage/xtradb/include/page0cur.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/page0page.h b/storage/xtradb/include/page0page.h
index 26e71ff80..2efc2d302 100644
--- a/storage/xtradb/include/page0page.h
+++ b/storage/xtradb/include/page0page.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/page0page.ic b/storage/xtradb/include/page0page.ic
index b37715b53..ba3957bb3 100644
--- a/storage/xtradb/include/page0page.ic
+++ b/storage/xtradb/include/page0page.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/page0types.h b/storage/xtradb/include/page0types.h
index 3b53de6cc..8d8d2aa92 100644
--- a/storage/xtradb/include/page0types.h
+++ b/storage/xtradb/include/page0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/page0zip.h b/storage/xtradb/include/page0zip.h
index adafaa6d8..7f1328eeb 100644
--- a/storage/xtradb/include/page0zip.h
+++ b/storage/xtradb/include/page0zip.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/page0zip.ic b/storage/xtradb/include/page0zip.ic
index 3fa8a08c4..45979e4d0 100644
--- a/storage/xtradb/include/page0zip.ic
+++ b/storage/xtradb/include/page0zip.ic
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/pars0grm.h b/storage/xtradb/include/pars0grm.h
index 8e725fe95..d3228f7c0 100644
--- a/storage/xtradb/include/pars0grm.h
+++ b/storage/xtradb/include/pars0grm.h
@@ -18,7 +18,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   Boston, MA 02110-1335  USA.  */
 
 /* As a special exception, you may create a larger work that contains
    part or all of the Bison parser skeleton and distribute that work
diff --git a/storage/xtradb/include/pars0opt.h b/storage/xtradb/include/pars0opt.h
index 1084d644c..ce3e4410e 100644
--- a/storage/xtradb/include/pars0opt.h
+++ b/storage/xtradb/include/pars0opt.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/pars0opt.ic b/storage/xtradb/include/pars0opt.ic
index 786d911ca..99075c81d 100644
--- a/storage/xtradb/include/pars0opt.ic
+++ b/storage/xtradb/include/pars0opt.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/pars0pars.h b/storage/xtradb/include/pars0pars.h
index 313380a40..1032862b2 100644
--- a/storage/xtradb/include/pars0pars.h
+++ b/storage/xtradb/include/pars0pars.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/pars0pars.ic b/storage/xtradb/include/pars0pars.ic
index 4c88337a2..f788f4479 100644
--- a/storage/xtradb/include/pars0pars.ic
+++ b/storage/xtradb/include/pars0pars.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/pars0sym.h b/storage/xtradb/include/pars0sym.h
index bcf736392..d423f84ab 100644
--- a/storage/xtradb/include/pars0sym.h
+++ b/storage/xtradb/include/pars0sym.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/pars0sym.ic b/storage/xtradb/include/pars0sym.ic
index 266c1a631..6401a525c 100644
--- a/storage/xtradb/include/pars0sym.ic
+++ b/storage/xtradb/include/pars0sym.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/pars0types.h b/storage/xtradb/include/pars0types.h
index 47f4b432d..f5b695225 100644
--- a/storage/xtradb/include/pars0types.h
+++ b/storage/xtradb/include/pars0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/que0que.h b/storage/xtradb/include/que0que.h
index 005f28d2a..b5c958ba7 100644
--- a/storage/xtradb/include/que0que.h
+++ b/storage/xtradb/include/que0que.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/que0que.ic b/storage/xtradb/include/que0que.ic
index eff5a86d9..177546778 100644
--- a/storage/xtradb/include/que0que.ic
+++ b/storage/xtradb/include/que0que.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/que0types.h b/storage/xtradb/include/que0types.h
index 0f11cad30..025cf818a 100644
--- a/storage/xtradb/include/que0types.h
+++ b/storage/xtradb/include/que0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/read0i_s.h b/storage/xtradb/include/read0i_s.h
index 11b63affe..0bf928187 100644
--- a/storage/xtradb/include/read0i_s.h
+++ b/storage/xtradb/include/read0i_s.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/read0read.h b/storage/xtradb/include/read0read.h
index 2d6885884..751943c36 100644
--- a/storage/xtradb/include/read0read.h
+++ b/storage/xtradb/include/read0read.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/read0read.ic b/storage/xtradb/include/read0read.ic
index 66bef8866..b0c30c719 100644
--- a/storage/xtradb/include/read0read.ic
+++ b/storage/xtradb/include/read0read.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/read0types.h b/storage/xtradb/include/read0types.h
index 969f4ebb6..1ad501d93 100644
--- a/storage/xtradb/include/read0types.h
+++ b/storage/xtradb/include/read0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/rem0cmp.h b/storage/xtradb/include/rem0cmp.h
index 65116229f..828e1175e 100644
--- a/storage/xtradb/include/rem0cmp.h
+++ b/storage/xtradb/include/rem0cmp.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/rem0cmp.ic b/storage/xtradb/include/rem0cmp.ic
index 67a2dcacb..9dee05a76 100644
--- a/storage/xtradb/include/rem0cmp.ic
+++ b/storage/xtradb/include/rem0cmp.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/rem0rec.h b/storage/xtradb/include/rem0rec.h
index afc191e63..ec29eee97 100644
--- a/storage/xtradb/include/rem0rec.h
+++ b/storage/xtradb/include/rem0rec.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/rem0rec.ic b/storage/xtradb/include/rem0rec.ic
index 122ea7330..e0d0682ff 100644
--- a/storage/xtradb/include/rem0rec.ic
+++ b/storage/xtradb/include/rem0rec.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/rem0types.h b/storage/xtradb/include/rem0types.h
index 5da96066f..b78700e91 100644
--- a/storage/xtradb/include/rem0types.h
+++ b/storage/xtradb/include/rem0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0ext.h b/storage/xtradb/include/row0ext.h
index a098e2f9b..02f46867d 100644
--- a/storage/xtradb/include/row0ext.h
+++ b/storage/xtradb/include/row0ext.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0ext.ic b/storage/xtradb/include/row0ext.ic
index 39e150d91..913b51b34 100644
--- a/storage/xtradb/include/row0ext.ic
+++ b/storage/xtradb/include/row0ext.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0ftsort.h b/storage/xtradb/include/row0ftsort.h
index b00638537..7b99eb377 100644
--- a/storage/xtradb/include/row0ftsort.h
+++ b/storage/xtradb/include/row0ftsort.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0import.h b/storage/xtradb/include/row0import.h
index a821c230a..4f9f372ff 100644
--- a/storage/xtradb/include/row0import.h
+++ b/storage/xtradb/include/row0import.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0import.ic b/storage/xtradb/include/row0import.ic
index c5bbab49f..75b45e771 100644
--- a/storage/xtradb/include/row0import.ic
+++ b/storage/xtradb/include/row0import.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0ins.h b/storage/xtradb/include/row0ins.h
index 71ee39070..54e7fa6d1 100644
--- a/storage/xtradb/include/row0ins.h
+++ b/storage/xtradb/include/row0ins.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0ins.ic b/storage/xtradb/include/row0ins.ic
index 9c191d869..f1f0a4497 100644
--- a/storage/xtradb/include/row0ins.ic
+++ b/storage/xtradb/include/row0ins.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0log.h b/storage/xtradb/include/row0log.h
index 5ff148ff0..6d91e25e6 100644
--- a/storage/xtradb/include/row0log.h
+++ b/storage/xtradb/include/row0log.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0log.ic b/storage/xtradb/include/row0log.ic
index b0f37dbd8..53f99da15 100644
--- a/storage/xtradb/include/row0log.ic
+++ b/storage/xtradb/include/row0log.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0merge.h b/storage/xtradb/include/row0merge.h
index af21ef49c..b00edb08d 100644
--- a/storage/xtradb/include/row0merge.h
+++ b/storage/xtradb/include/row0merge.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/row0mysql.h b/storage/xtradb/include/row0mysql.h
index 4915e7c7a..658059655 100644
--- a/storage/xtradb/include/row0mysql.h
+++ b/storage/xtradb/include/row0mysql.h
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2000, 2017, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, MariaDB Corporation.
+Copyright (c) 2017, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -493,7 +493,7 @@ row_drop_table_for_mysql(
 	const char*	name,	/*!< in: table name */
 	trx_t*		trx,	/*!< in: dictionary transaction handle */
 	bool		drop_db,/*!< in: true=dropping whole database */
-	ibool		create_failed,/*!lock.wait_started */
 	ullint		trx_weight;	/*!< TRX_WEIGHT() */
 	ulint		trx_mysql_thread_id; /*!< thd_get_thread_id() */
 	const char*	trx_query;	/*!< MySQL statement being
diff --git a/storage/xtradb/include/trx0purge.h b/storage/xtradb/include/trx0purge.h
index 7b9b5dc49..5f05cc120 100644
--- a/storage/xtradb/include/trx0purge.h
+++ b/storage/xtradb/include/trx0purge.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0purge.ic b/storage/xtradb/include/trx0purge.ic
index ca9cc1fb8..a32ecefe4 100644
--- a/storage/xtradb/include/trx0purge.ic
+++ b/storage/xtradb/include/trx0purge.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0rec.h b/storage/xtradb/include/trx0rec.h
index fef125480..ab0ea8846 100644
--- a/storage/xtradb/include/trx0rec.h
+++ b/storage/xtradb/include/trx0rec.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0rec.ic b/storage/xtradb/include/trx0rec.ic
index 08704f6b8..57d1e9aff 100644
--- a/storage/xtradb/include/trx0rec.ic
+++ b/storage/xtradb/include/trx0rec.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0roll.h b/storage/xtradb/include/trx0roll.h
index 565079b17..27d452103 100644
--- a/storage/xtradb/include/trx0roll.h
+++ b/storage/xtradb/include/trx0roll.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0roll.ic b/storage/xtradb/include/trx0roll.ic
index 178e9bb73..e6f9dd5eb 100644
--- a/storage/xtradb/include/trx0roll.ic
+++ b/storage/xtradb/include/trx0roll.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0rseg.h b/storage/xtradb/include/trx0rseg.h
index e2853df70..b162129c3 100644
--- a/storage/xtradb/include/trx0rseg.h
+++ b/storage/xtradb/include/trx0rseg.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0rseg.ic b/storage/xtradb/include/trx0rseg.ic
index 30743da9b..4bcbebaf6 100644
--- a/storage/xtradb/include/trx0rseg.ic
+++ b/storage/xtradb/include/trx0rseg.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0sys.h b/storage/xtradb/include/trx0sys.h
index 85c454c4c..ed1820825 100644
--- a/storage/xtradb/include/trx0sys.h
+++ b/storage/xtradb/include/trx0sys.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0sys.ic b/storage/xtradb/include/trx0sys.ic
index 699148cff..9e9b70f22 100644
--- a/storage/xtradb/include/trx0sys.ic
+++ b/storage/xtradb/include/trx0sys.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0trx.h b/storage/xtradb/include/trx0trx.h
index b3a513b9b..448b24291 100644
--- a/storage/xtradb/include/trx0trx.h
+++ b/storage/xtradb/include/trx0trx.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -917,10 +917,11 @@ struct trx_t{
 					when trx->in_rw_trx_list. Initially
 					set to TRX_ID_MAX. */
 
-	time_t		start_time;	/*!< time the trx state last time became
-					TRX_STATE_ACTIVE */
-	ib_uint64_t	start_time_micro;	/*!< start time of transaction in
-					microseconds */
+	/** wall-clock time of the latest transition to TRX_STATE_ACTIVE;
+	used for diagnostic purposes only */
+	time_t		start_time;
+	/** microsecond_interval_timer() of transaction start */
+	ulonglong	start_time_micro;
 	trx_id_t	id;		/*!< transaction id */
 	XID		xid;		/*!< X/Open XA transaction
 					identification to identify a
@@ -1102,7 +1103,7 @@ struct trx_t{
 	ulint		io_reads;
 	ib_uint64_t	io_read;
 	ulint		io_reads_wait_timer;
-	ib_uint64_t	lock_que_wait_ustarted;
+	ulonglong	lock_que_wait_nstarted;
 	ulint           lock_que_wait_timer;
 	ulint           innodb_que_wait_timer;
 	ulint           distinct_page_access;
diff --git a/storage/xtradb/include/trx0trx.ic b/storage/xtradb/include/trx0trx.ic
index 6b8078a55..ee64136bd 100644
--- a/storage/xtradb/include/trx0trx.ic
+++ b/storage/xtradb/include/trx0trx.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0types.h b/storage/xtradb/include/trx0types.h
index a0b398fff..1c869bdd4 100644
--- a/storage/xtradb/include/trx0types.h
+++ b/storage/xtradb/include/trx0types.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0undo.h b/storage/xtradb/include/trx0undo.h
index 0148cc615..751f56a94 100644
--- a/storage/xtradb/include/trx0undo.h
+++ b/storage/xtradb/include/trx0undo.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0undo.ic b/storage/xtradb/include/trx0undo.ic
index 577759d6c..4ab197f57 100644
--- a/storage/xtradb/include/trx0undo.ic
+++ b/storage/xtradb/include/trx0undo.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/trx0xa.h b/storage/xtradb/include/trx0xa.h
index 4d5adc68d..cb5d67cf5 100644
--- a/storage/xtradb/include/trx0xa.h
+++ b/storage/xtradb/include/trx0xa.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/univ.i b/storage/xtradb/include/univ.i
index 93e910831..69d5cbac5 100644
--- a/storage/xtradb/include/univ.i
+++ b/storage/xtradb/include/univ.i
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -45,10 +45,10 @@ Created 1/20/1994 Heikki Tuuri
 
 #define INNODB_VERSION_MAJOR	5
 #define INNODB_VERSION_MINOR	6
-#define INNODB_VERSION_BUGFIX	43
+#define INNODB_VERSION_BUGFIX	44
 
 #ifndef PERCONA_INNODB_VERSION
-#define PERCONA_INNODB_VERSION 84.3
+#define PERCONA_INNODB_VERSION 86.0
 #endif
 
 /* Enable UNIV_LOG_ARCHIVE in XtraDB */
diff --git a/storage/xtradb/include/usr0sess.h b/storage/xtradb/include/usr0sess.h
index b5c80b97b..5978332d5 100644
--- a/storage/xtradb/include/usr0sess.h
+++ b/storage/xtradb/include/usr0sess.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/usr0sess.ic b/storage/xtradb/include/usr0sess.ic
index 284e59537..65e404fb7 100644
--- a/storage/xtradb/include/usr0sess.ic
+++ b/storage/xtradb/include/usr0sess.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/usr0types.h b/storage/xtradb/include/usr0types.h
index 6ba937cac..693bb239a 100644
--- a/storage/xtradb/include/usr0types.h
+++ b/storage/xtradb/include/usr0types.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0bh.h b/storage/xtradb/include/ut0bh.h
index 1085736c7..bde310a7d 100644
--- a/storage/xtradb/include/ut0bh.h
+++ b/storage/xtradb/include/ut0bh.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0bh.ic b/storage/xtradb/include/ut0bh.ic
index b11de5b8b..579a487fa 100644
--- a/storage/xtradb/include/ut0bh.ic
+++ b/storage/xtradb/include/ut0bh.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0byte.h b/storage/xtradb/include/ut0byte.h
index 4893ab9f9..eb75ecd0f 100644
--- a/storage/xtradb/include/ut0byte.h
+++ b/storage/xtradb/include/ut0byte.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0byte.ic b/storage/xtradb/include/ut0byte.ic
index 1a7af5ae3..504744ad2 100644
--- a/storage/xtradb/include/ut0byte.ic
+++ b/storage/xtradb/include/ut0byte.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0counter.h b/storage/xtradb/include/ut0counter.h
index 6fde8a7a6..d2a6c1eb3 100644
--- a/storage/xtradb/include/ut0counter.h
+++ b/storage/xtradb/include/ut0counter.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0crc32.h b/storage/xtradb/include/ut0crc32.h
index ab1d2db98..49a1bd132 100644
--- a/storage/xtradb/include/ut0crc32.h
+++ b/storage/xtradb/include/ut0crc32.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0dbg.h b/storage/xtradb/include/ut0dbg.h
index b4c941bc1..efc670184 100644
--- a/storage/xtradb/include/ut0dbg.h
+++ b/storage/xtradb/include/ut0dbg.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0list.h b/storage/xtradb/include/ut0list.h
index 796a272db..4f35624ac 100644
--- a/storage/xtradb/include/ut0list.h
+++ b/storage/xtradb/include/ut0list.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0list.ic b/storage/xtradb/include/ut0list.ic
index 7a7f53adb..89f411a2a 100644
--- a/storage/xtradb/include/ut0list.ic
+++ b/storage/xtradb/include/ut0list.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0lst.h b/storage/xtradb/include/ut0lst.h
index b53e7ade4..741d55dca 100644
--- a/storage/xtradb/include/ut0lst.h
+++ b/storage/xtradb/include/ut0lst.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0mem.h b/storage/xtradb/include/ut0mem.h
index 81470358f..12f93764d 100644
--- a/storage/xtradb/include/ut0mem.h
+++ b/storage/xtradb/include/ut0mem.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0mem.ic b/storage/xtradb/include/ut0mem.ic
index 5c9071d52..f102bf959 100644
--- a/storage/xtradb/include/ut0mem.ic
+++ b/storage/xtradb/include/ut0mem.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0rbt.h b/storage/xtradb/include/ut0rbt.h
index 5c25104b5..39d17e0d1 100644
--- a/storage/xtradb/include/ut0rbt.h
+++ b/storage/xtradb/include/ut0rbt.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /******************************************************************//**
diff --git a/storage/xtradb/include/ut0rnd.h b/storage/xtradb/include/ut0rnd.h
index 6ed3ee3b2..0f8474225 100644
--- a/storage/xtradb/include/ut0rnd.h
+++ b/storage/xtradb/include/ut0rnd.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0rnd.ic b/storage/xtradb/include/ut0rnd.ic
index 987dfac03..ce8c7203c 100644
--- a/storage/xtradb/include/ut0rnd.ic
+++ b/storage/xtradb/include/ut0rnd.ic
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0sort.h b/storage/xtradb/include/ut0sort.h
index 75648b5c3..12f482078 100644
--- a/storage/xtradb/include/ut0sort.h
+++ b/storage/xtradb/include/ut0sort.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0timer.h b/storage/xtradb/include/ut0timer.h
deleted file mode 100644
index 3015771b4..000000000
--- a/storage/xtradb/include/ut0timer.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*****************************************************************************
-
-Copyright (c) 2013, 2014, Facebook, Inc. All Rights Reserved.
-Copyright (c) 2014, 2018, MariaDB Corporation.
-
-This program is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
-
-*****************************************************************************/
-
-/********************************************************************//**
-@file include/ut0timer.h
-Timer routines
-
-Created 30/07/2014 Jan Lindström jan.lindstrom@skysql.com
-modified from https://github.com/facebook/mysql-5.6/commit/c75a413edeb96eb99bf11d7269bdfea06f96d6b6
-*************************************************************************/
-#ifndef ut0timer_h
-#define ut0timer_h
-
-#include "univ.i"
-
-/* Current timer stats */
-extern struct my_timer_unit_info ut_timer;
-
-/**************************************************************//**
-Function pointer to point selected timer function.
-@return	timer current value */
-extern ulonglong (*ut_timer_now)(void);
-
-/**************************************************************//**
-Sets up the data required for use of my_timer_* functions.
-Selects the best timer by high frequency, and tight resolution.
-Points my_timer_now() to the selected timer function.
-Initializes my_timer struct to contain the info for selected timer.*/
-UNIV_INTERN
-void ut_init_timer(void);
-
-/**************************************************************//**
-Convert native timer units in a ulonglong into microseconds in a double
-@return time in microseconds */
-UNIV_INLINE
-double
-ut_timer_to_microseconds(
-/*=====================*/
-	ulonglong	when); /*!< in: time where to calculate */
-/**************************************************************//**
-Convert microseconds in a double to native timer units in a ulonglong
-@return time in microseconds */
-UNIV_INLINE
-ulonglong
-ut_microseconds_to_timer(
-/*=====================*/
-	ulonglong	when); /*!< in: time where to calculate */
-
-#ifndef UNIV_NONINL
-#include "ut0timer.ic"
-#endif
-
-#endif
diff --git a/storage/xtradb/include/ut0timer.ic b/storage/xtradb/include/ut0timer.ic
deleted file mode 100644
index 02af23cdc..000000000
--- a/storage/xtradb/include/ut0timer.ic
+++ /dev/null
@@ -1,56 +0,0 @@
-/*****************************************************************************
-
-Copyright (c) 2013, 2014, Facebook, Inc. All Rights Reserved.
-Copyright (c) 2014, 2018, MariaDB Corporation.
-
-This program is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
-
-*****************************************************************************/
-
-/********************************************************************//**
-@file include/ut0timer.ic
-Timer routines
-
-Created 30/07/2014 Jan Lindström jan.lindstrom@skysql.com
-modified from https://github.com/facebook/mysql-5.6/commit/c75a413edeb96eb99bf11d7269bdfea06f96d6b6
-*************************************************************************/
-
-/**************************************************************//**
-Convert native timer units in a ulonglong into microseconds in a double
-@return time in microseconds */
-UNIV_INLINE
-double
-ut_timer_to_microseconds(
-/*=====================*/
-	ulonglong	when) /*!< in: time where to calculate */
-{
-	double ret = (double)(when);
-	ret *= 1000000.0;
-	ret /= (double)(ut_timer.frequency);
-	return ret;
-}
-
-/**************************************************************//**
-Convert microseconds in a double to native timer units in a ulonglong
-@return time in microseconds */
-UNIV_INLINE
-ulonglong
-ut_microseconds_to_timer(
-/*=====================*/
-	ulonglong	when) /*!< in: time where to calculate */
-{
-	double ret = (double)when;
-	ret *= (double)(ut_timer.frequency);
-	ret /= 1000000.0;
-	return (ulonglong)ret;
-}
diff --git a/storage/xtradb/include/ut0ut.h b/storage/xtradb/include/ut0ut.h
index 726c01a2e..2dd791557 100644
--- a/storage/xtradb/include/ut0ut.h
+++ b/storage/xtradb/include/ut0ut.h
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1994, 2017, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -50,9 +51,6 @@ Created 1/20/1994 Heikki Tuuri
 /** Index name prefix in fast index creation, as a string constant */
 #define TEMP_INDEX_PREFIX_STR	"\377"
 
-/** Time stamp */
-typedef time_t	ib_time_t;
-
 /* In order to call a piece of code, when a function returns or when the
 scope ends, use this utility class.  It will invoke the given function
 object in its destructor. */
@@ -108,22 +106,6 @@ struct ut_when_dtor {
 #  define UT_LOW_PRIORITY_CPU() ((void)0)
 #  define UT_RESUME_PRIORITY_CPU() ((void)0)
 # endif
-
-/*********************************************************************//**
-Delays execution for at most max_wait_us microseconds or returns earlier
-if cond becomes true.
-@param cond		in: condition to wait for; evaluated every 2 ms
-@param max_wait_us	in: maximum delay to wait, in microseconds */
-#define UT_WAIT_FOR(cond, max_wait_us)				\
-do {								\
-	ullint	start_us;					\
-	start_us = ut_time_us(NULL);				\
-	while (!(cond) 						\
-	       && ut_time_us(NULL) - start_us < (max_wait_us)) {\
-								\
-		os_thread_sleep(2000 /* 2 ms */);		\
-	}							\
-} while (0)
 #endif /* !UNIV_HOTBACKUP */
 
 template  T ut_min(T a, T b) { return(a < b ? a : b); }
@@ -242,39 +224,8 @@ store the given number of bits.
 @return		number of bytes (octets) needed to represent b */
 #define UT_BITS_IN_BYTES(b) (((b) + 7) / 8)
 
-/**********************************************************//**
-Returns system time. We do not specify the format of the time returned:
-the only way to manipulate it is to use the function ut_difftime.
-@return	system time */
-UNIV_INTERN
-ib_time_t
-ut_time(void);
-/*=========*/
 #ifndef UNIV_HOTBACKUP
 /**********************************************************//**
-Returns system time.
-Upon successful completion, the value 0 is returned; otherwise the
-value -1 is returned and the global variable errno is set to indicate the
-error.
-@return	0 on success, -1 otherwise */
-UNIV_INTERN
-int
-ut_usectime(
-/*========*/
-	ulint*	sec,	/*!< out: seconds since the Epoch */
-	ulint*	ms);	/*!< out: microseconds since the Epoch+*sec */
-
-/**********************************************************//**
-Returns the number of microseconds since epoch. Similar to
-time(3), the return value is also stored in *tloc, provided
-that tloc is non-NULL.
-@return	us since epoch */
-UNIV_INTERN
-ullint
-ut_time_us(
-/*=======*/
-	ullint*	tloc);	/*!< out: us since epoch, if non-NULL */
-/**********************************************************//**
 Returns the number of milliseconds since some epoch.  The
 value may wrap around.  It should only be used for heuristic
 purposes.
@@ -283,15 +234,6 @@ UNIV_INTERN
 ulint
 ut_time_ms(void);
 /*============*/
-#ifdef _WIN32
-/**********************************************************//**
-Initialise highest available time resolution API on Windows
-@return 0 if all OK else -1 */
-int
-ut_win_init_time();
-
-#endif /* _WIN32 */
-
 #endif /* !UNIV_HOTBACKUP */
 
 /**********************************************************//**
@@ -303,17 +245,6 @@ UNIV_INTERN
 ulint
 ut_time_ms(void);
 /*============*/
-
-/**********************************************************//**
-Returns the difference of two times in seconds.
-@return	time2 - time1 expressed in seconds */
-UNIV_INTERN
-double
-ut_difftime(
-/*========*/
-	ib_time_t	time2,	/*!< in: time */
-	ib_time_t	time1);	/*!< in: time */
-
 #endif /* !UNIV_INNOCHECKSUM */
 
 /**********************************************************//**
@@ -343,15 +274,6 @@ void
 ut_sprintf_timestamp_without_extra_chars(
 /*=====================================*/
 	char*	buf); /*!< in: buffer where to sprintf */
-/**********************************************************//**
-Returns current year, month, day. */
-UNIV_INTERN
-void
-ut_get_year_month_day(
-/*==================*/
-	ulint*	year,	/*!< out: current year */
-	ulint*	month,	/*!< out: month */
-	ulint*	day);	/*!< out: day */
 #else /* UNIV_HOTBACKUP */
 /*************************************************************//**
 Runs an idle loop on CPU. The argument gives the desired delay
diff --git a/storage/xtradb/include/ut0ut.ic b/storage/xtradb/include/ut0ut.ic
index 4e0f76e19..380c58873 100644
--- a/storage/xtradb/include/ut0ut.ic
+++ b/storage/xtradb/include/ut0ut.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0vec.h b/storage/xtradb/include/ut0vec.h
index 432fb348a..a08380fff 100644
--- a/storage/xtradb/include/ut0vec.h
+++ b/storage/xtradb/include/ut0vec.h
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0vec.ic b/storage/xtradb/include/ut0vec.ic
index f41a85e1d..1d4c0539c 100644
--- a/storage/xtradb/include/ut0vec.ic
+++ b/storage/xtradb/include/ut0vec.ic
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/include/ut0wqueue.h b/storage/xtradb/include/ut0wqueue.h
index e0f8f76d5..9bd586092 100644
--- a/storage/xtradb/include/ut0wqueue.h
+++ b/storage/xtradb/include/ut0wqueue.h
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -89,7 +89,7 @@ ib_wqueue_timedwait(
 /*================*/
 					/* out: work item or NULL on timeout*/
 	ib_wqueue_t*	wq,		/* in: work queue */
-	ib_time_t	wait_in_usecs); /* in: wait time in micro seconds */
+	ulint		wait_in_usecs); /* in: wait time in micro seconds */
 
 /********************************************************************
 Return first item on work queue or NULL if queue is empty
diff --git a/storage/xtradb/lock/lock0iter.cc b/storage/xtradb/lock/lock0iter.cc
index b424d2fc7..56bb69fa4 100644
--- a/storage/xtradb/lock/lock0iter.cc
+++ b/storage/xtradb/lock/lock0iter.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/lock/lock0lock.cc b/storage/xtradb/lock/lock0lock.cc
index 9c86abf71..c110c83cb 100644
--- a/storage/xtradb/lock/lock0lock.cc
+++ b/storage/xtradb/lock/lock0lock.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -383,6 +383,20 @@ struct lock_stack_t {
 	ulint		heap_no;		/*!< heap number if rec lock */
 };
 
+/** Pretty-print a table lock.
+@param[in,out]	file	output stream
+@param[in]	lock	table lock
+@param[in]	now	current time */
+static void lock_table_print(FILE* file, const lock_t* lock, time_t now);
+
+/** Pretty-print a record lock.
+@param[in,out]	file	output stream
+@param[in]	lock	record lock
+@param[in]	now	current time
+@param[in,out]	mtr	mini-transaction */
+static void lock_rec_print(FILE* file, const lock_t* lock, time_t now,
+			   mtr_t* mtr = NULL);
+
 /*********************************************************************//**
 Checks if a waiting record lock request still has to wait in a queue.
 @return lock that is causing the wait */
@@ -466,20 +480,18 @@ UNIV_INTERN ibool	lock_deadlock_found = FALSE;
 /** Only created if !srv_read_only_mode */
 static FILE*		lock_latest_err_file;
 
-/********************************************************************//**
-Checks if a joining lock request results in a deadlock. If a deadlock is
+/** Check if a joining lock request results in a deadlock. If a deadlock is
 found this function will resolve the dadlock by choosing a victim transaction
-and rolling it back. It will attempt to resolve all deadlocks. The returned
-transaction id will be the joining transaction id or 0 if some other
-transaction was chosen as a victim and rolled back or no deadlock found.
-
-@return id of transaction chosen as victim or 0 */
-static
-trx_id_t
-lock_deadlock_check_and_resolve(
-/*===========================*/
-	const lock_t*	lock,	/*!< in: lock the transaction is requesting */
-	const trx_t*	trx);	/*!< in: transaction */
+and rolling it back. It will attempt to resolve all deadlocks.
+@param[in]	trx	joining transaction
+@param[in]	lock	the requested lock
+@param[in]	now	current time
+@return trx->id of the victim transaction
+@retval 0	if some other transaction was chosen as a victim and
+rolled back, or no deadlock was found. */
+static trx_id_t lock_deadlock_check_and_resolve(const trx_t* trx,
+						const lock_t* lock,
+						time_t now);
 
 /*********************************************************************//**
 Gets the nth bit of a record lock.
@@ -1147,12 +1159,11 @@ lock_rec_has_to_wait(
 		   thread, we need to look at trx ordering and lock types */
 		if (wsrep_thd_is_BF(trx->mysql_thd, FALSE)         &&
 		    wsrep_thd_is_BF(lock2->trx->mysql_thd, TRUE)) {
-
 			if (wsrep_debug) {
 				fprintf(stderr,
 					"BF-BF lock conflict, locking: %lu\n",
 					for_locking);
-				lock_rec_print(stderr, lock2);
+				lock_rec_print(stderr, lock2, time(NULL));
 			}
 
 			if (wsrep_trx_order_before(trx->mysql_thd,
@@ -1171,7 +1182,8 @@ lock_rec_has_to_wait(
 						"conflicts states: my %d locked %d\n",
 						wsrep_thd_conflict_state(trx->mysql_thd, FALSE),
 						wsrep_thd_conflict_state(lock2->trx->mysql_thd, FALSE) );
-					lock_rec_print(stderr, lock2);
+					lock_rec_print(stderr, lock2,
+						       time(NULL));
 					if (for_locking) return FALSE;
 					//abort();
 				}
@@ -1797,10 +1809,12 @@ wsrep_kill_victim(
 				fputs("*** WAITING FOR THIS LOCK TO BE GRANTED:\n",
 				      stderr);
 
+				time_t now = time(NULL);
+
 				if (lock_get_type(lock) == LOCK_REC) {
-					lock_rec_print(stderr, lock);
+					lock_rec_print(stderr, lock, now);
 				} else {
-					lock_table_print(stderr, lock);
+					lock_table_print(stderr, lock, now);
 				}
 			}
 
@@ -2055,16 +2069,20 @@ wsrep_print_wait_locks(
 {
 	if (wsrep_debug &&  c_lock->trx->lock.wait_lock != c_lock) {
 		fprintf(stderr, "WSREP: c_lock != wait lock\n");
+		time_t now = time(NULL);
+
 		if (lock_get_type_low(c_lock) & LOCK_TABLE) {
-			lock_table_print(stderr, c_lock);
+			lock_table_print(stderr, c_lock, now);
 		} else {
-			lock_rec_print(stderr, c_lock);
+			lock_rec_print(stderr, c_lock, now);
 		}
 
 		if (lock_get_type_low(c_lock->trx->lock.wait_lock) & LOCK_TABLE) {
-			lock_table_print(stderr, c_lock->trx->lock.wait_lock);
+			lock_table_print(stderr, c_lock->trx->lock.wait_lock,
+					 now);
 		} else {
-			lock_rec_print(stderr, c_lock->trx->lock.wait_lock);
+			lock_rec_print(stderr, c_lock->trx->lock.wait_lock,
+				       now);
 		}
 	}
 }
@@ -2077,10 +2095,7 @@ If neither of them is wait lock, the first one has higher priority.
 If only one of them is a wait lock, it has lower priority.
 Otherwise, the one with an older transaction has higher priority.
 @returns true if lock1 has higher priority, false otherwise. */
-bool
-has_higher_priority(
-	lock_t *lock1,
-	lock_t *lock2)
+static bool has_higher_priority(lock_t *lock1, lock_t *lock2)
 {
 	if (lock1 == NULL) {
 		return false;
@@ -2295,7 +2310,7 @@ lock_rec_create(
 	/* Set the bit corresponding to rec */
 	lock_rec_set_nth_bit(lock, heap_no);
 
-	lock->requested_time = ut_time();
+	lock->requested_time = time(NULL);
 	lock->wait_time = 0;
 
 	index->table->n_rec_locks++;
@@ -2448,8 +2463,6 @@ lock_rec_enqueue_waiting(
 	trx_t*			trx;
 	lock_t*			lock;
 	trx_id_t		victim_trx_id;
-	ulint			sec;
-	ulint			ms;
 	ulint			space;
 	ulint			page_no;
 	dberr_t			err;
@@ -2508,7 +2521,8 @@ lock_rec_enqueue_waiting(
 
 	trx_mutex_exit(trx);
 
-	victim_trx_id = lock_deadlock_check_and_resolve(lock, trx);
+	const time_t now = time(NULL);
+	victim_trx_id = lock_deadlock_check_and_resolve(trx, lock, now);
 
 	trx_mutex_enter(trx);
 
@@ -2532,11 +2546,10 @@ lock_rec_enqueue_waiting(
 		trx->lock.que_state = TRX_QUE_LOCK_WAIT;
 
 		trx->lock.was_chosen_as_deadlock_victim = FALSE;
-		trx->lock.wait_started = ut_time();
+		trx->lock.wait_started = now;
 
 		if (UNIV_UNLIKELY(trx->take_stats)) {
-			ut_usectime(&sec, &ms);
-			trx->lock_que_wait_ustarted = (ib_uint64_t)sec * 1000000 + ms;
+			trx->lock_que_wait_nstarted = my_interval_timer();
 		}
 
 		ut_a(que_thr_stop(thr));
@@ -2678,7 +2691,8 @@ lock_rec_add_to_queue(
 						"BF skipping wait: "
 						TRX_ID_FMT "\n",
 						trx->id);
-					lock_rec_print(stderr, lock);
+					lock_rec_print(stderr, lock,
+						       time(NULL));
 				}
 		  } else
 #endif
@@ -2997,13 +3011,14 @@ lock_rec_has_to_wait_in_queue(
 			if (wsrep_thd_is_BF(wait_lock->trx->mysql_thd, FALSE) &&
 			    wsrep_thd_is_BF(lock->trx->mysql_thd, TRUE)) {
 				if (wsrep_debug) {
+					time_t now = time(NULL);
 					fprintf(stderr,
 						"BF-BF lock conflict " TRX_ID_FMT
 						" : " TRX_ID_FMT "\n",
 						wait_lock->trx->id,
 						lock->trx->id);
-					lock_rec_print(stderr, wait_lock);
-					lock_rec_print(stderr, lock);
+					lock_rec_print(stderr, wait_lock, now);
+					lock_rec_print(stderr, lock, now);
 				}
 				/* don't wait for another BF lock */
 				continue;
@@ -3070,16 +3085,18 @@ lock_grant(
 		}
 	}
 
+	const time_t now = time(NULL);
+
 	/* Cumulate total lock wait time for statistics */
 	if (lock_get_type_low(lock) & LOCK_TABLE) {
 		lock->trx->total_table_lock_wait_time +=
-			(ulint)difftime(ut_time(), lock->trx->lock.wait_started);
+			(ulint)difftime(now, lock->trx->lock.wait_started);
 	} else {
 		lock->trx->total_rec_lock_wait_time +=
-			(ulint)difftime(ut_time(), lock->trx->lock.wait_started);
+			(ulint)difftime(now, lock->trx->lock.wait_started);
 	}
 
-	lock->wait_time = (ulint)difftime(ut_time(), lock->requested_time);
+	lock->wait_time = (ulint)difftime(now, lock->requested_time);
 
 	if (!owns_trx_mutex) {
 		trx_mutex_exit(lock->trx);
@@ -4334,28 +4351,26 @@ lock_deadlock_trx_print(
 	mutex_exit(&trx_sys->mutex);
 }
 
-/*********************************************************************//**
-Print lock data to the deadlock file and possibly to stderr. */
-UNIV_INLINE
-void
-lock_deadlock_lock_print(
-/*=====================*/
-	const lock_t*	lock)	/*!< in: record or table type lock */
+/** Print lock data to the deadlock file and possibly to stderr.
+@param[in]	lock	record or table lock
+@param[in]	now	current time */
+static void lock_deadlock_lock_print(const lock_t* lock, time_t now)
 {
 	ut_ad(lock_mutex_own());
 	ut_ad(!srv_read_only_mode);
 
 	if (lock_get_type_low(lock) == LOCK_REC) {
-		lock_rec_print(lock_latest_err_file, lock);
+		mtr_t mtr;
+		lock_rec_print(lock_latest_err_file, lock, now, &mtr);
 
 		if (srv_print_all_deadlocks) {
-			lock_rec_print(stderr, lock);
+			lock_rec_print(stderr, lock, now, &mtr);
 		}
 	} else {
-		lock_table_print(lock_latest_err_file, lock);
+		lock_table_print(lock_latest_err_file, lock, now);
 
 		if (srv_print_all_deadlocks) {
-			lock_table_print(stderr, lock);
+			lock_table_print(stderr, lock, now);
 		}
 	}
 }
@@ -4468,6 +4483,8 @@ lock_deadlock_notify(
 	ut_ad(lock_mutex_own());
 	ut_ad(!srv_read_only_mode);
 
+	const time_t now = time(NULL);
+
 	lock_deadlock_start_print();
 
 	lock_deadlock_fputs("\n*** (1) TRANSACTION:\n");
@@ -4476,7 +4493,7 @@ lock_deadlock_notify(
 
 	lock_deadlock_fputs("*** (1) WAITING FOR THIS LOCK TO BE GRANTED:\n");
 
-	lock_deadlock_lock_print(ctx->wait_lock);
+	lock_deadlock_lock_print(ctx->wait_lock, now);
 
 	lock_deadlock_fputs("*** (2) TRANSACTION:\n");
 
@@ -4484,7 +4501,7 @@ lock_deadlock_notify(
 
 	lock_deadlock_fputs("*** (2) HOLDS THE LOCK(S):\n");
 
-	lock_deadlock_lock_print(lock);
+	lock_deadlock_lock_print(lock, now);
 
 	/* It is possible that the joining transaction was granted its
 	lock when we rolled back some other waiting transaction. */
@@ -4493,7 +4510,7 @@ lock_deadlock_notify(
 		lock_deadlock_fputs(
 			"*** (2) WAITING FOR THIS LOCK TO BE GRANTED:\n");
 
-		lock_deadlock_lock_print(ctx->start->lock.wait_lock);
+		lock_deadlock_lock_print(ctx->start->lock.wait_lock, now);
 	}
 
 #ifdef UNIV_DEBUG
@@ -4742,14 +4759,12 @@ lock_deadlock_search(
 	return(0);
 }
 
-/********************************************************************//**
-Print info about transaction that was rolled back. */
-static
-void
-lock_deadlock_joining_trx_print(
-/*============================*/
-	const trx_t*	trx,		/*!< in: transaction rolled back */
-	const lock_t*	lock)		/*!< in: lock trx wants */
+/** Print info about transaction that was rolled back.
+@param[in]	trx	victim transaction
+@param[in]	lock	the requested lock
+@param[in]	now	current time */
+static void lock_deadlock_joining_trx_print(const trx_t* trx,
+					    const lock_t* lock, time_t now)
 {
 	ut_ad(lock_mutex_own());
 	ut_ad(!srv_read_only_mode);
@@ -4769,7 +4784,7 @@ lock_deadlock_joining_trx_print(
 
 	lock_deadlock_fputs("*** WAITING FOR THIS LOCK TO BE GRANTED:\n");
 
-	lock_deadlock_lock_print(lock);
+	lock_deadlock_lock_print(lock, now);
 }
 
 /********************************************************************//**
@@ -4839,20 +4854,17 @@ lock_report_waiters_to_mysql(
 }
 
 
-/********************************************************************//**
-Checks if a joining lock request results in a deadlock. If a deadlock is
+/** Check if a joining lock request results in a deadlock. If a deadlock is
 found this function will resolve the dadlock by choosing a victim transaction
-and rolling it back. It will attempt to resolve all deadlocks. The returned
-transaction id will be the joining transaction id or 0 if some other
-transaction was chosen as a victim and rolled back or no deadlock found.
-
-@return id of transaction chosen as victim or 0 */
-static
-trx_id_t
-lock_deadlock_check_and_resolve(
-/*============================*/
-	const lock_t*	lock,	/*!< in: lock the transaction is requesting */
-	const trx_t*	trx)	/*!< in: transaction */
+and rolling it back. It will attempt to resolve all deadlocks.
+@param[in]	trx	joining transaction
+@param[in]	lock	the requested lock
+@param[in]	now	current time
+@return trx->id of the victim transaction
+@retval 0	if some other transaction was chosen as a victim and
+rolled back, or no deadlock was found. */
+static trx_id_t lock_deadlock_check_and_resolve(const trx_t* trx,
+						const lock_t* lock, time_t now)
 {
 	trx_id_t		victim_trx_id;
 	struct thd_wait_reports	waitee_buf;
@@ -4904,18 +4916,12 @@ lock_deadlock_check_and_resolve(
 			ut_a(victim_trx_id == trx->id);
 
 #ifdef WITH_WSREP
-			if (!wsrep_thd_is_BF(ctx.start->mysql_thd, TRUE))
-			{
+			if (wsrep_thd_is_BF(ctx.start->mysql_thd, TRUE)); else
 #endif /* WITH_WSREP */
-				if (!srv_read_only_mode) {
-					lock_deadlock_joining_trx_print(trx, lock);
-				}
-#ifdef WITH_WSREP
-			} else {
-			  /* BF processor */;
+			if (!srv_read_only_mode) {
+				lock_deadlock_joining_trx_print(trx, lock,
+								now);
 			}
-#endif /* WITH_WSREP */
-
 		} else if (victim_trx_id != 0 && victim_trx_id != trx->id) {
 
 			ut_ad(victim_trx_id == ctx.wait_lock->trx->id);
@@ -4993,7 +4999,7 @@ lock_table_create(
 
 	lock->type_mode = type_mode | LOCK_TABLE;
 	lock->trx = trx;
-	lock->requested_time = ut_time();
+	lock->requested_time = time(NULL);
 	lock->wait_time = 0;
 
 	lock->un_member.tab_lock.table = table;
@@ -5205,8 +5211,6 @@ lock_table_enqueue_waiting(
 	trx_t*		trx;
 	lock_t*		lock;
 	trx_id_t	victim_trx_id;
-	ulint		sec;
-	ulint		ms;
 
 	ut_ad(lock_mutex_own());
 	ut_ad(!srv_read_only_mode);
@@ -5263,7 +5267,9 @@ lock_table_enqueue_waiting(
 
 	trx_mutex_exit(trx);
 
-	victim_trx_id = lock_deadlock_check_and_resolve(lock, trx);
+	const time_t now = time(NULL);
+
+	victim_trx_id = lock_deadlock_check_and_resolve(trx, lock, now);
 
 	trx_mutex_enter(trx);
 
@@ -5285,13 +5291,12 @@ lock_table_enqueue_waiting(
 
 	trx->lock.que_state = TRX_QUE_LOCK_WAIT;
 
-	trx->lock.wait_started = ut_time();
+	trx->lock.wait_started = now;
 	trx->lock.was_chosen_as_deadlock_victim = FALSE;
 	trx->n_table_lock_waits++;
 
 	if (UNIV_UNLIKELY(trx->take_stats)) {
-		ut_usectime(&sec, &ms);
-		trx->lock_que_wait_ustarted = (ib_uint64_t)sec * 1000000 + ms;
+		trx->lock_que_wait_nstarted = my_interval_timer();
 	}
 
 	ut_a(que_thr_stop(thr));
@@ -6038,14 +6043,11 @@ lock_remove_all_on_table(
 
 /*===================== VALIDATION AND DEBUGGING  ====================*/
 
-/*********************************************************************//**
-Prints info of a table lock. */
-UNIV_INTERN
-void
-lock_table_print(
-/*=============*/
-	FILE*		file,	/*!< in: file where to print */
-	const lock_t*	lock)	/*!< in: table type lock */
+/** Pretty-print a table lock.
+@param[in,out]	file	output stream
+@param[in]	lock	table lock
+@param[in]	now	current time */
+static void lock_table_print(FILE* file, const lock_t* lock, time_t now)
 {
 	ut_ad(lock_mutex_own());
 	ut_a(lock_get_type_low(lock) == LOCK_TABLE);
@@ -6075,30 +6077,22 @@ lock_table_print(
 	}
 
 	fprintf(file, " lock hold time %lu wait time before grant %lu ",
-		(ulint)difftime(ut_time(), lock->requested_time),
+		(ulint)difftime(now, lock->requested_time),
 		lock->wait_time);
 
 	putc('\n', file);
 }
 
-/*********************************************************************//**
-Prints info of a record lock. */
-UNIV_INTERN
-void
-lock_rec_print(
-/*===========*/
-	FILE*		file,	/*!< in: file where to print */
-	const lock_t*	lock)	/*!< in: record type lock */
+/** Pretty-print a record lock.
+@param[in,out]	file	output stream
+@param[in]	lock	record lock
+@param[in]	now	current time
+@param[in,out]	mtr	mini-transaction */
+static void lock_rec_print(FILE* file, const lock_t* lock, time_t now,
+			   mtr_t* mtr)
 {
-	const buf_block_t*	block;
 	ulint			space;
 	ulint			page_no;
-	ulint			i;
-	mtr_t			mtr;
-	mem_heap_t*		heap		= NULL;
-	ulint			offsets_[REC_OFFS_NORMAL_SIZE];
-	ulint*			offsets		= offsets_;
-	rec_offs_init(offsets_);
 
 	ut_ad(lock_mutex_own());
 	ut_a(lock_get_type_low(lock) == LOCK_REC);
@@ -6143,18 +6137,25 @@ lock_rec_print(
 		fputs(" waiting", file);
 	}
 
-	mtr_start(&mtr);
-
 	fprintf(file, " lock hold time %lu wait time before grant %lu ",
-		(ulint)difftime(ut_time(), lock->requested_time),
+		(ulint)difftime(now, lock->requested_time),
 		lock->wait_time);
 
 	putc('\n', file);
 
-	if ( srv_show_verbose_locks ) {
-	block = buf_page_try_get(space, page_no, &mtr);
+	if (!srv_show_verbose_locks || !mtr) {
+		return;
+	}
+
+	mem_heap_t*		heap		= NULL;
+	ulint			offsets_[REC_OFFS_NORMAL_SIZE];
+	ulint*			offsets		= offsets_;
+	rec_offs_init(offsets_);
 
-	for (i = 0; i < lock_rec_get_n_bits(lock); ++i) {
+	mtr_start(mtr);
+	const buf_block_t* block = buf_page_try_get(space, page_no, mtr);
+
+	for (ulint i = 0; i < lock_rec_get_n_bits(lock); ++i) {
 
 		if (!lock_rec_get_nth_bit(lock, i)) {
 			continue;
@@ -6178,9 +6179,8 @@ lock_rec_print(
 
 		putc('\n', file);
 	}
-	}
 
-	mtr_commit(&mtr);
+	mtr_commit(mtr);
 	if (UNIV_LIKELY_NULL(heap)) {
 		mem_heap_free(heap);
 	}
@@ -6336,6 +6336,8 @@ lock_print_info_all_transactions(
 
 	ut_ad(lock_mutex_own());
 
+	const time_t now = time(NULL);
+
 	mutex_enter(&trx_sys->mutex);
 
 	/* First print info on non-active transactions */
@@ -6422,13 +6424,14 @@ lock_print_info_all_transactions(
 			fprintf(file,
 				"------- TRX HAS BEEN WAITING %lu SEC"
 				" FOR THIS LOCK TO BE GRANTED:\n",
-				(ulong) difftime(ut_time(),
-						 trx->lock.wait_started));
+				(ulong) difftime(now, trx->lock.wait_started));
 
 			if (lock_get_type_low(trx->lock.wait_lock) == LOCK_REC) {
-				lock_rec_print(file, trx->lock.wait_lock);
+				lock_rec_print(file, trx->lock.wait_lock, now,
+					       &mtr);
 			} else {
-				lock_table_print(file, trx->lock.wait_lock);
+				lock_table_print(file, trx->lock.wait_lock,
+						 now);
 			}
 
 			fputs("------------------\n", file);
@@ -6517,11 +6520,11 @@ lock_print_info_all_transactions(
 		}
 
 print_rec:
-		lock_rec_print(file, lock);
+		lock_rec_print(file, lock, now, &mtr);
 	} else {
 		ut_ad(lock_get_type_low(lock) & LOCK_TABLE);
 
-		lock_table_print(file, lock);
+		lock_table_print(file, lock, now);
 	}
 
 	load_page_first = TRUE;
diff --git a/storage/xtradb/lock/lock0wait.cc b/storage/xtradb/lock/lock0wait.cc
index da4b0301d..3efc28967 100644
--- a/storage/xtradb/lock/lock0wait.cc
+++ b/storage/xtradb/lock/lock0wait.cc
@@ -1,7 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2014, 2017, MariaDB Corporation.
+Copyright (c) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -74,7 +74,7 @@ lock_wait_table_print(void)
 			(ulong) slot->in_use,
 			(ulong) slot->suspended,
 			slot->wait_timeout,
-			(ulong) difftime(ut_time(), slot->suspend_time));
+			(ulong) difftime(time(NULL), slot->suspend_time));
 	}
 }
 
@@ -171,7 +171,7 @@ lock_wait_table_reserve_slot(
 
 			os_event_reset(slot->event);
 			slot->suspended = TRUE;
-			slot->suspend_time = ut_time();
+			slot->suspend_time = time(NULL);
 			slot->wait_timeout = wait_timeout;
 
 			if (slot == lock_sys->last_slot) {
@@ -280,14 +280,9 @@ lock_wait_suspend_thread(
 				user OS thread */
 {
 	srv_slot_t*	slot;
-	double		wait_time;
 	trx_t*		trx;
 	ulint		had_dict_lock;
 	ibool		was_declared_inside_innodb;
-	ib_int64_t	start_time			= 0;
-	ib_int64_t	finish_time;
-	ulint		sec;
-	ulint		ms;
 	ulong		lock_wait_timeout;
 	blocking_trx_info blocking[MAX_BLOCKING_TRX_IN_REPORT];
 	size_t blocking_count = 0;
@@ -335,15 +330,12 @@ lock_wait_suspend_thread(
 	lock_wait_mutex_exit();
 	trx_mutex_exit(trx);
 
+	ulonglong start_time = 0;
+
 	if (thr->lock_state == QUE_THR_LOCK_ROW) {
 		srv_stats.n_lock_wait_count.inc();
 		srv_stats.n_lock_wait_current_count.inc();
-
-		if (ut_usectime(&sec, &ms) == -1) {
-			start_time = -1;
-		} else {
-			start_time = (ib_int64_t) sec * 1000000 + ms;
-		}
+		start_time = my_interval_timer();
 	}
 
 	ulint	lock_type = ULINT_UNDEFINED;
@@ -423,39 +415,32 @@ lock_wait_suspend_thread(
 		row_mysql_freeze_data_dictionary(trx);
 	}
 
-	wait_time = ut_difftime(ut_time(), slot->suspend_time);
+	double wait_time = difftime(time(NULL), slot->suspend_time);
 
 	/* Release the slot for others to use */
 
 	lock_wait_table_release_slot(slot);
 
 	if (thr->lock_state == QUE_THR_LOCK_ROW) {
-		ulint	diff_time;
-
-		if (ut_usectime(&sec, &ms) == -1) {
-			finish_time = -1;
-		} else {
-			finish_time = (ib_int64_t) sec * 1000000 + ms;
-		}
-
-		diff_time = (finish_time > start_time) ?
-			    (ulint) (finish_time - start_time) : 0;
-
 		srv_stats.n_lock_wait_current_count.dec();
-		srv_stats.n_lock_wait_time.add(diff_time);
 
-		/* Only update the variable if we successfully
-		retrieved the start and finish times. See Bug#36819. */
-		if (diff_time > lock_sys->n_lock_max_wait_time
-		    && start_time != -1
-		    && finish_time != -1) {
+		const ulonglong finish_time = my_interval_timer();
+		ulint diff_time;
 
-			lock_sys->n_lock_max_wait_time = diff_time;
+		if (finish_time < start_time) {
+			diff_time = 0;
+		} else {
+			diff_time = ulint((finish_time - start_time) / 1000);
+			srv_stats.n_lock_wait_time.add(diff_time);
+			/* Only update the variable if we successfully
+			retrieved the start and finish times. See Bug#36819. */
+			if (diff_time > lock_sys->n_lock_max_wait_time) {
+				lock_sys->n_lock_max_wait_time = diff_time;
+			}
 		}
 
 		/* Record the lock wait time for this thread */
 		thd_set_lock_wait_time(trx->mysql_thd, diff_time);
-
 	}
 
 	if (lock_wait_timeout < 100000000
@@ -523,19 +508,12 @@ lock_wait_check_and_cancel(
 	const srv_slot_t*	slot)	/*!< in: slot reserved by a user
 					thread when the wait started */
 {
-	trx_t*		trx;
-	double		wait_time;
-	ib_time_t	suspend_time = slot->suspend_time;
-
 	ut_ad(lock_wait_mutex_own());
-
 	ut_ad(slot->in_use);
-
 	ut_ad(slot->suspended);
 
-	wait_time = ut_difftime(ut_time(), suspend_time);
-
-	trx = thr_get_trx(slot->thr);
+	double wait_time = difftime(time(NULL), slot->suspend_time);
+	trx_t* trx = thr_get_trx(slot->thr);
 
 	if (trx_is_interrupted(trx)
 	    || (slot->wait_timeout < 100000000
@@ -569,7 +547,6 @@ lock_wait_check_and_cancel(
 
 		trx_mutex_exit(trx);
 	}
-
 }
 
 /*********************************************************************//**
diff --git a/storage/xtradb/log/log0crypt.cc b/storage/xtradb/log/log0crypt.cc
index 2a0a7abb6..4cf1bfc59 100644
--- a/storage/xtradb/log/log0crypt.cc
+++ b/storage/xtradb/log/log0crypt.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /**************************************************//**
diff --git a/storage/xtradb/log/log0log.cc b/storage/xtradb/log/log0log.cc
index 19b4ac373..3e0c6ced1 100644
--- a/storage/xtradb/log/log0log.cc
+++ b/storage/xtradb/log/log0log.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2009, Google Inc.
-Copyright (c) 2014, 2018, MariaDB Corporation.
+Copyright (c) 2014, 2019, MariaDB Corporation.
 
 Portions of this file contain modifications contributed and copyrighted by
 Google, Inc. Those modifications are gratefully acknowledged and are described
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1305,7 +1305,6 @@ log_io_complete(
 
 	group->n_pending_writes--;
 	log_sys->n_pending_writes--;
-	MONITOR_DEC(MONITOR_PENDING_LOG_WRITE);
 
 	unlock = log_group_check_flush_completion(group);
 	unlock = unlock | log_sys_check_flush_completion();
@@ -1357,8 +1356,6 @@ log_group_file_header_flush(
 	if (log_do_write) {
 		log_sys->n_log_ios++;
 
-		MONITOR_INC(MONITOR_LOG_IO);
-
 		srv_stats.os_log_pending_writes.inc();
 
 		fil_io(OS_FILE_WRITE | OS_FILE_LOG, true, group->space_id, 0,
@@ -1483,8 +1480,6 @@ log_group_write_buf(
 	if (log_do_write) {
 		log_sys->n_log_ios++;
 
-		MONITOR_INC(MONITOR_LOG_IO);
-
 		srv_stats.os_log_pending_writes.inc();
 
 		ut_a(next_offset / UNIV_PAGE_SIZE <= ULINT_MAX);
@@ -1632,7 +1627,6 @@ log_write_up_to(
 	}
 #endif /* UNIV_DEBUG */
 	log_sys->n_pending_writes++;
-	MONITOR_INC(MONITOR_PENDING_LOG_WRITE);
 
 	group = UT_LIST_GET_FIRST(log_sys->log_groups);
 	group->n_pending_writes++;	/*!< We assume here that we have only
@@ -1724,7 +1718,6 @@ log_write_up_to(
 
 	group->n_pending_writes--;
 	log_sys->n_pending_writes--;
-	MONITOR_DEC(MONITOR_PENDING_LOG_WRITE);
 
 	unlock = log_group_check_flush_completion(group);
 	unlock = unlock | log_sys_check_flush_completion();
@@ -1939,7 +1932,6 @@ log_io_complete_checkpoint(void)
 	ut_ad(log_sys->n_pending_checkpoint_writes > 0);
 
 	log_sys->n_pending_checkpoint_writes--;
-	MONITOR_DEC(MONITOR_PENDING_CHECKPOINT_WRITE);
 
 	if (log_sys->n_pending_checkpoint_writes == 0) {
 		log_complete_checkpoint();
@@ -2086,12 +2078,9 @@ log_group_checkpoint(
 		}
 
 		log_sys->n_pending_checkpoint_writes++;
-		MONITOR_INC(MONITOR_PENDING_CHECKPOINT_WRITE);
 
 		log_sys->n_log_ios++;
 
-		MONITOR_INC(MONITOR_LOG_IO);
-
 		/* We send as the last parameter the group machine address
 		added with 1, as we want to distinguish between a normal log
 		file write and a checkpoint field write */
@@ -2178,8 +2167,6 @@ log_group_read_checkpoint_info(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	fil_io(OS_FILE_READ | OS_FILE_LOG, true, group->space_id, 0,
 	       field / UNIV_PAGE_SIZE, field % UNIV_PAGE_SIZE,
 	       OS_FILE_LOG_BLOCK_SIZE, log_sys->checkpoint_buf, NULL, 0);
@@ -2564,8 +2551,6 @@ log_group_read_log_seg(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	ut_a(source_offset / UNIV_PAGE_SIZE <= ULINT_MAX);
 
 	if (release_mutex) {
@@ -2606,7 +2591,8 @@ log_group_read_log_seg(
 	start_lsn += len;
 	buf += len;
 
-	if (recv_recovery_is_on() && recv_sys && recv_sys->report(ut_time())) {
+	if (recv_recovery_is_on() && recv_sys
+	    && recv_sys->report(time(NULL))) {
 		ib_logf(IB_LOG_LEVEL_INFO, "Read redo log up to LSN=" LSN_PF,
 			start_lsn);
 		service_manager_extend_timeout(INNODB_EXTEND_TIMEOUT_INTERVAL,
@@ -2727,8 +2713,6 @@ log_group_archive_file_header_write(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	fil_io(OS_FILE_WRITE | OS_FILE_LOG, true, group->archive_space_id,
 	       0,
 	       dest_offset / UNIV_PAGE_SIZE,
@@ -2763,8 +2747,6 @@ log_group_archive_completed_header_write(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	fil_io(OS_FILE_WRITE | OS_FILE_LOG, true, group->archive_space_id,
 	       0,
 	       dest_offset / UNIV_PAGE_SIZE,
@@ -2895,8 +2877,6 @@ log_group_archive(
 
 	log_sys->n_log_ios++;
 
-	MONITOR_INC(MONITOR_LOG_IO);
-
 	//TODO (jonaso): This must be dead code??
 	log_encrypt_before_write(log_sys->next_checkpoint_no,
 				 buf, start_lsn, len);
diff --git a/storage/xtradb/log/log0online.cc b/storage/xtradb/log/log0online.cc
index b25e2bca7..460fb19cf 100644
--- a/storage/xtradb/log/log0online.cc
+++ b/storage/xtradb/log/log0online.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
-Street, Fifth Floor, Boston, MA 02110-1301, USA
+Street, Fifth Floor, Boston, MA 02110-1335  USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/log/log0recv.cc b/storage/xtradb/log/log0recv.cc
index d8e90de45..dd55d3121 100644
--- a/storage/xtradb/log/log0recv.cc
+++ b/storage/xtradb/log/log0recv.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 1997, 2017, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2012, Facebook Inc.
-Copyright (c) 2013, 2017, MariaDB Corporation.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -419,7 +419,7 @@ recv_sys_init(
 		recv_sys->last_block_buf_start, OS_FILE_LOG_BLOCK_SIZE));
 
 	recv_sys->found_corrupt_log = FALSE;
-	recv_sys->progress_time = ut_time();
+	recv_sys->progress_time = time(NULL);
 
 	recv_max_page_lsn = 0;
 
@@ -1789,7 +1789,7 @@ recv_recover_page_func(
 
 	mtr_commit(&mtr);
 
-	ib_time_t time = ut_time();
+	time_t now = time(NULL);
 
 	mutex_enter(&(recv_sys->mutex));
 
@@ -1801,7 +1801,7 @@ recv_recover_page_func(
 
 	ut_a(recv_sys->n_addrs > 0);
 	if (ulint n = --recv_sys->n_addrs) {
-		if (recv_sys->report(time)) {
+		if (recv_sys->report(now)) {
 			ib_logf(IB_LOG_LEVEL_INFO,
 				"To recover: " ULINTPF " pages from log", n);
 			service_manager_extend_timeout(
@@ -2720,30 +2720,30 @@ recv_scan_log_recs(
 		log_block_convert_lsn_to_no(scanned_lsn));
 		*/
 
-		if (no != log_block_convert_lsn_to_no(scanned_lsn)
-		    || !log_block_checksum_is_ok_or_old_format(log_block, true)) {
+		if (no != log_block_convert_lsn_to_no(scanned_lsn)) {
+			/* Garbage or an incompletely written log block.
+			We will not report any error; because this can happen
+			when InnoDB was killed while it was writing
+			redo log. We simply treat this as an abrupt end of the
+			redo log. */
+			finished = true;
+			break;
+		} else if (!log_block_checksum_is_ok_or_old_format(
+					log_block, true)) {
 
-			if (no == log_block_convert_lsn_to_no(scanned_lsn)
-			    && !log_block_checksum_is_ok_or_old_format(
-				    log_block, true)) {
-				fprintf(stderr,
-					"InnoDB: Log block no %lu at"
-					" lsn " LSN_PF " has\n"
-					"InnoDB: ok header, but checksum field"
-					" contains %lu, should be %lu\n",
-					(ulong) no,
-					scanned_lsn,
-					(ulong) log_block_get_checksum(
-						log_block),
-					(ulong) log_block_calc_checksum(
-						log_block));
-			}
+			fprintf(stderr,
+				"InnoDB: Log block no %lu at"
+				" lsn " LSN_PF " has\n"
+				"InnoDB: ok header, but checksum field"
+				" contains %lu, should be %lu\n",
+				(ulong) no,
+				scanned_lsn,
+				(ulong) log_block_get_checksum(log_block),
+				(ulong) log_block_calc_checksum(log_block));
 
 			maybe_encrypted = log_crypt_block_maybe_encrypted(log_block,
 					&log_crypt_err);
 
-			/* Garbage or an incompletely written log block */
-
 			/* Print checkpoint encryption keys if present */
 			log_crypt_print_checkpoint_keys(log_block);
 			finished = TRUE;
@@ -2764,7 +2764,6 @@ recv_scan_log_recs(
 			}
 
 			break;
-
 		}
 
 		if (log_block_get_flush_bit(log_block)) {
diff --git a/storage/xtradb/mach/mach0data.cc b/storage/xtradb/mach/mach0data.cc
index feeedb016..064d997cd 100644
--- a/storage/xtradb/mach/mach0data.cc
+++ b/storage/xtradb/mach/mach0data.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/mem/mem0dbg.cc b/storage/xtradb/mem/mem0dbg.cc
index a77785a36..2d8db48db 100644
--- a/storage/xtradb/mem/mem0dbg.cc
+++ b/storage/xtradb/mem/mem0dbg.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/mem/mem0mem.cc b/storage/xtradb/mem/mem0mem.cc
index f91126697..82c1292b4 100644
--- a/storage/xtradb/mem/mem0mem.cc
+++ b/storage/xtradb/mem/mem0mem.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/mem/mem0pool.cc b/storage/xtradb/mem/mem0pool.cc
index 42d0417c7..b2c46aefb 100644
--- a/storage/xtradb/mem/mem0pool.cc
+++ b/storage/xtradb/mem/mem0pool.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/mtr/mtr0log.cc b/storage/xtradb/mtr/mtr0log.cc
index 82df1df63..189d52d68 100644
--- a/storage/xtradb/mtr/mtr0log.cc
+++ b/storage/xtradb/mtr/mtr0log.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/mtr/mtr0mtr.cc b/storage/xtradb/mtr/mtr0mtr.cc
index e564b270d..77af6e9eb 100644
--- a/storage/xtradb/mtr/mtr0mtr.cc
+++ b/storage/xtradb/mtr/mtr0mtr.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/os/os0file.cc b/storage/xtradb/os/os0file.cc
index 468a54768..1e0f28d39 100644
--- a/storage/xtradb/os/os0file.cc
+++ b/storage/xtradb/os/os0file.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2009, Percona Inc.
-Copyright (c) 2013, 2018, MariaDB Corporation.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 Portions of this file contain modifications contributed and copyrighted
 by Percona Inc.. Those modifications are
@@ -22,7 +22,7 @@ Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 ***********************************************************************/
 
@@ -214,7 +214,10 @@ struct os_aio_slot_t{
 	ulint		pos;		/*!< index of the slot in the aio
 					array */
 	ibool		reserved;	/*!< TRUE if this slot is reserved */
-	time_t		reservation_time;/*!< time when reserved */
+	/** time(NULL) when reserved.
+	FIXME: os_aio_simulated_handle() may malfunction if
+	the system time is adjusted! */
+	time_t		reservation_time;
 	ulint		len;		/*!< length of the block to read or
 					write */
 	byte*		buf;		/*!< buffer used in i/o */
@@ -2968,10 +2971,6 @@ os_file_pread(
 	trx_t*		trx)
 {
 	off_t	offs;
-	ulint		sec;
-	ulint		ms;
-	ib_uint64_t	start_time;
-	ib_uint64_t	finish_time;
 
 	ut_ad(n);
 
@@ -2988,15 +2987,9 @@ os_file_pread(
 
 	os_n_file_reads++;
 
-	if (UNIV_UNLIKELY(trx && trx->take_stats))
-	{
-	        trx->io_reads++;
-		trx->io_read += n;
-		ut_usectime(&sec, &ms);
-		start_time = (ib_uint64_t)sec * 1000000 + ms;
-	} else {
-		start_time = 0;
-	}
+	const ulonglong start_time = UNIV_UNLIKELY(trx && trx->take_stats)
+		? my_interval_timer()
+		: 0;
 
 	const bool monitor = MONITOR_IS_ON(MONITOR_OS_PENDING_READS);
 #ifdef HAVE_PREAD
@@ -3022,9 +3015,8 @@ os_file_pread(
 
 	if (UNIV_UNLIKELY(start_time != 0))
 	{
-		ut_usectime(&sec, &ms);
-		finish_time = (ib_uint64_t)sec * 1000000 + ms;
-		trx->io_reads_wait_timer += (ulint)(finish_time - start_time);
+		trx->io_reads_wait_timer += ulint((my_interval_timer()
+						   - start_time) / 1000);
 	}
 
 	return(n_bytes);
@@ -3071,9 +3063,8 @@ os_file_pread(
 
 		if (UNIV_UNLIKELY(start_time != 0)
 		{
-			ut_usectime(&sec, &ms);
-			finish_time = (ib_uint64_t)sec * 1000000 + ms;
-			trx->io_reads_wait_timer += (ulint)(finish_time - start_time);
+			trx->io_reads_wait_timer += ulint(
+				(my_interval_timer() - start_time) / 1000);
 		}
 
 		return(ret);
@@ -4518,7 +4509,7 @@ os_aio_init(
 
 	os_aio_validate();
 
-	os_last_printout = ut_time();
+	os_last_printout = time(NULL);
 
 #ifdef _WIN32
 	ut_a(completion_port == 0 && read_completion_port == 0);
@@ -4846,7 +4837,7 @@ os_aio_array_reserve_slot(
 	}
 
 	slot->reserved = TRUE;
-	slot->reservation_time = ut_time();
+	slot->reservation_time = time(NULL);
 	slot->message1 = message1;
 	slot->message2 = message2;
 	slot->file     = file;
@@ -5988,7 +5979,7 @@ os_aio_simulated_handle(
 		if (slot->reserved) {
 
 			age = (ulint) difftime(
-				ut_time(), slot->reservation_time);
+				time(NULL), slot->reservation_time);
 
 			if ((age >= 2 && age > biggest_age)
 			    || (age >= 2 && age == biggest_age
@@ -6401,7 +6392,7 @@ os_aio_print(
 	}
 
 	putc('\n', file);
-	current_time = ut_time();
+	current_time = time(NULL);
 	time_elapsed = 0.001 + difftime(current_time, os_last_printout);
 
 	fprintf(file,
diff --git a/storage/xtradb/os/os0proc.cc b/storage/xtradb/os/os0proc.cc
index c64c37705..2a63fd380 100644
--- a/storage/xtradb/os/os0proc.cc
+++ b/storage/xtradb/os/os0proc.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/os/os0stacktrace.cc b/storage/xtradb/os/os0stacktrace.cc
index c4c428e0d..960324ff0 100644
--- a/storage/xtradb/os/os0stacktrace.cc
+++ b/storage/xtradb/os/os0stacktrace.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/os/os0sync.cc b/storage/xtradb/os/os0sync.cc
index a494be537..e409529f1 100644
--- a/storage/xtradb/os/os0sync.cc
+++ b/storage/xtradb/os/os0sync.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -59,9 +59,6 @@ UNIV_INTERN ulint	os_event_count		= 0;
 UNIV_INTERN ulint	os_mutex_count		= 0;
 UNIV_INTERN ulint	os_fast_mutex_count	= 0;
 
-/* The number of microsecnds in a second. */
-static const ulint MICROSECS_IN_A_SECOND = 1000000;
-
 #ifdef UNIV_PFS_MUTEX
 UNIV_INTERN mysql_pfs_key_t	event_os_mutex_key;
 UNIV_INTERN mysql_pfs_key_t	os_mutex_key;
@@ -539,26 +536,9 @@ os_event_wait_time_low(
 	struct timespec	abstime;
 
 	if (time_in_usec != OS_SYNC_INFINITE_TIME) {
-		struct timeval	tv;
-		int		ret;
-		ulint		sec;
-		ulint		usec;
-
-		ret = ut_usectime(&sec, &usec);
-		ut_a(ret == 0);
-
-		tv.tv_sec = sec;
-		tv.tv_usec = usec;
-
-		tv.tv_usec += time_in_usec;
-
-		if ((ulint) tv.tv_usec >= MICROSECS_IN_A_SECOND) {
-			tv.tv_sec += tv.tv_usec / MICROSECS_IN_A_SECOND;
-			tv.tv_usec %= MICROSECS_IN_A_SECOND;
-		}
-
-		abstime.tv_sec  = tv.tv_sec;
-		abstime.tv_nsec = tv.tv_usec * 1000;
+		ulonglong usec = ulonglong(time_in_usec) + my_hrtime().val;
+		abstime.tv_sec = usec / 1000000;
+		abstime.tv_nsec = (usec % 1000000) * 1000;
 	} else {
 		abstime.tv_nsec = 999999999;
 		abstime.tv_sec = (time_t) ULINT_MAX;
diff --git a/storage/xtradb/os/os0thread.cc b/storage/xtradb/os/os0thread.cc
index 8baf06b9b..195e24cd1 100644
--- a/storage/xtradb/os/os0thread.cc
+++ b/storage/xtradb/os/os0thread.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/page/page0cur.cc b/storage/xtradb/page/page0cur.cc
index 692cb393a..e9ac4b4bb 100644
--- a/storage/xtradb/page/page0cur.cc
+++ b/storage/xtradb/page/page0cur.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -48,7 +48,7 @@ number between 0 and 2^64-1 inclusive. The formula and the constants
 being used are:
 X[n+1] = (a * X[n] + c) mod m
 where:
-X[0] = ut_time_us(NULL)
+X[0] = my_interval_timer()
 a = 1103515245 (3^5 * 5 * 7 * 129749)
 c = 12345 (3 * 5 * 823)
 m = 18446744073709551616 (2^64)
@@ -61,12 +61,10 @@ page_cur_lcg_prng(void)
 {
 #define LCG_a	1103515245
 #define LCG_c	12345
-	static ib_uint64_t	lcg_current = 0;
-	static ibool		initialized = FALSE;
+	static uint64_t	lcg_current;
 
-	if (!initialized) {
-		lcg_current = (ib_uint64_t) ut_time_us(NULL);
-		initialized = TRUE;
+	if (!lcg_current) {
+		lcg_current = my_interval_timer();
 	}
 
 	/* no need to "% 2^64" explicitly because lcg_current is
diff --git a/storage/xtradb/page/page0page.cc b/storage/xtradb/page/page0page.cc
index 7b62fe756..16587f872 100644
--- a/storage/xtradb/page/page0page.cc
+++ b/storage/xtradb/page/page0page.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/page/page0zip.cc b/storage/xtradb/page/page0zip.cc
index 90a1d0794..0c7f9b6fe 100644
--- a/storage/xtradb/page/page0zip.cc
+++ b/storage/xtradb/page/page0zip.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2012, Facebook Inc.
-Copyright (c) 2014, 2018, MariaDB Corporation.
+Copyright (c) 2014, 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1240,7 +1240,7 @@ page_zip_compress(
 	ulint		n_blobs	= 0;
 	byte*		storage;/* storage of uncompressed columns */
 #ifndef UNIV_HOTBACKUP
-	ullint		usec = ut_time_us(NULL);
+	const ulonglong	ns = my_interval_timer();
 #endif /* !UNIV_HOTBACKUP */
 #ifdef PAGE_ZIP_COMPRESS_DBG
 	FILE*		logfile = NULL;
@@ -1489,7 +1489,7 @@ page_zip_compress(
 			dict_index_zip_failure(index);
 		}
 
-		ullint	time_diff = ut_time_us(NULL) - usec;
+		const ullint time_diff = (my_interval_timer() - ns) / 1000;
 		page_zip_stat[page_zip->ssize - 1].compressed_usec
 			+= time_diff;
 		if (cmp_per_index_enabled) {
@@ -1557,7 +1557,7 @@ page_zip_compress(
 	}
 #endif /* PAGE_ZIP_COMPRESS_DBG */
 #ifndef UNIV_HOTBACKUP
-	ullint	time_diff = ut_time_us(NULL) - usec;
+	const ullint time_diff = (my_interval_timer() - ns) / 1000;
 	page_zip_stat[page_zip->ssize - 1].compressed_ok++;
 	page_zip_stat[page_zip->ssize - 1].compressed_usec += time_diff;
 	if (cmp_per_index_enabled) {
@@ -3006,7 +3006,7 @@ page_zip_decompress(
 	mem_heap_t*	heap;
 	ulint*		offsets;
 #ifndef UNIV_HOTBACKUP
-	ullint		usec = ut_time_us(NULL);
+	const ulonglong	ns = my_interval_timer();
 #endif /* !UNIV_HOTBACKUP */
 
 	ut_ad(page_zip_simple_validate(page_zip));
@@ -3192,7 +3192,7 @@ page_zip_decompress(
 	page_zip_fields_free(index);
 	mem_heap_free(heap);
 #ifndef UNIV_HOTBACKUP
-	ullint	time_diff = ut_time_us(NULL) - usec;
+	const uint64_t time_diff = (my_interval_timer() - ns) / 1000;
 	page_zip_stat[page_zip->ssize - 1].decompressed++;
 	page_zip_stat[page_zip->ssize - 1].decompressed_usec += time_diff;
 
diff --git a/storage/xtradb/pars/lexyy.cc b/storage/xtradb/pars/lexyy.cc
index 33de48e7b..ed6e2b53c 100644
--- a/storage/xtradb/pars/lexyy.cc
+++ b/storage/xtradb/pars/lexyy.cc
@@ -912,7 +912,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /******************************************************
diff --git a/storage/xtradb/pars/make_bison.sh b/storage/xtradb/pars/make_bison.sh
index 2618be102..a1722f5f6 100755
--- a/storage/xtradb/pars/make_bison.sh
+++ b/storage/xtradb/pars/make_bison.sh
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License along with
 # this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # generate parser files from bison input files.
 
diff --git a/storage/xtradb/pars/make_flex.sh b/storage/xtradb/pars/make_flex.sh
index 54aebb259..b976a56a9 100755
--- a/storage/xtradb/pars/make_flex.sh
+++ b/storage/xtradb/pars/make_flex.sh
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU General Public License along with
 # this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # generate lexer files from flex input files.
 
diff --git a/storage/xtradb/pars/pars0grm.cc b/storage/xtradb/pars/pars0grm.cc
index b360f36e5..c3649d925 100644
--- a/storage/xtradb/pars/pars0grm.cc
+++ b/storage/xtradb/pars/pars0grm.cc
@@ -18,7 +18,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   Boston, MA 02110-1335  USA.  */
 
 /* As a special exception, you may create a larger work that contains
    part or all of the Bison parser skeleton and distribute that work
diff --git a/storage/xtradb/pars/pars0grm.y b/storage/xtradb/pars/pars0grm.y
index 60913287c..2e4776caa 100644
--- a/storage/xtradb/pars/pars0grm.y
+++ b/storage/xtradb/pars/pars0grm.y
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/pars/pars0lex.l b/storage/xtradb/pars/pars0lex.l
index 60756413c..71699d2f0 100644
--- a/storage/xtradb/pars/pars0lex.l
+++ b/storage/xtradb/pars/pars0lex.l
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/pars/pars0opt.cc b/storage/xtradb/pars/pars0opt.cc
index 5a7e1861d..135402f81 100644
--- a/storage/xtradb/pars/pars0opt.cc
+++ b/storage/xtradb/pars/pars0opt.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/pars/pars0pars.cc b/storage/xtradb/pars/pars0pars.cc
index 24bbeb1d3..3c7f5a812 100644
--- a/storage/xtradb/pars/pars0pars.cc
+++ b/storage/xtradb/pars/pars0pars.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St,
-Fifth Floor, Boston, MA 02110-1301 USA
+Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/pars/pars0sym.cc b/storage/xtradb/pars/pars0sym.cc
index b01a69cb3..4ce1946d7 100644
--- a/storage/xtradb/pars/pars0sym.cc
+++ b/storage/xtradb/pars/pars0sym.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/que/que0que.cc b/storage/xtradb/que/que0que.cc
index e2dc0239e..090c5091a 100644
--- a/storage/xtradb/que/que0que.cc
+++ b/storage/xtradb/que/que0que.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -204,9 +204,6 @@ que_thr_end_lock_wait(
 {
 	que_thr_t*	thr;
 	ibool		was_active;
-	ulint		sec;
-	ulint		ms;
-	ib_uint64_t	now;
 
 	ut_ad(lock_mutex_own());
 	ut_ad(trx_mutex_own(trx));
@@ -224,10 +221,9 @@ que_thr_end_lock_wait(
 	que_thr_move_to_run_state(thr);
 
 	if (UNIV_UNLIKELY(trx->take_stats)) {
-		ut_usectime(&sec, &ms);
-		now = (ib_uint64_t)sec * 1000000 + ms;
-		trx->lock_que_wait_timer
-			+= (ulint)(now - trx->lock_que_wait_ustarted);
+		trx->lock_que_wait_timer += static_cast(
+			(my_interval_timer() - trx->lock_que_wait_nstarted)
+			/ 1000);
 	}
 
 	trx->lock.que_state = TRX_QUE_RUNNING;
diff --git a/storage/xtradb/read/read0read.cc b/storage/xtradb/read/read0read.cc
index c350e24db..f4737ba17 100644
--- a/storage/xtradb/read/read0read.cc
+++ b/storage/xtradb/read/read0read.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/rem/rem0cmp.cc b/storage/xtradb/rem/rem0cmp.cc
index 616ef322f..5f9c497cb 100644
--- a/storage/xtradb/rem/rem0cmp.cc
+++ b/storage/xtradb/rem/rem0cmp.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/rem/rem0rec.cc b/storage/xtradb/rem/rem0rec.cc
index ff680b3cf..955652d31 100644
--- a/storage/xtradb/rem/rem0rec.cc
+++ b/storage/xtradb/rem/rem0rec.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/row/row0ext.cc b/storage/xtradb/row/row0ext.cc
index 32b78391d..bfc8165c9 100644
--- a/storage/xtradb/row/row0ext.cc
+++ b/storage/xtradb/row/row0ext.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/row/row0ftsort.cc b/storage/xtradb/row/row0ftsort.cc
index d3c8b9a80..48c61bdb7 100644
--- a/storage/xtradb/row/row0ftsort.cc
+++ b/storage/xtradb/row/row0ftsort.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1503,7 +1503,6 @@ row_fts_merge_insert(
 	ins_ctx.fts_table.type = FTS_INDEX_TABLE;
 	ins_ctx.fts_table.index_id = index->id;
 	ins_ctx.fts_table.table_id = table->id;
-	ins_ctx.fts_table.parent = index->table->name;
 	ins_ctx.fts_table.table = index->table;
 	space = table->space;
 
diff --git a/storage/xtradb/row/row0import.cc b/storage/xtradb/row/row0import.cc
index a1b584141..5b371cfbf 100644
--- a/storage/xtradb/row/row0import.cc
+++ b/storage/xtradb/row/row0import.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/row/row0ins.cc b/storage/xtradb/row/row0ins.cc
index cb22f5030..50da7fb40 100644
--- a/storage/xtradb/row/row0ins.cc
+++ b/storage/xtradb/row/row0ins.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1299,7 +1299,7 @@ row_ins_foreign_check_on_constraint(
 	err = wsrep_append_foreign_key(
 				       thr_get_trx(thr),
 				       foreign,
-				       clust_rec,
+				       cascade->pcur->old_rec,
 				       clust_index,
 				       FALSE, WSREP_KEY_EXCLUSIVE);
 	if (err != DB_SUCCESS) {
@@ -1676,6 +1676,11 @@ row_ins_check_foreign_constraint(
 						check_index,
 						check_ref,
 						key_type);
+
+					if (err != DB_SUCCESS) {
+						fprintf(stderr,
+							"WSREP: foreign key append failed: %d\n", err);
+					}
 #endif /* WITH_WSREP */
 					goto end_scan;
 				} else if (foreign->type != 0) {
diff --git a/storage/xtradb/row/row0log.cc b/storage/xtradb/row/row0log.cc
index 0fc1af64b..8582c0a40 100644
--- a/storage/xtradb/row/row0log.cc
+++ b/storage/xtradb/row/row0log.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/row/row0merge.cc b/storage/xtradb/row/row0merge.cc
index 75d7397e7..a79a766bc 100644
--- a/storage/xtradb/row/row0merge.cc
+++ b/storage/xtradb/row/row0merge.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -27,6 +27,7 @@ Completed by Sunny Bains and Marko Makela
 #include 
 #include 
 #include 
+#include 
 
 #include "row0merge.h"
 #include "row0ext.h"
@@ -42,15 +43,8 @@ Completed by Sunny Bains and Marko Makela
 #include "row0import.h"
 #include "handler0alter.h"
 #include "ha_prototypes.h"
-#include "math.h" /* log2() */
 #include "fil0crypt.h"
 
-float my_log2f(float n)
-{
-	/* log(n) / log(2) is log2. */
-	return (float)(log((double)n) / log((double)2));
-}
-
 /* Ignore posix_fadvise() on those platforms where it does not exist */
 #if defined __WIN__
 # define posix_fadvise(fd, offset, len, advice) /* nothing */
@@ -1935,6 +1929,7 @@ row_merge_read_clustered_index(
 			UNIV_MEM_INVALID(&block[0], srv_sort_buf_size);
 
 			merge_buf[i] = row_merge_buf_empty(buf);
+			buf = merge_buf[i];
 
 			if (UNIV_LIKELY(row != NULL)) {
 				/* Try writing the record again, now
@@ -2083,8 +2078,7 @@ row_merge_read_clustered_index(
 				     false, true, false);
 
 		if (err == DB_SUCCESS) {
-			fts_update_next_doc_id(
-				0, new_table, old_table->name, max_doc_id);
+			fts_update_next_doc_id(NULL, new_table, max_doc_id);
 		}
 	}
 
@@ -2517,18 +2511,13 @@ row_merge_sort(
 	/* Record the number of merge runs we need to perform */
 	num_runs = file->offset;
 
-	/* Find the number N which 2^N is greater or equal than num_runs */
-	/* N is merge sort running count */
-	total_merge_sort_count = ceil(my_log2f(num_runs));
-	if(total_merge_sort_count <= 0) {
-		total_merge_sort_count=1;
-	}
-
 	/* If num_runs are less than 1, nothing to merge */
 	if (num_runs <= 1) {
 		DBUG_RETURN(error);
 	}
 
+	total_merge_sort_count = ceil(log2f(num_runs));
+
 	/* "run_offset" records each run's first offset number */
 	run_offset = (ulint*) mem_alloc(file->offset * sizeof(ulint));
 
diff --git a/storage/xtradb/row/row0mysql.cc b/storage/xtradb/row/row0mysql.cc
index a21e32cb9..34a91b9e5 100644
--- a/storage/xtradb/row/row0mysql.cc
+++ b/storage/xtradb/row/row0mysql.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -1476,8 +1476,9 @@ row_insert_for_mysql(
 		doc_id = fts_get_doc_id_from_row(table, node->row);
 
 		if (doc_id <= 0) {
-			fprintf(stderr,
-				"InnoDB: FTS Doc ID must be large than 0 \n");
+			ib_logf(IB_LOG_LEVEL_ERROR,
+				"FTS_DOC_ID must be larger than 0"
+				" for table %s", table->name);
 			err = DB_FTS_INVALID_DOCID;
 			trx->error_state = DB_FTS_INVALID_DOCID;
 			goto error_exit;
@@ -1488,12 +1489,10 @@ row_insert_for_mysql(
 				= table->fts->cache->next_doc_id;
 
 			if (doc_id < next_doc_id) {
-				fprintf(stderr,
-					"InnoDB: FTS Doc ID must be large than"
-					" " UINT64PF " for table",
-					next_doc_id - 1);
-				ut_print_name(stderr, trx, TRUE, table->name);
-				putc('\n', stderr);
+				ib_logf(IB_LOG_LEVEL_ERROR,
+					"FTS_DOC_ID must be larger than "
+					UINT64PF " for table %s",
+					next_doc_id - 1, table->name);
 
 				err = DB_FTS_INVALID_DOCID;
 				trx->error_state = DB_FTS_INVALID_DOCID;
@@ -3841,7 +3840,7 @@ row_truncate_table_for_mysql(
 					os_thread_sleep(10000000););
 
 			table->fts->fts_status |= TABLE_DICT_LOCKED;
-			fts_update_next_doc_id(trx, table, NULL, 0);
+			fts_update_next_doc_id(trx, table, 0);
 			fts_cache_clear(table->fts->cache);
 			fts_cache_init(table->fts->cache);
 			table->fts->fts_status &= ~TABLE_DICT_LOCKED;
@@ -3894,7 +3893,7 @@ row_drop_table_for_mysql(
 	const char*	name,	/*!< in: table name */
 	trx_t*		trx,	/*!< in: transaction handle */
 	bool		drop_db,/*!< in: true=dropping whole database */
-	ibool		create_failed,/*!has_search_latch));
 #endif /* UNIV_SYNC_DEBUG */
 
-	if (UNIV_UNLIKELY(trx->take_stats)) {
-		ut_usectime(&sec, &ms);
-		start_time = (ib_uint64_t)sec * 1000000 + ms;
-	} else {
-		start_time = 0;
-	}
+	const ulonglong start_time = UNIV_UNLIKELY(trx->take_stats)
+		? my_interval_timer()
+		: 0;
 
 	trx->op_info = "waiting in InnoDB queue";
 
@@ -557,9 +552,8 @@ srv_conc_enter_innodb_without_atomics(
 	trx->op_info = "";
 
 	if (UNIV_UNLIKELY(start_time != 0)) {
-		ut_usectime(&sec, &ms);
-		finish_time = (ib_uint64_t)sec * 1000000 + ms;
-		trx->innodb_que_wait_timer += (ulint)(finish_time - start_time);
+		trx->innodb_que_wait_timer += ulint((my_interval_timer()
+						     - start_time) / 1000);
 	}
 
 	os_fast_mutex_lock(&srv_conc_mutex);
diff --git a/storage/xtradb/srv/srv0mon.cc b/storage/xtradb/srv/srv0mon.cc
index 47abae661..d7e7e4a79 100644
--- a/storage/xtradb/srv/srv0mon.cc
+++ b/storage/xtradb/srv/srv0mon.cc
@@ -14,7 +14,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -873,15 +873,18 @@ static monitor_info_t	innodb_counter_info[] =
 	 MONITOR_DEFAULT_START, MONITOR_OVLD_MAX_AGE_SYNC},
 
 	{"log_pending_log_writes", "recovery", "Pending log writes",
-	 MONITOR_NONE,
+	 static_cast(
+	 MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT),
 	 MONITOR_DEFAULT_START, MONITOR_PENDING_LOG_WRITE},
 
 	{"log_pending_checkpoint_writes", "recovery", "Pending checkpoints",
-	 MONITOR_NONE,
+	 static_cast(
+	 MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT),
 	 MONITOR_DEFAULT_START, MONITOR_PENDING_CHECKPOINT_WRITE},
 
 	{"log_num_log_io", "recovery", "Number of log I/Os",
-	 MONITOR_NONE,
+	 static_cast(
+	 MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT),
 	 MONITOR_DEFAULT_START, MONITOR_LOG_IO},
 
 	{"log_waits", "recovery",
@@ -1970,6 +1973,25 @@ srv_mon_process_existing_counter(
 		value = (mon_type_t) log_sys->lsn;
 		break;
 
+	case MONITOR_PENDING_LOG_WRITE:
+		mutex_enter(&log_sys->mutex);
+		value = static_cast(log_sys->n_pending_writes);
+		mutex_exit(&log_sys->mutex);
+		break;
+
+	case MONITOR_PENDING_CHECKPOINT_WRITE:
+		mutex_enter(&log_sys->mutex);
+		value = static_cast(
+		    log_sys->n_pending_checkpoint_writes);
+		mutex_exit(&log_sys->mutex);
+		break;
+
+	case MONITOR_LOG_IO:
+		mutex_enter(&log_sys->mutex);
+		value = static_cast(log_sys->n_log_ios);
+		mutex_exit(&log_sys->mutex);
+		break;
+
 	case MONITOR_OVLD_BUF_OLDEST_LSN:
 		value = (mon_type_t) buf_pool_get_oldest_modification();
 		break;
diff --git a/storage/xtradb/srv/srv0srv.cc b/storage/xtradb/srv/srv0srv.cc
index c05b667dc..bc7f6c948 100644
--- a/storage/xtradb/srv/srv0srv.cc
+++ b/storage/xtradb/srv/srv0srv.cc
@@ -28,7 +28,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -2168,10 +2168,11 @@ DECLARE_THREAD(srv_monitor_thread)(void*)
 	pfs_register_thread(srv_monitor_thread_key);
 #endif /* UNIV_PFS_THREAD */
 
-	srv_last_monitor_time = ut_time();
-	last_table_monitor_time = ut_time();
-	last_tablespace_monitor_time = ut_time();
-	last_monitor_time = ut_time();
+	current_time = time(NULL);
+	srv_last_monitor_time = current_time;
+	last_table_monitor_time = current_time;
+	last_tablespace_monitor_time = current_time;
+	last_monitor_time = current_time;
 	mutex_skipped = 0;
 	last_srv_print_monitor = srv_print_innodb_monitor;
 loop:
@@ -2182,12 +2183,12 @@ DECLARE_THREAD(srv_monitor_thread)(void*)
 
 	os_event_wait_time_low(srv_monitor_event, 5000000, sig_count);
 
-	current_time = ut_time();
+	current_time = time(NULL);
 
 	time_elapsed = difftime(current_time, last_monitor_time);
 
 	if (time_elapsed > 15) {
-		last_monitor_time = ut_time();
+		last_monitor_time = current_time;
 
 		if (srv_print_innodb_monitor) {
 			/* Reset mutex_skipped counter everytime
@@ -2234,7 +2235,7 @@ DECLARE_THREAD(srv_monitor_thread)(void*)
 		if (srv_print_innodb_tablespace_monitor
 		    && difftime(current_time,
 				last_tablespace_monitor_time) > 60) {
-			last_tablespace_monitor_time = ut_time();
+			last_tablespace_monitor_time = current_time;
 
 			fputs("========================"
 			      "========================\n",
@@ -2260,7 +2261,7 @@ DECLARE_THREAD(srv_monitor_thread)(void*)
 		if (srv_print_innodb_table_monitor
 		    && difftime(current_time, last_table_monitor_time) > 60) {
 
-			last_table_monitor_time = ut_time();
+			last_table_monitor_time = current_time;
 
 			fprintf(stderr, "Warning: %s\n",
 				DEPRECATED_MSG_INNODB_TABLE_MONITOR);
@@ -2854,20 +2855,16 @@ static
 void
 srv_shutdown_print_master_pending(
 /*==============================*/
-	ib_time_t*	last_print_time,	/*!< last time the function
+	time_t*		last_print_time,	/*!< last time the function
 						print the message */
 	ulint		n_tables_to_drop,	/*!< number of tables to
 						be dropped */
 	ulint		n_bytes_merged)		/*!< number of change buffer
 						just merged */
 {
-	ib_time_t	current_time;
-	double		time_elapsed;
+	time_t current_time = time(NULL);
 
-	current_time = ut_time();
-	time_elapsed = ut_difftime(current_time, *last_print_time);
-
-	if (time_elapsed > 60) {
+	if (difftime(current_time, *last_print_time) > 60) {
 		*last_print_time = current_time;
 
 		if (n_tables_to_drop) {
@@ -2902,8 +2899,8 @@ void
 srv_master_do_active_tasks(void)
 /*============================*/
 {
-	ib_time_t	cur_time = ut_time();
-	ullint		counter_time = ut_time_us(NULL);
+	time_t		cur_time = time(NULL);
+	ulonglong	counter_time = microsecond_interval_timer();
 	ulint		n_evicted = 0;
 
 	/* First do the tasks that we are suppose to do at each
@@ -2932,7 +2929,7 @@ srv_master_do_active_tasks(void)
 
 	/* Do an ibuf merge */
 	srv_main_thread_op_info = "doing insert buffer merge";
-	counter_time = ut_time_us(NULL);
+	counter_time = microsecond_interval_timer();
 	ibuf_merge_in_background(false);
 	MONITOR_INC_TIME_IN_MICRO_SECS(
 		MONITOR_SRV_IBUF_MERGE_MICROSECOND, counter_time);
@@ -2994,9 +2991,7 @@ void
 srv_master_do_idle_tasks(void)
 /*==========================*/
 {
-	ullint	counter_time;
 	ulint	n_evicted = 0;
-
 	++srv_main_idle_loops;
 
 	MONITOR_INC(MONITOR_MASTER_IDLE_LOOPS);
@@ -3005,7 +3000,7 @@ srv_master_do_idle_tasks(void)
 	/* ALTER TABLE in MySQL requires on Unix that the table handler
 	can drop tables lazily after there no longer are SELECT
 	queries to them. */
-	counter_time = ut_time_us(NULL);
+	ulonglong counter_time = microsecond_interval_timer();
 	srv_main_thread_op_info = "doing background drop tables";
 	row_drop_tables_for_mysql_in_background();
 	MONITOR_INC_TIME_IN_MICRO_SECS(
@@ -3022,7 +3017,7 @@ srv_master_do_idle_tasks(void)
 	log_free_check();
 
 	/* Do an ibuf merge */
-	counter_time = ut_time_us(NULL);
+	counter_time = microsecond_interval_timer();
 	srv_main_thread_op_info = "doing insert buffer merge";
 	ibuf_merge_in_background(true);
 	MONITOR_INC_TIME_IN_MICRO_SECS(
@@ -3060,7 +3055,7 @@ srv_master_do_idle_tasks(void)
 
 	if (srv_log_arch_expire_sec) {
 		srv_main_thread_op_info = "purging archived logs";
-		purge_archived_logs(ut_time() - srv_log_arch_expire_sec,
+		purge_archived_logs(time(NULL) - srv_log_arch_expire_sec,
 				0);
 	}
 }
@@ -3073,7 +3068,7 @@ srv_shutdown(bool ibuf_merge)
 {
 	ulint		n_bytes_merged	= 0;
 	ulint		n_tables_to_drop;
-	ib_time_t	now = ut_time();
+	time_t		now = time(NULL);
 
 	do {
 		ut_ad(!srv_read_only_mode);
@@ -3234,10 +3229,10 @@ srv_purge_should_exit(ulint n_purged)
 	/* Slow shutdown was requested. */
 	if (n_purged) {
 #if defined HAVE_SYSTEMD && !defined EMBEDDED_LIBRARY
-		static ib_time_t progress_time;
-		ib_time_t time = ut_time();
-		if (time - progress_time >= 15) {
-			progress_time = time;
+		static time_t progress_time;
+		time_t now = time(NULL);
+		if (now - progress_time >= 15) {
+			progress_time = now;
 			service_manager_extend_timeout(
 				INNODB_EXTEND_TIMEOUT_INTERVAL,
 				"InnoDB: to purge " ULINTPF " transactions",
diff --git a/storage/xtradb/srv/srv0start.cc b/storage/xtradb/srv/srv0start.cc
index 941feeb70..153599391 100644
--- a/storage/xtradb/srv/srv0start.cc
+++ b/storage/xtradb/srv/srv0start.cc
@@ -28,7 +28,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -71,7 +71,6 @@ Created 2/16/1996 Heikki Tuuri
 #include "srv0srv.h"
 #include "buf0flu.h"
 #include "btr0defragment.h"
-#include "ut0timer.h"
 #include "btr0scrub.h"
 #include "mysql/service_wsrep.h" /* wsrep_recovery */
 
@@ -1743,9 +1742,6 @@ innobase_start_or_create_for_mysql()
 
 	os_fast_mutex_free(&srv_os_test_mutex);
 
-	/* This should be initialized early */
-	ut_init_timer();
-
 	if (srv_force_recovery == SRV_FORCE_NO_LOG_REDO) {
 		srv_read_only_mode = 1;
 	}
diff --git a/storage/xtradb/sync/sync0arr.cc b/storage/xtradb/sync/sync0arr.cc
index 134d16ae5..c085e8ebc 100644
--- a/storage/xtradb/sync/sync0arr.cc
+++ b/storage/xtradb/sync/sync0arr.cc
@@ -2,7 +2,7 @@
 
 Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2008, Google Inc.
-Copyright (c) 2013, 2015, MariaDB Corporation. All Rights Reserved.
+Copyright (c) 2013, 2019, MariaDB Corporation.
 
 Portions of this file contain modifications contributed and copyrighted by
 Google, Inc. Those modifications are gratefully acknowledged and are described
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -123,8 +123,10 @@ struct sync_cell_t {
 					has not been signalled in the
 					period between the reset and
 					wait call. */
-	time_t		reservation_time;/*!< time when the thread reserved
-					the wait cell */
+	/** time(NULL) when the wait cell was reserved.
+	FIXME: sync_array_print_long_waits_low() may display bogus
+	warnings when the system time is adjusted to the past! */
+	time_t		reservation_time;
 };
 
 /* NOTE: It is allowed for a thread to wait
@@ -412,7 +414,7 @@ sync_array_reserve_cell(
                         event = sync_cell_get_event(cell);
 			cell->signal_count = os_event_reset(event);
 
-			cell->reservation_time = ut_time();
+			cell->reservation_time = time(NULL);
 
 			cell->thread = os_thread_get_curr_id();
 
diff --git a/storage/xtradb/sync/sync0rw.cc b/storage/xtradb/sync/sync0rw.cc
index 729f51001..69a5300df 100644
--- a/storage/xtradb/sync/sync0rw.cc
+++ b/storage/xtradb/sync/sync0rw.cc
@@ -19,7 +19,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/sync/sync0sync.cc b/storage/xtradb/sync/sync0sync.cc
index 37ac3c56f..b29800ae6 100644
--- a/storage/xtradb/sync/sync0sync.cc
+++ b/storage/xtradb/sync/sync0sync.cc
@@ -20,7 +20,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/trx/trx0i_s.cc b/storage/xtradb/trx/trx0i_s.cc
index 0c9618d98..16b91a6b2 100644
--- a/storage/xtradb/trx/trx0i_s.cc
+++ b/storage/xtradb/trx/trx0i_s.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 2007, 2012, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -152,9 +153,8 @@ struct i_s_table_cache_t {
 struct trx_i_s_cache_t {
 	rw_lock_t	rw_lock;	/*!< read-write lock protecting
 					the rest of this structure */
-	ullint		last_read;	/*!< last time the cache was read;
-					measured in microseconds since
-					epoch */
+	ulonglong	last_read;	/*!< last time the cache was read;
+					measured in nanoseconds */
 	ib_mutex_t		last_read_mutex;/*!< mutex protecting the
 					last_read member - it is updated
 					inside a shared lock of the
@@ -479,7 +479,7 @@ fill_trx_row(
 	ut_ad(lock_mutex_own());
 
 	row->trx_id = trx->id;
-	row->trx_started = (ib_time_t) trx->start_time;
+	row->trx_started = trx->start_time;
 	row->trx_state = trx_get_que_state_str(trx);
 	row->requested_lock_row = requested_lock_row;
 	ut_ad(requested_lock_row == NULL
@@ -488,7 +488,7 @@ fill_trx_row(
 	if (trx->lock.wait_lock != NULL) {
 
 		ut_a(requested_lock_row != NULL);
-		row->trx_wait_started = (ib_time_t) trx->lock.wait_started;
+		row->trx_wait_started = trx->lock.wait_started;
 	} else {
 		ut_a(requested_lock_row == NULL);
 		row->trx_wait_started = 0;
@@ -1221,22 +1221,16 @@ add_trx_relevant_locks_to_cache(
 }
 
 /** The minimum time that a cache must not be updated after it has been
-read for the last time; measured in microseconds. We use this technique
+read for the last time; measured in nanoseconds. We use this technique
 to ensure that SELECTs which join several INFORMATION SCHEMA tables read
 the same version of the cache. */
-#define CACHE_MIN_IDLE_TIME_US	100000 /* 0.1 sec */
+#define CACHE_MIN_IDLE_TIME_NS	100000000 /* 0.1 sec */
 
 /*******************************************************************//**
 Checks if the cache can safely be updated.
-@return	TRUE if can be updated */
-static
-ibool
-can_cache_be_updated(
-/*=================*/
-	trx_i_s_cache_t*	cache)	/*!< in: cache */
+@return whether the cache can be updated */
+static bool can_cache_be_updated(trx_i_s_cache_t* cache)
 {
-	ullint	now;
-
 	/* Here we read cache->last_read without acquiring its mutex
 	because last_read is only updated when a shared rw lock on the
 	whole cache is being held (see trx_i_s_cache_end_read()) and
@@ -1247,14 +1241,7 @@ can_cache_be_updated(
 #ifdef UNIV_SYNC_DEBUG
 	ut_a(rw_lock_own(&cache->rw_lock, RW_LOCK_EX));
 #endif
-
-	now = ut_time_us(NULL);
-	if (now - cache->last_read > CACHE_MIN_IDLE_TIME_US) {
-
-		return(TRUE);
-	}
-
-	return(FALSE);
+	return my_interval_timer() - cache->last_read > CACHE_MIN_IDLE_TIME_NS;
 }
 
 /*******************************************************************//**
@@ -1497,14 +1484,12 @@ trx_i_s_cache_end_read(
 /*===================*/
 	trx_i_s_cache_t*	cache)	/*!< in: cache */
 {
-	ullint	now;
-
 #ifdef UNIV_SYNC_DEBUG
 	ut_a(rw_lock_own(&cache->rw_lock, RW_LOCK_SHARED));
 #endif
 
 	/* update cache last read time */
-	now = ut_time_us(NULL);
+	const ulonglong now = my_interval_timer();
 	mutex_enter(&cache->last_read_mutex);
 	cache->last_read = now;
 	mutex_exit(&cache->last_read_mutex);
diff --git a/storage/xtradb/trx/trx0purge.cc b/storage/xtradb/trx/trx0purge.cc
index a9736e360..f4e4d2f42 100644
--- a/storage/xtradb/trx/trx0purge.cc
+++ b/storage/xtradb/trx/trx0purge.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -146,7 +146,8 @@ trx_purge_sys_create(
 	here only because the query threads code requires it. It is otherwise
 	quite unnecessary. We should get rid of it eventually. */
 	purge_sys->trx->id = 0;
-	purge_sys->trx->start_time = ut_time();
+	purge_sys->trx->start_time = time(NULL);
+	purge_sys->trx->start_time_micro = microsecond_interval_timer();
 	purge_sys->trx->state = TRX_STATE_ACTIVE;
 	purge_sys->trx->op_info = "purge trx";
 
diff --git a/storage/xtradb/trx/trx0rec.cc b/storage/xtradb/trx/trx0rec.cc
index 351f65bb9..5548dec02 100644
--- a/storage/xtradb/trx/trx0rec.cc
+++ b/storage/xtradb/trx/trx0rec.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/trx/trx0roll.cc b/storage/xtradb/trx/trx0roll.cc
index 6f3935116..97f08d1fa 100644
--- a/storage/xtradb/trx/trx0roll.cc
+++ b/storage/xtradb/trx/trx0roll.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -750,11 +750,11 @@ trx_roll_must_shutdown()
 		return true;
 	}
 
-	ib_time_t time = ut_time();
+	time_t now = time(NULL);
 	mutex_enter(&trx_sys->mutex);
 	mutex_enter(&recv_sys->mutex);
 
-	if (recv_sys->report(time)) {
+	if (recv_sys->report(now)) {
 		ulint n_trx = 0;
 		ulonglong n_rows = 0;
 		for (const trx_t* t = UT_LIST_GET_FIRST(trx_sys->rw_trx_list);
diff --git a/storage/xtradb/trx/trx0rseg.cc b/storage/xtradb/trx/trx0rseg.cc
index 38719a1c7..1d0eb6d29 100644
--- a/storage/xtradb/trx/trx0rseg.cc
+++ b/storage/xtradb/trx/trx0rseg.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/trx/trx0sys.cc b/storage/xtradb/trx/trx0sys.cc
index 30660df01..fcdce291c 100644
--- a/storage/xtradb/trx/trx0sys.cc
+++ b/storage/xtradb/trx/trx0sys.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/trx/trx0trx.cc b/storage/xtradb/trx/trx0trx.cc
index 1044a9321..e072976d6 100644
--- a/storage/xtradb/trx/trx0trx.cc
+++ b/storage/xtradb/trx/trx0trx.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -749,7 +749,8 @@ trx_resurrect_insert(
 	/* trx_start_low() is not called with resurrect, so need to initialize
 	start time here.*/
 	if (trx->state != TRX_STATE_COMMITTED_IN_MEMORY) {
-		trx->start_time = ut_time();
+		trx->start_time = time(NULL);
+		trx->start_time_micro = microsecond_interval_timer();
 	}
 
 	if (undo->dict_operation) {
@@ -835,7 +836,8 @@ trx_resurrect_update(
 	start time here.*/
 	if (trx->state == TRX_STATE_ACTIVE
 	    || trx->state == TRX_STATE_PREPARED) {
-		trx->start_time = ut_time();
+		trx->start_time = time(NULL);
+		trx->start_time_micro = microsecond_interval_timer();
 	}
 
 	if (undo->dict_operation) {
@@ -1104,10 +1106,11 @@ trx_start_low(
 
 	mutex_exit(&trx_sys->mutex);
 
-	trx->start_time = ut_time();
+	trx->start_time = time(NULL);
 
-	trx->start_time_micro =
-		trx->mysql_thd ? thd_query_start_micro(trx->mysql_thd) : 0;
+	trx->start_time_micro = trx->mysql_thd
+		? thd_query_start_micro(trx->mysql_thd)
+		: microsecond_interval_timer();
 
 	MONITOR_INC(MONITOR_TRX_ACTIVE);
 }
@@ -1795,21 +1798,15 @@ trx_commit_or_rollback_prepare(
 		query thread to the suspended state */
 
 		if (trx->lock.que_state == TRX_QUE_LOCK_WAIT) {
-
-			ulint		sec;
-			ulint		ms;
-			ib_uint64_t	now;
-
 			ut_a(trx->lock.wait_thr != NULL);
 			trx->lock.wait_thr->state = QUE_THR_SUSPENDED;
 			trx->lock.wait_thr = NULL;
 
 			if (UNIV_UNLIKELY(trx->take_stats)) {
-				ut_usectime(&sec, &ms);
-				now = (ib_uint64_t)sec * 1000000 + ms;
-				trx->lock_que_wait_timer
-					+= (ulint)
-					(now - trx->lock_que_wait_ustarted);
+				trx->lock_que_wait_timer += static_cast(
+					(my_interval_timer()
+					 - trx->lock_que_wait_nstarted)
+					/ 1000);
 			}
 
 			trx->lock.que_state = TRX_QUE_RUNNING;
diff --git a/storage/xtradb/trx/trx0undo.cc b/storage/xtradb/trx/trx0undo.cc
index e55361ed8..d70eb5d83 100644
--- a/storage/xtradb/trx/trx0undo.cc
+++ b/storage/xtradb/trx/trx0undo.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/usr/usr0sess.cc b/storage/xtradb/usr/usr0sess.cc
index e1bd71ff1..911a3c91c 100644
--- a/storage/xtradb/usr/usr0sess.cc
+++ b/storage/xtradb/usr/usr0sess.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ut/ut0bh.cc b/storage/xtradb/ut/ut0bh.cc
index 1a3038a0d..a74d56f50 100644
--- a/storage/xtradb/ut/ut0bh.cc
+++ b/storage/xtradb/ut/ut0bh.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ut/ut0byte.cc b/storage/xtradb/ut/ut0byte.cc
index bc592edc6..2a56bcc0b 100644
--- a/storage/xtradb/ut/ut0byte.cc
+++ b/storage/xtradb/ut/ut0byte.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ut/ut0crc32.cc b/storage/xtradb/ut/ut0crc32.cc
index 2e3924a99..4ace91372 100644
--- a/storage/xtradb/ut/ut0crc32.cc
+++ b/storage/xtradb/ut/ut0crc32.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -59,7 +59,7 @@ mysys/my_perf.c, contributed by Facebook under the following license.
 
    You should have received a copy of the GNU General Public License along with
    this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* The below CRC32 implementation is based on the implementation included with
  * zlib with modifications to process 8 bytes at a time and using SSE 4.2
@@ -316,26 +316,7 @@ ut_crc32_init()
 	ut_cpuid(vend, &model, &family, &stepping,
 		 &features_ecx, &features_edx);
 
-	/* Valgrind does not understand the CRC32 instructions:
-
-	vex amd64->IR: unhandled instruction bytes: 0xF2 0x48 0xF 0x38 0xF0 0xA
-	valgrind: Unrecognised instruction at address 0xad3db5.
-	Your program just tried to execute an instruction that Valgrind
-	did not recognise.  There are two possible reasons for this.
-	1. Your program has a bug and erroneously jumped to a non-code
-	   location.  If you are running Memcheck and you just saw a
-	   warning about a bad jump, it's probably your program's fault.
-	2. The instruction is legitimate but Valgrind doesn't handle it,
-	   i.e. it's Valgrind's fault.  If you think this is the case or
-	   you are not sure, please let us know and we'll try to fix it.
-	Either way, Valgrind will now raise a SIGILL signal which will
-	probably kill your program.
-
-	*/
-#ifndef UNIV_DEBUG_VALGRIND
 	ut_crc32_sse2_enabled = (features_ecx >> 20) & 1;
-#endif /* UNIV_DEBUG_VALGRIND */
-
 #endif /* defined(__GNUC__) && defined(__x86_64__) */
 
 #if defined(__linux__) && defined(__powerpc__) && defined(AT_HWCAP2) \
diff --git a/storage/xtradb/ut/ut0dbg.cc b/storage/xtradb/ut/ut0dbg.cc
index a0bd82b38..fa766de28 100644
--- a/storage/xtradb/ut/ut0dbg.cc
+++ b/storage/xtradb/ut/ut0dbg.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ut/ut0list.cc b/storage/xtradb/ut/ut0list.cc
index f906061d1..f33b6ed31 100644
--- a/storage/xtradb/ut/ut0list.cc
+++ b/storage/xtradb/ut/ut0list.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ut/ut0mem.cc b/storage/xtradb/ut/ut0mem.cc
index 2bb5d9ce3..e75418fe7 100644
--- a/storage/xtradb/ut/ut0mem.cc
+++ b/storage/xtradb/ut/ut0mem.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ut/ut0rbt.cc b/storage/xtradb/ut/ut0rbt.cc
index a6c02a851..da8a767c2 100644
--- a/storage/xtradb/ut/ut0rbt.cc
+++ b/storage/xtradb/ut/ut0rbt.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 /********************************************************************//**
diff --git a/storage/xtradb/ut/ut0rnd.cc b/storage/xtradb/ut/ut0rnd.cc
index 3b4d73811..f881636e2 100644
--- a/storage/xtradb/ut/ut0rnd.cc
+++ b/storage/xtradb/ut/ut0rnd.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ut/ut0timer.cc b/storage/xtradb/ut/ut0timer.cc
deleted file mode 100644
index 85292cce2..000000000
--- a/storage/xtradb/ut/ut0timer.cc
+++ /dev/null
@@ -1,92 +0,0 @@
-/*****************************************************************************
-
-Copyright (c) 2013, 2014, Facebook, Inc. All Rights Reserved.
-Copyright (c) 2014, SkySQL Ab. All Rights Reserved.
-
-This program is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
-
-*****************************************************************************/
-
-/********************************************************************//**
-@file ut/ut0timer.cc
-Timer rountines
-
-Created 30/07/2014 Jan Lindström jan.lindstrom@skysql.com
-modified from https://github.com/facebook/mysql-5.6/commit/c75a413edeb96eb99bf11d7269bdfea06f96d6b6
-*************************************************************************/
-
-#include "data0type.h"
-#include 
-#include 
-
-/**************************************************************//**
-Initial timer definition
-@return	0 */
-static
-ulonglong
-ut_timer_none(void)
-/*===============*/
-{
-	return 0;
-}
-
-/**************************************************************//**
-Function pointer to point selected timer function.
-@return	timer current value */
-ulonglong (*ut_timer_now)(void) = &ut_timer_none;
-
-struct my_timer_unit_info ut_timer;
-
-/**************************************************************//**
-Sets up the data required for use of my_timer_* functions.
-Selects the best timer by high frequency, and tight resolution.
-Points my_timer_now() to the selected timer function.
-Initializes my_timer struct to contain the info for selected timer.*/
-UNIV_INTERN
-void
-ut_init_timer(void)
-/*===============*/
-{
-	MY_TIMER_INFO all_timer_info;
-	my_timer_init(&all_timer_info);
-
-	if (all_timer_info.cycles.frequency > 1000000 &&
-	    all_timer_info.cycles.resolution == 1) {
-		ut_timer = all_timer_info.cycles;
-		ut_timer_now = &my_timer_cycles;
-	} else if (all_timer_info.nanoseconds.frequency > 1000000 &&
-		 all_timer_info.nanoseconds.resolution == 1) {
-		ut_timer = all_timer_info.nanoseconds;
-		ut_timer_now = &my_timer_nanoseconds;
-	} else if (all_timer_info.microseconds.frequency >= 1000000 &&
-		all_timer_info.microseconds.resolution == 1) {
-		ut_timer = all_timer_info.microseconds;
-		ut_timer_now = &my_timer_microseconds;
-
-	} else if (all_timer_info.milliseconds.frequency >= 1000 &&
-		all_timer_info.milliseconds.resolution == 1) {
-		ut_timer = all_timer_info.milliseconds;
-		ut_timer_now = &my_timer_milliseconds;
-	} else if (all_timer_info.ticks.frequency >= 1000 &&
-		 /* Will probably be false */
-		all_timer_info.ticks.resolution == 1) {
-		ut_timer = all_timer_info.ticks;
-		ut_timer_now = &my_timer_ticks;
-	} else {
-		/* None are acceptable, so leave it as "None", and fill in struct */
-		ut_timer.frequency = 1; /* Avoid div-by-zero */
-		ut_timer.overhead = 0; /* Since it doesn't do anything */
-		ut_timer.resolution = 10; /* Another sign it's bad */
-		ut_timer.routine = 0; /* None */
-	}
-}
diff --git a/storage/xtradb/ut/ut0ut.cc b/storage/xtradb/ut/ut0ut.cc
index 695be4907..a9f24fcf1 100644
--- a/storage/xtradb/ut/ut0ut.cc
+++ b/storage/xtradb/ut/ut0ut.cc
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1994, 2017, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -12,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -44,165 +45,6 @@ Created 5/11/1994 Heikki Tuuri
 # include "ha_prototypes.h"
 # include "mysql_com.h" /* NAME_LEN */
 # include 
-#endif /* UNIV_HOTBACKUP */
-
-#ifdef __WIN__
-#include  /* For sql_print_error */
-typedef VOID(WINAPI *time_fn)(LPFILETIME);
-static time_fn ut_get_system_time_as_file_time = GetSystemTimeAsFileTime;
-
-/*****************************************************************//**
-NOTE: The Windows epoch starts from 1601/01/01 whereas the Unix
-epoch starts from 1970/1/1. For selection of constant see:
-http://support.microsoft.com/kb/167296/ */
-#define WIN_TO_UNIX_DELTA_USEC  ((ib_int64_t) 11644473600000000ULL)
-
-
-/**
-Initialise highest available time resolution API on Windows
-@return 0 if all OK else -1 */
-int
-ut_win_init_time()
-{
-	HMODULE h = LoadLibrary("kernel32.dll");
-	if (h != NULL)
-	{
-		time_fn pfn = (time_fn)GetProcAddress(h, "GetSystemTimePreciseAsFileTime");
-		if (pfn != NULL)
-		{
-			ut_get_system_time_as_file_time = pfn;
-		}
-		return false;
-	}
-	DWORD error = GetLastError();
-  sql_print_error(
-		"LoadLibrary(\"kernel32.dll\") failed: GetLastError returns %lu", error);
-	return(-1);
-}
-
-/*****************************************************************//**
-This is the Windows version of gettimeofday(2).
-@return	0 if all OK else -1 */
-static
-int
-ut_gettimeofday(
-/*============*/
-	struct timeval*	tv,	/*!< out: Values are relative to Unix epoch */
-	void*		tz)	/*!< in: not used */
-{
-	FILETIME	ft;
-	ib_int64_t	tm;
-
-	if (!tv) {
-		errno = EINVAL;
-		return(-1);
-	}
-
-	ut_get_system_time_as_file_time(&ft);
-
-	tm = (ib_int64_t) ft.dwHighDateTime << 32;
-	tm |= ft.dwLowDateTime;
-
-	ut_a(tm >= 0);	/* If tm wraps over to negative, the quotient / 10
-			does not work */
-
-	tm /= 10;	/* Convert from 100 nsec periods to usec */
-
-	/* If we don't convert to the Unix epoch the value for
-	struct timeval::tv_sec will overflow.*/
-	tm -= WIN_TO_UNIX_DELTA_USEC;
-
-	tv->tv_sec  = (long) (tm / 1000000L);
-	tv->tv_usec = (long) (tm % 1000000L);
-
-	return(0);
-}
-#else
-/** An alias for gettimeofday(2).  On Microsoft Windows, we have to
-reimplement this function. */
-#define	ut_gettimeofday		gettimeofday
-#endif
-
-/**********************************************************//**
-Returns system time. We do not specify the format of the time returned:
-the only way to manipulate it is to use the function ut_difftime.
-@return	system time */
-UNIV_INTERN
-ib_time_t
-ut_time(void)
-/*=========*/
-{
-	return(time(NULL));
-}
-
-#ifndef UNIV_HOTBACKUP
-/**********************************************************//**
-Returns system time.
-Upon successful completion, the value 0 is returned; otherwise the
-value -1 is returned and the global variable errno is set to indicate the
-error.
-@return	0 on success, -1 otherwise */
-UNIV_INTERN
-int
-ut_usectime(
-/*========*/
-	ulint*	sec,	/*!< out: seconds since the Epoch */
-	ulint*	ms)	/*!< out: microseconds since the Epoch+*sec */
-{
-	struct timeval	tv;
-	int		ret;
-	int		errno_gettimeofday;
-	int		i;
-
-	for (i = 0; i < 10; i++) {
-
-		ret = ut_gettimeofday(&tv, NULL);
-
-		if (ret == -1) {
-			errno_gettimeofday = errno;
-			ut_print_timestamp(stderr);
-			fprintf(stderr, "  InnoDB: gettimeofday(): %s\n",
-				strerror(errno_gettimeofday));
-			os_thread_sleep(100000);  /* 0.1 sec */
-			errno = errno_gettimeofday;
-		} else {
-			break;
-		}
-	}
-
-	if (ret != -1) {
-		*sec = (ulint) tv.tv_sec;
-		*ms  = (ulint) tv.tv_usec;
-	}
-
-	return(ret);
-}
-
-/**********************************************************//**
-Returns the number of microseconds since epoch. Similar to
-time(3), the return value is also stored in *tloc, provided
-that tloc is non-NULL.
-@return	us since epoch */
-UNIV_INTERN
-ullint
-ut_time_us(
-/*=======*/
-	ullint*	tloc)	/*!< out: us since epoch, if non-NULL */
-{
-	struct timeval	tv;
-	ullint		us;
-
-	ut_gettimeofday(&tv, NULL);
-
-	us = (ullint) tv.tv_sec * 1000000 + tv.tv_usec;
-
-	if (tloc != NULL) {
-		*tloc = us;
-	}
-
-	return(us);
-}
-
 /**********************************************************//**
 Returns the number of milliseconds since some epoch.  The
 value may wrap around.  It should only be used for heuristic
@@ -213,27 +55,9 @@ ulint
 ut_time_ms(void)
 /*============*/
 {
-	struct timeval	tv;
-
-	ut_gettimeofday(&tv, NULL);
-
-	return((ulint) tv.tv_sec * 1000 + tv.tv_usec / 1000);
+	return static_cast(my_interval_timer() / 1000000);
 }
 #endif /* !UNIV_HOTBACKUP */
-
-/**********************************************************//**
-Returns the difference of two times in seconds.
-@return	time2 - time1 expressed in seconds */
-UNIV_INTERN
-double
-ut_difftime(
-/*========*/
-	ib_time_t	time2,	/*!< in: time */
-	ib_time_t	time1)	/*!< in: time */
-{
-	return(difftime(time2, time1));
-}
-
 #endif /* !UNIV_INNOCHECKSUM */
 
 /**********************************************************//**
@@ -376,43 +200,6 @@ ut_sprintf_timestamp_without_extra_chars(
 		cal_tm_ptr->tm_sec);
 #endif
 }
-
-/**********************************************************//**
-Returns current year, month, day. */
-UNIV_INTERN
-void
-ut_get_year_month_day(
-/*==================*/
-	ulint*	year,	/*!< out: current year */
-	ulint*	month,	/*!< out: month */
-	ulint*	day)	/*!< out: day */
-{
-#ifdef __WIN__
-	SYSTEMTIME cal_tm;
-
-	GetLocalTime(&cal_tm);
-
-	*year = (ulint) cal_tm.wYear;
-	*month = (ulint) cal_tm.wMonth;
-	*day = (ulint) cal_tm.wDay;
-#else
-	struct tm* cal_tm_ptr;
-	time_t	   tm;
-
-#ifdef HAVE_LOCALTIME_R
-	struct tm  cal_tm;
-	time(&tm);
-	localtime_r(&tm, &cal_tm);
-	cal_tm_ptr = &cal_tm;
-#else
-	time(&tm);
-	cal_tm_ptr = localtime(&tm);
-#endif
-	*year = (ulint) cal_tm_ptr->tm_year + 1900;
-	*month = (ulint) cal_tm_ptr->tm_mon + 1;
-	*day = (ulint) cal_tm_ptr->tm_mday;
-#endif
-}
 #endif /* UNIV_HOTBACKUP */
 
 #ifndef UNIV_HOTBACKUP
diff --git a/storage/xtradb/ut/ut0vec.cc b/storage/xtradb/ut/ut0vec.cc
index 5842d9f1c..591895049 100644
--- a/storage/xtradb/ut/ut0vec.cc
+++ b/storage/xtradb/ut/ut0vec.cc
@@ -12,7 +12,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
diff --git a/storage/xtradb/ut/ut0wqueue.cc b/storage/xtradb/ut/ut0wqueue.cc
index fce39bd81..f8ba9fd30 100644
--- a/storage/xtradb/ut/ut0wqueue.cc
+++ b/storage/xtradb/ut/ut0wqueue.cc
@@ -13,7 +13,7 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
 this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 
 *****************************************************************************/
 
@@ -127,7 +127,7 @@ ib_wqueue_timedwait(
 /*================*/
 					/* out: work item or NULL on timeout*/
 	ib_wqueue_t*	wq,		/* in: work queue */
-	ib_time_t	wait_in_usecs)	/* in: wait time in micro seconds */
+	ulint		wait_in_usecs)	/* in: wait time in micro seconds */
 {
 	ib_list_node_t*	node = NULL;
 
diff --git a/strings/CMakeLists.txt b/strings/CMakeLists.txt
index 2a7f0b71c..ea6eaa8c2 100644
--- a/strings/CMakeLists.txt
+++ b/strings/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
 
diff --git a/strings/conf_to_src.c b/strings/conf_to_src.c
index 28d2fd151..6c352db74 100644
--- a/strings/conf_to_src.c
+++ b/strings/conf_to_src.c
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "strings_def.h"
 #include 
@@ -285,7 +285,7 @@ fprint_copyright(FILE *file)
 "\n"
 "   You should have received a copy of the GNU General Public License\n"
 "   along with this program; if not, write to the Free Software\n"
-"   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */\n"
+"   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */\n"
 "\n");
 }
 
diff --git a/strings/ctype-big5.c b/strings/ctype-big5.c
index d6a9695af..792c5521c 100644
--- a/strings/ctype-big5.c
+++ b/strings/ctype-big5.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
  * This file is basicly usa7 character sets with some extra functions
diff --git a/strings/ctype-bin.c b/strings/ctype-bin.c
index dfeb77d8d..114472b3f 100644
--- a/strings/ctype-bin.c
+++ b/strings/ctype-bin.c
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA */
+   MA 02110-1335  USA */
 
 /* This file is for binary pseudo charset, created by bar@mysql.com */
 
diff --git a/strings/ctype-cp932.c b/strings/ctype-cp932.c
index 9bf206f1d..2acd4cfeb 100644
--- a/strings/ctype-cp932.c
+++ b/strings/ctype-cp932.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is for cp932 charaset (Windows Japanese),
    and created based on ctype-sjis.c file  */
diff --git a/strings/ctype-czech.c b/strings/ctype-czech.c
index e3abebad9..99673100c 100644
--- a/strings/ctype-czech.c
+++ b/strings/ctype-czech.c
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* File strings/ctype-czech.c for MySQL.
 
diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c
index 38cfa429d..4c549a668 100644
--- a/strings/ctype-euc_kr.c
+++ b/strings/ctype-euc_kr.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* 
  * This file is for Korean EUC charset, and created by powerm90@tinc.co.kr.
diff --git a/strings/ctype-eucjpms.c b/strings/ctype-eucjpms.c
index 82c4bb5a4..fe699f8a3 100644
--- a/strings/ctype-eucjpms.c
+++ b/strings/ctype-eucjpms.c
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA */
+   MA 02110-1335  USA */
 
 /* This file is for Japanese EUC charset, and created based on
 ctype-ujis.c file.
diff --git a/strings/ctype-extra.c b/strings/ctype-extra.c
index c690b6d0c..90c7ea15e 100644
--- a/strings/ctype-extra.c
+++ b/strings/ctype-extra.c
@@ -20,7 +20,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "strings_def.h"
 #include 
diff --git a/strings/ctype-gb2312.c b/strings/ctype-gb2312.c
index b0e275fe9..5030360bc 100644
--- a/strings/ctype-gb2312.c
+++ b/strings/ctype-gb2312.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is for Chinese EUC character sets (GB2312), and created by Miles Tsai (net-bull@126.com).
  */
diff --git a/strings/ctype-gbk.c b/strings/ctype-gbk.c
index 37b003f18..602255e9a 100644
--- a/strings/ctype-gbk.c
+++ b/strings/ctype-gbk.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is for Chinese character sets GBK, created by Wei He 
    (hewei@mail.ied.ac.cn)
diff --git a/strings/ctype-latin1.c b/strings/ctype-latin1.c
index 26c66d600..37f43c6bc 100644
--- a/strings/ctype-latin1.c
+++ b/strings/ctype-latin1.c
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "strings_def.h"
 #include 
diff --git a/strings/ctype-mb.c b/strings/ctype-mb.c
index ad83cab33..3f8556fb8 100644
--- a/strings/ctype-mb.c
+++ b/strings/ctype-mb.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "strings_def.h"
 #include 
diff --git a/strings/ctype-mb.ic b/strings/ctype-mb.ic
index 6fc4d6e3d..7e278ea38 100644
--- a/strings/ctype-mb.ic
+++ b/strings/ctype-mb.ic
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 
diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c
index 825a653d0..20c7f81db 100644
--- a/strings/ctype-simple.c
+++ b/strings/ctype-simple.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "strings_def.h"
 #include 
diff --git a/strings/ctype-sjis.c b/strings/ctype-sjis.c
index 629e1cd83..f0f005685 100644
--- a/strings/ctype-sjis.c
+++ b/strings/ctype-sjis.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* This file is for Shift JIS charset, and created by tommy@valley.ne.jp.
  */
diff --git a/strings/ctype-uca.c b/strings/ctype-uca.c
index 11cb18481..84a44b28b 100644
--- a/strings/ctype-uca.c
+++ b/strings/ctype-uca.c
@@ -14,7 +14,7 @@
    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-   MA 02110-1301, USA */
+   MA 02110-1335  USA */
 
 /* 
    UCA (Unicode Collation Algorithm) support. 
diff --git a/strings/ctype-ucs2.c b/strings/ctype-ucs2.c
index 0791b0b74..754ec69ee 100644
--- a/strings/ctype-ucs2.c
+++ b/strings/ctype-ucs2.c
@@ -14,7 +14,7 @@
    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-   MA 02110-1301, USA */
+   MA 02110-1335  USA */
 
 /* UCS2 support. Written by Alexander Barkov  */
 
diff --git a/strings/ctype-ujis.c b/strings/ctype-ujis.c
index 5f8088847..22fbf4256 100644
--- a/strings/ctype-ujis.c
+++ b/strings/ctype-ujis.c
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA */
+   MA 02110-1335  USA */
 
 /* This file is for Japanese EUC charset, and created by tommy@valley.ne.jp.
  */
diff --git a/strings/ctype-utf8.c b/strings/ctype-utf8.c
index e2e3d9638..25fb081bb 100644
--- a/strings/ctype-utf8.c
+++ b/strings/ctype-utf8.c
@@ -14,7 +14,7 @@
    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-   MA 02110-1301, USA */
+   MA 02110-1335  USA */
 
 /* UTF8 according RFC 2279 */
 /* Written by Alexander Barkov  */
diff --git a/strings/ctype-win1250ch.c b/strings/ctype-win1250ch.c
index 8e3527f9f..0a6352b19 100644
--- a/strings/ctype-win1250ch.c
+++ b/strings/ctype-win1250ch.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
    Shared, independent copyright: (C) 2001 Jan Pazdziora.
diff --git a/strings/ctype.c b/strings/ctype.c
index 4af60d16d..d68010e00 100644
--- a/strings/ctype.c
+++ b/strings/ctype.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "strings_def.h"
 #include 
diff --git a/strings/decimal.c b/strings/decimal.c
index bbfb4e9dc..56d09e8f3 100644
--- a/strings/decimal.c
+++ b/strings/decimal.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /*
 =======================================================================
diff --git a/strings/do_ctype.c b/strings/do_ctype.c
index 55e319a22..e9430deee 100644
--- a/strings/do_ctype.c
+++ b/strings/do_ctype.c
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* Prints case-convert and sort-convert tabell on stdout. This is used to
    make _ctype.c easyer */
diff --git a/strings/dtoa.c b/strings/dtoa.c
index 3dba0da74..d11c5e346 100644
--- a/strings/dtoa.c
+++ b/strings/dtoa.c
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /****************************************************************
 
diff --git a/strings/dump_map.c b/strings/dump_map.c
index debc44d6f..fa713920e 100644
--- a/strings/dump_map.c
+++ b/strings/dump_map.c
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/strings/my_strchr.c b/strings/my_strchr.c
index 0305ef895..3ff7c32f4 100644
--- a/strings/my_strchr.c
+++ b/strings/my_strchr.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "strings_def.h"
 #include 
diff --git a/strings/my_vsnprintf.c b/strings/my_vsnprintf.c
index 134fdfc57..c31ae9192 100644
--- a/strings/my_vsnprintf.c
+++ b/strings/my_vsnprintf.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "strings_def.h"
 #include 
diff --git a/strings/strcoll.ic b/strings/strcoll.ic
index 4bced593a..b0556cfac 100644
--- a/strings/strcoll.ic
+++ b/strings/strcoll.ic
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 */
 
 
diff --git a/strings/strings_def.h b/strings/strings_def.h
index 80397d510..e137c7960 100644
--- a/strings/strings_def.h
+++ b/strings/strings_def.h
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /* This file is to be include first in all files in the string directory */
 
diff --git a/strings/strmake.c b/strings/strmake.c
index 951a589e3..a5e1dafb1 100644
--- a/strings/strmake.c
+++ b/strings/strmake.c
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*  File   : strmake.c
     Author : Michael Widenius
diff --git a/strings/strmov_overlapp.c b/strings/strmov_overlapp.c
index 2a162c399..fd1c53608 100644
--- a/strings/strmov_overlapp.c
+++ b/strings/strmov_overlapp.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "strings_def.h"
 
diff --git a/strings/t_ctype.h b/strings/t_ctype.h
index a4fdd267c..a6d2783fe 100644
--- a/strings/t_ctype.h
+++ b/strings/t_ctype.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /*
   Copyright (C) 1998, 1999 by Pruet Boonma, all rights reserved.
diff --git a/strings/uca-dump.c b/strings/uca-dump.c
index 5d1836088..837dd7f3c 100644
--- a/strings/uca-dump.c
+++ b/strings/uca-dump.c
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/strings/uctypedump.c b/strings/uctypedump.c
index ed3c64969..30ae33afe 100644
--- a/strings/uctypedump.c
+++ b/strings/uctypedump.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "strings_def.h"
 #include 
diff --git a/strings/utr11-dump.c b/strings/utr11-dump.c
index 0806b3ba0..695f6b200 100644
--- a/strings/utr11-dump.c
+++ b/strings/utr11-dump.c
@@ -14,7 +14,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/strings/xml.c b/strings/xml.c
index b5fed6a67..0178ea257 100644
--- a/strings/xml.c
+++ b/strings/xml.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "strings_def.h"
 #include "m_string.h"
diff --git a/support-files/CMakeLists.txt b/support-files/CMakeLists.txt
index 4ad3810e0..36d4c0949 100644
--- a/support-files/CMakeLists.txt
+++ b/support-files/CMakeLists.txt
@@ -12,7 +12,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 IF(WIN32)
   SET(localstatedir "C:\\\\mysql\\\\data\\\\")
diff --git a/support-files/MacOSX/Description.plist.sh b/support-files/MacOSX/Description.plist.sh
index 1acae093d..9af3eddf4 100644
--- a/support-files/MacOSX/Description.plist.sh
+++ b/support-files/MacOSX/Description.plist.sh
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 -->
 
 
diff --git a/support-files/MacOSX/Info.plist.sh b/support-files/MacOSX/Info.plist.sh
index 4cc1957a3..c2033e420 100644
--- a/support-files/MacOSX/Info.plist.sh
+++ b/support-files/MacOSX/Info.plist.sh
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 -->
 
 
diff --git a/support-files/MacOSX/MySQLCOM b/support-files/MacOSX/MySQLCOM
index 4de6485ae..ca5e444fd 100755
--- a/support-files/MacOSX/MySQLCOM
+++ b/support-files/MacOSX/MySQLCOM
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # /Library/StartupItems/MySQLCOM/MySQLCOM
diff --git a/support-files/MacOSX/StartupItem.Description.plist b/support-files/MacOSX/StartupItem.Description.plist
index e8d720ae5..1374ca941 100644
--- a/support-files/MacOSX/StartupItem.Description.plist
+++ b/support-files/MacOSX/StartupItem.Description.plist
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 -->
 
 
diff --git a/support-files/MacOSX/StartupItem.Info.plist b/support-files/MacOSX/StartupItem.Info.plist
index 9891668e2..947c81c73 100644
--- a/support-files/MacOSX/StartupItem.Info.plist
+++ b/support-files/MacOSX/StartupItem.Info.plist
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 -->
 
 
diff --git a/support-files/MacOSX/StartupItem.postinstall b/support-files/MacOSX/StartupItem.postinstall
index b3814db5d..d67abc9d9 100755
--- a/support-files/MacOSX/StartupItem.postinstall
+++ b/support-files/MacOSX/StartupItem.postinstall
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # postinstall script for the MySQL Startup Item Installation package
diff --git a/support-files/MacOSX/StartupParameters.plist.sh b/support-files/MacOSX/StartupParameters.plist.sh
index 66cc93fd8..f92385a8d 100644
--- a/support-files/MacOSX/StartupParameters.plist.sh
+++ b/support-files/MacOSX/StartupParameters.plist.sh
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 -->
 
 
diff --git a/support-files/MacOSX/mwar-wrapper b/support-files/MacOSX/mwar-wrapper
index 8d424df11..79ec570bf 100755
--- a/support-files/MacOSX/mwar-wrapper
+++ b/support-files/MacOSX/mwar-wrapper
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # This script can only create a library, not take it apart
 # again to AR files
diff --git a/support-files/MacOSX/mwcc-wrapper b/support-files/MacOSX/mwcc-wrapper
index 6de7a3218..6a3e5394c 100755
--- a/support-files/MacOSX/mwcc-wrapper
+++ b/support-files/MacOSX/mwcc-wrapper
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 if [ -z "$CWINSTALL" ] ; then
     echo "ERROR: You need to source 'mwvars' to set CWINSTALL and other variables"
diff --git a/support-files/MacOSX/postflight.sh b/support-files/MacOSX/postflight.sh
index 00ba30dff..752eddc42 100644
--- a/support-files/MacOSX/postflight.sh
+++ b/support-files/MacOSX/postflight.sh
@@ -16,7 +16,7 @@
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
 # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, USA
+# MA 02110-1335  USA
 
 #
 # postflight - this script will be executed after the MySQL PKG
diff --git a/support-files/MacOSX/preflight.sh b/support-files/MacOSX/preflight.sh
index 52f18a549..ce466d5b4 100644
--- a/support-files/MacOSX/preflight.sh
+++ b/support-files/MacOSX/preflight.sh
@@ -16,7 +16,7 @@
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
 # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, USA
+# MA 02110-1335  USA
 
 #
 # preflight - this script will be executed before the MySQL PKG
diff --git a/support-files/dtrace/locktime.d b/support-files/dtrace/locktime.d
index 610da8fbf..398a7262b 100644
--- a/support-files/dtrace/locktime.d
+++ b/support-files/dtrace/locktime.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Shows the time that an individual lock is applied to a database and table
 # Shows the time to achieve the lock, and the time the table was locked
diff --git a/support-files/dtrace/query-execandqc.d b/support-files/dtrace/query-execandqc.d
index 27dd5983f..feb937851 100644
--- a/support-files/dtrace/query-execandqc.d
+++ b/support-files/dtrace/query-execandqc.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Show query execution times, indicating whether the query-cache was used
 
diff --git a/support-files/dtrace/query-filesort-time.d b/support-files/dtrace/query-filesort-time.d
index 0705f6ec5..3bffd078d 100644
--- a/support-files/dtrace/query-filesort-time.d
+++ b/support-files/dtrace/query-filesort-time.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Show the time taken for a query, including the time taken to 
 # sort the results using filesort 
diff --git a/support-files/dtrace/query-network-time.d b/support-files/dtrace/query-network-time.d
index 1b4252848..bf3c05e56 100644
--- a/support-files/dtrace/query-network-time.d
+++ b/support-files/dtrace/query-network-time.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Show the time taken to execute a query, include the bytes and time taken
 # to transfer the information over the network to/from the client
diff --git a/support-files/dtrace/query-parse-time.d b/support-files/dtrace/query-parse-time.d
index 211152afd..7564068a4 100644
--- a/support-files/dtrace/query-parse-time.d
+++ b/support-files/dtrace/query-parse-time.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Shows time take to actually parse the query statement
 
diff --git a/support-files/dtrace/query-rowops.d b/support-files/dtrace/query-rowops.d
index 04748955f..2c93f21b9 100644
--- a/support-files/dtrace/query-rowops.d
+++ b/support-files/dtrace/query-rowops.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Calculates the time (and operations) for accessing data from individual
 # rows for each query
diff --git a/support-files/dtrace/query-time.d b/support-files/dtrace/query-time.d
index 98e4b1298..553a12b21 100644
--- a/support-files/dtrace/query-time.d
+++ b/support-files/dtrace/query-time.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Shows basic query execution time, who execute the query, and on what database
 
diff --git a/support-files/dtrace/statement-time.d b/support-files/dtrace/statement-time.d
index 10ef57039..9776e827e 100644
--- a/support-files/dtrace/statement-time.d
+++ b/support-files/dtrace/statement-time.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Creates a report on each query executed at the individual statement
 # level, showing rows matched, updated, and total query time
diff --git a/support-files/dtrace/statement-type-aggregate.d b/support-files/dtrace/statement-type-aggregate.d
index 784ee4aee..9d34c7662 100644
--- a/support-files/dtrace/statement-type-aggregate.d
+++ b/support-files/dtrace/statement-type-aggregate.d
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
 #
 # Creates an aggregate report of the time spent perform queries of the four main
 # types (select, insert, update, delete)
diff --git a/support-files/mysql.m4 b/support-files/mysql.m4
index 371700a9c..0a7034f61 100644
--- a/support-files/mysql.m4
+++ b/support-files/mysql.m4
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License along
 # with this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+# Franklin Street, Fifth Floor, Boston, MA 02110-1335  USA
 
 AC_DEFUN([_MYSQL_CONFIG],[
   AC_ARG_WITH([mysql-config],
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh
index ed3240f12..f3620d388 100644
--- a/support-files/mysql.server.sh
+++ b/support-files/mysql.server.sh
@@ -388,7 +388,7 @@ case "$mode" in
       fi
     else
       # Try to find appropriate mysqld process
-      mysqld_pid=`pgrep $libexecdir/mysqld`
+      mysqld_pid=`pgrep -f $libexecdir/mysqld`
 
       # test if multiple pids exist
       pid_count=`echo $mysqld_pid | wc -w`
diff --git a/support-files/rpm/server-postin.sh b/support-files/rpm/server-postin.sh
index 0a5bac73f..deb27c98a 100644
--- a/support-files/rpm/server-postin.sh
+++ b/support-files/rpm/server-postin.sh
@@ -50,7 +50,7 @@ if [ $1 = 1 ] ; then
 
   # Change permissions so that the user that will run the MySQL daemon
   # owns all database files.
-  chown -R %{mysqld_user}:%{mysqld_group} $datadir
+  chown -R -f %{mysqld_user}:%{mysqld_group} $datadir
 
   if [ ! -e $datadir/mysql ]; then
     # Create data directory
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f32e0270c..5134a90e5 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 ADD_DEFINITIONS("-DMYSQL_CLIENT")
 
diff --git a/tests/big_record.pl b/tests/big_record.pl
index 0d5766e5f..cb1f89984 100755
--- a/tests/big_record.pl
+++ b/tests/big_record.pl
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 
 # This is a test with stores big records in a blob.
 # Note that for the default test the mysql server should have been
diff --git a/tests/bug25714.c b/tests/bug25714.c
index b657630f3..35a13518a 100644
--- a/tests/bug25714.c
+++ b/tests/bug25714.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/tests/connect_test.c b/tests/connect_test.c
index f30d0f2ed..121ff2aa1 100644
--- a/tests/connect_test.c
+++ b/tests/connect_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/tests/deadlock_test.c b/tests/deadlock_test.c
index 811aa9b58..b4deef845 100644
--- a/tests/deadlock_test.c
+++ b/tests/deadlock_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/tests/drop_test.pl b/tests/drop_test.pl
index 362b6d7b8..329f65eb6 100755
--- a/tests/drop_test.pl
+++ b/tests/drop_test.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # This is a test with uses processes to insert, select and drop tables.
diff --git a/tests/export.pl b/tests/export.pl
index d7825574c..f99798eca 100755
--- a/tests/export.pl
+++ b/tests/export.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # This is a test with uses two processes to a database.
 # The other inserts records in two tables, the other does a lot of joins
diff --git a/tests/fork2_test.pl b/tests/fork2_test.pl
index f8e15403d..356055733 100755
--- a/tests/fork2_test.pl
+++ b/tests/fork2_test.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # This is a test with uses 5 processes to insert, update and select from
 # two tables.
diff --git a/tests/fork_big.pl b/tests/fork_big.pl
index ec1f131d4..623377ab5 100755
--- a/tests/fork_big.pl
+++ b/tests/fork_big.pl
@@ -15,7 +15,7 @@ use strict;
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # This is a test with uses many processes to test a MySQL server.
diff --git a/tests/fork_big2.pl b/tests/fork_big2.pl
index 0f1d65be8..c844d2908 100644
--- a/tests/fork_big2.pl
+++ b/tests/fork_big2.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # This is a test with uses many processes to test a MySQL server.
diff --git a/tests/grant.pl b/tests/grant.pl
index 23a7d2110..cd6516433 100755
--- a/tests/grant.pl
+++ b/tests/grant.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 
 #
 # Testing of grants.
diff --git a/tests/index_corrupt.pl b/tests/index_corrupt.pl
index 3623315c9..6b04ce8a5 100755
--- a/tests/index_corrupt.pl
+++ b/tests/index_corrupt.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # This is a test for a key cache bug (bug #10167)
diff --git a/tests/insert_and_repair.pl b/tests/insert_and_repair.pl
index d8799321a..18091c927 100755
--- a/tests/insert_and_repair.pl
+++ b/tests/insert_and_repair.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # This is a test of insert and repair/check.
diff --git a/tests/insert_test.c b/tests/insert_test.c
index f09766088..f2e6b61f1 100644
--- a/tests/insert_test.c
+++ b/tests/insert_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/tests/list_test.c b/tests/list_test.c
index 2e8cd3654..42d4f962b 100644
--- a/tests/list_test.c
+++ b/tests/list_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #ifdef __WIN__
 #include 
diff --git a/tests/lock_test.pl b/tests/lock_test.pl
index 97531df99..98c4ad637 100755
--- a/tests/lock_test.pl
+++ b/tests/lock_test.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # This is a test with uses two processes to a database.
 # The other inserts records in two tables, the other does a lot of joins
diff --git a/tests/mysql_client_fw.c b/tests/mysql_client_fw.c
index 71fb3894b..9687e3794 100644
--- a/tests/mysql_client_fw.c
+++ b/tests/mysql_client_fw.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index 63d40c5db..c7d79b692 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 /***************************************************************************
  This is a test sample to test the new features in MySQL client-server
diff --git a/tests/pmail.pl b/tests/pmail.pl
index 39f51a4e4..359256c25 100755
--- a/tests/pmail.pl
+++ b/tests/pmail.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #                                  
 # Prints mails to standard output  
diff --git a/tests/rename_test.pl b/tests/rename_test.pl
index 24d4f9e1a..d7097df1e 100755
--- a/tests/rename_test.pl
+++ b/tests/rename_test.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # This is a test with uses processes to insert, select and drop tables.
diff --git a/tests/select_test.c b/tests/select_test.c
index 9a144c592..648a86135 100644
--- a/tests/select_test.c
+++ b/tests/select_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #if defined(_WIN32) || defined(_WIN64)
 #include 
diff --git a/tests/showdb_test.c b/tests/showdb_test.c
index 555a8511e..267e32d51 100644
--- a/tests/showdb_test.c
+++ b/tests/showdb_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 #ifdef __WIN__
diff --git a/tests/ssl_test.c b/tests/ssl_test.c
index 2cd4b4b86..6102fc7fd 100644
--- a/tests/ssl_test.c
+++ b/tests/ssl_test.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA */
 
 
 #ifdef __WIN__
diff --git a/tests/table_types.pl b/tests/table_types.pl
index 53f59a442..c633a1530 100755
--- a/tests/table_types.pl
+++ b/tests/table_types.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 use DBI;
 use Benchmark;
diff --git a/tests/test_delayed_insert.pl b/tests/test_delayed_insert.pl
index 6d5353749..cb5b86a22 100755
--- a/tests/test_delayed_insert.pl
+++ b/tests/test_delayed_insert.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 # This is a test for INSERT DELAYED
 #
diff --git a/tests/thread_test.c b/tests/thread_test.c
index 38e453e9c..0fa92d505 100644
--- a/tests/thread_test.c
+++ b/tests/thread_test.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 
diff --git a/tests/truncate.pl b/tests/truncate.pl
index 41bb79b82..98791a15b 100755
--- a/tests/truncate.pl
+++ b/tests/truncate.pl
@@ -14,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
 #
 # This is a test with uses many processes to test a MySQL server.
diff --git a/unittest/examples/CMakeLists.txt b/unittest/examples/CMakeLists.txt
index 86c4a5bea..cba7db5bd 100644
--- a/unittest/examples/CMakeLists.txt
+++ b/unittest/examples/CMakeLists.txt
@@ -11,6 +11,6 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 MY_ADD_TESTS(simple skip todo skip_all no_plan)
diff --git a/unittest/examples/core-t.c b/unittest/examples/core-t.c
index 5f49e1cb1..12d9fe5c4 100644
--- a/unittest/examples/core-t.c
+++ b/unittest/examples/core-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 
diff --git a/unittest/examples/no_plan-t.c b/unittest/examples/no_plan-t.c
index b795b2ca6..80a56970c 100644
--- a/unittest/examples/no_plan-t.c
+++ b/unittest/examples/no_plan-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 
diff --git a/unittest/examples/simple-t.c b/unittest/examples/simple-t.c
index b3ead2932..ea64696c3 100644
--- a/unittest/examples/simple-t.c
+++ b/unittest/examples/simple-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 
diff --git a/unittest/examples/skip-t.c b/unittest/examples/skip-t.c
index 4b1115e50..a8ca43f6e 100644
--- a/unittest/examples/skip-t.c
+++ b/unittest/examples/skip-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/unittest/examples/skip_all-t.c b/unittest/examples/skip_all-t.c
index 9d31e0c3a..cfe6432b2 100644
--- a/unittest/examples/skip_all-t.c
+++ b/unittest/examples/skip_all-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 
diff --git a/unittest/examples/todo-t.c b/unittest/examples/todo-t.c
index e1be2e8ea..91720b30f 100644
--- a/unittest/examples/todo-t.c
+++ b/unittest/examples/todo-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 
diff --git a/unittest/my_decimal/CMakeLists.txt b/unittest/my_decimal/CMakeLists.txt
index 85d203e8f..d8f74b874 100644
--- a/unittest/my_decimal/CMakeLists.txt
+++ b/unittest/my_decimal/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
                     ${CMAKE_SOURCE_DIR}/sql
diff --git a/unittest/my_decimal/my_decimal-t.cc b/unittest/my_decimal/my_decimal-t.cc
index 92c4bdee8..b14c67943 100644
--- a/unittest/my_decimal/my_decimal-t.cc
+++ b/unittest/my_decimal/my_decimal-t.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "my_config.h"
 #include "config.h"
diff --git a/unittest/mysys/CMakeLists.txt b/unittest/mysys/CMakeLists.txt
index ad5195a84..dd0db94a7 100644
--- a/unittest/mysys/CMakeLists.txt
+++ b/unittest/mysys/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 MY_ADD_TESTS(bitmap base64 my_atomic my_rdtsc lf my_malloc my_getopt dynstring
              aes
diff --git a/unittest/mysys/aes-t.c b/unittest/mysys/aes-t.c
index 2d65b434c..34704e067 100644
--- a/unittest/mysys/aes-t.c
+++ b/unittest/mysys/aes-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/unittest/mysys/base64-t.c b/unittest/mysys/base64-t.c
index a3a37976d..cc841eda3 100644
--- a/unittest/mysys/base64-t.c
+++ b/unittest/mysys/base64-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/unittest/mysys/bitmap-t.c b/unittest/mysys/bitmap-t.c
index c4588779c..e8f41b32d 100644
--- a/unittest/mysys/bitmap-t.c
+++ b/unittest/mysys/bitmap-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 
    This test was copied from the unit test inside the
    mysys/my_bitmap.c file and adapted by Mats Kindahl to use the mytap
diff --git a/unittest/mysys/dynstring-t.c b/unittest/mysys/dynstring-t.c
index fed8488da..774811f01 100644
--- a/unittest/mysys/dynstring-t.c
+++ b/unittest/mysys/dynstring-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 //#include 
 #include 
diff --git a/unittest/mysys/lf-t.c b/unittest/mysys/lf-t.c
index 80f588569..0092cedba 100644
--- a/unittest/mysys/lf-t.c
+++ b/unittest/mysys/lf-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /**
   @file
diff --git a/unittest/mysys/my_atomic-t.c b/unittest/mysys/my_atomic-t.c
index 3198da683..83c46c24d 100644
--- a/unittest/mysys/my_atomic-t.c
+++ b/unittest/mysys/my_atomic-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "thr_template.c"
 
diff --git a/unittest/mysys/my_delete-t.c b/unittest/mysys/my_delete-t.c
index 7d15f09c7..7bc6cf89d 100644
--- a/unittest/mysys/my_delete-t.c
+++ b/unittest/mysys/my_delete-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/unittest/mysys/my_malloc-t.c b/unittest/mysys/my_malloc-t.c
index 52d734341..d20ef0523 100644
--- a/unittest/mysys/my_malloc-t.c
+++ b/unittest/mysys/my_malloc-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/unittest/mysys/my_rdtsc-t.c b/unittest/mysys/my_rdtsc-t.c
index 76a74a6fc..81005e9e3 100644
--- a/unittest/mysys/my_rdtsc-t.c
+++ b/unittest/mysys/my_rdtsc-t.c
@@ -12,7 +12,7 @@
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   rdtsc3 -- multi-platform timer code
diff --git a/unittest/mysys/my_vsnprintf-t.c b/unittest/mysys/my_vsnprintf-t.c
index 45df97fbe..6ba0a42cf 100644
--- a/unittest/mysys/my_vsnprintf-t.c
+++ b/unittest/mysys/my_vsnprintf-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/unittest/mysys/thr_template.c b/unittest/mysys/thr_template.c
index 38b8d2903..5f01dfbe0 100644
--- a/unittest/mysys/thr_template.c
+++ b/unittest/mysys/thr_template.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #include 
diff --git a/unittest/mysys/waiting_threads-t.c b/unittest/mysys/waiting_threads-t.c
index ac481e0fe..3d2147db2 100644
--- a/unittest/mysys/waiting_threads-t.c
+++ b/unittest/mysys/waiting_threads-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include "thr_template.c"
 #include 
diff --git a/unittest/mytap/CMakeLists.txt b/unittest/mytap/CMakeLists.txt
index 063c69eb9..189ea5a1c 100644
--- a/unittest/mytap/CMakeLists.txt
+++ b/unittest/mytap/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
 ADD_LIBRARY(mytap tap.c)
diff --git a/unittest/mytap/t/basic-t.c b/unittest/mytap/t/basic-t.c
index 9a909baba..687838388 100644
--- a/unittest/mytap/t/basic-t.c
+++ b/unittest/mytap/t/basic-t.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include "my_config.h"
 
diff --git a/unittest/mytap/tap.c b/unittest/mytap/tap.c
index 7bfc6dba8..65608e0de 100644
--- a/unittest/mytap/tap.c
+++ b/unittest/mytap/tap.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
    Library for providing TAP support for testing C and C++ was written
    by Mats Kindahl .
diff --git a/unittest/mytap/tap.h b/unittest/mytap/tap.h
index 834392c5f..9b79b7714 100644
--- a/unittest/mytap/tap.h
+++ b/unittest/mytap/tap.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1335  USA
 
    Library for providing TAP support for testing C and C++ was written
    by Mats Kindahl .
diff --git a/unittest/sql/CMakeLists.txt b/unittest/sql/CMakeLists.txt
index cd2ba9b3d..f63dc0b2a 100644
--- a/unittest/sql/CMakeLists.txt
+++ b/unittest/sql/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 MY_ADD_TESTS(my_apc LINK_LIBRARIES mysys EXT cc)
 
diff --git a/unittest/sql/explain_filename-t.cc b/unittest/sql/explain_filename-t.cc
index 69ce51c04..0df76ed70 100644
--- a/unittest/sql/explain_filename-t.cc
+++ b/unittest/sql/explain_filename-t.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 */
 
 /** Unit test case for the function explain_filename(). */
diff --git a/unittest/sql/mf_iocache-t.cc b/unittest/sql/mf_iocache-t.cc
index 51656c02e..9ca01daae 100644
--- a/unittest/sql/mf_iocache-t.cc
+++ b/unittest/sql/mf_iocache-t.cc
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #include 
 #include 
diff --git a/unittest/sql/my_apc-t.cc b/unittest/sql/my_apc-t.cc
index 6d44859d1..c08e7281c 100644
--- a/unittest/sql/my_apc-t.cc
+++ b/unittest/sql/my_apc-t.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 /*
   This file does standalone APC system tests.
diff --git a/unittest/strings/strings-t.c b/unittest/strings/strings-t.c
index fe595a5c3..46cf7c36e 100644
--- a/unittest/strings/strings-t.c
+++ b/unittest/strings/strings-t.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA */
 
 #include 
 #include 
diff --git a/unittest/unit.pl b/unittest/unit.pl
index fe45ece42..fb9a16fbe 100644
--- a/unittest/unit.pl
+++ b/unittest/unit.pl
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 
 use File::Find;
 use Getopt::Long;
diff --git a/vio/CMakeLists.txt b/vio/CMakeLists.txt
index cdb28799a..6749d3c69 100644
--- a/vio/CMakeLists.txt
+++ b/vio/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include 
 ${SSL_INCLUDE_DIRS})
diff --git a/vio/test-ssl.c b/vio/test-ssl.c
index c99f50710..dc116e7e4 100644
--- a/vio/test-ssl.c
+++ b/vio/test-ssl.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #if defined(HAVE_OPENSSL)
diff --git a/vio/test-sslclient.c b/vio/test-sslclient.c
index 93fdb0637..487c7b92b 100644
--- a/vio/test-sslclient.c
+++ b/vio/test-sslclient.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #ifdef HAVE_OPENSSL
diff --git a/vio/test-sslserver.c b/vio/test-sslserver.c
index c81dc03dc..8d63fd16f 100644
--- a/vio/test-sslserver.c
+++ b/vio/test-sslserver.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #ifdef HAVE_OPENSSL
diff --git a/vio/vio.c b/vio/vio.c
index e3bc8ca8a..ee84d27a3 100644
--- a/vio/vio.c
+++ b/vio/vio.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Note that we can't have assertion on file descriptors;  The reason for
diff --git a/vio/vio_priv.h b/vio/vio_priv.h
index 248e1a59b..71a0468e2 100644
--- a/vio/vio_priv.h
+++ b/vio/vio_priv.h
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #ifndef VIO_PRIV_INCLUDED
 #define VIO_PRIV_INCLUDED
diff --git a/vio/viopipe.c b/vio/viopipe.c
index f9af50bc3..2d784ecde 100644
--- a/vio/viopipe.c
+++ b/vio/viopipe.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "vio_priv.h"
 
diff --git a/vio/vioshm.c b/vio/vioshm.c
index acc7d2402..7b491b8f9 100644
--- a/vio/vioshm.c
+++ b/vio/vioshm.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "vio_priv.h"
 
diff --git a/vio/viosocket.c b/vio/viosocket.c
index e11460dd4..e22e8e85f 100644
--- a/vio/viosocket.c
+++ b/vio/viosocket.c
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-   02110-1301  USA */
+   02110-1335  USA */
 
 /*
   Note that we can't have assertion on file descriptors;  The reason for
diff --git a/vio/viossl.c b/vio/viossl.c
index 0bc2c2633..8a81c22c0 100644
--- a/vio/viossl.c
+++ b/vio/viossl.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /*
   Note that we can't have assertion on file descriptors;  The reason for
diff --git a/vio/viosslfactories.c b/vio/viosslfactories.c
index 52b624d33..8895cce3d 100644
--- a/vio/viosslfactories.c
+++ b/vio/viosslfactories.c
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include "vio_priv.h"
 
diff --git a/vio/viotest-ssl.c b/vio/viotest-ssl.c
index 51d171d69..36d67b9f8 100644
--- a/vio/viotest-ssl.c
+++ b/vio/viotest-ssl.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 #include 
 #ifdef HAVE_OPENSSL
diff --git a/vio/viotest-sslconnect.cc b/vio/viotest-sslconnect.cc
index 18e558159..dee3e318a 100644
--- a/vio/viotest-sslconnect.cc
+++ b/vio/viotest-sslconnect.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* 
 **  Virtual I/O library
diff --git a/vio/viotest.cc b/vio/viotest.cc
index b1c11a85c..cfb74cf3a 100644
--- a/vio/viotest.cc
+++ b/vio/viotest.cc
@@ -12,7 +12,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
 
 /* 
 **  Virtual I/O library
diff --git a/win/create_def_file.js b/win/create_def_file.js
index 25bbbb4eb..1fb9f4ac5 100644
--- a/win/create_def_file.js
+++ b/win/create_def_file.js
@@ -14,7 +14,7 @@
 // 
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 
 /*
   This script extracts names and types of globally defined symbols from
diff --git a/win/packaging/CMakeLists.txt b/win/packaging/CMakeLists.txt
index d33516044..6a2900bfe 100644
--- a/win/packaging/CMakeLists.txt
+++ b/win/packaging/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 
 IF(NOT WIN32)
   RETURN()
diff --git a/win/packaging/COPYING.rtf b/win/packaging/COPYING.rtf
index ba5fa3f31..c4dec4955 100644
--- a/win/packaging/COPYING.rtf
+++ b/win/packaging/COPYING.rtf
@@ -2,7 +2,7 @@
 {\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}}
 \viewkind4\uc1\pard\s2\sb100\sa100\b\f0\fs24 GNU GENERAL PUBLIC LICENSE\par
 \pard\sb100\sa100\b0\fs20 Version 2, June 1991 \par
-\pard Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.\fs24  \par
+\pard Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.\fs24  \par
 \pard\s2\sb100\sa100\b Preamble\par
 \pard\sb100\sa100\b0\fs20 The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. \par
 When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. \par
@@ -48,7 +48,7 @@ NO WARRANTY \par
 How to Apply These Terms to Your New Programs\fs20\par
 \pard\sb100\sa100\b0 If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. \par
 To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. \par
-\pard one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA. \par
+\pard one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA. \par
 \pard\sb100\sa100 Also add information on how to contact you by electronic and paper mail. \par
 If the program is interactive, make it output a short notice like this when it starts in an interactive mode: \par
 \pard Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. \par
diff --git a/win/packaging/ca/CMakeLists.txt b/win/packaging/ca/CMakeLists.txt
index 04d5408b9..1a24ee9a0 100644
--- a/win/packaging/ca/CMakeLists.txt
+++ b/win/packaging/ca/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335  USA
 
 INCLUDE_DIRECTORIES(${WIX_DIR}/../SDK/${WIX_MSVC_SUFFIX}/inc)
 SET(WIXCA_SOURCES CustomAction.cpp CustomAction.def)
diff --git a/win/packaging/ca/CustomAction.cpp b/win/packaging/ca/CustomAction.cpp
index c0062ddcd..4005bd6e7 100644
--- a/win/packaging/ca/CustomAction.cpp
+++ b/win/packaging/ca/CustomAction.cpp
@@ -11,7 +11,7 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
 
 #ifndef UNICODE
 #define UNICODE
diff --git a/win/packaging/heidisql.cmake b/win/packaging/heidisql.cmake
index 897678f20..a3d884adb 100644
--- a/win/packaging/heidisql.cmake
+++ b/win/packaging/heidisql.cmake
@@ -1,4 +1,4 @@
-SET(HEIDISQL_BASE_NAME "HeidiSQL_9.5_Portable")
+SET(HEIDISQL_BASE_NAME "HeidiSQL_10.2_32_Portable")
 SET(HEIDISQL_ZIP "${HEIDISQL_BASE_NAME}.zip")
 SET(HEIDISQL_URL "http://www.heidisql.com/downloads/releases/${HEIDISQL_ZIP}")
 SET(HEIDISQL_DOWNLOAD_DIR ${THIRD_PARTY_DOWNLOAD_LOCATION}/${HEIDISQL_BASE_NAME})
@@ -12,12 +12,5 @@ IF(NOT EXISTS ${HEIDISQL_DOWNLOAD_DIR}/${HEIDISQL_ZIP})
   )
 ENDIF()
 
-SET(LIBMYSQLDLL_SOURCE ${HEIDISQL_DOWNLOAD_DIR}/libmysql.dll)
-IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
-  # Use our libmysql if it is 32 bit.
-  IF(LIBMYSQL_LOCATION)
-    SET(LIBMYSQLDLL_SOURCE "${LIBMYSQL_LOCATION}")
-  ENDIF()
-ENDIF()
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/heidisql.wxi.in ${CMAKE_CURRENT_BINARY_DIR}/heidisql.wxi)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/heidisql_feature.wxi.in ${CMAKE_CURRENT_BINARY_DIR}/heidisql_feature.wxi)
diff --git a/win/packaging/heidisql.wxi.in b/win/packaging/heidisql.wxi.in
index 241d2c275..4244b47d0 100644
--- a/win/packaging/heidisql.wxi.in
+++ b/win/packaging/heidisql.wxi.in
@@ -8,6 +8,7 @@
           Win64="no"
 />
 
+
 
   
    
@@ -35,7 +36,9 @@
     
       
     
-
+    
+      
+    
     
       
     
@@ -53,12 +56,11 @@
     
 
     
-      
-        
-      
-      
-        
+      
+      
+        
       
+      
     
 
     
@@ -73,13 +75,15 @@
   
   
   
+  
   
   
   
   
   
-  
-  
+  
+    
+  
   
 
 
diff --git a/wsrep/CMakeLists.txt b/wsrep/CMakeLists.txt
index 53c8e8530..44078860f 100644
--- a/wsrep/CMakeLists.txt
+++ b/wsrep/CMakeLists.txt
@@ -11,7 +11,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1335 USA
 
 SET(WSREP_SOURCES wsrep_gtid.c wsrep_uuid.c wsrep_loader.c wsrep_dummy.c)
 
diff --git a/wsrep/wsrep_api.h b/wsrep/wsrep_api.h
index e713be094..60abd9a69 100644
--- a/wsrep/wsrep_api.h
+++ b/wsrep/wsrep_api.h
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
  */
 
 /*!
diff --git a/wsrep/wsrep_dummy.c b/wsrep/wsrep_dummy.c
index e48dcff39..bd9f654b8 100644
--- a/wsrep/wsrep_dummy.c
+++ b/wsrep/wsrep_dummy.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  */
 
 /*! @file Dummy wsrep API implementation. */
diff --git a/wsrep/wsrep_gtid.c b/wsrep/wsrep_gtid.c
index 45148785c..bf5cab065 100644
--- a/wsrep/wsrep_gtid.c
+++ b/wsrep/wsrep_gtid.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  */
 
 /*! @file Helper functions to deal with GTID string representations */
diff --git a/wsrep/wsrep_loader.c b/wsrep/wsrep_loader.c
index 132153874..d08632a94 100644
--- a/wsrep/wsrep_loader.c
+++ b/wsrep/wsrep_loader.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  */
 
 /*! @file wsrep implementation loader */
diff --git a/wsrep/wsrep_uuid.c b/wsrep/wsrep_uuid.c
index 54ae4ab5e..d525808d0 100644
--- a/wsrep/wsrep_uuid.c
+++ b/wsrep/wsrep_uuid.c
@@ -11,7 +11,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
  */
 
 /*! @file Helper functions to deal with history UUID string representations */
diff --git a/zlib/CMakeLists.txt b/zlib/CMakeLists.txt
index 0c224e7ce..f654f98bf 100644
--- a/zlib/CMakeLists.txt
+++ b/zlib/CMakeLists.txt
@@ -12,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
 
 cmake_minimum_required(VERSION 2.4.4)
 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
@@ -124,6 +124,8 @@ string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
 
 ADD_CONVENIENCE_LIBRARY(zlib STATIC
   ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+RESTRICT_SYMBOL_EXPORTS(zlib)
+
 
 if(NOT CYGWIN)
     # This property causes shared libraries on Linux to have the full version
@@ -142,7 +144,4 @@ if(CMAKE_SYSTEM_NAME MATCHES "SunOS")
 elseif(UNIX)
     # On unix-like platforms the library is almost always called libz
    set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
-   if(NOT APPLE)
-     set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
-   endif()
 endif()
-- 
GitLab