Merge 10.5 into 10.6
This commit is contained in:
commit
9a7948e3f6
@ -40,7 +40,14 @@ addons:
|
|||||||
- g++-9 # ubuntu-toolchain-r/test (xenial and bionic)
|
- g++-9 # ubuntu-toolchain-r/test (xenial and bionic)
|
||||||
- gdb
|
- gdb
|
||||||
- libaio-dev
|
- libaio-dev
|
||||||
|
- libboost-atomic-dev
|
||||||
|
- libboost-chrono-dev
|
||||||
|
- libboost-date-time-dev
|
||||||
- libboost-dev
|
- libboost-dev
|
||||||
|
- libboost-filesystem-dev
|
||||||
|
- libboost-regex-dev
|
||||||
|
- libboost-system-dev
|
||||||
|
- libboost-thread-dev
|
||||||
- libcrack2-dev
|
- libcrack2-dev
|
||||||
- libcurl3-dev
|
- libcurl3-dev
|
||||||
- libdbd-mysql
|
- libdbd-mysql
|
||||||
@ -52,6 +59,7 @@ addons:
|
|||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- libpam0g-dev
|
- libpam0g-dev
|
||||||
- libpcre2-dev
|
- libpcre2-dev
|
||||||
|
- libreadline-gplv2-dev
|
||||||
- libsnappy-dev
|
- libsnappy-dev
|
||||||
- libssl-dev
|
- libssl-dev
|
||||||
- libstemmer-dev
|
- libstemmer-dev
|
||||||
|
@ -197,6 +197,7 @@ ENDIF()
|
|||||||
OPTION(NOT_FOR_DISTRIBUTION "Allow linking with GPLv2-incompatible system libraries. Only set it you never plan to distribute the resulting binaries" OFF)
|
OPTION(NOT_FOR_DISTRIBUTION "Allow linking with GPLv2-incompatible system libraries. Only set it you never plan to distribute the resulting binaries" OFF)
|
||||||
|
|
||||||
INCLUDE(check_compiler_flag)
|
INCLUDE(check_compiler_flag)
|
||||||
|
INCLUDE(check_linker_flag)
|
||||||
|
|
||||||
OPTION(WITH_ASAN "Enable address sanitizer" OFF)
|
OPTION(WITH_ASAN "Enable address sanitizer" OFF)
|
||||||
|
|
||||||
@ -250,7 +251,7 @@ OPTION(SECURITY_HARDENED "Use security-enhancing compiler features (stack protec
|
|||||||
IF(SECURITY_HARDENED AND NOT WITH_ASAN AND NOT WITH_UBSAN AND NOT WITH_TSAN)
|
IF(SECURITY_HARDENED AND NOT WITH_ASAN AND NOT WITH_UBSAN AND NOT WITH_TSAN)
|
||||||
# security-enhancing flags
|
# security-enhancing flags
|
||||||
MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
|
MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
|
||||||
MY_CHECK_AND_SET_COMPILER_FLAG("-Wl,-z,relro,-z,now")
|
MY_CHECK_AND_SET_LINKER_FLAG("-Wl,-z,relro,-z,now")
|
||||||
MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
|
MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
|
||||||
MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
|
MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -896,6 +896,7 @@ static const char *expected_errors[]=
|
|||||||
"ERROR 1290", /* RR_OPTION_PREVENTS_STATEMENT */
|
"ERROR 1290", /* RR_OPTION_PREVENTS_STATEMENT */
|
||||||
"ERROR 1347", /* 'mysql.user' is not of type 'BASE TABLE' */
|
"ERROR 1347", /* 'mysql.user' is not of type 'BASE TABLE' */
|
||||||
"ERROR 1348", /* Column 'Show_db_priv' is not updatable */
|
"ERROR 1348", /* Column 'Show_db_priv' is not updatable */
|
||||||
|
"ERROR 1356", /* definer of view lack rights (UPDATE) */
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ ENDIF()
|
|||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
SET(WITH_EXTRA_CHARSETS all CACHE STRING "")
|
SET(WITH_EXTRA_CHARSETS all CACHE STRING "")
|
||||||
SET(PLUGIN_AUTH_PAM YES)
|
SET(PLUGIN_AUTH_PAM YES CACHE BOOL "")
|
||||||
|
|
||||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
IF(NOT IGNORE_AIO_CHECK)
|
IF(NOT IGNORE_AIO_CHECK)
|
||||||
|
27
cmake/check_linker_flag.cmake
Normal file
27
cmake/check_linker_flag.cmake
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
include(CheckCXXSourceCompiles)
|
||||||
|
|
||||||
|
FUNCTION(MY_CHECK_AND_SET_LINKER_FLAG flag_to_set)
|
||||||
|
# Let's avoid expensive compiler tests on Windows:
|
||||||
|
IF(WIN32)
|
||||||
|
RETURN()
|
||||||
|
ENDIF()
|
||||||
|
STRING(REGEX REPLACE "[-,= +]" "_" result "HAVE_LINK_FLAG_${flag_to_set}")
|
||||||
|
SET(SAVE_CMAKE_REQUIRED_LINK_OPTIONS "${CMAKE_REQUIRED_LINK_OPTIONS}")
|
||||||
|
STRING(REGEX REPLACE "^-Wno-" "-W" flag_to_check ${flag_to_set})
|
||||||
|
SET(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS} ${flag_to_check})
|
||||||
|
CHECK_CXX_SOURCE_COMPILES("int main(void) { return 0; }" ${result})
|
||||||
|
SET(CMAKE_REQUIRED_LINK_OPTIONS "${SAVE_CMAKE_REQUIRED_LINK_OPTIONS}")
|
||||||
|
IF (${result})
|
||||||
|
FOREACH(linktype SHARED MODULE EXE)
|
||||||
|
IF(ARGN)
|
||||||
|
FOREACH(type ${ARGN})
|
||||||
|
SET(CMAKE_${linktype}_LINKER_FLAGS_${type}
|
||||||
|
"${CMAKE_${linktype}_LINKER_FLAGS_${type}} ${flag_to_set}" PARENT_SCOPE)
|
||||||
|
ENDFOREACH()
|
||||||
|
ELSE()
|
||||||
|
SET(CMAKE_${linktype}_LINKER_FLAGS
|
||||||
|
"${CMAKE_${linktype}_LINKER_FLAGS} ${flag_to_set}" PARENT_SCOPE)
|
||||||
|
ENDIF()
|
||||||
|
ENDFOREACH()
|
||||||
|
ENDIF()
|
||||||
|
ENDFUNCTION()
|
@ -69,6 +69,11 @@ IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND CMAKE_COMPILER_IS_GNUCC AND
|
|||||||
SET(PLUGIN_QUERY_RESPONSE_TIME NO CACHE BOOL "Disabled, gcc is too old")
|
SET(PLUGIN_QUERY_RESPONSE_TIME NO CACHE BOOL "Disabled, gcc is too old")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
# use runtime atomic-support detection in aarch64
|
||||||
|
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||||
|
MY_CHECK_AND_SET_COMPILER_FLAG("-moutline-atomics")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(WITHOUT_DYNAMIC_PLUGINS)
|
IF(WITHOUT_DYNAMIC_PLUGINS)
|
||||||
MESSAGE("Dynamic plugins are disabled.")
|
MESSAGE("Dynamic plugins are disabled.")
|
||||||
ENDIF(WITHOUT_DYNAMIC_PLUGINS)
|
ENDIF(WITHOUT_DYNAMIC_PLUGINS)
|
||||||
|
6
debian/additions/Docs__Images__Makefile.in
vendored
6
debian/additions/Docs__Images__Makefile.in
vendored
@ -1,6 +0,0 @@
|
|||||||
all:
|
|
||||||
|
|
||||||
distclean:
|
|
||||||
-rm -f Makefile
|
|
||||||
|
|
||||||
.PHONY: all distclean clean install check
|
|
6
debian/additions/Docs__Makefile.in
vendored
6
debian/additions/Docs__Makefile.in
vendored
@ -1,6 +0,0 @@
|
|||||||
all:
|
|
||||||
|
|
||||||
distclean:
|
|
||||||
-rm -f Makefile
|
|
||||||
|
|
||||||
.PHONY: all distclean clean install check
|
|
2
debian/additions/debian-start.inc.sh
vendored
2
debian/additions/debian-start.inc.sh
vendored
@ -15,7 +15,7 @@ function check_for_crashed_tables() {
|
|||||||
|
|
||||||
# Checking for $? is unreliable so the size of the output is checked.
|
# Checking for $? is unreliable so the size of the output is checked.
|
||||||
# Some table handlers like HEAP do not support CHECK TABLE.
|
# Some table handlers like HEAP do not support CHECK TABLE.
|
||||||
tempfile=`tempfile`
|
tempfile=$(mktemp)
|
||||||
|
|
||||||
# We have to use xargs in this case, because a for loop barfs on the
|
# We have to use xargs in this case, because a for loop barfs on the
|
||||||
# spaces in the thing to be looped over.
|
# spaces in the thing to be looped over.
|
||||||
|
20
debian/additions/enable_encryption.preset
vendored
20
debian/additions/enable_encryption.preset
vendored
@ -1,20 +0,0 @@
|
|||||||
#
|
|
||||||
# !include this file into your my.cnf (or any of *.cnf files in /etc/mysql/conf.d)
|
|
||||||
# and it will enable data at rest encryption. This is a simple way to
|
|
||||||
# ensure that everything that can be encrypted will be and your
|
|
||||||
# data will not leak unencrypted.
|
|
||||||
#
|
|
||||||
# DO NOT EDIT THIS FILE! On MariaDB upgrades it might be replaced with a
|
|
||||||
# newer version and your edits will be lost. Instead, add your edits
|
|
||||||
# to the .cnf file after the !include directive.
|
|
||||||
#
|
|
||||||
# NOTE that you also need to install an encryption plugin for the encryption
|
|
||||||
# to work. See https://mariadb.com/kb/en/mariadb/data-at-rest-encryption/#encryption-key-management
|
|
||||||
#
|
|
||||||
[mariadb]
|
|
||||||
aria-encrypt-tables
|
|
||||||
encrypt-binlog
|
|
||||||
encrypt-tmp-disk-tables
|
|
||||||
encrypt-tmp-files
|
|
||||||
loose-innodb-encrypt-log
|
|
||||||
loose-innodb-encrypt-tables
|
|
9
debian/additions/mariadb.cnf
vendored
9
debian/additions/mariadb.cnf
vendored
@ -1,6 +1,7 @@
|
|||||||
# The MariaDB configuration file
|
# The MariaDB configuration file
|
||||||
#
|
#
|
||||||
# The MariaDB/MySQL tools read configuration files in the following order:
|
# The MariaDB/MySQL tools read configuration files in the following order:
|
||||||
|
# 0. "/etc/mysql/my.cnf" symlinks to this file, reason why all the rest is read.
|
||||||
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
|
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
|
||||||
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
|
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
|
||||||
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
|
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
|
||||||
@ -11,15 +12,17 @@
|
|||||||
# One can use all long options that the program supports.
|
# One can use all long options that the program supports.
|
||||||
# Run program with --help to get a list of available options and with
|
# Run program with --help to get a list of available options and with
|
||||||
# --print-defaults to see which it would actually understand and use.
|
# --print-defaults to see which it would actually understand and use.
|
||||||
|
#
|
||||||
|
# If you are new to MariaDB, check out https://mariadb.com/kb/en/basic-mariadb-articles/
|
||||||
|
|
||||||
#
|
#
|
||||||
# This group is read both by the client and the server
|
# This group is read both by the client and the server
|
||||||
# use it for options that affect everything
|
# use it for options that affect everything
|
||||||
#
|
#
|
||||||
[client-server]
|
[client-server]
|
||||||
|
# Port or socket location where to connect
|
||||||
socket = /run/mysqld/mysqld.sock
|
# port = 3306
|
||||||
#port = 3306
|
socket = /run/mysqld/mysqld.sock
|
||||||
|
|
||||||
# Import all .cnf files from configuration directory
|
# Import all .cnf files from configuration directory
|
||||||
!includedir /etc/mysql/conf.d/
|
!includedir /etc/mysql/conf.d/
|
||||||
|
@ -4,15 +4,12 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
[client]
|
[client]
|
||||||
# Default is Latin1, if you need UTF-8 set this (also in server section)
|
|
||||||
# default-character-set = utf8mb4
|
|
||||||
|
|
||||||
# Example of client certificate usage
|
# Example of client certificate usage
|
||||||
# ssl-cert=/etc/mysql/client-cert.pem
|
# ssl-cert = /etc/mysql/client-cert.pem
|
||||||
# ssl-key=/etc/mysql/client-key.pem
|
# ssl-key = /etc/mysql/client-key.pem
|
||||||
#
|
#
|
||||||
# Allow only TLS encrypted connections
|
# Allow only TLS encrypted connections
|
||||||
# ssl-verify-server-cert=on
|
# ssl-verify-server-cert = on
|
||||||
|
|
||||||
# This group is *never* read by mysql client library, though this
|
# This group is *never* read by mysql client library, though this
|
||||||
# /etc/mysql/mariadb.cnf.d/client.cnf file is not read by Oracle MySQL
|
# /etc/mysql/mariadb.cnf.d/client.cnf file is not read by Oracle MySQL
|
||||||
|
@ -9,12 +9,12 @@
|
|||||||
# with the following contents:
|
# with the following contents:
|
||||||
#
|
#
|
||||||
# [Service]
|
# [Service]
|
||||||
# User=mysql
|
# User = mysql
|
||||||
# StandardOutput=syslog
|
# StandardOutput = syslog
|
||||||
# StandardError=syslog
|
# StandardError = syslog
|
||||||
# SyslogFacility=daemon
|
# SyslogFacility = daemon
|
||||||
# SyslogLevel=err
|
# SyslogLevel = err
|
||||||
# SyslogIdentifier=mysqld
|
# SyslogIdentifier = mysqld
|
||||||
#
|
#
|
||||||
# For more information, please read https://mariadb.com/kb/en/mariadb/systemd/
|
# For more information, please read https://mariadb.com/kb/en/mariadb/systemd/
|
||||||
|
|
||||||
@ -23,6 +23,6 @@
|
|||||||
# It has been reported that passwords should be enclosed with ticks/quotes
|
# It has been reported that passwords should be enclosed with ticks/quotes
|
||||||
# especially if they contain "#" chars...
|
# especially if they contain "#" chars...
|
||||||
|
|
||||||
nice = 0
|
nice = 0
|
||||||
skip_log_error
|
skip_log_error
|
||||||
syslog
|
syslog
|
||||||
|
19
debian/additions/mariadb.conf.d/60-galera.cnf
vendored
19
debian/additions/mariadb.conf.d/60-galera.cnf
vendored
@ -2,19 +2,20 @@
|
|||||||
# * Galera-related settings
|
# * Galera-related settings
|
||||||
#
|
#
|
||||||
# See the examples of server wsrep.cnf files in /usr/share/mysql
|
# See the examples of server wsrep.cnf files in /usr/share/mysql
|
||||||
|
# and read more at https://mariadb.com/kb/en/galera-cluster/
|
||||||
|
|
||||||
[galera]
|
[galera]
|
||||||
# Mandatory settings
|
# Mandatory settings
|
||||||
#wsrep_on=ON
|
#wsrep_on = ON
|
||||||
#wsrep_provider=
|
#wsrep_provider =
|
||||||
#wsrep_cluster_address=
|
#wsrep_cluster_address =
|
||||||
#binlog_format=row
|
#binlog_format = row
|
||||||
#default_storage_engine=InnoDB
|
#default_storage_engine = InnoDB
|
||||||
#innodb_autoinc_lock_mode=2
|
#innodb_autoinc_lock_mode = 2
|
||||||
|
|
||||||
# Allow server to accept connections on all interfaces.
|
# Allow server to accept connections on all interfaces.
|
||||||
#bind-address=0.0.0.0
|
#bind-address = 0.0.0.0
|
||||||
|
|
||||||
# Optional settings
|
# Optional settings
|
||||||
#wsrep_slave_threads=1
|
#wsrep_slave_threads = 1
|
||||||
#innodb_flush_log_at_trx_commit=0
|
#innodb_flush_log_at_trx_commit = 0
|
||||||
|
1
debian/additions/mariadb.conf.d/99-enable-encryption.cnf.preset
vendored
Symbolic link
1
debian/additions/mariadb.conf.d/99-enable-encryption.cnf.preset
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../support-files/rpm/enable_encryption.preset
|
77
debian/autobake-deb.sh
vendored
77
debian/autobake-deb.sh
vendored
@ -2,6 +2,11 @@
|
|||||||
#
|
#
|
||||||
# Build MariaDB .deb packages for test and release at mariadb.org
|
# Build MariaDB .deb packages for test and release at mariadb.org
|
||||||
#
|
#
|
||||||
|
# Purpose of this script:
|
||||||
|
# Always keep the actual packaging as up-to-date as possible following the latest
|
||||||
|
# Debian policy and targeting Debian Sid. Then case-by-case run in autobake-deb.sh
|
||||||
|
# tests for backwards compatibility and strip away parts on older builders or
|
||||||
|
# specfic build environments.
|
||||||
|
|
||||||
# Exit immediately on any error
|
# Exit immediately on any error
|
||||||
set -e
|
set -e
|
||||||
@ -17,21 +22,32 @@ if [[ $TRAVIS ]] || [[ $GITLAB_CI ]]
|
|||||||
then
|
then
|
||||||
# On both Travis and Gitlab the output log must stay under 4MB so make the
|
# On both Travis and Gitlab the output log must stay under 4MB so make the
|
||||||
# build less verbose
|
# build less verbose
|
||||||
sed -i -e '/Add support for verbose builds/,/^$/d' debian/rules
|
sed '/Add support for verbose builds/,/^$/d' -i debian/rules
|
||||||
|
|
||||||
|
# MCOL-4149: ColumnStore builds are so slow and big that they must be skipped on
|
||||||
|
# both Travis-CI and Gitlab-CI
|
||||||
|
sed 's|-DPLUGIN_COLUMNSTORE=YES|-DPLUGIN_COLUMNSTORE=NO|' -i debian/rules
|
||||||
|
sed "/Package: mariadb-plugin-columnstore/,/^$/d" -i debian/control
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Travis-CI optimizations to keep build small (in both duration and disk space)
|
# Don't build or try to put files in a package for selected plugins and compontents on Travis-CI
|
||||||
|
# in order to keep build small (in both duration and disk space)
|
||||||
if [[ $TRAVIS ]]
|
if [[ $TRAVIS ]]
|
||||||
then
|
then
|
||||||
# Don't include test suite package on Travis-CI to make the build time shorter
|
# Test suite package not relevant on Travis-CI
|
||||||
|
sed 's|DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test|DINSTALL_MYSQLTESTDIR=false|' -i debian/rules
|
||||||
sed '/Package: mariadb-test-data/,/^$/d' -i debian/control
|
sed '/Package: mariadb-test-data/,/^$/d' -i debian/control
|
||||||
sed '/Package: mariadb-test$/,/^$/d' -i debian/control
|
sed '/Package: mariadb-test$/,/^$/d' -i debian/control
|
||||||
|
|
||||||
# Don't build the test package at all to save time and disk space
|
# Extra plugins such as Mroonga, Spider, OQgraph, Sphinx and the embedded build can safely be skipped
|
||||||
sed 's|DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test|DINSTALL_MYSQLTESTDIR=false|' -i debian/rules
|
sed 's|-DDEB|-DPLUGIN_MROONGA=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_SPHINX=NO -DWITH_EMBEDDED_SERVER=OFF -DDEB|' -i debian/rules
|
||||||
|
sed "/Package: mariadb-plugin-mroonga/,/^$/d" -i debian/control
|
||||||
# Also skip building RocksDB, Mroonga etc to save even more time and disk space
|
sed "/Package: mariadb-plugin-rocksdb/,/^$/d" -i debian/control
|
||||||
sed 's|-DDEB|-DPLUGIN_MROONGA=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_SPHINX=NO -DDEB|' -i debian/rules
|
sed "/Package: mariadb-plugin-spider/,/^$/d" -i debian/control
|
||||||
|
sed "/Package: mariadb-plugin-oqgraph/,/^$/d" -i debian/control
|
||||||
|
sed "/ha_sphinx.so/d" -i debian/mariadb-server-10.6.install
|
||||||
|
sed "/Package: libmariadbd19/,/^$/d" -i debian/control
|
||||||
|
sed "/Package: libmariadbd-dev/,/^$/d" -i debian/control
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Convert gcc version to numberical value. Format is Mmmpp where M is Major
|
# Convert gcc version to numberical value. Format is Mmmpp where M is Major
|
||||||
@ -41,19 +57,6 @@ GCCVERSION=$(gcc -dumpfullversion -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g
|
|||||||
-e 's/\.\([0-9]\)/0\1/g' \
|
-e 's/\.\([0-9]\)/0\1/g' \
|
||||||
-e 's/^[0-9]\{3,4\}$/&00/')
|
-e 's/^[0-9]\{3,4\}$/&00/')
|
||||||
|
|
||||||
# Look up distro-version specific stuff
|
|
||||||
#
|
|
||||||
# Always keep the actual packaging as up-to-date as possible following the latest
|
|
||||||
# Debian policy and targeting Debian Sid. Then case-by-case run in autobake-deb.sh
|
|
||||||
# tests for backwards compatibility and strip away parts on older builders.
|
|
||||||
|
|
||||||
# If libzstd-dev is not available (before Debian Stretch and Ubuntu Xenial)
|
|
||||||
# remove the dependency from server and RocksDB so it can build properly
|
|
||||||
if ! apt-cache madison libzstd-dev | grep 'libzstd-dev' >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
sed '/libzstd-dev/d' -i debian/control
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If rocksdb-tools is not available (before Debian Buster and Ubuntu Disco)
|
# If rocksdb-tools is not available (before Debian Buster and Ubuntu Disco)
|
||||||
# remove the dependency from the RocksDB plugin so it can install properly
|
# remove the dependency from the RocksDB plugin so it can install properly
|
||||||
# and instead ship the one built from MariaDB sources
|
# and instead ship the one built from MariaDB sources
|
||||||
@ -70,38 +73,6 @@ then
|
|||||||
sed 's/libcurl4/libcurl3/g' -i debian/control
|
sed 's/libcurl4/libcurl3/g' -i debian/control
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Don't build rocksdb package if gcc version is less than 4.8 or we are running on
|
|
||||||
# x86 32 bit.
|
|
||||||
if [[ $GCCVERSION -lt 40800 ]] || [[ $(arch) =~ i[346]86 ]] || [[ $TRAVIS ]]
|
|
||||||
then
|
|
||||||
sed '/Package: mariadb-plugin-rocksdb/,/^$/d' -i debian/control
|
|
||||||
sed -i 's|-DPLUGIN_ROCKSDB=YES|-DPLUGIN_ROCKSDB=NO|' debian/rules
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If libpcre2-dev is not available (before Debian Stretch and Ubuntu Xenial)
|
|
||||||
# attempt to build using older libpcre3-dev (SIC!)
|
|
||||||
if ! apt-cache madison libpcre2-dev | grep --quiet 'libpcre2-dev'
|
|
||||||
then
|
|
||||||
sed 's/libcurl4-openssl-dev | libcurl4-dev/libpcre3-dev/' -i debian/control
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mroonga, Spider etc never built on Travis CI anyway, see build flags above
|
|
||||||
if [[ $TRAVIS ]]
|
|
||||||
then
|
|
||||||
sed -i -e "/Package: mariadb-plugin-mroonga/,/^$/d" debian/control
|
|
||||||
sed -i -e "/Package: mariadb-plugin-spider/,/^$/d" debian/control
|
|
||||||
sed -i -e "/Package: mariadb-plugin-oqgraph/,/^$/d" debian/control
|
|
||||||
sed -i -e "/usr\/lib\/mysql\/plugin\/ha_sphinx.so/d" debian/mariadb-server-10.6.install
|
|
||||||
sed -i -e "/Package: libmariadbd-dev/,/^$/d" debian/control
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $TRAVIS ]] || ! [[ $(arch) =~ 86 ]]
|
|
||||||
then
|
|
||||||
sed -i -e "/Package: mariadb-plugin-columnstore/,/^$/d" debian/control
|
|
||||||
sed -i '/flex/d' debian/control
|
|
||||||
sed -i 's|-DPLUGIN_COLUMNSTORE=YES|-DPLUGIN_COLUMNSTORE=NO|' debian/rules
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Adjust changelog, add new version
|
# Adjust changelog, add new version
|
||||||
echo "Incrementing changelog and starting build scripts"
|
echo "Incrementing changelog and starting build scripts"
|
||||||
|
|
||||||
|
27
debian/control
vendored
27
debian/control
vendored
@ -9,10 +9,17 @@ Build-Depends: bison,
|
|||||||
dh-apparmor,
|
dh-apparmor,
|
||||||
dh-exec,
|
dh-exec,
|
||||||
dh-systemd,
|
dh-systemd,
|
||||||
flex,
|
flex [i386 amd64],
|
||||||
gdb,
|
gdb,
|
||||||
libaio-dev [linux-any],
|
libaio-dev [linux-any],
|
||||||
|
libboost-atomic-dev [i386 amd64],
|
||||||
|
libboost-chrono-dev [i386 amd64],
|
||||||
|
libboost-date-time-dev [i386 amd64],
|
||||||
libboost-dev,
|
libboost-dev,
|
||||||
|
libboost-filesystem-dev [i386 amd64],
|
||||||
|
libboost-regex-dev [i386 amd64],
|
||||||
|
libboost-system-dev [i386 amd64],
|
||||||
|
libboost-thread-dev [i386 amd64],
|
||||||
libcrack2-dev (>= 2.9.0),
|
libcrack2-dev (>= 2.9.0),
|
||||||
libcurl4-openssl-dev | libcurl4-dev,
|
libcurl4-openssl-dev | libcurl4-dev,
|
||||||
libedit-dev,
|
libedit-dev,
|
||||||
@ -490,8 +497,7 @@ Package: mariadb-server-10.6
|
|||||||
Architecture: any
|
Architecture: any
|
||||||
Suggests: mailx,
|
Suggests: mailx,
|
||||||
mariadb-test,
|
mariadb-test,
|
||||||
netcat-openbsd,
|
netcat-openbsd
|
||||||
tinyca
|
|
||||||
Recommends: libhtml-template-perl
|
Recommends: libhtml-template-perl
|
||||||
Pre-Depends: adduser (>= 3.40),
|
Pre-Depends: adduser (>= 3.40),
|
||||||
debconf,
|
debconf,
|
||||||
@ -642,12 +648,15 @@ Depends: libcurl4,
|
|||||||
mariadb-server-10.6 (= ${binary:Version}),
|
mariadb-server-10.6 (= ${binary:Version}),
|
||||||
${misc:Depends},
|
${misc:Depends},
|
||||||
${shlibs:Depends}
|
${shlibs:Depends}
|
||||||
Description: S3 storage engine for MariaDB
|
Description: Amazon S3 archival storage engine for MariaDB
|
||||||
Read only table stored in S3.
|
The S3 storage engine allows one to archive MariaDB tables in Amazon S3 (or any
|
||||||
|
third-party public or private cloud that implements S3 API), but still have
|
||||||
|
them accessible in MariaDB in read-only mode.
|
||||||
|
|
||||||
Package: mariadb-plugin-rocksdb
|
Package: mariadb-plugin-rocksdb
|
||||||
Architecture: amd64 arm64 mips64el ppc64el
|
Architecture: amd64 arm64 mips64el ppc64el
|
||||||
Depends: mariadb-server-10.6 (= ${binary:Version}),
|
Depends: mariadb-server-10.6 (= ${binary:Version}),
|
||||||
|
python3,
|
||||||
rocksdb-tools,
|
rocksdb-tools,
|
||||||
${misc:Depends},
|
${misc:Depends},
|
||||||
${shlibs:Depends}
|
${shlibs:Depends}
|
||||||
@ -665,11 +674,11 @@ Description: RocksDB storage engine for MariaDB
|
|||||||
|
|
||||||
Package: mariadb-plugin-columnstore
|
Package: mariadb-plugin-columnstore
|
||||||
Architecture: amd64 i386
|
Architecture: amd64 i386
|
||||||
Depends: mariadb-server-10.6 (= ${binary:Version}),
|
Depends: binutils,
|
||||||
net-tools,
|
|
||||||
binutils,
|
|
||||||
libsnappy1 | libsnappy1v5,
|
|
||||||
libjemalloc1 | libjemalloc2,
|
libjemalloc1 | libjemalloc2,
|
||||||
|
libsnappy1 | libsnappy1v5,
|
||||||
|
mariadb-server-10.6 (= ${binary:Version}),
|
||||||
|
net-tools,
|
||||||
python3,
|
python3,
|
||||||
${misc:Depends},
|
${misc:Depends},
|
||||||
${shlibs:Depends}
|
${shlibs:Depends}
|
||||||
|
11
debian/mariadb-plugin-columnstore.install
vendored
11
debian/mariadb-plugin-columnstore.install
vendored
@ -18,7 +18,6 @@ usr/bin/ProcMon
|
|||||||
usr/bin/ServerMonitor
|
usr/bin/ServerMonitor
|
||||||
usr/bin/StorageManager
|
usr/bin/StorageManager
|
||||||
usr/bin/WriteEngineServer
|
usr/bin/WriteEngineServer
|
||||||
usr/bin/dbmsReport.sh
|
|
||||||
usr/bin/autoConfigure
|
usr/bin/autoConfigure
|
||||||
usr/bin/bulklogReport.sh
|
usr/bin/bulklogReport.sh
|
||||||
usr/bin/clearShm
|
usr/bin/clearShm
|
||||||
@ -42,6 +41,7 @@ usr/bin/cpimport
|
|||||||
usr/bin/cpimport.bin
|
usr/bin/cpimport.bin
|
||||||
usr/bin/cplogger
|
usr/bin/cplogger
|
||||||
usr/bin/dbbuilder
|
usr/bin/dbbuilder
|
||||||
|
usr/bin/dbmsReport.sh
|
||||||
usr/bin/dbrmctl
|
usr/bin/dbrmctl
|
||||||
usr/bin/ddlcleanup
|
usr/bin/ddlcleanup
|
||||||
usr/bin/disable-rep-columnstore.sh
|
usr/bin/disable-rep-columnstore.sh
|
||||||
@ -51,8 +51,11 @@ usr/bin/hardwareReport.sh
|
|||||||
usr/bin/idbmeminfo
|
usr/bin/idbmeminfo
|
||||||
usr/bin/load_brm
|
usr/bin/load_brm
|
||||||
usr/bin/logReport.sh
|
usr/bin/logReport.sh
|
||||||
|
usr/bin/mariadb-columnstore-start.sh
|
||||||
|
usr/bin/mariadb-columnstore-stop.sh
|
||||||
usr/bin/mariadb-command-line.sh
|
usr/bin/mariadb-command-line.sh
|
||||||
usr/bin/master-rep-columnstore.sh
|
usr/bin/master-rep-columnstore.sh
|
||||||
|
usr/bin/mcs-loadbrm.py
|
||||||
usr/bin/mcs-stop-controllernode.sh
|
usr/bin/mcs-stop-controllernode.sh
|
||||||
usr/bin/mcsGetConfig
|
usr/bin/mcsGetConfig
|
||||||
usr/bin/mcsSetConfig
|
usr/bin/mcsSetConfig
|
||||||
@ -82,10 +85,6 @@ usr/bin/smrm
|
|||||||
usr/bin/startupTests.sh
|
usr/bin/startupTests.sh
|
||||||
usr/bin/viewtablelock
|
usr/bin/viewtablelock
|
||||||
usr/bin/workernode
|
usr/bin/workernode
|
||||||
usr/bin/mcs-start-storagemanager.py
|
|
||||||
usr/bin/mcs-loadbrm.py
|
|
||||||
usr/bin/mariadb-columnstore-start.sh
|
|
||||||
usr/bin/mariadb-columnstore-stop.sh
|
|
||||||
usr/lib/*/libalarmmanager.so
|
usr/lib/*/libalarmmanager.so
|
||||||
usr/lib/*/libbatchloader.so
|
usr/lib/*/libbatchloader.so
|
||||||
usr/lib/*/libbrm.so
|
usr/lib/*/libbrm.so
|
||||||
@ -146,9 +145,9 @@ usr/share/columnstore/mcs-dmlproc.service
|
|||||||
usr/share/columnstore/mcs-exemgr.service
|
usr/share/columnstore/mcs-exemgr.service
|
||||||
usr/share/columnstore/mcs-loadbrm.service
|
usr/share/columnstore/mcs-loadbrm.service
|
||||||
usr/share/columnstore/mcs-primproc.service
|
usr/share/columnstore/mcs-primproc.service
|
||||||
|
usr/share/columnstore/mcs-storagemanager.service
|
||||||
usr/share/columnstore/mcs-workernode.service
|
usr/share/columnstore/mcs-workernode.service
|
||||||
usr/share/columnstore/mcs-writeengineserver.service
|
usr/share/columnstore/mcs-writeengineserver.service
|
||||||
usr/share/columnstore/mcs-storagemanager.service
|
|
||||||
usr/share/columnstore/mcstest-001.sh
|
usr/share/columnstore/mcstest-001.sh
|
||||||
usr/share/columnstore/mcstest-002.sh
|
usr/share/columnstore/mcstest-002.sh
|
||||||
usr/share/columnstore/mcstest-003.sh
|
usr/share/columnstore/mcstest-003.sh
|
||||||
|
4
debian/mariadb-plugin-columnstore.postinst
vendored
4
debian/mariadb-plugin-columnstore.postinst
vendored
@ -3,8 +3,6 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Install ColumnStore
|
# Install ColumnStore
|
||||||
columnstore-post-install --rpmmode=install
|
columnstore-post-install install
|
||||||
|
|
||||||
echo "MariaDB ColumnStore install completed"
|
|
||||||
|
|
||||||
#DEBHELPER#
|
#DEBHELPER#
|
||||||
|
27
debian/mariadb-plugin-columnstore.postrm
vendored
27
debian/mariadb-plugin-columnstore.postrm
vendored
@ -8,22 +8,17 @@ if [ "$1" = "purge" ]; then
|
|||||||
rm -f /etc/mysql/mariadb.conf.d/columnstore.cnf.rpmsave
|
rm -f /etc/mysql/mariadb.conf.d/columnstore.cnf.rpmsave
|
||||||
fi
|
fi
|
||||||
|
|
||||||
running_systemd() {
|
# Automatically restart MariaDB after ColumnStore plugin has been removed
|
||||||
if [ "$(ps --no-headers -o comm 1)" = "systemd" ]; then
|
case "$1" in
|
||||||
echo 0
|
purge|remove|disappear)
|
||||||
else
|
if [ -d /run/systemd/system ]; then
|
||||||
echo 1
|
# If systemd
|
||||||
fi
|
deb-systemd-invoke restart mariadb.service >/dev/null
|
||||||
}
|
elif [ -x "/etc/init.d/mariadb" ]; then
|
||||||
|
# Fall-back to SysV init
|
||||||
if [ ! -z "$(pgrep -x mysqld)" ];then
|
invoke-rc.d mariadb restart || exit $?
|
||||||
systemctl cat mariadb.service > /dev/null 2>&1
|
|
||||||
if [ $? -eq 0 ] && [ $(running_systemd) -eq 0 ]; then
|
|
||||||
systemctl restart mariadb.service > /dev/null 2>&1
|
|
||||||
else
|
|
||||||
pkill mysqld > /dev/null 2>&1
|
|
||||||
/usr/bin/mysqld_safe &
|
|
||||||
fi
|
fi
|
||||||
fi
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
#DEBHELPER#
|
#DEBHELPER#
|
||||||
|
1
debian/mariadb-plugin-columnstore.prerm
vendored
1
debian/mariadb-plugin-columnstore.prerm
vendored
@ -4,6 +4,5 @@ set -e
|
|||||||
|
|
||||||
columnstore-pre-uninstall
|
columnstore-pre-uninstall
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
#DEBHELPER#
|
#DEBHELPER#
|
||||||
|
1
debian/mariadb-plugin-columnstore.triggers
vendored
Normal file
1
debian/mariadb-plugin-columnstore.triggers
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
activate-noawait ldconfig
|
@ -1,2 +0,0 @@
|
|||||||
# Overridden temporarily to get Salsa-CI pass and not stall other dev work with broken pipeline
|
|
||||||
python-script-but-no-python-dep usr/bin/myrocks_hotbackup #!python
|
|
1
debian/mariadb-plugin-s3.install
vendored
1
debian/mariadb-plugin-s3.install
vendored
@ -1,3 +1,4 @@
|
|||||||
etc/mysql/mariadb.conf.d/s3.cnf
|
etc/mysql/mariadb.conf.d/s3.cnf
|
||||||
usr/bin/aria_s3_copy
|
usr/bin/aria_s3_copy
|
||||||
usr/lib/mysql/plugin/ha_s3.so
|
usr/lib/mysql/plugin/ha_s3.so
|
||||||
|
usr/share/man/man1/aria_s3_copy.1
|
||||||
|
3
debian/mariadb-server-10.6.postrm
vendored
3
debian/mariadb-server-10.6.postrm
vendored
@ -18,9 +18,12 @@ stop_server() {
|
|||||||
# Return immediately if there are no mysql processes running
|
# Return immediately if there are no mysql processes running
|
||||||
# as there is no point in trying to shutdown in that case.
|
# as there is no point in trying to shutdown in that case.
|
||||||
if ! pgrep -x mariadbd > /dev/null; then return; fi
|
if ! pgrep -x mariadbd > /dev/null; then return; fi
|
||||||
|
# Compatibility with versions that ran 'mysqld'
|
||||||
|
if ! pgrep -x mysqld > /dev/null; then return; fi
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
invoke-rc.d mariadb stop
|
invoke-rc.d mariadb stop
|
||||||
|
invoke-rc.d mysql stop # Backwards compatibility
|
||||||
errno=$?
|
errno=$?
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
3
debian/mariadb-server-10.6.preinst
vendored
3
debian/mariadb-server-10.6.preinst
vendored
@ -31,9 +31,12 @@ stop_server() {
|
|||||||
# Return immediately if there are no mysql processes running
|
# Return immediately if there are no mysql processes running
|
||||||
# as there is no point in trying to shutdown in that case.
|
# as there is no point in trying to shutdown in that case.
|
||||||
if ! pgrep -x --ns $$ mariadbd > /dev/null; then return; fi
|
if ! pgrep -x --ns $$ mariadbd > /dev/null; then return; fi
|
||||||
|
# Compatibility with versions that ran 'mysqld'
|
||||||
|
if ! pgrep -x --ns $$ mysqld > /dev/null; then return; fi
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
invoke-rc.d mariadb stop
|
invoke-rc.d mariadb stop
|
||||||
|
invoke-rc.d mysql stop # Backwards compatibility
|
||||||
errno=$?
|
errno=$?
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
9
debian/not-installed
vendored
9
debian/not-installed
vendored
@ -1,12 +1,17 @@
|
|||||||
|
etc/columnstore/storagemanager.cnf.example # Copy of etc/columnstore/storagemanager.cnf that is installed
|
||||||
lib/systemd/system/mariadb.service # Installed by rules file
|
lib/systemd/system/mariadb.service # Installed by rules file
|
||||||
lib/systemd/system/mariadb@.service # Installed by rules file
|
lib/systemd/system/mariadb@.service # Installed by rules file
|
||||||
usr/bin/mysql_config # We already have the MariaDB variant
|
usr/bin/mysql_config # We already have the MariaDB variant
|
||||||
usr/bin/mytop # Mytop is distributed from a separate source package
|
usr/bin/mytop # Mytop is distributed from a separate source package
|
||||||
usr/bin/sst_dump # Use the one from rocksdb-tools package
|
usr/bin/sst_dump # Use the one from rocksdb-tools package
|
||||||
usr/lib/sysusers.d/sysusers.conf
|
|
||||||
usr/lib/tmpfiles.d/tmpfiles.conf
|
|
||||||
usr/lib/mysql/plugin/JavaWrappers.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless
|
usr/lib/mysql/plugin/JavaWrappers.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless
|
||||||
usr/lib/mysql/plugin/JdbcInterface.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless
|
usr/lib/mysql/plugin/JdbcInterface.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless
|
||||||
|
usr/lib/sysusers.d/sysusers.conf
|
||||||
|
usr/lib/tmpfiles.d/tmpfiles.conf
|
||||||
|
usr/lib/*/libdbbc.a # ColumnStore header file
|
||||||
|
usr/lib/*/libidbboot.a # ColumnStore header file
|
||||||
|
usr/lib/*/libprocessor.a # ColumnStore header file
|
||||||
|
usr/lib/*/libwe_xml.a # ColumnStore header file
|
||||||
usr/share/doc/mariadb-server-10.6/COPYING
|
usr/share/doc/mariadb-server-10.6/COPYING
|
||||||
usr/share/doc/mariadb-server-10.6/COPYING.AGPLv3
|
usr/share/doc/mariadb-server-10.6/COPYING.AGPLv3
|
||||||
usr/share/doc/mariadb-server-10.6/COPYING.GPLv2
|
usr/share/doc/mariadb-server-10.6/COPYING.GPLv2
|
||||||
|
29
debian/rules
vendored
29
debian/rules
vendored
@ -1,12 +1,10 @@
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
export DH_VERBOSE=1
|
# Enable Debian Hardening
|
||||||
export DEB_BUILD_HARDENING=1
|
# https://wiki.debian.org/Hardening
|
||||||
|
|
||||||
# enable Debian Hardening
|
|
||||||
# see: https://wiki.debian.org/Hardening
|
|
||||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
DPKG_EXPORT_BUILDFLAGS = 1
|
DPKG_EXPORT_BUILDFLAGS = 1
|
||||||
|
# Include all defaults, including buildflags.mk
|
||||||
include /usr/share/dpkg/default.mk
|
include /usr/share/dpkg/default.mk
|
||||||
# CPPFLAGS are nor read by CMake, so copy them to CXXFLAGS
|
# CPPFLAGS are nor read by CMake, so copy them to CXXFLAGS
|
||||||
# See why at https://cmake.org/Bug/view.php?id=12928
|
# See why at https://cmake.org/Bug/view.php?id=12928
|
||||||
@ -22,6 +20,12 @@ TMP:=$(CURDIR)/debian/tmp
|
|||||||
CC := $(DEB_HOST_GNU_TYPE)-gcc
|
CC := $(DEB_HOST_GNU_TYPE)-gcc
|
||||||
CXX := $(DEB_HOST_GNU_TYPE)-g++
|
CXX := $(DEB_HOST_GNU_TYPE)-g++
|
||||||
|
|
||||||
|
# According to Debian Policy version 4.2.0 builds should be as verbose as
|
||||||
|
# possible unless 'terse' is specifically passed.
|
||||||
|
ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
|
||||||
|
export DH_VERBOSE=1
|
||||||
|
endif
|
||||||
|
|
||||||
# Parallel build support as advised
|
# Parallel build support as advised
|
||||||
# at https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
|
# at https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
|
||||||
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||||
@ -39,6 +43,17 @@ else
|
|||||||
TESTSUITE_FAIL_CMD:=exit 1
|
TESTSUITE_FAIL_CMD:=exit 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# RocksDB cannot build on 32-bit platforms
|
||||||
|
ifeq (32,$(DEB_HOST_ARCH_BITS))
|
||||||
|
CMAKEFLAGS += -DWITHOUT_ROCKSDB=true
|
||||||
|
endif
|
||||||
|
|
||||||
|
# ColumnStore only attempts to build on a few platforms as dictated by CMake checks
|
||||||
|
# Also note in debian/control the CS-only build deps marked '[i386 amd64]'
|
||||||
|
ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),amd64 i386))
|
||||||
|
CMAKEFLAGS += -DPLUGIN_COLUMNSTORE=YES
|
||||||
|
endif
|
||||||
|
|
||||||
# Add extra flag to avoid WolfSSL code crashing the entire mariadbd on s390x. This
|
# Add extra flag to avoid WolfSSL code crashing the entire mariadbd on s390x. This
|
||||||
# can be removed once upstream has made the code s390x compatible, see
|
# can be removed once upstream has made the code s390x compatible, see
|
||||||
# https://jira.mariadb.org/browse/MDEV-21705 and
|
# https://jira.mariadb.org/browse/MDEV-21705 and
|
||||||
@ -81,11 +96,7 @@ endif
|
|||||||
-DSYSTEM_TYPE="debian-$(DEB_HOST_GNU_SYSTEM)" \
|
-DSYSTEM_TYPE="debian-$(DEB_HOST_GNU_SYSTEM)" \
|
||||||
-DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \
|
-DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \
|
||||||
-DBUILD_CONFIG=mysql_release \
|
-DBUILD_CONFIG=mysql_release \
|
||||||
-DPLUGIN_TOKUDB=NO \
|
|
||||||
-DPLUGIN_COLUMNSTORE=YES \
|
|
||||||
-DPLUGIN_ROCKSDB=YES \
|
|
||||||
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
|
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
|
||||||
-WITH_EMBEDDED_SERVER=OFF \
|
|
||||||
-DDEB=$(DEB_VENDOR) ..'
|
-DDEB=$(DEB_VENDOR) ..'
|
||||||
|
|
||||||
# This is needed, otherwise 'make test' will run before binaries have been built
|
# This is needed, otherwise 'make test' will run before binaries have been built
|
||||||
|
27
debian/salsa-ci.yml
vendored
27
debian/salsa-ci.yml
vendored
@ -33,7 +33,8 @@ build:
|
|||||||
- export CCACHE_DIR="${CCACHE_TMP_DIR}"
|
- export CCACHE_DIR="${CCACHE_TMP_DIR}"
|
||||||
- update-ccache-symlinks; ccache -z # Zero out ccache counters
|
- update-ccache-symlinks; ccache -z # Zero out ccache counters
|
||||||
- mk-build-deps debian/control -t "apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends" -r -i
|
- mk-build-deps debian/control -t "apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends" -r -i
|
||||||
- debian/autobake-deb.sh
|
- while true; do sleep 600; echo "10 minutes passed" >&2; done & # Progress keeper since build is long and silent
|
||||||
|
- debian/autobake-deb.sh |& tail -n 10000 # Keep Gitlab-CI output under 4 MB
|
||||||
- cd ..; rm -rfv *.tmp # Clean away build files not to store as artifacts
|
- cd ..; rm -rfv *.tmp # Clean away build files not to store as artifacts
|
||||||
- cp -v *.* ${WORKING_DIR}/
|
- cp -v *.* ${WORKING_DIR}/
|
||||||
- du -shc ${WORKING_DIR}/* # Show total file size of artifacts. Must stay are under 100 MB.
|
- du -shc ${WORKING_DIR}/* # Show total file size of artifacts. Must stay are under 100 MB.
|
||||||
@ -72,7 +73,6 @@ autopkgtest:
|
|||||||
piuparts:
|
piuparts:
|
||||||
extends: .test-piuparts
|
extends: .test-piuparts
|
||||||
stage: test extras
|
stage: test extras
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
blhc:
|
blhc:
|
||||||
extends: .test-blhc
|
extends: .test-blhc
|
||||||
@ -83,11 +83,9 @@ blhc:
|
|||||||
|
|
||||||
lintian:
|
lintian:
|
||||||
extends: .test-lintian
|
extends: .test-lintian
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
missing-breaks:
|
missing-breaks:
|
||||||
extends: .test-missing-breaks
|
extends: .test-missing-breaks
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
# In addition to Salsa-CI, also run these fully MariaDB specific build jobs
|
# In addition to Salsa-CI, also run these fully MariaDB specific build jobs
|
||||||
|
|
||||||
@ -123,7 +121,6 @@ fresh install:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
mariadb-10.3.x to mariadb-10.6.y upgrade:
|
mariadb-10.3.x to mariadb-10.6.y upgrade:
|
||||||
stage: upgrade in Sid
|
stage: upgrade in Sid
|
||||||
@ -164,7 +161,6 @@ mariadb-10.3.x to mariadb-10.6.y upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
mariadb-10.3.x buster to mariadb-10.6 upgrade:
|
mariadb-10.3.x buster to mariadb-10.6 upgrade:
|
||||||
stage: upgrade from Buster/Stretch/Jessie
|
stage: upgrade from Buster/Stretch/Jessie
|
||||||
@ -209,7 +205,6 @@ mariadb-10.3.x buster to mariadb-10.6 upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
mariadb-10.1 to mariadb-10.6 upgrade:
|
mariadb-10.1 to mariadb-10.6 upgrade:
|
||||||
stage: upgrade from Buster/Stretch/Jessie
|
stage: upgrade from Buster/Stretch/Jessie
|
||||||
@ -254,7 +249,6 @@ mariadb-10.1 to mariadb-10.6 upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
test basic features:
|
test basic features:
|
||||||
stage: test
|
stage: test
|
||||||
@ -310,7 +304,6 @@ test basic features:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
# Build a piece of software that was designed for libmysqlclient-dev but using the
|
# Build a piece of software that was designed for libmysqlclient-dev but using the
|
||||||
# libmariadb-dev-compat layer. Should always end up using libmariadb.so.3 run-time.
|
# libmariadb-dev-compat layer. Should always end up using libmariadb.so.3 run-time.
|
||||||
@ -334,7 +327,6 @@ build mariadbclient consumer Python-MySQLdb:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
libmysql* to libmariadb* upgrade:
|
libmysql* to libmariadb* upgrade:
|
||||||
stage: test extras
|
stage: test extras
|
||||||
@ -374,7 +366,6 @@ libmysql* to libmariadb* upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
default-libmysqlclient-dev upgrade:
|
default-libmysqlclient-dev upgrade:
|
||||||
stage: upgrade in Sid
|
stage: upgrade in Sid
|
||||||
@ -401,7 +392,6 @@ default-libmysqlclient-dev upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
default-libmysqlclient-dev on buster upgrade:
|
default-libmysqlclient-dev on buster upgrade:
|
||||||
stage: upgrade from Buster/Stretch/Jessie
|
stage: upgrade from Buster/Stretch/Jessie
|
||||||
@ -430,7 +420,6 @@ default-libmysqlclient-dev on buster upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
default-libmysqlclient-dev on stretch upgrade:
|
default-libmysqlclient-dev on stretch upgrade:
|
||||||
stage: upgrade from Buster/Stretch/Jessie
|
stage: upgrade from Buster/Stretch/Jessie
|
||||||
@ -459,7 +448,6 @@ default-libmysqlclient-dev on stretch upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
mariadb-connector-c on stretch upgrade:
|
mariadb-connector-c on stretch upgrade:
|
||||||
stage: upgrade from Buster/Stretch/Jessie
|
stage: upgrade from Buster/Stretch/Jessie
|
||||||
@ -488,7 +476,6 @@ mariadb-connector-c on stretch upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
mysql-5.5 to mariadb-10.6 upgrade:
|
mysql-5.5 to mariadb-10.6 upgrade:
|
||||||
stage: upgrade from Buster/Stretch/Jessie
|
stage: upgrade from Buster/Stretch/Jessie
|
||||||
@ -533,7 +520,6 @@ mysql-5.5 to mariadb-10.6 upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
# Upgrading from MySQL 5.7 involves automatic renaming of auth_socket plugin
|
# Upgrading from MySQL 5.7 involves automatic renaming of auth_socket plugin
|
||||||
# to unix_socket and automaticly re-adding Password column in user table.
|
# to unix_socket and automaticly re-adding Password column in user table.
|
||||||
@ -580,7 +566,6 @@ mysql-5.7 to mariadb-10.6 upgrade:
|
|||||||
except:
|
except:
|
||||||
variables:
|
variables:
|
||||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
# Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
|
# Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
|
||||||
# The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh.
|
# The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh.
|
||||||
@ -647,17 +632,14 @@ mariadb.org-10.5.x to mariadb-10.6 upgrade:
|
|||||||
- sed -i "s/101/0/g" -i /usr/sbin/policy-rc.d # Enable automatic restarts from maint scripts
|
- sed -i "s/101/0/g" -i /usr/sbin/policy-rc.d # Enable automatic restarts from maint scripts
|
||||||
- cd ${WORKING_DIR} # Don't repeat this step, it's just cd ./debian/output
|
- cd ${WORKING_DIR} # Don't repeat this step, it's just cd ./debian/output
|
||||||
- apt-get update
|
- apt-get update
|
||||||
- apt install -y curl systemctl # systemctl shim needed on platforms that don't have systemd
|
- apt install -y curl
|
||||||
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
|
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
|
||||||
- echo 'deb [arch=amd64,i386] http://mirror.one.com/mariadb/repo/10.5/debian sid main' > /etc/apt/sources.list.d/mariadb.list
|
- echo 'deb [arch=amd64,i386] http://mirror.one.com/mariadb/repo/10.5/debian sid main' > /etc/apt/sources.list.d/mariadb.list
|
||||||
- apt-get update
|
- apt-get update
|
||||||
- apt-get install -y mariadb-server-10.5
|
- apt-get install -y mariadb-server-10.5
|
||||||
# Verify installation of MySQL from Sid
|
# Verify installation of MySQL from Sid
|
||||||
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
|
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
|
||||||
# MariaDB.org version of 10.4 and early 10.5 do not install an init file, so
|
- service mariadb status
|
||||||
# it must be installed here manually
|
|
||||||
- cp /usr/share/mysql/mysql.init /etc/init.d/mysql; chmod +x /etc/init.d/mysql; service mysql start; sleep 5
|
|
||||||
- service mysql status
|
|
||||||
- mysql --skip-column-names -e "SELECT @@version, @@version_comment"
|
- mysql --skip-column-names -e "SELECT @@version, @@version_comment"
|
||||||
- mysql -e "SELECT Host,User,plugin,authentication_string FROM user;" mysql
|
- mysql -e "SELECT Host,User,plugin,authentication_string FROM user;" mysql
|
||||||
- mysql -e "SELECT * FROM plugin;" mysql
|
- mysql -e "SELECT * FROM plugin;" mysql
|
||||||
@ -667,7 +649,6 @@ mariadb.org-10.5.x to mariadb-10.6 upgrade:
|
|||||||
# Verify installation of MariaDB built in this commit
|
# Verify installation of MariaDB built in this commit
|
||||||
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
|
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
|
||||||
- mariadb --version # Client version
|
- mariadb --version # Client version
|
||||||
- service mysql status
|
|
||||||
- service mariadb status
|
- service mariadb status
|
||||||
- mkdir -p debug # Ensure dir exists before using it
|
- mkdir -p debug # Ensure dir exists before using it
|
||||||
- find /var/lib/mysql -ls > debug/var-lib-mysql.list || true # Ignore errors about "no such file or directory"
|
- find /var/lib/mysql -ls > debug/var-lib-mysql.list || true # Ignore errors about "no such file or directory"
|
||||||
|
2
debian/source/lintian-overrides
vendored
2
debian/source/lintian-overrides
vendored
@ -1,5 +1,3 @@
|
|||||||
# Upstream fix pending: https://github.com/wolfSSL/wolfssl/pull/2785
|
|
||||||
source-is-missing extra/wolfssl/wolfssl/doc/formats/html/html_changes/menu.js line length is 679 characters (>512)
|
|
||||||
# Necessary for drop-in-place-replacement upgrades on mysql-server/-client
|
# Necessary for drop-in-place-replacement upgrades on mysql-server/-client
|
||||||
# since package breaks/replaces these but at the same time also provides them
|
# since package breaks/replaces these but at the same time also provides them
|
||||||
version-substvar-for-external-package mariadb-client-core-10.6 -> mysql-client-5.5
|
version-substvar-for-external-package mariadb-client-core-10.6 -> mysql-client-5.5
|
||||||
|
@ -66,6 +66,7 @@ const char *empty_string= ""; /* For empty states */
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const char *default_language= "eng";
|
const char *default_language= "eng";
|
||||||
|
my_bool default_language_changed= 0;
|
||||||
uint er_offset= 1000;
|
uint er_offset= 1000;
|
||||||
my_bool info_flag= 0;
|
my_bool info_flag= 0;
|
||||||
|
|
||||||
@ -440,7 +441,8 @@ static void clean_up(struct languages *lang_head, struct errors *error_head)
|
|||||||
struct errors *tmp_error, *next_error;
|
struct errors *tmp_error, *next_error;
|
||||||
uint count, i;
|
uint count, i;
|
||||||
|
|
||||||
my_free((void*) default_language);
|
if (default_language_changed)
|
||||||
|
my_free((void*) default_language);
|
||||||
|
|
||||||
for (tmp_lang= lang_head; tmp_lang; tmp_lang= next_language)
|
for (tmp_lang= lang_head; tmp_lang; tmp_lang= next_language)
|
||||||
{
|
{
|
||||||
@ -562,6 +564,7 @@ static uint parse_input_file(const char *file_name, struct errors **top_error,
|
|||||||
"Failed to parse the default language line. Aborting\n");
|
"Failed to parse the default language line. Aborting\n");
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
|
default_language_changed= 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -244,14 +244,6 @@ static char* innobase_ignored_opt;
|
|||||||
char* innobase_data_home_dir;
|
char* innobase_data_home_dir;
|
||||||
char* innobase_data_file_path;
|
char* innobase_data_file_path;
|
||||||
|
|
||||||
/* The following counter is used to convey information to InnoDB
|
|
||||||
about server activity: in selects it is not sensible to call
|
|
||||||
srv_active_wake_master_thread after each fetch or search, we only do
|
|
||||||
it every INNOBASE_WAKE_INTERVAL'th step. */
|
|
||||||
|
|
||||||
#define INNOBASE_WAKE_INTERVAL 32
|
|
||||||
ulong innobase_active_counter = 0;
|
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
static char *xtrabackup_debug_sync = NULL;
|
static char *xtrabackup_debug_sync = NULL;
|
||||||
#endif
|
#endif
|
||||||
@ -5384,7 +5376,6 @@ static bool xtrabackup_prepare_func(char** argv)
|
|||||||
xb_filters_init();
|
xb_filters_init();
|
||||||
|
|
||||||
srv_log_group_home_dir = NULL;
|
srv_log_group_home_dir = NULL;
|
||||||
srv_thread_concurrency = 1;
|
|
||||||
|
|
||||||
if (xtrabackup_incremental) {
|
if (xtrabackup_incremental) {
|
||||||
srv_operation = SRV_OPERATION_RESTORE_DELTA;
|
srv_operation = SRV_OPERATION_RESTORE_DELTA;
|
||||||
|
103
include/ilist.h
103
include/ilist.h
@ -16,7 +16,8 @@
|
|||||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#ifndef ILIST_H
|
||||||
|
#define ILIST_H
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
@ -24,15 +25,17 @@
|
|||||||
// Derive your class from this struct to insert to a linked list.
|
// Derive your class from this struct to insert to a linked list.
|
||||||
template <class Tag= void> struct ilist_node
|
template <class Tag= void> struct ilist_node
|
||||||
{
|
{
|
||||||
ilist_node()
|
ilist_node() noexcept
|
||||||
#ifndef DBUG_OFF
|
#ifndef DBUG_OFF
|
||||||
:
|
: next(NULL), prev(NULL)
|
||||||
next(NULL), prev(NULL)
|
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
ilist_node(ilist_node *next, ilist_node *prev) : next(next), prev(prev) {}
|
ilist_node(ilist_node *next, ilist_node *prev) noexcept
|
||||||
|
: next(next), prev(prev)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
ilist_node *next;
|
ilist_node *next;
|
||||||
ilist_node *prev;
|
ilist_node *prev;
|
||||||
@ -70,40 +73,40 @@ public:
|
|||||||
typedef T *pointer;
|
typedef T *pointer;
|
||||||
typedef T &reference;
|
typedef T &reference;
|
||||||
|
|
||||||
Iterator(ListNode *node) : node_(node) {}
|
Iterator(ListNode *node) noexcept : node_(node) {}
|
||||||
|
|
||||||
Iterator &operator++()
|
Iterator &operator++() noexcept
|
||||||
{
|
{
|
||||||
node_= node_->next;
|
node_= node_->next;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
Iterator operator++(int)
|
Iterator operator++(int) noexcept
|
||||||
{
|
{
|
||||||
Iterator tmp(*this);
|
Iterator tmp(*this);
|
||||||
operator++();
|
operator++();
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
Iterator &operator--()
|
Iterator &operator--() noexcept
|
||||||
{
|
{
|
||||||
node_= node_->prev;
|
node_= node_->prev;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
Iterator operator--(int)
|
Iterator operator--(int) noexcept
|
||||||
{
|
{
|
||||||
Iterator tmp(*this);
|
Iterator tmp(*this);
|
||||||
operator--();
|
operator--();
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
reference operator*() { return *static_cast<pointer>(node_); }
|
reference operator*() noexcept { return *static_cast<pointer>(node_); }
|
||||||
pointer operator->() { return static_cast<pointer>(node_); }
|
pointer operator->() noexcept { return static_cast<pointer>(node_); }
|
||||||
|
|
||||||
friend bool operator==(const Iterator &lhs, const Iterator &rhs)
|
friend bool operator==(const Iterator &lhs, const Iterator &rhs) noexcept
|
||||||
{
|
{
|
||||||
return lhs.node_ == rhs.node_;
|
return lhs.node_ == rhs.node_;
|
||||||
}
|
}
|
||||||
friend bool operator!=(const Iterator &lhs, const Iterator &rhs)
|
friend bool operator!=(const Iterator &lhs, const Iterator &rhs) noexcept
|
||||||
{
|
{
|
||||||
return !(lhs == rhs);
|
return !(lhs == rhs);
|
||||||
}
|
}
|
||||||
@ -114,30 +117,36 @@ public:
|
|||||||
friend class ilist;
|
friend class ilist;
|
||||||
};
|
};
|
||||||
|
|
||||||
ilist() : sentinel_(&sentinel_, &sentinel_) {}
|
ilist() noexcept : sentinel_(&sentinel_, &sentinel_) {}
|
||||||
|
|
||||||
reference front() { return *begin(); }
|
reference front() noexcept { return *begin(); }
|
||||||
reference back() { return *--end(); }
|
reference back() noexcept { return *--end(); }
|
||||||
const_reference front() const { return *begin(); }
|
const_reference front() const noexcept { return *begin(); }
|
||||||
const_reference back() const { return *--end(); }
|
const_reference back() const noexcept { return *--end(); }
|
||||||
|
|
||||||
iterator begin() { return iterator(sentinel_.next); }
|
iterator begin() noexcept { return iterator(sentinel_.next); }
|
||||||
const_iterator begin() const
|
const_iterator begin() const noexcept
|
||||||
{
|
{
|
||||||
return iterator(const_cast<ListNode *>(sentinel_.next));
|
return iterator(const_cast<ListNode *>(sentinel_.next));
|
||||||
}
|
}
|
||||||
iterator end() { return iterator(&sentinel_); }
|
iterator end() noexcept { return iterator(&sentinel_); }
|
||||||
const_iterator end() const
|
const_iterator end() const noexcept
|
||||||
{
|
{
|
||||||
return iterator(const_cast<ListNode *>(&sentinel_));
|
return iterator(const_cast<ListNode *>(&sentinel_));
|
||||||
}
|
}
|
||||||
|
|
||||||
reverse_iterator rbegin() { return reverse_iterator(end()); }
|
reverse_iterator rbegin() noexcept { return reverse_iterator(end()); }
|
||||||
const_reverse_iterator rbegin() const { return reverse_iterator(end()); }
|
const_reverse_iterator rbegin() const noexcept
|
||||||
reverse_iterator rend() { return reverse_iterator(begin()); }
|
{
|
||||||
const_reverse_iterator rend() const { return reverse_iterator(begin()); }
|
return reverse_iterator(end());
|
||||||
|
}
|
||||||
|
reverse_iterator rend() noexcept { return reverse_iterator(begin()); }
|
||||||
|
const_reverse_iterator rend() const noexcept
|
||||||
|
{
|
||||||
|
return reverse_iterator(begin());
|
||||||
|
}
|
||||||
|
|
||||||
bool empty() const { return sentinel_.next == &sentinel_; }
|
bool empty() const noexcept { return sentinel_.next == &sentinel_; }
|
||||||
|
|
||||||
// Not implemented because it's O(N)
|
// Not implemented because it's O(N)
|
||||||
// size_type size() const
|
// size_type size() const
|
||||||
@ -145,13 +154,13 @@ public:
|
|||||||
// return static_cast<size_type>(std::distance(begin(), end()));
|
// return static_cast<size_type>(std::distance(begin(), end()));
|
||||||
// }
|
// }
|
||||||
|
|
||||||
void clear()
|
void clear() noexcept
|
||||||
{
|
{
|
||||||
sentinel_.next= &sentinel_;
|
sentinel_.next= &sentinel_;
|
||||||
sentinel_.prev= &sentinel_;
|
sentinel_.prev= &sentinel_;
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator insert(iterator pos, reference value)
|
iterator insert(iterator pos, reference value) noexcept
|
||||||
{
|
{
|
||||||
ListNode *curr= pos.node_;
|
ListNode *curr= pos.node_;
|
||||||
ListNode *prev= pos.node_->prev;
|
ListNode *prev= pos.node_->prev;
|
||||||
@ -165,7 +174,7 @@ public:
|
|||||||
return iterator(&value);
|
return iterator(&value);
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator erase(iterator pos)
|
iterator erase(iterator pos) noexcept
|
||||||
{
|
{
|
||||||
ListNode *prev= pos.node_->prev;
|
ListNode *prev= pos.node_->prev;
|
||||||
ListNode *next= pos.node_->next;
|
ListNode *next= pos.node_->next;
|
||||||
@ -182,15 +191,15 @@ public:
|
|||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
|
||||||
void push_back(reference value) { insert(end(), value); }
|
void push_back(reference value) noexcept { insert(end(), value); }
|
||||||
void pop_back() { erase(end()); }
|
void pop_back() noexcept { erase(end()); }
|
||||||
|
|
||||||
void push_front(reference value) { insert(begin(), value); }
|
void push_front(reference value) noexcept { insert(begin(), value); }
|
||||||
void pop_front() { erase(begin()); }
|
void pop_front() noexcept { erase(begin()); }
|
||||||
|
|
||||||
// STL version is O(n) but this is O(1) because an element can't be inserted
|
// STL version is O(n) but this is O(1) because an element can't be inserted
|
||||||
// several times in the same ilist.
|
// several times in the same ilist.
|
||||||
void remove(reference value) { erase(iterator(&value)); }
|
void remove(reference value) noexcept { erase(iterator(&value)); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ListNode sentinel_;
|
ListNode sentinel_;
|
||||||
@ -216,36 +225,38 @@ public:
|
|||||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef std::reverse_iterator<const iterator> const_reverse_iterator;
|
typedef std::reverse_iterator<const iterator> const_reverse_iterator;
|
||||||
|
|
||||||
sized_ilist() : size_(0) {}
|
sized_ilist() noexcept : size_(0) {}
|
||||||
|
|
||||||
size_type size() const { return size_; }
|
size_type size() const noexcept { return size_; }
|
||||||
|
|
||||||
void clear()
|
void clear() noexcept
|
||||||
{
|
{
|
||||||
BASE::clear();
|
BASE::clear();
|
||||||
size_= 0;
|
size_= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator insert(iterator pos, reference value)
|
iterator insert(iterator pos, reference value) noexcept
|
||||||
{
|
{
|
||||||
++size_;
|
++size_;
|
||||||
return BASE::insert(pos, value);
|
return BASE::insert(pos, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator erase(iterator pos)
|
iterator erase(iterator pos) noexcept
|
||||||
{
|
{
|
||||||
--size_;
|
--size_;
|
||||||
return BASE::erase(pos);
|
return BASE::erase(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
void push_back(reference value) { insert(BASE::end(), value); }
|
void push_back(reference value) noexcept { insert(BASE::end(), value); }
|
||||||
void pop_back() { erase(BASE::end()); }
|
void pop_back() noexcept { erase(BASE::end()); }
|
||||||
|
|
||||||
void push_front(reference value) { insert(BASE::begin(), value); }
|
void push_front(reference value) noexcept { insert(BASE::begin(), value); }
|
||||||
void pop_front() { erase(BASE::begin()); }
|
void pop_front() noexcept { erase(BASE::begin()); }
|
||||||
|
|
||||||
void remove(reference value) { erase(iterator(&value)); }
|
void remove(reference value) noexcept { erase(iterator(&value)); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
size_type size_;
|
size_type size_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -226,9 +226,14 @@ extern MY_UNI_CTYPE my_uni_ctype[256];
|
|||||||
#define MY_CHARSET_UNDEFINED 0
|
#define MY_CHARSET_UNDEFINED 0
|
||||||
|
|
||||||
/* Character repertoire flags */
|
/* Character repertoire flags */
|
||||||
#define MY_REPERTOIRE_ASCII 1 /* Pure ASCII U+0000..U+007F */
|
typedef enum enum_repertoire_t
|
||||||
#define MY_REPERTOIRE_EXTENDED 2 /* Extended characters: U+0080..U+FFFF */
|
{
|
||||||
#define MY_REPERTOIRE_UNICODE30 3 /* ASCII | EXTENDED: U+0000..U+FFFF */
|
MY_REPERTOIRE_NONE= 0,
|
||||||
|
MY_REPERTOIRE_ASCII= 1, /* Pure ASCII U+0000..U+007F */
|
||||||
|
MY_REPERTOIRE_EXTENDED= 2, /* Extended characters: U+0080..U+FFFF */
|
||||||
|
MY_REPERTOIRE_UNICODE30= 3 /* ASCII | EXTENDED: U+0000..U+FFFF */
|
||||||
|
} my_repertoire_t;
|
||||||
|
|
||||||
|
|
||||||
/* Flags for strxfrm */
|
/* Flags for strxfrm */
|
||||||
#define MY_STRXFRM_LEVEL1 0x00000001 /* for primary weights */
|
#define MY_STRXFRM_LEVEL1 0x00000001 /* for primary weights */
|
||||||
@ -1420,14 +1425,15 @@ my_bool my_propagate_complex(CHARSET_INFO *cs, const uchar *str, size_t len);
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
size_t char_length;
|
size_t char_length;
|
||||||
uint repertoire;
|
my_repertoire_t repertoire;
|
||||||
} MY_STRING_METADATA;
|
} MY_STRING_METADATA;
|
||||||
|
|
||||||
void my_string_metadata_get(MY_STRING_METADATA *metadata,
|
void my_string_metadata_get(MY_STRING_METADATA *metadata,
|
||||||
CHARSET_INFO *cs, const char *str, size_t len);
|
CHARSET_INFO *cs, const char *str, size_t len);
|
||||||
uint my_string_repertoire(CHARSET_INFO *cs, const char *str, size_t len);
|
my_repertoire_t my_string_repertoire(CHARSET_INFO *cs,
|
||||||
|
const char *str, size_t len);
|
||||||
my_bool my_charset_is_ascii_based(CHARSET_INFO *cs);
|
my_bool my_charset_is_ascii_based(CHARSET_INFO *cs);
|
||||||
uint my_charset_repertoire(CHARSET_INFO *cs);
|
my_repertoire_t my_charset_repertoire(CHARSET_INFO *cs);
|
||||||
|
|
||||||
uint my_strxfrm_flag_normalize(uint flags, uint nlevels);
|
uint my_strxfrm_flag_normalize(uint flags, uint nlevels);
|
||||||
void my_strxfrm_desc_and_reverse(uchar *str, uchar *strend,
|
void my_strxfrm_desc_and_reverse(uchar *str, uchar *strend,
|
||||||
|
@ -796,6 +796,8 @@ inline unsigned long long my_double2ulonglong(double d)
|
|||||||
#define LONGLONG_MIN ((long long) 0x8000000000000000LL)
|
#define LONGLONG_MIN ((long long) 0x8000000000000000LL)
|
||||||
#define LONGLONG_MAX ((long long) 0x7FFFFFFFFFFFFFFFLL)
|
#define LONGLONG_MAX ((long long) 0x7FFFFFFFFFFFFFFFLL)
|
||||||
#endif
|
#endif
|
||||||
|
/* Max length needed for a buffer to hold a longlong or ulonglong + end \0 */
|
||||||
|
#define LONGLONG_BUFFER_SIZE 21
|
||||||
|
|
||||||
#if defined(HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)
|
#if defined(HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)
|
||||||
/* First check for ANSI C99 definition: */
|
/* First check for ANSI C99 definition: */
|
||||||
|
@ -77,7 +77,7 @@ C_MODE_START
|
|||||||
/**
|
/**
|
||||||
A cycle timer.
|
A cycle timer.
|
||||||
|
|
||||||
On clang, we use __builtin_readcyclecounter().
|
On clang we use __builtin_readcyclecounter(), except for AARCH64.
|
||||||
On other compilers:
|
On other compilers:
|
||||||
|
|
||||||
On IA-32 and AMD64, we use the RDTSC instruction.
|
On IA-32 and AMD64, we use the RDTSC instruction.
|
||||||
@ -88,6 +88,9 @@ C_MODE_START
|
|||||||
On IBM S/390 System z we use the STCK instruction.
|
On IBM S/390 System z we use the STCK instruction.
|
||||||
On ARM, we probably should use the Generic Timer, but should figure out
|
On ARM, we probably should use the Generic Timer, but should figure out
|
||||||
how to ensure that it can be accessed.
|
how to ensure that it can be accessed.
|
||||||
|
On AARCH64, we use the generic timer base register. We override clang
|
||||||
|
implementation for aarch64 as it access a PMU register which is not
|
||||||
|
guarenteed to be active.
|
||||||
|
|
||||||
Sadly, we have nothing for the Digital Alpha, MIPS, Motorola m68k,
|
Sadly, we have nothing for the Digital Alpha, MIPS, Motorola m68k,
|
||||||
HP PA-RISC or other non-mainstream (or obsolete) processors.
|
HP PA-RISC or other non-mainstream (or obsolete) processors.
|
||||||
@ -125,7 +128,7 @@ C_MODE_START
|
|||||||
*/
|
*/
|
||||||
static inline ulonglong my_timer_cycles(void)
|
static inline ulonglong my_timer_cycles(void)
|
||||||
{
|
{
|
||||||
# if __has_builtin(__builtin_readcyclecounter)
|
# if __has_builtin(__builtin_readcyclecounter) && !defined (__aarch64__)
|
||||||
return __builtin_readcyclecounter();
|
return __builtin_readcyclecounter();
|
||||||
# elif defined _WIN32 || defined __i386__ || defined __x86_64__
|
# elif defined _WIN32 || defined __i386__ || defined __x86_64__
|
||||||
return __rdtsc();
|
return __rdtsc();
|
||||||
@ -164,6 +167,12 @@ static inline ulonglong my_timer_cycles(void)
|
|||||||
__asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc");
|
__asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
#elif defined(__GNUC__) && defined (__aarch64__)
|
||||||
|
{
|
||||||
|
ulonglong result;
|
||||||
|
__asm __volatile("mrs %0, CNTVCT_EL0" : "=&r" (result));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
|
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
|
||||||
/* gethrtime may appear as either cycle or nanosecond counter */
|
/* gethrtime may appear as either cycle or nanosecond counter */
|
||||||
return (ulonglong) gethrtime();
|
return (ulonglong) gethrtime();
|
||||||
@ -221,6 +230,7 @@ C_MODE_END
|
|||||||
#define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25
|
#define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25
|
||||||
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
|
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
|
||||||
#define MY_TIMER_ROUTINE_ASM_S390 28
|
#define MY_TIMER_ROUTINE_ASM_S390 28
|
||||||
|
#define MY_TIMER_ROUTINE_AARCH64 29
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -915,6 +915,9 @@ extern MYSQL_PLUGIN_IMPORT my_crc32_t my_checksum;
|
|||||||
|
|
||||||
#if defined(__GNUC__) && defined(HAVE_ARMV8_CRC)
|
#if defined(__GNUC__) && defined(HAVE_ARMV8_CRC)
|
||||||
int crc32_aarch64_available(void);
|
int crc32_aarch64_available(void);
|
||||||
|
#if defined(HAVE_ARMV8_CRYPTO)
|
||||||
|
int crc32c_aarch64_available(void);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DBUG_ASSERT_EXISTS
|
#ifdef DBUG_ASSERT_EXISTS
|
||||||
@ -1053,9 +1056,13 @@ extern my_bool resolve_collation(const char *cl_name,
|
|||||||
CHARSET_INFO **cl);
|
CHARSET_INFO **cl);
|
||||||
extern void free_charsets(void);
|
extern void free_charsets(void);
|
||||||
extern char *get_charsets_dir(char *buf);
|
extern char *get_charsets_dir(char *buf);
|
||||||
extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2);
|
static inline my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2)
|
||||||
|
{
|
||||||
|
return (cs1->csname == cs2->csname);
|
||||||
|
}
|
||||||
extern my_bool init_compiled_charsets(myf flags);
|
extern my_bool init_compiled_charsets(myf flags);
|
||||||
extern void add_compiled_collation(struct charset_info_st *cs);
|
extern void add_compiled_collation(struct charset_info_st *cs);
|
||||||
|
extern void add_compiled_extra_collation(struct charset_info_st *cs);
|
||||||
extern size_t escape_string_for_mysql(CHARSET_INFO *charset_info,
|
extern size_t escape_string_for_mysql(CHARSET_INFO *charset_info,
|
||||||
char *to, size_t to_length,
|
char *to, size_t to_length,
|
||||||
const char *from, size_t length);
|
const char *from, size_t length);
|
||||||
|
@ -233,9 +233,16 @@ static inline long my_time_fraction_remainder(long nr, uint decimals)
|
|||||||
DBUG_ASSERT(decimals <= TIME_SECOND_PART_DIGITS);
|
DBUG_ASSERT(decimals <= TIME_SECOND_PART_DIGITS);
|
||||||
return nr % (long) log_10_int[TIME_SECOND_PART_DIGITS - decimals];
|
return nr % (long) log_10_int[TIME_SECOND_PART_DIGITS - decimals];
|
||||||
}
|
}
|
||||||
|
static inline void my_datetime_trunc(MYSQL_TIME *ltime, uint decimals)
|
||||||
|
{
|
||||||
|
ltime->second_part-= my_time_fraction_remainder(ltime->second_part, decimals);
|
||||||
|
}
|
||||||
static inline void my_time_trunc(MYSQL_TIME *ltime, uint decimals)
|
static inline void my_time_trunc(MYSQL_TIME *ltime, uint decimals)
|
||||||
{
|
{
|
||||||
ltime->second_part-= my_time_fraction_remainder(ltime->second_part, decimals);
|
ltime->second_part-= my_time_fraction_remainder(ltime->second_part, decimals);
|
||||||
|
if (!ltime->second_part && ltime->neg &&
|
||||||
|
!ltime->hour && !ltime->minute && !ltime->second)
|
||||||
|
ltime->neg= FALSE;
|
||||||
}
|
}
|
||||||
static inline void my_timeval_trunc(struct timeval *tv, uint decimals)
|
static inline void my_timeval_trunc(struct timeval *tv, uint decimals)
|
||||||
{
|
{
|
||||||
|
@ -1135,10 +1135,14 @@ inline_mysql_socket_accept
|
|||||||
#else
|
#else
|
||||||
socket_accept.fd= accept(socket_listen.fd, addr, addr_len);
|
socket_accept.fd= accept(socket_listen.fd, addr, addr_len);
|
||||||
#ifdef FD_CLOEXEC
|
#ifdef FD_CLOEXEC
|
||||||
flags= fcntl(socket_accept.fd, F_GETFD);
|
if (socket_accept.fd != INVALID_SOCKET)
|
||||||
if (flags != -1) {
|
{
|
||||||
flags |= FD_CLOEXEC;
|
flags= fcntl(socket_accept.fd, F_GETFD);
|
||||||
fcntl(socket_accept.fd, F_SETFD, flags);
|
if (flags != -1)
|
||||||
|
{
|
||||||
|
flags |= FD_CLOEXEC;
|
||||||
|
fcntl(socket_accept.fd, F_SETFD, flags);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@ -1156,10 +1160,14 @@ inline_mysql_socket_accept
|
|||||||
#else
|
#else
|
||||||
socket_accept.fd= accept(socket_listen.fd, addr, addr_len);
|
socket_accept.fd= accept(socket_listen.fd, addr, addr_len);
|
||||||
#ifdef FD_CLOEXEC
|
#ifdef FD_CLOEXEC
|
||||||
flags= fcntl(socket_accept.fd, F_GETFD);
|
if (socket_accept.fd != INVALID_SOCKET)
|
||||||
if (flags != -1) {
|
{
|
||||||
flags |= FD_CLOEXEC;
|
flags= fcntl(socket_accept.fd, F_GETFD);
|
||||||
fcntl(socket_accept.fd, F_SETFD, flags);
|
if (flags != -1)
|
||||||
|
{
|
||||||
|
flags |= FD_CLOEXEC;
|
||||||
|
fcntl(socket_accept.fd, F_SETFD, flags);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -87,6 +87,7 @@ extern struct wsrep_service_st {
|
|||||||
ulong (*wsrep_OSU_method_get_func)(const MYSQL_THD thd);
|
ulong (*wsrep_OSU_method_get_func)(const MYSQL_THD thd);
|
||||||
my_bool (*wsrep_thd_has_ignored_error_func)(const MYSQL_THD thd);
|
my_bool (*wsrep_thd_has_ignored_error_func)(const MYSQL_THD thd);
|
||||||
void (*wsrep_thd_set_ignored_error_func)(MYSQL_THD thd, my_bool val);
|
void (*wsrep_thd_set_ignored_error_func)(MYSQL_THD thd, my_bool val);
|
||||||
|
bool (*wsrep_thd_set_wsrep_aborter_func)(MYSQL_THD bf_thd, MYSQL_THD thd);
|
||||||
} *wsrep_service;
|
} *wsrep_service;
|
||||||
|
|
||||||
#define MYSQL_SERVICE_WSREP_INCLUDED
|
#define MYSQL_SERVICE_WSREP_INCLUDED
|
||||||
@ -130,6 +131,7 @@ extern struct wsrep_service_st {
|
|||||||
#define wsrep_OSU_method_get(T) wsrep_service->wsrep_OSU_method_get_func(T)
|
#define wsrep_OSU_method_get(T) wsrep_service->wsrep_OSU_method_get_func(T)
|
||||||
#define wsrep_thd_has_ignored_error(T) wsrep_service->wsrep_thd_has_ignored_error_func(T)
|
#define wsrep_thd_has_ignored_error(T) wsrep_service->wsrep_thd_has_ignored_error_func(T)
|
||||||
#define wsrep_thd_set_ignored_error(T,V) wsrep_service->wsrep_thd_set_ignored_error_func(T,V)
|
#define wsrep_thd_set_ignored_error(T,V) wsrep_service->wsrep_thd_set_ignored_error_func(T,V)
|
||||||
|
#define wsrep_thd_set_wsrep_aborter(T) wsrep_service->wsrep_thd_set_wsrep_aborter_func(T1, T2)
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define MYSQL_SERVICE_WSREP_STATIC_INCLUDED
|
#define MYSQL_SERVICE_WSREP_STATIC_INCLUDED
|
||||||
@ -181,6 +183,8 @@ extern "C" my_bool wsrep_thd_is_local(const MYSQL_THD thd);
|
|||||||
/* Return true if thd is in high priority mode */
|
/* Return true if thd is in high priority mode */
|
||||||
/* todo: rename to is_high_priority() */
|
/* todo: rename to is_high_priority() */
|
||||||
extern "C" my_bool wsrep_thd_is_applying(const MYSQL_THD thd);
|
extern "C" my_bool wsrep_thd_is_applying(const MYSQL_THD thd);
|
||||||
|
/* set wsrep_aborter for the target THD */
|
||||||
|
extern "C" bool wsrep_thd_set_wsrep_aborter(MYSQL_THD bf_thd, MYSQL_THD victim_thd);
|
||||||
/* Return true if thd is in TOI mode */
|
/* Return true if thd is in TOI mode */
|
||||||
extern "C" my_bool wsrep_thd_is_toi(const MYSQL_THD thd);
|
extern "C" my_bool wsrep_thd_is_toi(const MYSQL_THD thd);
|
||||||
/* Return true if thd is in replicating TOI mode */
|
/* Return true if thd is in replicating TOI mode */
|
||||||
@ -224,5 +228,6 @@ extern "C" my_bool wsrep_thd_is_applying(const MYSQL_THD thd);
|
|||||||
extern "C" ulong wsrep_OSU_method_get(const MYSQL_THD thd);
|
extern "C" ulong wsrep_OSU_method_get(const MYSQL_THD thd);
|
||||||
extern "C" my_bool wsrep_thd_has_ignored_error(const MYSQL_THD thd);
|
extern "C" my_bool wsrep_thd_has_ignored_error(const MYSQL_THD thd);
|
||||||
extern "C" void wsrep_thd_set_ignored_error(MYSQL_THD thd, my_bool val);
|
extern "C" void wsrep_thd_set_ignored_error(MYSQL_THD thd, my_bool val);
|
||||||
|
extern "C" bool wsrep_thd_set_wsrep_aborter(MYSQL_THD bf_thd, MYSQL_THD victim_thd);
|
||||||
#endif
|
#endif
|
||||||
#endif /* MYSQL_SERVICE_WSREP_INCLUDED */
|
#endif /* MYSQL_SERVICE_WSREP_INCLUDED */
|
||||||
|
@ -72,7 +72,8 @@ extern const char *globerrs[]; /* my_error_messages is here */
|
|||||||
#define EE_BADMEMORYRELEASE 36
|
#define EE_BADMEMORYRELEASE 36
|
||||||
#define EE_PERM_LOCK_MEMORY 37
|
#define EE_PERM_LOCK_MEMORY 37
|
||||||
#define EE_MEMCNTL 38
|
#define EE_MEMCNTL 38
|
||||||
#define EE_ERROR_LAST 38 /* Copy last error nr */
|
#define EE_DUPLICATE_CHARSET 39
|
||||||
|
#define EE_ERROR_LAST 39 /* Copy last error nr */
|
||||||
|
|
||||||
/* Add error numbers before EE_ERROR_LAST and change it accordingly. */
|
/* Add error numbers before EE_ERROR_LAST and change it accordingly. */
|
||||||
|
|
||||||
|
@ -112,9 +112,7 @@ my_bool vio_peer_addr(Vio *vio, char *buf, uint16 *port, size_t buflen);
|
|||||||
/* Wait for an I/O event notification. */
|
/* Wait for an I/O event notification. */
|
||||||
int vio_io_wait(Vio *vio, enum enum_vio_io_event event, int timeout);
|
int vio_io_wait(Vio *vio, enum enum_vio_io_event event, int timeout);
|
||||||
my_bool vio_is_connected(Vio *vio);
|
my_bool vio_is_connected(Vio *vio);
|
||||||
#ifndef DBUG_OFF
|
|
||||||
ssize_t vio_pending(Vio *vio);
|
ssize_t vio_pending(Vio *vio);
|
||||||
#endif
|
|
||||||
/* Set timeout for a network operation. */
|
/* Set timeout for a network operation. */
|
||||||
extern int vio_timeout(Vio *vio, uint which, int timeout_sec);
|
extern int vio_timeout(Vio *vio, uint which, int timeout_sec);
|
||||||
extern void vio_set_wait_callback(void (*before_wait)(void),
|
extern void vio_set_wait_callback(void (*before_wait)(void),
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
SET(MAN1_SERVER innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1
|
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
|
aria_chk.1 aria_dump_log.1 aria_ftdump.1 aria_pack.1 aria_read_log.1
|
||||||
|
aria_s3_copy.1
|
||||||
myisamlog.1 myisampack.1 mysql.server.1 mariadb-conv.1
|
myisamlog.1 myisampack.1 mysql.server.1 mariadb-conv.1
|
||||||
mysql_convert_table_format.1 mysql_fix_extensions.1
|
mysql_convert_table_format.1 mysql_fix_extensions.1
|
||||||
mysql_install_db.1
|
mysql_install_db.1
|
||||||
|
52
man/aria_s3_copy.1
Normal file
52
man/aria_s3_copy.1
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
.TH ARIA_S3_COPY "1" "June 2020" "aria_s3_copy Ver 1.0" "User Commands"
|
||||||
|
.SH NAME
|
||||||
|
aria_s3_copy \- Copy an Aria table to and from s3
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Usage: aria_s3_copy \-\-aws\-access\-key=# \-\-aws\-secret\-access\-key=# \-\-aws\-region=# \-\-op=(from_s3 | to_s3 | delete_from_s3) [OPTIONS] tables[.MAI]
|
||||||
|
.TP
|
||||||
|
\fB\-?\fR, \fB\-h\fR, \fB\-\-help\fR
|
||||||
|
Display help and exit.
|
||||||
|
.TP
|
||||||
|
\fB\-k\fR, \fB\-\-s3\-access\-key=name\fR
|
||||||
|
AWS access key ID
|
||||||
|
.TP
|
||||||
|
\fB\-r\fR, \fB\-s3\-region=name\fR
|
||||||
|
AWS region
|
||||||
|
.TP
|
||||||
|
\fB\-K\fR, \fB\-s3\-secret\-key=name\fR
|
||||||
|
AWS secret access key ID
|
||||||
|
.TP
|
||||||
|
\fB\-b\fR, \fB\-s3\-bucket=name\fR
|
||||||
|
AWS prefix for tables
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR, \fB\-s3\-host\-name=name\fR
|
||||||
|
Host name to S3 provider
|
||||||
|
.TP
|
||||||
|
\fB\-c\fR, \fB\-compress\fR
|
||||||
|
Use compression
|
||||||
|
.TP
|
||||||
|
\fB\-o\fR, \fB\-op=name\fR
|
||||||
|
Operation to execute. One of 'from_s3', 'to_s3' or 'delete_from_s3'
|
||||||
|
.TP
|
||||||
|
\fB\-d\fR, \fB\-database=name\fR
|
||||||
|
Database for copied table (second prefix). If not given, the directory of the table file is used
|
||||||
|
.TP
|
||||||
|
\fB\-B\fR, \fB\-s3\-block\-size=#\fR
|
||||||
|
Block size for data/index blocks in s3
|
||||||
|
.TP
|
||||||
|
\fB\-L\fR, \fB\-s3\-protocol\-version=name\fR
|
||||||
|
Protocol used to communication with S3. One of "Auto", "Amazon" or "Original".
|
||||||
|
.TP
|
||||||
|
\fB\-f\fR, \fB\-force\fR
|
||||||
|
Force copy even if target exists
|
||||||
|
.TP
|
||||||
|
\fB\-V\fR, \fB\-version\fR
|
||||||
|
Print version and exit.
|
||||||
|
.TP
|
||||||
|
\fB\-\-s3\-debug\fR
|
||||||
|
Output debug log from marias3 to stdout
|
||||||
|
.TP
|
||||||
|
\fB\-v\fR, \fB\-\-verbose\fR
|
||||||
|
Be verbose.
|
||||||
|
.PP
|
||||||
|
For more information, please refer to the MariaDB Knowledge Base page https://mariadb.com/kb/en/aria_s3_copy/
|
@ -80,7 +80,7 @@ while (<F>) {
|
|||||||
s/table id \d+/table id #/;
|
s/table id \d+/table id #/;
|
||||||
s/mapped to number \d+/mapped to number #/;
|
s/mapped to number \d+/mapped to number #/;
|
||||||
s/CRC32 0x[0-9a-f]+/CRC32 0x########/;
|
s/CRC32 0x[0-9a-f]+/CRC32 0x########/;
|
||||||
print if /\b(GTID|BEGIN|COMMIT|Table_map|Write_rows|Update_rows|Delete_rows|generated by server|40005 TEMPORARY)\b/;
|
print if /\b(GTID|START TRANSACTION|COMMIT|Table_map|Write_rows|Update_rows|Delete_rows|generated by server|40005 TEMPORARY)\b/;
|
||||||
}
|
}
|
||||||
close F;
|
close F;
|
||||||
EOF
|
EOF
|
||||||
|
@ -1183,10 +1183,6 @@ set @my_innodb_autoextend_increment=@@global.innodb_autoextend_increment;
|
|||||||
set global innodb_autoextend_increment=8;
|
set global innodb_autoextend_increment=8;
|
||||||
set global innodb_autoextend_increment=@my_innodb_autoextend_increment;
|
set global innodb_autoextend_increment=@my_innodb_autoextend_increment;
|
||||||
|
|
||||||
set @my_innodb_commit_concurrency=@@global.innodb_commit_concurrency;
|
|
||||||
set global innodb_commit_concurrency=0;
|
|
||||||
set global innodb_commit_concurrency=@my_innodb_commit_concurrency;
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #37830: ORDER BY ASC/DESC - no difference
|
# Bug #37830: ORDER BY ASC/DESC - no difference
|
||||||
#
|
#
|
||||||
|
@ -52,3 +52,20 @@ body
|
|||||||
DROP FUNCTION IF EXISTS f1;
|
DROP FUNCTION IF EXISTS f1;
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1305 FUNCTION test.f1 does not exist
|
Note 1305 FUNCTION test.f1 does not exist
|
||||||
|
#
|
||||||
|
# 10.1 Test
|
||||||
|
#
|
||||||
|
# MDEV-22654: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||||
|
# is_bulk_op())' failed in Diagnostics_area::set_ok_status on FUNCTION replace
|
||||||
|
#
|
||||||
|
SET GLOBAL log_bin_trust_function_creators=0;
|
||||||
|
CREATE FUNCTION f(c INT) RETURNS NUMERIC NO SQL RETURN 0;
|
||||||
|
CREATE OR REPLACE FUNCTION f(c INT) RETURNS INT RETURN 0;
|
||||||
|
ERROR HY000: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
|
||||||
|
CREATE OR REPLACE FUNCTION sp1_thisisaveryverylongnamelongnameverylongname_thisisaveryverylongname234872934(a INT) RETURNS INT RETURN 0;
|
||||||
|
ERROR 42000: Identifier name 'sp1_thisisaveryverylongnamelongnameverylongname_thisisaveryverylongname234872934' is too long
|
||||||
|
DROP FUNCTION IF EXISTS f;
|
||||||
|
Warnings:
|
||||||
|
Note 1305 FUNCTION test.f does not exist
|
||||||
|
SET GLOBAL log_bin_trust_function_creators=1;
|
||||||
|
# End of 10.1 Test
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
source include/have_log_bin.inc;
|
||||||
|
|
||||||
SET timestamp=UNIX_TIMESTAMP('2014-09-30 08:00:00');
|
SET timestamp=UNIX_TIMESTAMP('2014-09-30 08:00:00');
|
||||||
|
|
||||||
CREATE FUNCTION f1(str char(20))
|
CREATE FUNCTION f1(str char(20))
|
||||||
@ -39,3 +41,25 @@ DROP FUNCTION IF EXISTS f1;
|
|||||||
SELECT body FROM mysql.proc WHERE name like 'f1';
|
SELECT body FROM mysql.proc WHERE name like 'f1';
|
||||||
DROP FUNCTION IF EXISTS f1;
|
DROP FUNCTION IF EXISTS f1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # 10.1 Test
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-22654: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||||
|
--echo # is_bulk_op())' failed in Diagnostics_area::set_ok_status on FUNCTION replace
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET GLOBAL log_bin_trust_function_creators=0;
|
||||||
|
|
||||||
|
CREATE FUNCTION f(c INT) RETURNS NUMERIC NO SQL RETURN 0;
|
||||||
|
|
||||||
|
--error ER_BINLOG_UNSAFE_ROUTINE
|
||||||
|
CREATE OR REPLACE FUNCTION f(c INT) RETURNS INT RETURN 0;
|
||||||
|
|
||||||
|
--error ER_TOO_LONG_IDENT
|
||||||
|
CREATE OR REPLACE FUNCTION sp1_thisisaveryverylongnamelongnameverylongname_thisisaveryverylongname234872934(a INT) RETURNS INT RETURN 0;
|
||||||
|
|
||||||
|
DROP FUNCTION IF EXISTS f;
|
||||||
|
|
||||||
|
SET GLOBAL log_bin_trust_function_creators=1;
|
||||||
|
|
||||||
|
--echo # End of 10.1 Test
|
||||||
|
@ -447,7 +447,7 @@ Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
|
|||||||
set names latin1;
|
set names latin1;
|
||||||
show collation like 'latin1_test';
|
show collation like 'latin1_test';
|
||||||
Collation Charset Id Default Compiled Sortlen
|
Collation Charset Id Default Compiled Sortlen
|
||||||
latin1_test latin1 99 Yes 1
|
latin1_test latin1 331 1
|
||||||
select "foo" = "foo " collate latin1_test;
|
select "foo" = "foo " collate latin1_test;
|
||||||
"foo" = "foo " collate latin1_test
|
"foo" = "foo " collate latin1_test
|
||||||
1
|
1
|
||||||
@ -466,6 +466,7 @@ utf8mb4_test_ci utf8mb4 326 8
|
|||||||
utf16_test_ci utf16 327 8
|
utf16_test_ci utf16 327 8
|
||||||
utf8mb4_test_400_ci utf8mb4 328 8
|
utf8mb4_test_400_ci utf8mb4 328 8
|
||||||
utf8mb4_test_520_nopad_ci utf8mb4 329 8
|
utf8mb4_test_520_nopad_ci utf8mb4 329 8
|
||||||
|
latin1_test latin1 331 1
|
||||||
latin1_test2 latin1 332 1
|
latin1_test2 latin1 332 1
|
||||||
latin1_test2_cs latin1 333 1
|
latin1_test2_cs latin1 333 1
|
||||||
latin1_swedish_nopad2_ci latin1 334 1
|
latin1_swedish_nopad2_ci latin1 334 1
|
||||||
@ -490,7 +491,7 @@ utf32_test_ci utf32 391 8
|
|||||||
utf8_maxuserid_ci utf8 2047 8
|
utf8_maxuserid_ci utf8 2047 8
|
||||||
show collation like '%test%';
|
show collation like '%test%';
|
||||||
Collation Charset Id Default Compiled Sortlen
|
Collation Charset Id Default Compiled Sortlen
|
||||||
latin1_test latin1 99 Yes 1
|
latin1_test latin1 331 1
|
||||||
latin1_test2 latin1 332 1
|
latin1_test2 latin1 332 1
|
||||||
latin1_test2_cs latin1 333 1
|
latin1_test2_cs latin1 333 1
|
||||||
utf8_test_ci utf8 353 8
|
utf8_test_ci utf8 353 8
|
||||||
@ -3034,3 +3035,10 @@ SELECT 'chž'< 'i';
|
|||||||
1
|
1
|
||||||
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
|
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
|
||||||
ERROR HY000: Unknown collation: 'utf8_czech_test_bad_w2'
|
ERROR HY000: Unknown collation: 'utf8_czech_test_bad_w2'
|
||||||
|
#
|
||||||
|
# MDEV-7947 my_charset_same: strcmp() takes 0.37% in OLTP RO
|
||||||
|
#
|
||||||
|
SHOW COLLATION LIKE 'latin1_test_replace';
|
||||||
|
Collation Charset Id Default Compiled Sortlen
|
||||||
|
SELECT 'foo' = 'foo ' COLLATE latin1_test_replace;
|
||||||
|
ERROR HY000: Unknown collation: 'latin1_test_replace'
|
||||||
|
@ -3,6 +3,10 @@
|
|||||||
--source include/have_utf16.inc
|
--source include/have_utf16.inc
|
||||||
--source include/have_utf32.inc
|
--source include/have_utf32.inc
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
call mtr.add_suppression("Charset id.*trying to replace");
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
@ -602,3 +606,12 @@ SELECT 'chž'< 'i';
|
|||||||
|
|
||||||
--error ER_UNKNOWN_COLLATION
|
--error ER_UNKNOWN_COLLATION
|
||||||
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
|
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-7947 my_charset_same: strcmp() takes 0.37% in OLTP RO
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SHOW COLLATION LIKE 'latin1_test_replace';
|
||||||
|
--error ER_UNKNOWN_COLLATION
|
||||||
|
SELECT 'foo' = 'foo ' COLLATE latin1_test_replace;
|
||||||
|
@ -2619,7 +2619,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(3) DEFAULT NULL
|
`c1` varchar(2) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(4));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(4));
|
||||||
@ -2664,7 +2664,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(5) DEFAULT NULL
|
`c1` varchar(3) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(7));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(7));
|
||||||
@ -2709,7 +2709,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(6) DEFAULT NULL
|
`c1` varchar(5) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(10));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(10));
|
||||||
@ -2754,7 +2754,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(7) DEFAULT NULL
|
`c1` varchar(6) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(13));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(13));
|
||||||
@ -2769,7 +2769,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(7) DEFAULT NULL
|
`c1` varchar(6) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(14));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(14));
|
||||||
@ -2799,7 +2799,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(9) DEFAULT NULL
|
`c1` varchar(7) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(16));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(16));
|
||||||
@ -2814,7 +2814,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(9) DEFAULT NULL
|
`c1` varchar(7) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(17));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(17));
|
||||||
@ -2844,7 +2844,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(10) DEFAULT NULL
|
`c1` varchar(9) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(19));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(19));
|
||||||
@ -2859,7 +2859,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(10) DEFAULT NULL
|
`c1` varchar(9) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(20));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(20));
|
||||||
@ -2889,7 +2889,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(11) DEFAULT NULL
|
`c1` varchar(10) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(22));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(22));
|
||||||
@ -2904,7 +2904,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(11) DEFAULT NULL
|
`c1` varchar(10) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(23));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(23));
|
||||||
@ -2919,7 +2919,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(11) DEFAULT NULL
|
`c1` varchar(10) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(24));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(24));
|
||||||
@ -2934,7 +2934,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(13) DEFAULT NULL
|
`c1` varchar(11) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(25));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(25));
|
||||||
@ -2949,7 +2949,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(13) DEFAULT NULL
|
`c1` varchar(11) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(26));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(26));
|
||||||
@ -2964,7 +2964,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(13) DEFAULT NULL
|
`c1` varchar(11) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(27));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(27));
|
||||||
@ -2979,7 +2979,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(14) DEFAULT NULL
|
`c1` varchar(13) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(28));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(28));
|
||||||
@ -2994,7 +2994,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(14) DEFAULT NULL
|
`c1` varchar(13) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(29));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(29));
|
||||||
@ -3009,7 +3009,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(14) DEFAULT NULL
|
`c1` varchar(13) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(30));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(30));
|
||||||
@ -3024,7 +3024,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(15) DEFAULT NULL
|
`c1` varchar(14) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(31));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(31));
|
||||||
@ -3039,7 +3039,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(15) DEFAULT NULL
|
`c1` varchar(14) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(32));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(32));
|
||||||
@ -3054,7 +3054,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(15) DEFAULT NULL
|
`c1` varchar(14) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(33));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(33));
|
||||||
@ -3069,7 +3069,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(17) DEFAULT NULL
|
`c1` varchar(14) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(34));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(34));
|
||||||
@ -3084,7 +3084,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(17) DEFAULT NULL
|
`c1` varchar(15) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(35));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(35));
|
||||||
@ -3099,7 +3099,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(17) DEFAULT NULL
|
`c1` varchar(15) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(36));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(36));
|
||||||
@ -3114,7 +3114,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(18) DEFAULT NULL
|
`c1` varchar(15) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(37));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(37));
|
||||||
@ -3129,7 +3129,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(18) DEFAULT NULL
|
`c1` varchar(17) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(38));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(38));
|
||||||
@ -3144,7 +3144,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(18) DEFAULT NULL
|
`c1` varchar(17) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(39));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(39));
|
||||||
@ -3159,7 +3159,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(19) DEFAULT NULL
|
`c1` varchar(17) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(40));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(40));
|
||||||
@ -3174,7 +3174,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(19) DEFAULT NULL
|
`c1` varchar(18) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(41));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(41));
|
||||||
@ -3189,7 +3189,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(19) DEFAULT NULL
|
`c1` varchar(18) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(42));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(42));
|
||||||
@ -3204,7 +3204,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(21) DEFAULT NULL
|
`c1` varchar(18) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(43));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(43));
|
||||||
@ -3219,7 +3219,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(21) DEFAULT NULL
|
`c1` varchar(18) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(44));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(44));
|
||||||
@ -3234,7 +3234,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(21) DEFAULT NULL
|
`c1` varchar(19) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(45));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(45));
|
||||||
@ -3249,7 +3249,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(22) DEFAULT NULL
|
`c1` varchar(19) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(46));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(46));
|
||||||
@ -3264,7 +3264,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(22) DEFAULT NULL
|
`c1` varchar(19) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(47));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(47));
|
||||||
@ -3279,7 +3279,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(22) DEFAULT NULL
|
`c1` varchar(21) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(48));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(48));
|
||||||
@ -3294,7 +3294,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(23) DEFAULT NULL
|
`c1` varchar(21) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(49));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(49));
|
||||||
@ -3309,7 +3309,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(23) DEFAULT NULL
|
`c1` varchar(21) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(50));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(50));
|
||||||
@ -3324,7 +3324,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(23) DEFAULT NULL
|
`c1` varchar(22) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(51));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(51));
|
||||||
@ -3339,7 +3339,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(25) DEFAULT NULL
|
`c1` varchar(22) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(52));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(52));
|
||||||
@ -3354,7 +3354,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(25) DEFAULT NULL
|
`c1` varchar(22) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(53));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(53));
|
||||||
@ -3369,7 +3369,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(25) DEFAULT NULL
|
`c1` varchar(22) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(54));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(54));
|
||||||
@ -3384,7 +3384,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(26) DEFAULT NULL
|
`c1` varchar(23) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(55));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(55));
|
||||||
@ -3399,7 +3399,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(26) DEFAULT NULL
|
`c1` varchar(23) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(56));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(56));
|
||||||
@ -3414,7 +3414,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(26) DEFAULT NULL
|
`c1` varchar(23) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(57));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(57));
|
||||||
@ -3429,7 +3429,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(27) DEFAULT NULL
|
`c1` varchar(25) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(58));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(58));
|
||||||
@ -3444,7 +3444,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(27) DEFAULT NULL
|
`c1` varchar(25) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(59));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(59));
|
||||||
@ -3459,7 +3459,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(27) DEFAULT NULL
|
`c1` varchar(25) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(60));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(60));
|
||||||
@ -3474,7 +3474,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(29) DEFAULT NULL
|
`c1` varchar(26) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(61));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(61));
|
||||||
@ -3489,7 +3489,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(29) DEFAULT NULL
|
`c1` varchar(26) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(62));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(62));
|
||||||
@ -3504,7 +3504,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(29) DEFAULT NULL
|
`c1` varchar(26) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(63));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(63));
|
||||||
@ -3519,7 +3519,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(30) DEFAULT NULL
|
`c1` varchar(26) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (c1 BIT(64));
|
CREATE OR REPLACE TABLE t1 (c1 BIT(64));
|
||||||
@ -3534,7 +3534,7 @@ HEX(c1)
|
|||||||
SHOW CREATE TABLE t2;
|
SHOW CREATE TABLE t2;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t2 CREATE TABLE `t2` (
|
t2 CREATE TABLE `t2` (
|
||||||
`c1` varchar(30) DEFAULT NULL
|
`c1` varchar(27) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
CREATE OR REPLACE TABLE t1 (f float);
|
CREATE OR REPLACE TABLE t1 (f float);
|
||||||
|
@ -975,7 +975,6 @@ select * from information_schema.table_privileges;
|
|||||||
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
||||||
'mysqltest_8'@'%' def test t1 UPDATE NO
|
'mysqltest_8'@'%' def test t1 UPDATE NO
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
|
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
||||||
connect conn5,localhost,mysqltest_8,,;
|
connect conn5,localhost,mysqltest_8,,;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -992,7 +991,6 @@ GRANT USAGE ON *.* TO `mysqltest_8`@`%`
|
|||||||
select * from information_schema.table_privileges;
|
select * from information_schema.table_privileges;
|
||||||
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
|
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
||||||
flush privileges;
|
flush privileges;
|
||||||
show grants for mysqltest_8@'';
|
show grants for mysqltest_8@'';
|
||||||
|
@ -148,7 +148,7 @@ call mtr.add_suppression('mysql.user table is damaged');
|
|||||||
rename table mysql.user to mysql.user1;
|
rename table mysql.user to mysql.user1;
|
||||||
create table mysql.user (Host char(100), User char(100));
|
create table mysql.user (Host char(100), User char(100));
|
||||||
flush privileges;
|
flush privileges;
|
||||||
ERROR HY000: Unknown error
|
ERROR HY000: Fatal error: mysql.user table is damaged or in unsupported 3.20 format
|
||||||
drop table mysql.user;
|
drop table mysql.user;
|
||||||
rename table mysql.user1 to mysql.user;
|
rename table mysql.user1 to mysql.user;
|
||||||
# switching back from mysql.user to mysql.global_priv
|
# switching back from mysql.user to mysql.global_priv
|
||||||
|
@ -242,4 +242,10 @@ disconnect con1;
|
|||||||
connection default;
|
connection default;
|
||||||
drop database db;
|
drop database db;
|
||||||
drop user foo;
|
drop user foo;
|
||||||
|
call mtr.add_suppression('mysql.host table is damaged');
|
||||||
|
create table mysql.host (c1 int);
|
||||||
|
insert mysql.host values (1);
|
||||||
|
flush privileges;
|
||||||
|
ERROR HY000: Fatal error: mysql.host table is damaged or in unsupported 3.20 format
|
||||||
|
drop table mysql.host;
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
|
@ -199,4 +199,14 @@ delete from db.t1 returning *;
|
|||||||
drop database db;
|
drop database db;
|
||||||
drop user foo;
|
drop user foo;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-23009 SIGSEGV in get_field from acl_load (on optimized builds)
|
||||||
|
#
|
||||||
|
call mtr.add_suppression('mysql.host table is damaged');
|
||||||
|
create table mysql.host (c1 int);
|
||||||
|
insert mysql.host values (1);
|
||||||
|
--error ER_UNKNOWN_ERROR
|
||||||
|
flush privileges;
|
||||||
|
drop table mysql.host;
|
||||||
|
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
|
@ -576,7 +576,6 @@ GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRAN
|
|||||||
select * from INFORMATION_SCHEMA.TABLE_PRIVILEGES;
|
select * from INFORMATION_SCHEMA.TABLE_PRIVILEGES;
|
||||||
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
|
|
||||||
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
||||||
drop view v1, v2, v3;
|
drop view v1, v2, v3;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
@ -2219,3 +2218,72 @@ SCHEMA_NAME
|
|||||||
#
|
#
|
||||||
# End of 10.1 tests
|
# End of 10.1 tests
|
||||||
#
|
#
|
||||||
|
#
|
||||||
|
# MDEV-21201:No records produced in information_schema query,
|
||||||
|
# depending on projection
|
||||||
|
#
|
||||||
|
create table t (i int, constraint a check (i > 0));
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE
|
||||||
|
from information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
join information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||||
|
;
|
||||||
|
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE
|
||||||
|
mysql global_priv Priv json_valid(`Priv`)
|
||||||
|
test t a `i` > 0
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE
|
||||||
|
from information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
join information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||||
|
;
|
||||||
|
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE
|
||||||
|
mysql global_priv Priv json_valid(`Priv`)
|
||||||
|
test t a `i` > 0
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE
|
||||||
|
from information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
NATURAL join information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
;
|
||||||
|
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE
|
||||||
|
mysql global_priv Priv json_valid(`Priv`)
|
||||||
|
test t a `i` > 0
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE
|
||||||
|
from information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
NATURAL join information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
;
|
||||||
|
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE
|
||||||
|
mysql global_priv Priv json_valid(`Priv`)
|
||||||
|
test t a `i` > 0
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE,
|
||||||
|
tc.CONSTRAINT_CATALOG,
|
||||||
|
tc.CONSTRAINT_SCHEMA
|
||||||
|
from information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
join information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||||
|
;
|
||||||
|
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE CONSTRAINT_CATALOG CONSTRAINT_SCHEMA
|
||||||
|
mysql global_priv Priv json_valid(`Priv`) def mysql
|
||||||
|
test t a `i` > 0 def test
|
||||||
|
drop table t;
|
||||||
|
#
|
||||||
|
# End of 10.3 tests
|
||||||
|
#
|
||||||
|
@ -1920,3 +1920,70 @@ SELECT SCHEMA_NAME from information_schema.schemata where schema_name=REPEAT('a'
|
|||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.1 tests
|
--echo # End of 10.1 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-21201:No records produced in information_schema query,
|
||||||
|
--echo # depending on projection
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
create table t (i int, constraint a check (i > 0));
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
--sorted_result
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE
|
||||||
|
from information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
join information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||||
|
;
|
||||||
|
--sorted_result
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE
|
||||||
|
from information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
join information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||||
|
;
|
||||||
|
--sorted_result
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE
|
||||||
|
from information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
NATURAL join information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
;
|
||||||
|
--sorted_result
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE
|
||||||
|
from information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
NATURAL join information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
;
|
||||||
|
--sorted_result
|
||||||
|
select
|
||||||
|
tc.TABLE_SCHEMA,
|
||||||
|
tc.TABLE_NAME,
|
||||||
|
cc.CONSTRAINT_NAME,
|
||||||
|
cc.CHECK_CLAUSE,
|
||||||
|
tc.CONSTRAINT_CATALOG,
|
||||||
|
tc.CONSTRAINT_SCHEMA
|
||||||
|
from information_schema.TABLE_CONSTRAINTS tc
|
||||||
|
join information_schema.CHECK_CONSTRAINTS cc
|
||||||
|
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||||
|
;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
drop table t;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 10.3 tests
|
||||||
|
--echo #
|
||||||
|
@ -15,4 +15,3 @@
|
|||||||
--loose-innodb-sys-tablestats
|
--loose-innodb-sys-tablestats
|
||||||
--loose-innodb-mutexes
|
--loose-innodb-mutexes
|
||||||
--loose-innodb-tablespaces-encryption
|
--loose-innodb-tablespaces-encryption
|
||||||
--loose-innodb-tablespaces-scrubbing
|
|
||||||
|
1
mysql-test/main/mdev-21101.opt
Normal file
1
mysql-test/main/mdev-21101.opt
Normal file
@ -0,0 +1 @@
|
|||||||
|
--thread-handling=pool-of-threads
|
43
mysql-test/main/mdev-21101.result
Normal file
43
mysql-test/main/mdev-21101.result
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
SELECT
|
||||||
|
@@global.wait_timeout, @@global.thread_pool_max_threads, @@global.thread_pool_size,
|
||||||
|
@@global.thread_pool_oversubscribe, @@global.thread_pool_stall_limit
|
||||||
|
INTO
|
||||||
|
@_wait_timeout,@_thread_pool_max_threads,@_thread_pool_size,
|
||||||
|
@_thread_pool_oversubscribe,@_thread_pool_stall_limit;
|
||||||
|
SET @@global.wait_timeout=1,
|
||||||
|
@@global.thread_pool_max_threads=2,
|
||||||
|
@@global.thread_pool_size=1,
|
||||||
|
@@global.thread_pool_oversubscribe=1,
|
||||||
|
@@global.thread_pool_stall_limit=10;
|
||||||
|
connect c1, localhost, root,,;
|
||||||
|
connect c2, localhost, root,,;
|
||||||
|
connect c3, localhost, root,,;
|
||||||
|
connection c1;
|
||||||
|
select sleep(1.1);
|
||||||
|
connection c2;
|
||||||
|
select sleep(1.1);
|
||||||
|
connection c3;
|
||||||
|
select sleep(1.1);
|
||||||
|
connection default;
|
||||||
|
select sleep(1.1);
|
||||||
|
connection c1;
|
||||||
|
sleep(1.1)
|
||||||
|
0
|
||||||
|
connection c2;
|
||||||
|
sleep(1.1)
|
||||||
|
0
|
||||||
|
connection c3;
|
||||||
|
sleep(1.1)
|
||||||
|
0
|
||||||
|
connection default;
|
||||||
|
sleep(1.1)
|
||||||
|
0
|
||||||
|
disconnect c1;
|
||||||
|
disconnect c2;
|
||||||
|
disconnect c3;
|
||||||
|
connection default;
|
||||||
|
SET @@global.wait_timeout=@_wait_timeout,
|
||||||
|
@@global.thread_pool_max_threads=@_thread_pool_max_threads,
|
||||||
|
@@global.thread_pool_size=@_thread_pool_size,
|
||||||
|
@@global.thread_pool_oversubscribe=@_thread_pool_oversubscribe,
|
||||||
|
@@global.thread_pool_stall_limit=@_thread_pool_stall_limit;
|
54
mysql-test/main/mdev-21101.test
Normal file
54
mysql-test/main/mdev-21101.test
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
--source include/not_embedded.inc
|
||||||
|
# Test that wait_timeout does not cause connection to be closed, when connection is delayed due to
|
||||||
|
# threadpool internal problems, e.g misconfiguration - too few threads and queueing.
|
||||||
|
# So if client did not cause wait_timeout, do not report it either.
|
||||||
|
# See MDEV-21101 for details.
|
||||||
|
|
||||||
|
# Intentionally misconfigure threadpool to have at most 1 or 2 threads (
|
||||||
|
# depends on the implementation). Use minimal wait_timeout, do some slow queries from
|
||||||
|
# different connections simultaneously, to force queueing occurs.
|
||||||
|
# Verify connections are intact, even if queueing time exceeds wait_timeout
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
@@global.wait_timeout, @@global.thread_pool_max_threads, @@global.thread_pool_size,
|
||||||
|
@@global.thread_pool_oversubscribe, @@global.thread_pool_stall_limit
|
||||||
|
INTO
|
||||||
|
@_wait_timeout,@_thread_pool_max_threads,@_thread_pool_size,
|
||||||
|
@_thread_pool_oversubscribe,@_thread_pool_stall_limit;
|
||||||
|
|
||||||
|
SET @@global.wait_timeout=1,
|
||||||
|
@@global.thread_pool_max_threads=2,
|
||||||
|
@@global.thread_pool_size=1,
|
||||||
|
@@global.thread_pool_oversubscribe=1,
|
||||||
|
@@global.thread_pool_stall_limit=10;
|
||||||
|
|
||||||
|
--connect (c1, localhost, root,,)
|
||||||
|
--connect (c2, localhost, root,,)
|
||||||
|
--connect (c3, localhost, root,,)
|
||||||
|
--connection c1
|
||||||
|
--send select sleep(1.1)
|
||||||
|
--connection c2
|
||||||
|
--send select sleep(1.1)
|
||||||
|
--connection c3
|
||||||
|
--send select sleep(1.1)
|
||||||
|
--connection default
|
||||||
|
--send select sleep(1.1)
|
||||||
|
--connection c1
|
||||||
|
--reap
|
||||||
|
--connection c2
|
||||||
|
--reap
|
||||||
|
--connection c3
|
||||||
|
--reap
|
||||||
|
--connection default
|
||||||
|
--reap
|
||||||
|
--disconnect c1
|
||||||
|
--disconnect c2
|
||||||
|
--disconnect c3
|
||||||
|
--connection default
|
||||||
|
|
||||||
|
SET @@global.wait_timeout=@_wait_timeout,
|
||||||
|
@@global.thread_pool_max_threads=@_thread_pool_max_threads,
|
||||||
|
@@global.thread_pool_size=@_thread_pool_size,
|
||||||
|
@@global.thread_pool_oversubscribe=@_thread_pool_oversubscribe,
|
||||||
|
@@global.thread_pool_stall_limit=@_thread_pool_stall_limit;
|
||||||
|
|
@ -58,6 +58,8 @@ DROP TABLE t1,t3;
|
|||||||
#
|
#
|
||||||
CREATE TABLE t1(a INT) ENGINE=InnoDB;
|
CREATE TABLE t1(a INT) ENGINE=InnoDB;
|
||||||
CREATE TABLE t3(a INT) ENGINE=myisam;
|
CREATE TABLE t3(a INT) ENGINE=myisam;
|
||||||
|
connect purge_control,localhost,root,,;
|
||||||
|
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
||||||
connect locker,localhost,root,,;
|
connect locker,localhost,root,,;
|
||||||
connection default;
|
connection default;
|
||||||
FLUSH TABLES WITH READ LOCK;
|
FLUSH TABLES WITH READ LOCK;
|
||||||
@ -85,6 +87,7 @@ MDL_SHARED_WRITE Table metadata lock test t3
|
|||||||
unlock tables;
|
unlock tables;
|
||||||
connection locker;
|
connection locker;
|
||||||
unlock tables;
|
unlock tables;
|
||||||
|
disconnect purge_control;
|
||||||
connection default;
|
connection default;
|
||||||
disconnect locker;
|
disconnect locker;
|
||||||
DROP TABLE t1,t3;
|
DROP TABLE t1,t3;
|
||||||
|
@ -40,6 +40,8 @@ DROP TABLE t1,t3;
|
|||||||
|
|
||||||
CREATE TABLE t1(a INT) ENGINE=InnoDB;
|
CREATE TABLE t1(a INT) ENGINE=InnoDB;
|
||||||
CREATE TABLE t3(a INT) ENGINE=myisam;
|
CREATE TABLE t3(a INT) ENGINE=myisam;
|
||||||
|
connect(purge_control,localhost,root,,);
|
||||||
|
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
||||||
connect (locker,localhost,root,,);
|
connect (locker,localhost,root,,);
|
||||||
connection default;
|
connection default;
|
||||||
|
|
||||||
@ -75,6 +77,7 @@ unlock tables;
|
|||||||
connection locker;
|
connection locker;
|
||||||
--reap
|
--reap
|
||||||
unlock tables;
|
unlock tables;
|
||||||
|
disconnect purge_control;
|
||||||
connection default;
|
connection default;
|
||||||
|
|
||||||
disconnect locker;
|
disconnect locker;
|
||||||
|
@ -715,16 +715,16 @@ CEILING(11111111),
|
|||||||
CEILING(111111111),
|
CEILING(111111111),
|
||||||
CEILING(1111111111) LIMIT 0;
|
CEILING(1111111111) LIMIT 0;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def CEILING(1) 3 3 0 N 32897 0 63
|
def CEILING(1) 3 1 0 N 32897 0 63
|
||||||
def CEILING(11) 3 4 0 N 32897 0 63
|
def CEILING(11) 3 2 0 N 32897 0 63
|
||||||
def CEILING(111) 3 5 0 N 32897 0 63
|
def CEILING(111) 3 3 0 N 32897 0 63
|
||||||
def CEILING(1111) 3 6 0 N 32897 0 63
|
def CEILING(1111) 3 4 0 N 32897 0 63
|
||||||
def CEILING(11111) 3 7 0 N 32897 0 63
|
def CEILING(11111) 3 5 0 N 32897 0 63
|
||||||
def CEILING(111111) 3 8 0 N 32897 0 63
|
def CEILING(111111) 3 6 0 N 32897 0 63
|
||||||
def CEILING(1111111) 3 9 0 N 32897 0 63
|
def CEILING(1111111) 3 7 0 N 32897 0 63
|
||||||
def CEILING(11111111) 8 10 0 N 32897 0 63
|
def CEILING(11111111) 3 8 0 N 32897 0 63
|
||||||
def CEILING(111111111) 8 11 0 N 32897 0 63
|
def CEILING(111111111) 3 9 0 N 32897 0 63
|
||||||
def CEILING(1111111111) 8 12 0 N 32897 0 63
|
def CEILING(1111111111) 8 10 0 N 32897 0 63
|
||||||
CEILING(1) CEILING(11) CEILING(111) CEILING(1111) CEILING(11111) CEILING(111111) CEILING(1111111) CEILING(11111111) CEILING(111111111) CEILING(1111111111)
|
CEILING(1) CEILING(11) CEILING(111) CEILING(1111) CEILING(11111) CEILING(111111) CEILING(1111111) CEILING(11111111) CEILING(111111111) CEILING(1111111111)
|
||||||
SELECT
|
SELECT
|
||||||
FLOOR(1),
|
FLOOR(1),
|
||||||
@ -738,16 +738,16 @@ FLOOR(11111111),
|
|||||||
FLOOR(111111111),
|
FLOOR(111111111),
|
||||||
FLOOR(1111111111) LIMIT 0;
|
FLOOR(1111111111) LIMIT 0;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def FLOOR(1) 3 3 0 N 32897 0 63
|
def FLOOR(1) 3 1 0 N 32897 0 63
|
||||||
def FLOOR(11) 3 4 0 N 32897 0 63
|
def FLOOR(11) 3 2 0 N 32897 0 63
|
||||||
def FLOOR(111) 3 5 0 N 32897 0 63
|
def FLOOR(111) 3 3 0 N 32897 0 63
|
||||||
def FLOOR(1111) 3 6 0 N 32897 0 63
|
def FLOOR(1111) 3 4 0 N 32897 0 63
|
||||||
def FLOOR(11111) 3 7 0 N 32897 0 63
|
def FLOOR(11111) 3 5 0 N 32897 0 63
|
||||||
def FLOOR(111111) 3 8 0 N 32897 0 63
|
def FLOOR(111111) 3 6 0 N 32897 0 63
|
||||||
def FLOOR(1111111) 3 9 0 N 32897 0 63
|
def FLOOR(1111111) 3 7 0 N 32897 0 63
|
||||||
def FLOOR(11111111) 8 10 0 N 32897 0 63
|
def FLOOR(11111111) 3 8 0 N 32897 0 63
|
||||||
def FLOOR(111111111) 8 11 0 N 32897 0 63
|
def FLOOR(111111111) 3 9 0 N 32897 0 63
|
||||||
def FLOOR(1111111111) 8 12 0 N 32897 0 63
|
def FLOOR(1111111111) 8 10 0 N 32897 0 63
|
||||||
FLOOR(1) FLOOR(11) FLOOR(111) FLOOR(1111) FLOOR(11111) FLOOR(111111) FLOOR(1111111) FLOOR(11111111) FLOOR(111111111) FLOOR(1111111111)
|
FLOOR(1) FLOOR(11) FLOOR(111) FLOOR(1111) FLOOR(11111) FLOOR(111111) FLOOR(1111111) FLOOR(11111111) FLOOR(111111111) FLOOR(1111111111)
|
||||||
SELECT
|
SELECT
|
||||||
ROUND(1),
|
ROUND(1),
|
||||||
|
@ -24,7 +24,7 @@ FLUSH LOGS;
|
|||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
use `test`/*!*/;
|
use `test`/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -39,7 +39,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||||||
INSERT INTO t1 VALUES (1)
|
INSERT INTO t1 VALUES (1)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
COMMIT/*!*/;
|
COMMIT/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
INSERT INTO t1 VALUES (2)
|
INSERT INTO t1 VALUES (2)
|
||||||
@ -55,7 +55,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
use `foo`/*!*/;
|
use `foo`/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -70,7 +70,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||||||
INSERT INTO t1 VALUES (1)
|
INSERT INTO t1 VALUES (1)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
COMMIT/*!*/;
|
COMMIT/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
INSERT INTO t1 VALUES (2)
|
INSERT INTO t1 VALUES (2)
|
||||||
|
@ -37,7 +37,7 @@ create table t1 (word varchar(20))
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
create table t2 (id int auto_increment not null primary key)
|
create table t2 (id int auto_increment not null primary key)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
insert into t1 values ("abirvalg")
|
insert into t1 values ("abirvalg")
|
||||||
@ -45,7 +45,7 @@ insert into t1 values ("abirvalg")
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -54,7 +54,7 @@ insert into t2 values ()
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||||
@ -62,7 +62,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||||
@ -70,7 +70,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||||
@ -78,7 +78,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||||
@ -97,7 +97,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
use `test`/*!*/;
|
use `test`/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -114,7 +114,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
insert into t1 values ("Alas")
|
insert into t1 values ("Alas")
|
||||||
@ -134,7 +134,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
@ -147,28 +147,28 @@ SET @@session.lc_time_names=0/*!*/;
|
|||||||
SET @@session.collation_database=DEFAULT/*!*/;
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
@ -184,7 +184,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
use `test`/*!*/;
|
use `test`/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -231,7 +231,7 @@ create table t1 (word varchar(20))
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
create table t2 (id int auto_increment not null primary key)
|
create table t2 (id int auto_increment not null primary key)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
insert into t1 values ("abirvalg")
|
insert into t1 values ("abirvalg")
|
||||||
@ -239,7 +239,7 @@ insert into t1 values ("abirvalg")
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -248,7 +248,7 @@ insert into t2 values ()
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||||
@ -256,7 +256,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||||
@ -264,7 +264,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||||
@ -272,7 +272,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||||
@ -291,7 +291,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
use `test`/*!*/;
|
use `test`/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -308,7 +308,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
insert into t1 values ("Alas")
|
insert into t1 values ("Alas")
|
||||||
@ -328,7 +328,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
@ -341,28 +341,28 @@ SET @@session.lc_time_names=0/*!*/;
|
|||||||
SET @@session.collation_database=DEFAULT/*!*/;
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
@ -378,7 +378,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
use `test`/*!*/;
|
use `test`/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -553,7 +553,7 @@ SET @@session.lc_time_names=0/*!*/;
|
|||||||
SET @@session.collation_database=DEFAULT/*!*/;
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a varchar(64) character set utf8)
|
create table t1 (a varchar(64) character set utf8)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
||||||
@ -561,7 +561,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
SET @@session.collation_database=7/*!*/;
|
SET @@session.collation_database=7/*!*/;
|
||||||
@ -570,7 +570,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
SET @@session.collation_database=DEFAULT/*!*/;
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
@ -579,7 +579,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
||||||
@ -587,7 +587,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
SET @@session.collation_database=7/*!*/;
|
SET @@session.collation_database=7/*!*/;
|
||||||
@ -596,7 +596,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
SET @@session.collation_database=DEFAULT/*!*/;
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
@ -605,7 +605,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
|||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
COMMIT
|
COMMIT
|
||||||
/*!*/;
|
/*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` CHARACTER SET koi8r FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` CHARACTER SET koi8r FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
||||||
|
@ -53,7 +53,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
|
|||||||
# at 727
|
# at 727
|
||||||
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
|
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
|
||||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 769
|
# at 769
|
||||||
# at 843
|
# at 843
|
||||||
@ -82,7 +82,7 @@ COMMIT
|
|||||||
# at 1040
|
# at 1040
|
||||||
#<date> server id 1 end_log_pos 1082 CRC32 XXX GTID 0-1-4
|
#<date> server id 1 end_log_pos 1082 CRC32 XXX GTID 0-1-4
|
||||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1082
|
# at 1082
|
||||||
# at 1158
|
# at 1158
|
||||||
@ -111,7 +111,7 @@ COMMIT
|
|||||||
# at 1354
|
# at 1354
|
||||||
#<date> server id 1 end_log_pos 1396 CRC32 XXX GTID 0-1-5
|
#<date> server id 1 end_log_pos 1396 CRC32 XXX GTID 0-1-5
|
||||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1396
|
# at 1396
|
||||||
# at 1474
|
# at 1474
|
||||||
@ -140,7 +140,7 @@ COMMIT
|
|||||||
# at 1669
|
# at 1669
|
||||||
#<date> server id 1 end_log_pos 1711 CRC32 XXX GTID 0-1-6
|
#<date> server id 1 end_log_pos 1711 CRC32 XXX GTID 0-1-6
|
||||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1711
|
# at 1711
|
||||||
# at 1786
|
# at 1786
|
||||||
@ -169,7 +169,7 @@ COMMIT
|
|||||||
# at 1982
|
# at 1982
|
||||||
#<date> server id 1 end_log_pos 2024 CRC32 XXX GTID 0-1-7
|
#<date> server id 1 end_log_pos 2024 CRC32 XXX GTID 0-1-7
|
||||||
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2024
|
# at 2024
|
||||||
# at 2078
|
# at 2078
|
||||||
@ -231,7 +231,7 @@ COMMIT
|
|||||||
# at 2298
|
# at 2298
|
||||||
#<date> server id 1 end_log_pos 2340 CRC32 XXX GTID 0-1-8
|
#<date> server id 1 end_log_pos 2340 CRC32 XXX GTID 0-1-8
|
||||||
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2340
|
# at 2340
|
||||||
# at 2406
|
# at 2406
|
||||||
@ -312,7 +312,7 @@ COMMIT
|
|||||||
# at 2634
|
# at 2634
|
||||||
#<date> server id 1 end_log_pos 2676 CRC32 XXX GTID 0-1-9
|
#<date> server id 1 end_log_pos 2676 CRC32 XXX GTID 0-1-9
|
||||||
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2676
|
# at 2676
|
||||||
# at 2713
|
# at 2713
|
||||||
@ -374,7 +374,7 @@ COMMIT
|
|||||||
# at 2934
|
# at 2934
|
||||||
#<date> server id 1 end_log_pos 2976 CRC32 XXX GTID 0-1-10
|
#<date> server id 1 end_log_pos 2976 CRC32 XXX GTID 0-1-10
|
||||||
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2976
|
# at 2976
|
||||||
# at 3013
|
# at 3013
|
||||||
|
@ -51,7 +51,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
|
|||||||
# at 774
|
# at 774
|
||||||
#<date> server id 1 end_log_pos 816 CRC32 XXX GTID 0-1-3
|
#<date> server id 1 end_log_pos 816 CRC32 XXX GTID 0-1-3
|
||||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 816
|
# at 816
|
||||||
# at 890
|
# at 890
|
||||||
@ -80,7 +80,7 @@ COMMIT
|
|||||||
# at 1088
|
# at 1088
|
||||||
#<date> server id 1 end_log_pos 1130 CRC32 XXX GTID 0-1-4
|
#<date> server id 1 end_log_pos 1130 CRC32 XXX GTID 0-1-4
|
||||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1130
|
# at 1130
|
||||||
# at 1206
|
# at 1206
|
||||||
@ -109,7 +109,7 @@ COMMIT
|
|||||||
# at 1403
|
# at 1403
|
||||||
#<date> server id 1 end_log_pos 1445 CRC32 XXX GTID 0-1-5
|
#<date> server id 1 end_log_pos 1445 CRC32 XXX GTID 0-1-5
|
||||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1445
|
# at 1445
|
||||||
# at 1523
|
# at 1523
|
||||||
@ -138,7 +138,7 @@ COMMIT
|
|||||||
# at 1719
|
# at 1719
|
||||||
#<date> server id 1 end_log_pos 1761 CRC32 XXX GTID 0-1-6
|
#<date> server id 1 end_log_pos 1761 CRC32 XXX GTID 0-1-6
|
||||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1761
|
# at 1761
|
||||||
# at 1836
|
# at 1836
|
||||||
@ -167,7 +167,7 @@ COMMIT
|
|||||||
# at 2035
|
# at 2035
|
||||||
#<date> server id 1 end_log_pos 2077 CRC32 XXX GTID 0-1-7
|
#<date> server id 1 end_log_pos 2077 CRC32 XXX GTID 0-1-7
|
||||||
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2077
|
# at 2077
|
||||||
# at 2131
|
# at 2131
|
||||||
@ -229,7 +229,7 @@ COMMIT
|
|||||||
# at 2427
|
# at 2427
|
||||||
#<date> server id 1 end_log_pos 2469 CRC32 XXX GTID 0-1-8
|
#<date> server id 1 end_log_pos 2469 CRC32 XXX GTID 0-1-8
|
||||||
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2469
|
# at 2469
|
||||||
# at 2535
|
# at 2535
|
||||||
@ -262,7 +262,7 @@ COMMIT
|
|||||||
# at 2730
|
# at 2730
|
||||||
#<date> server id 1 end_log_pos 2772 CRC32 XXX GTID 0-1-9
|
#<date> server id 1 end_log_pos 2772 CRC32 XXX GTID 0-1-9
|
||||||
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2772
|
# at 2772
|
||||||
# at 2809
|
# at 2809
|
||||||
@ -292,7 +292,7 @@ COMMIT
|
|||||||
# at 2992
|
# at 2992
|
||||||
#<date> server id 1 end_log_pos 3034 CRC32 XXX GTID 0-1-10
|
#<date> server id 1 end_log_pos 3034 CRC32 XXX GTID 0-1-10
|
||||||
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 3034
|
# at 3034
|
||||||
# at 3071
|
# at 3071
|
||||||
@ -357,7 +357,7 @@ DELIMITER /*!*/;
|
|||||||
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
||||||
/*!100001 SET @@session.server_id=1*//*!*/;
|
/*!100001 SET @@session.server_id=1*//*!*/;
|
||||||
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 429
|
# at 429
|
||||||
# at 543
|
# at 543
|
||||||
|
@ -53,7 +53,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
|
|||||||
# at 727
|
# at 727
|
||||||
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
|
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
|
||||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 769
|
# at 769
|
||||||
#<date> server id 1 end_log_pos 897 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
#<date> server id 1 end_log_pos 897 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||||
@ -68,7 +68,7 @@ COMMIT
|
|||||||
# at 970
|
# at 970
|
||||||
#<date> server id 1 end_log_pos 1012 CRC32 XXX GTID 0-1-4
|
#<date> server id 1 end_log_pos 1012 CRC32 XXX GTID 0-1-4
|
||||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1012
|
# at 1012
|
||||||
#<date> server id 1 end_log_pos 1140 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
#<date> server id 1 end_log_pos 1140 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||||
@ -83,7 +83,7 @@ COMMIT
|
|||||||
# at 1213
|
# at 1213
|
||||||
#<date> server id 1 end_log_pos 1255 CRC32 XXX GTID 0-1-5
|
#<date> server id 1 end_log_pos 1255 CRC32 XXX GTID 0-1-5
|
||||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1255
|
# at 1255
|
||||||
#<date> server id 1 end_log_pos 1385 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
#<date> server id 1 end_log_pos 1385 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||||
@ -98,7 +98,7 @@ COMMIT
|
|||||||
# at 1458
|
# at 1458
|
||||||
#<date> server id 1 end_log_pos 1500 CRC32 XXX GTID 0-1-6
|
#<date> server id 1 end_log_pos 1500 CRC32 XXX GTID 0-1-6
|
||||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1500
|
# at 1500
|
||||||
#<date> server id 1 end_log_pos 1627 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
#<date> server id 1 end_log_pos 1627 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||||
@ -113,7 +113,7 @@ COMMIT
|
|||||||
# at 1700
|
# at 1700
|
||||||
#<date> server id 1 end_log_pos 1742 CRC32 XXX GTID 0-1-7
|
#<date> server id 1 end_log_pos 1742 CRC32 XXX GTID 0-1-7
|
||||||
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1742
|
# at 1742
|
||||||
#<date> server id 1 end_log_pos 1850 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
#<date> server id 1 end_log_pos 1850 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||||
@ -128,7 +128,7 @@ COMMIT
|
|||||||
# at 1923
|
# at 1923
|
||||||
#<date> server id 1 end_log_pos 1965 CRC32 XXX GTID 0-1-8
|
#<date> server id 1 end_log_pos 1965 CRC32 XXX GTID 0-1-8
|
||||||
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 1965
|
# at 1965
|
||||||
#<date> server id 1 end_log_pos 2082 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
#<date> server id 1 end_log_pos 2082 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||||
@ -143,7 +143,7 @@ COMMIT
|
|||||||
# at 2155
|
# at 2155
|
||||||
#<date> server id 1 end_log_pos 2197 CRC32 XXX GTID 0-1-9
|
#<date> server id 1 end_log_pos 2197 CRC32 XXX GTID 0-1-9
|
||||||
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2197
|
# at 2197
|
||||||
#<date> server id 1 end_log_pos 2288 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
#<date> server id 1 end_log_pos 2288 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||||
@ -158,7 +158,7 @@ COMMIT
|
|||||||
# at 2361
|
# at 2361
|
||||||
#<date> server id 1 end_log_pos 2403 CRC32 XXX GTID 0-1-10
|
#<date> server id 1 end_log_pos 2403 CRC32 XXX GTID 0-1-10
|
||||||
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
||||||
BEGIN
|
START TRANSACTION
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 2403
|
# at 2403
|
||||||
#<date> server id 1 end_log_pos 2494 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
#<date> server id 1 end_log_pos 2494 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
--source include/not_windows.inc
|
--source include/not_windows.inc
|
||||||
|
|
||||||
--let $args=--table-cache=5 --max-connections=10 --log-warnings=1 --silent-startup --help --verbose
|
--let $args=--table-cache=5 --max-connections=10 --log-warnings=1 --silent-startup --lower-case-table-names=1 --help --verbose
|
||||||
|
|
||||||
--exec $MYSQLD_CMD $args > $MYSQL_TMP_DIR/mysqld--help2.txt 2> $MYSQL_TMP_DIR/mysqld--help2.err
|
--exec $MYSQLD_CMD $args > $MYSQL_TMP_DIR/mysqld--help2.txt 2> $MYSQL_TMP_DIR/mysqld--help2.err
|
||||||
--replace_regex /mysqld/mariadbd/ /\d\d\d\d-\d*-\d* *\d*:\d*:\d* \d* // /control file '.*aria_log_control'/aria_log_control/ /error: \d+/error: #/
|
--replace_regex /mysqld/mariadbd/ /\d\d\d\d-\d*-\d* *\d*:\d*:\d* \d* // /control file '.*aria_log_control'/aria_log_control/ /error: \d+/error: #/
|
||||||
|
@ -35,10 +35,10 @@ SET @@session.session_track_system_variables= @save_session_track_system_variabl
|
|||||||
#
|
#
|
||||||
set @save_optimizer_switch=@@optimizer_switch;
|
set @save_optimizer_switch=@@optimizer_switch;
|
||||||
SET @@session.session_track_system_variables='optimizer_switch';
|
SET @@session.session_track_system_variables='optimizer_switch';
|
||||||
set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
|
set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=on,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
|
||||||
-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES
|
-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES
|
||||||
-- optimizer_switch
|
-- optimizer_switch
|
||||||
-- index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off
|
-- index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=on,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off
|
||||||
|
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release
|
Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release
|
||||||
@ -46,6 +46,18 @@ set @@optimizer_switch=@save_optimizer_switch;
|
|||||||
SET @@session.session_track_system_variables= @save_session_track_system_variables;
|
SET @@session.session_track_system_variables= @save_session_track_system_variables;
|
||||||
# End of 10.2 tests
|
# End of 10.2 tests
|
||||||
#
|
#
|
||||||
|
# MDEV-22134 handle_fatal_signal (sig=11) in __strlen_avx2 on START
|
||||||
|
# SLAVE | Assertion
|
||||||
|
# `global_system_variables.session_track_system_variables' failed in
|
||||||
|
# Session_sysvars_tracker::init | *** buffer overflow detected ***
|
||||||
|
# (on optimized builds)
|
||||||
|
#
|
||||||
|
SET @@GLOBAL.session_track_system_variables=NULL;
|
||||||
|
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
|
||||||
|
SET SESSION session_track_system_variables=NULL;
|
||||||
|
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
|
||||||
|
# End of 10.3 tests
|
||||||
|
#
|
||||||
# MDEV-16470 - Session user variables tracker
|
# MDEV-16470 - Session user variables tracker
|
||||||
#
|
#
|
||||||
# End of 10.5 tests
|
# End of 10.5 tests
|
||||||
|
@ -36,7 +36,7 @@ set @save_optimizer_switch=@@optimizer_switch;
|
|||||||
SET @@session.session_track_system_variables='optimizer_switch';
|
SET @@session.session_track_system_variables='optimizer_switch';
|
||||||
|
|
||||||
--enable_session_track_info
|
--enable_session_track_info
|
||||||
set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
|
set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=on,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
|
||||||
--disable_session_track_info
|
--disable_session_track_info
|
||||||
|
|
||||||
set @@optimizer_switch=@save_optimizer_switch;
|
set @@optimizer_switch=@save_optimizer_switch;
|
||||||
@ -46,6 +46,21 @@ SET @@session.session_track_system_variables= @save_session_track_system_variabl
|
|||||||
|
|
||||||
--echo # End of 10.2 tests
|
--echo # End of 10.2 tests
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-22134 handle_fatal_signal (sig=11) in __strlen_avx2 on START
|
||||||
|
--echo # SLAVE | Assertion
|
||||||
|
--echo # `global_system_variables.session_track_system_variables' failed in
|
||||||
|
--echo # Session_sysvars_tracker::init | *** buffer overflow detected ***
|
||||||
|
--echo # (on optimized builds)
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
SET @@GLOBAL.session_track_system_variables=NULL;
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
SET SESSION session_track_system_variables=NULL;
|
||||||
|
|
||||||
|
--echo # End of 10.3 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-16470 - Session user variables tracker
|
--echo # MDEV-16470 - Session user variables tracker
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -3377,6 +3377,62 @@ SET @@sort_buffer_size= @save_sort_buffer_size;
|
|||||||
SET @@max_sort_length= @save_max_sort_length;
|
SET @@max_sort_length= @save_max_sort_length;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
# MDEV-22390: Assertion `m_next_rec_ptr >= m_rawmem' failed in Filesort_buffer::spaceleft |
|
||||||
|
# SIGSEGV in __memmove_avx_unaligned_erms from my_b_write (on optimized)
|
||||||
|
#
|
||||||
|
SET @save_max_sort_length= @@max_sort_length;
|
||||||
|
SET @save_sort_buffer_size= @@sort_buffer_size;
|
||||||
|
SET @save_max_length_for_sort_data= @@max_length_for_sort_data;
|
||||||
|
SET max_sort_length=8;
|
||||||
|
SET sort_buffer_size=1024;
|
||||||
|
SET max_length_for_sort_data=7000;
|
||||||
|
CREATE TABLE t1(a VARCHAR(64), b VARCHAR(2048))DEFAULT CHARSET=utf8;
|
||||||
|
INSERT INTO t1 SELECT seq,seq from seq_1_to_100;
|
||||||
|
ANALYZE FORMAT=JSON SELECT * FROM t1 ORDER BY a LIMIT 5;
|
||||||
|
ANALYZE
|
||||||
|
{
|
||||||
|
"query_block": {
|
||||||
|
"select_id": 1,
|
||||||
|
"r_loops": 1,
|
||||||
|
"r_total_time_ms": "REPLACED",
|
||||||
|
"read_sorted_file": {
|
||||||
|
"r_rows": 5,
|
||||||
|
"filesort": {
|
||||||
|
"sort_key": "t1.a",
|
||||||
|
"r_loops": 1,
|
||||||
|
"r_total_time_ms": "REPLACED",
|
||||||
|
"r_limit": 5,
|
||||||
|
"r_used_priority_queue": false,
|
||||||
|
"r_output_rows": 100,
|
||||||
|
"r_buffer_size": "REPLACED",
|
||||||
|
"r_sort_mode": "sort_key,packed_addon_fields",
|
||||||
|
"table": {
|
||||||
|
"table_name": "t1",
|
||||||
|
"access_type": "ALL",
|
||||||
|
"r_loops": 1,
|
||||||
|
"rows": 100,
|
||||||
|
"r_rows": 100,
|
||||||
|
"r_table_time_ms": "REPLACED",
|
||||||
|
"r_other_time_ms": "REPLACED",
|
||||||
|
"filtered": 100,
|
||||||
|
"r_filtered": 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SELECT * FROM t1 ORDER BY a LIMIT 5;
|
||||||
|
a b
|
||||||
|
1 1
|
||||||
|
10 10
|
||||||
|
100 100
|
||||||
|
11 11
|
||||||
|
12 12
|
||||||
|
SET max_sort_length= @save_max_sort_length;
|
||||||
|
SET sort_buffer_size= @save_sort_buffer_size;
|
||||||
|
SET max_length_for_sort_data= @save_max_length_for_sort_data;
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
# MDEV-13994: Bad join results with orderby_uses_equalities=on
|
# MDEV-13994: Bad join results with orderby_uses_equalities=on
|
||||||
#
|
#
|
||||||
CREATE TABLE books (
|
CREATE TABLE books (
|
||||||
@ -4024,6 +4080,25 @@ COUNT(DISTINCT a)
|
|||||||
SET @@tmp_memory_table_size= @save_tmp_memory_table_size;
|
SET @@tmp_memory_table_size= @save_tmp_memory_table_size;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
# MDEV-23216: LONGTEXT column with collation doesn't sort
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a LONGTEXT COLLATE utf8mb4_swedish_ci);
|
||||||
|
INSERT INTO t1 VALUES ('A'),('Z'),('B'),('Y');
|
||||||
|
SELECT * FROM t1 ORDER BY a;
|
||||||
|
a
|
||||||
|
A
|
||||||
|
B
|
||||||
|
Y
|
||||||
|
Z
|
||||||
|
SELECT * FROM t1 ORDER BY a DESC;
|
||||||
|
a
|
||||||
|
Z
|
||||||
|
Y
|
||||||
|
B
|
||||||
|
A
|
||||||
|
DROP TABLE t1;
|
||||||
|
# End of 10.5 tests
|
||||||
|
#
|
||||||
# MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
|
# MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a INT, b int, primary key(a));
|
CREATE TABLE t1 (a INT, b int, primary key(a));
|
||||||
@ -4159,4 +4234,4 @@ a group_concat(t1.b)
|
|||||||
96 2
|
96 2
|
||||||
58 1
|
58 1
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
# End of 10.5 tests
|
# End of 10.6 tests
|
||||||
|
@ -2180,6 +2180,28 @@ SET @@sort_buffer_size= @save_sort_buffer_size;
|
|||||||
SET @@max_sort_length= @save_max_sort_length;
|
SET @@max_sort_length= @save_max_sort_length;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-22390: Assertion `m_next_rec_ptr >= m_rawmem' failed in Filesort_buffer::spaceleft |
|
||||||
|
--echo # SIGSEGV in __memmove_avx_unaligned_erms from my_b_write (on optimized)
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET @save_max_sort_length= @@max_sort_length;
|
||||||
|
SET @save_sort_buffer_size= @@sort_buffer_size;
|
||||||
|
SET @save_max_length_for_sort_data= @@max_length_for_sort_data;
|
||||||
|
SET max_sort_length=8;
|
||||||
|
SET sort_buffer_size=1024;
|
||||||
|
# needed to make sure we use addon fields
|
||||||
|
SET max_length_for_sort_data=7000;
|
||||||
|
CREATE TABLE t1(a VARCHAR(64), b VARCHAR(2048))DEFAULT CHARSET=utf8;
|
||||||
|
INSERT INTO t1 SELECT seq,seq from seq_1_to_100;
|
||||||
|
--source include/analyze-format.inc
|
||||||
|
ANALYZE FORMAT=JSON SELECT * FROM t1 ORDER BY a LIMIT 5;
|
||||||
|
SELECT * FROM t1 ORDER BY a LIMIT 5;
|
||||||
|
SET max_sort_length= @save_max_sort_length;
|
||||||
|
SET sort_buffer_size= @save_sort_buffer_size;
|
||||||
|
SET max_length_for_sort_data= @save_max_length_for_sort_data;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-13994: Bad join results with orderby_uses_equalities=on
|
--echo # MDEV-13994: Bad join results with orderby_uses_equalities=on
|
||||||
--echo #
|
--echo #
|
||||||
@ -2500,6 +2522,19 @@ SELECT COUNT(DISTINCT a) FROM t1;
|
|||||||
SET @@tmp_memory_table_size= @save_tmp_memory_table_size;
|
SET @@tmp_memory_table_size= @save_tmp_memory_table_size;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-23216: LONGTEXT column with collation doesn't sort
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a LONGTEXT COLLATE utf8mb4_swedish_ci);
|
||||||
|
INSERT INTO t1 VALUES ('A'),('Z'),('B'),('Y');
|
||||||
|
SELECT * FROM t1 ORDER BY a;
|
||||||
|
SELECT * FROM t1 ORDER BY a DESC;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
|
--echo # MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
|
||||||
--echo #
|
--echo #
|
||||||
@ -2533,4 +2568,4 @@ eval EXPLAIN FORMAT=JSON $query;
|
|||||||
eval $query;
|
eval $query;
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
|
||||||
--echo # End of 10.5 tests
|
--echo # End of 10.6 tests
|
||||||
|
@ -932,11 +932,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
|||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (10),(20),(30);
|
INSERT INTO t1 VALUES (10),(20),(30);
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a);
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a);
|
||||||
a
|
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||||
1
|
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a ORDER BY a);
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a ORDER BY a);
|
||||||
a
|
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||||
1
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
# UNION with a parenthesed term
|
# UNION with a parenthesed term
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
@ -999,14 +997,11 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (10),(20),(30);
|
INSERT INTO t1 VALUES (10),(20),(30);
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a);
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a);
|
||||||
a
|
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||||
1
|
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a);
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a);
|
||||||
a
|
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||||
1
|
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a) LIMIT 1;
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a) LIMIT 1;
|
||||||
a
|
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||||
1
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
# Derived table with ROLLUP
|
# Derived table with ROLLUP
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
@ -1880,6 +1875,69 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
|||||||
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
|
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
|
||||||
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
|
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
|
||||||
set SQL_MODE=@save_sql_mode;
|
set SQL_MODE=@save_sql_mode;
|
||||||
|
#
|
||||||
|
# MDEV-21997: Server crashes in LEX::create_item_ident_sp
|
||||||
|
# upon use of unknown identifier
|
||||||
|
#
|
||||||
|
/*! IF 1 IN ( SELECT 2 ) OR foo = 3 THEN */ SELECT 4;
|
||||||
|
ERROR 42000: Undeclared variable: foo
|
||||||
|
BEGIN NOT ATOMIC
|
||||||
|
IF (SELECT 2) OR foo = 3 THEN
|
||||||
|
SELECT 4;
|
||||||
|
END IF ;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
ERROR 42000: Undeclared variable: foo
|
||||||
|
# ... but if declare it then it still work
|
||||||
|
BEGIN NOT ATOMIC
|
||||||
|
DECLARE foo int;
|
||||||
|
IF (SELECT 2) OR foo = 3 THEN
|
||||||
|
SELECT 4;
|
||||||
|
END IF ;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
4
|
||||||
|
4
|
||||||
|
CASE (SELECT 2) OR foo
|
||||||
|
WHEN 1 THEN
|
||||||
|
SET @x=10;
|
||||||
|
$$
|
||||||
|
ERROR 42000: Undeclared variable: foo
|
||||||
|
/*! WHILE (SELECT 2) OR foo */
|
||||||
|
SET @x=10;
|
||||||
|
END WHILE;
|
||||||
|
$$
|
||||||
|
ERROR 42000: Undeclared variable: foo
|
||||||
|
REPEAT
|
||||||
|
SET @x=10;
|
||||||
|
UNTIL (SELECT 2) OR foo
|
||||||
|
END REPEAT;
|
||||||
|
$$
|
||||||
|
ERROR 42000: Undeclared variable: foo
|
||||||
|
FOR i IN 1..(SELECT 2) OR foo
|
||||||
|
DO
|
||||||
|
SET @x=10;
|
||||||
|
END FOR;
|
||||||
|
$$
|
||||||
|
ERROR 42000: Undeclared variable: foo
|
||||||
|
# ... but automatic FOR variable still work
|
||||||
|
FOR i IN 1..2
|
||||||
|
DO
|
||||||
|
SELECT i;
|
||||||
|
END FOR;
|
||||||
|
$$
|
||||||
|
i
|
||||||
|
1
|
||||||
|
i
|
||||||
|
2
|
||||||
|
#
|
||||||
|
# MDEV-21998: Server crashes in st_select_lex::add_table_to_list
|
||||||
|
# upon mix of KILL and sequences
|
||||||
|
#
|
||||||
|
KILL ( SELECT 1 ) + LASTVAL(s);
|
||||||
|
ERROR 42000: KILL does not support subqueries or stored functions
|
||||||
|
KILL LASTVAL(s);
|
||||||
|
ERROR 42000: KILL does not support subqueries or stored functions
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
# Start of 10.5 tests
|
# Start of 10.5 tests
|
||||||
|
@ -1084,7 +1084,9 @@ CREATE TABLE t1 AS SELECT 1 LIMIT 1 UNION SELECT 2;
|
|||||||
--echo # For now, we're testing the parser.
|
--echo # For now, we're testing the parser.
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (10),(20),(30);
|
INSERT INTO t1 VALUES (10),(20),(30);
|
||||||
|
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a);
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a);
|
||||||
|
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a ORDER BY a);
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a ORDER BY a);
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
@ -1125,8 +1127,11 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (10),(20),(30);
|
INSERT INTO t1 VALUES (10),(20),(30);
|
||||||
|
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a);
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a);
|
||||||
|
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a);
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a);
|
||||||
|
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a) LIMIT 1;
|
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a) LIMIT 1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
@ -1610,6 +1615,80 @@ SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
|
|||||||
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
|
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
|
||||||
set SQL_MODE=@save_sql_mode;
|
set SQL_MODE=@save_sql_mode;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-21997: Server crashes in LEX::create_item_ident_sp
|
||||||
|
--echo # upon use of unknown identifier
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--error ER_SP_UNDECLARED_VAR
|
||||||
|
/*! IF 1 IN ( SELECT 2 ) OR foo = 3 THEN */ SELECT 4;
|
||||||
|
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
|
||||||
|
--error ER_SP_UNDECLARED_VAR
|
||||||
|
BEGIN NOT ATOMIC
|
||||||
|
IF (SELECT 2) OR foo = 3 THEN
|
||||||
|
SELECT 4;
|
||||||
|
END IF ;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
|
||||||
|
--echo # ... but if declare it then it still work
|
||||||
|
BEGIN NOT ATOMIC
|
||||||
|
DECLARE foo int;
|
||||||
|
IF (SELECT 2) OR foo = 3 THEN
|
||||||
|
SELECT 4;
|
||||||
|
END IF ;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
|
||||||
|
--error ER_SP_UNDECLARED_VAR
|
||||||
|
CASE (SELECT 2) OR foo
|
||||||
|
WHEN 1 THEN
|
||||||
|
SET @x=10;
|
||||||
|
$$
|
||||||
|
|
||||||
|
--error ER_SP_UNDECLARED_VAR
|
||||||
|
/*! WHILE (SELECT 2) OR foo */
|
||||||
|
SET @x=10;
|
||||||
|
END WHILE;
|
||||||
|
$$
|
||||||
|
|
||||||
|
--error ER_SP_UNDECLARED_VAR
|
||||||
|
REPEAT
|
||||||
|
SET @x=10;
|
||||||
|
UNTIL (SELECT 2) OR foo
|
||||||
|
END REPEAT;
|
||||||
|
$$
|
||||||
|
|
||||||
|
--error ER_SP_UNDECLARED_VAR
|
||||||
|
FOR i IN 1..(SELECT 2) OR foo
|
||||||
|
DO
|
||||||
|
SET @x=10;
|
||||||
|
END FOR;
|
||||||
|
$$
|
||||||
|
|
||||||
|
--echo # ... but automatic FOR variable still work
|
||||||
|
FOR i IN 1..2
|
||||||
|
DO
|
||||||
|
SELECT i;
|
||||||
|
END FOR;
|
||||||
|
$$
|
||||||
|
|
||||||
|
DELIMITER ;$$
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-21998: Server crashes in st_select_lex::add_table_to_list
|
||||||
|
--echo # upon mix of KILL and sequences
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--error ER_SUBQUERIES_NOT_SUPPORTED
|
||||||
|
KILL ( SELECT 1 ) + LASTVAL(s);
|
||||||
|
--error ER_SUBQUERIES_NOT_SUPPORTED
|
||||||
|
KILL LASTVAL(s);
|
||||||
|
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
|
|
||||||
|
|
||||||
|
@ -1897,6 +1897,24 @@ ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
|
|||||||
SELECT * FROM t1 PARTITION (p0);
|
SELECT * FROM t1 PARTITION (p0);
|
||||||
i
|
i
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-18371 Server crashes in ha_innobase::cmp_ref upon UPDATE with PARTITION clause.
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT, b INT, KEY (a)) ENGINE=InnoDB PARTITION BY KEY(b) PARTITIONS 4;
|
||||||
|
INSERT INTO t1 VALUES (3,0),(8,2),(7,8),(3,4),(2,4),(0,7),(4,3),(3,6);
|
||||||
|
FLUSH TABLES;
|
||||||
|
UPDATE t1 PARTITION (p3,p1) SET a = 2 WHERE a = 3;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
a b
|
||||||
|
2 0
|
||||||
|
7 8
|
||||||
|
2 4
|
||||||
|
2 4
|
||||||
|
0 7
|
||||||
|
4 3
|
||||||
|
8 2
|
||||||
|
2 6
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
#
|
#
|
||||||
# MDEV-18982: INSERT using explicit patition pruning with column list
|
# MDEV-18982: INSERT using explicit patition pruning with column list
|
||||||
|
@ -874,6 +874,18 @@ SELECT * FROM t1 PARTITION (p0);
|
|||||||
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
|
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
|
||||||
SELECT * FROM t1 PARTITION (p0);
|
SELECT * FROM t1 PARTITION (p0);
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-18371 Server crashes in ha_innobase::cmp_ref upon UPDATE with PARTITION clause.
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a INT, b INT, KEY (a)) ENGINE=InnoDB PARTITION BY KEY(b) PARTITIONS 4;
|
||||||
|
INSERT INTO t1 VALUES (3,0),(8,2),(7,8),(3,4),(2,4),(0,7),(4,3),(3,6);
|
||||||
|
FLUSH TABLES;
|
||||||
|
UPDATE t1 PARTITION (p3,p1) SET a = 2 WHERE a = 3;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
@ -342,6 +342,19 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
# End of 10.1 test
|
# End of 10.1 test
|
||||||
#
|
#
|
||||||
|
# MDEV-21258: Can't uninstall plugin if the library file doesn't exist
|
||||||
|
#
|
||||||
|
insert into mysql.plugin values ("unexisting_plugin", "soname");
|
||||||
|
select * from mysql.plugin WHERE name='unexisting_plugin';
|
||||||
|
name dl
|
||||||
|
unexisting_plugin soname
|
||||||
|
UNINSTALL PLUGIN unexisting_plugin;
|
||||||
|
select * from mysql.plugin WHERE name='unexisting_plugin';
|
||||||
|
name dl
|
||||||
|
UNINSTALL PLUGIN unexisting_plugin;
|
||||||
|
ERROR 42000: PLUGIN unexisting_plugin does not exist
|
||||||
|
# End of 10.2 tests
|
||||||
|
#
|
||||||
# MDEV-16294: INSTALL PLUGIN IF NOT EXISTS / UNINSTALL PLUGIN IF EXISTS
|
# MDEV-16294: INSTALL PLUGIN IF NOT EXISTS / UNINSTALL PLUGIN IF EXISTS
|
||||||
#
|
#
|
||||||
# INSTALL IF NOT EXISTS PLUGIN name SONAME library /
|
# INSTALL IF NOT EXISTS PLUGIN name SONAME library /
|
||||||
@ -403,3 +416,4 @@ INSTALL PLUGIN example SONAME 'ha_example';
|
|||||||
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
|
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
UNINSTALL PLUGIN example;
|
UNINSTALL PLUGIN example;
|
||||||
|
# End of 10.4 tests
|
||||||
|
@ -277,8 +277,27 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
--echo # End of 10.1 test
|
--echo # End of 10.1 test
|
||||||
|
|
||||||
--source include/install_plugin_if_exists.inc
|
--echo #
|
||||||
|
--echo # MDEV-21258: Can't uninstall plugin if the library file doesn't exist
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
insert into mysql.plugin values ("unexisting_plugin", "soname");
|
||||||
|
|
||||||
|
# check that we have the plugin installed
|
||||||
|
select * from mysql.plugin WHERE name='unexisting_plugin';
|
||||||
|
|
||||||
|
# make attempt to uninstall the plugin
|
||||||
|
UNINSTALL PLUGIN unexisting_plugin;
|
||||||
|
|
||||||
|
# check that we have the plugin uninstalled
|
||||||
|
select * from mysql.plugin WHERE name='unexisting_plugin';
|
||||||
|
|
||||||
|
--error ER_SP_DOES_NOT_EXIST
|
||||||
|
UNINSTALL PLUGIN unexisting_plugin;
|
||||||
|
|
||||||
|
--echo # End of 10.2 tests
|
||||||
|
|
||||||
|
--source include/install_plugin_if_exists.inc
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Make sure temporary tables maintain plugin references properly
|
--echo # Make sure temporary tables maintain plugin references properly
|
||||||
@ -294,3 +313,5 @@ INSTALL PLUGIN example SONAME 'ha_example';
|
|||||||
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
|
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
UNINSTALL PLUGIN example;
|
UNINSTALL PLUGIN example;
|
||||||
|
|
||||||
|
--echo # End of 10.4 tests
|
||||||
|
21
mysql-test/main/rowid_filter_myisam.result
Normal file
21
mysql-test/main/rowid_filter_myisam.result
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#
|
||||||
|
# MDEV-22553: Assertion `info->lastpos == (~ (my_off_t) 0)' failed in mi_rkey with rowid_filer=on
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
a smallint(6) DEFAULT NULL,
|
||||||
|
b bigint(20) DEFAULT NULL,
|
||||||
|
c varchar(64) DEFAULT NULL,
|
||||||
|
d varchar(64) DEFAULT NULL,
|
||||||
|
e smallint(6) DEFAULT NULL,
|
||||||
|
f bigint(20) DEFAULT NULL,
|
||||||
|
KEY a (a),
|
||||||
|
KEY d (d),
|
||||||
|
KEY f (f)
|
||||||
|
) ENGINE=MyISAM;
|
||||||
|
ALTER TABLE t1 DISABLE KEYS;
|
||||||
|
# Insert a lot of rows
|
||||||
|
ALTER TABLE t1 ENABLE KEYS;
|
||||||
|
# Must not crash:
|
||||||
|
SELECT * FROM t1 WHERE ( a BETWEEN 255 AND 270 OR f = 200 ) AND f IN ( 1, 4, 112, 143 ) AND d IN ('Montana', 'South Dakota');
|
||||||
|
a b c d e f
|
||||||
|
DROP TABLE t1;
|
1625
mysql-test/main/rowid_filter_myisam.test
Normal file
1625
mysql-test/main/rowid_filter_myisam.test
Normal file
File diff suppressed because it is too large
Load Diff
@ -2285,13 +2285,13 @@ begin
|
|||||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||||
SIGNAL foo SET MYSQL_ERRNO = `65`; /* illegal */
|
SIGNAL foo SET MYSQL_ERRNO = `65`; /* illegal */
|
||||||
end $$
|
end $$
|
||||||
ERROR 42S22: Unknown column '65' in 'field list'
|
ERROR 42000: Undeclared variable: 65
|
||||||
create procedure test_signal()
|
create procedure test_signal()
|
||||||
begin
|
begin
|
||||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||||
SIGNAL foo SET MYSQL_ERRNO = `A`; /* illegal */
|
SIGNAL foo SET MYSQL_ERRNO = `A`; /* illegal */
|
||||||
end $$
|
end $$
|
||||||
ERROR 42S22: Unknown column 'A' in 'field list'
|
ERROR 42000: Undeclared variable: A
|
||||||
create procedure test_signal()
|
create procedure test_signal()
|
||||||
begin
|
begin
|
||||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||||
@ -2342,7 +2342,7 @@ DECLARE foo CONDITION FOR SQLSTATE '12345';
|
|||||||
SIGNAL foo SET MYSQL_ERRNO = 1000,
|
SIGNAL foo SET MYSQL_ERRNO = 1000,
|
||||||
MESSAGE_TEXT = `Hello`;
|
MESSAGE_TEXT = `Hello`;
|
||||||
end $$
|
end $$
|
||||||
ERROR 42S22: Unknown column 'Hello' in 'field list'
|
ERROR 42000: Undeclared variable: Hello
|
||||||
create procedure test_signal()
|
create procedure test_signal()
|
||||||
begin
|
begin
|
||||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||||
|
@ -2546,7 +2546,7 @@ end $$
|
|||||||
call test_signal $$
|
call test_signal $$
|
||||||
drop procedure test_signal $$
|
drop procedure test_signal $$
|
||||||
|
|
||||||
-- error ER_BAD_FIELD_ERROR
|
-- error ER_SP_UNDECLARED_VAR
|
||||||
create procedure test_signal()
|
create procedure test_signal()
|
||||||
begin
|
begin
|
||||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||||
@ -2554,7 +2554,7 @@ begin
|
|||||||
end $$
|
end $$
|
||||||
|
|
||||||
|
|
||||||
-- error ER_BAD_FIELD_ERROR
|
-- error ER_SP_UNDECLARED_VAR
|
||||||
create procedure test_signal()
|
create procedure test_signal()
|
||||||
begin
|
begin
|
||||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||||
@ -2616,7 +2616,7 @@ end $$
|
|||||||
call test_signal $$
|
call test_signal $$
|
||||||
drop procedure test_signal $$
|
drop procedure test_signal $$
|
||||||
|
|
||||||
-- error ER_BAD_FIELD_ERROR
|
-- error ER_SP_UNDECLARED_VAR
|
||||||
create procedure test_signal()
|
create procedure test_signal()
|
||||||
begin
|
begin
|
||||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||||
|
@ -452,7 +452,7 @@ else
|
|||||||
set b = a;
|
set b = a;
|
||||||
end if;
|
end if;
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'aa' in 'field list'
|
ERROR 42000: Undeclared variable: aa
|
||||||
create procedure bug4344() drop procedure bug4344|
|
create procedure bug4344() drop procedure bug4344|
|
||||||
ERROR HY000: Can't drop or alter a PROCEDURE from within another stored routine
|
ERROR HY000: Can't drop or alter a PROCEDURE from within another stored routine
|
||||||
create procedure bug4344() drop function bug4344|
|
create procedure bug4344() drop function bug4344|
|
||||||
@ -1067,7 +1067,7 @@ IF bug13037_foo THEN
|
|||||||
SELECT 1;
|
SELECT 1;
|
||||||
END IF;
|
END IF;
|
||||||
END|
|
END|
|
||||||
ERROR 42S22: Unknown column 'bug13037_foo' in 'field list'
|
ERROR 42000: Undeclared variable: bug13037_foo
|
||||||
CREATE PROCEDURE bug13037_p2()
|
CREATE PROCEDURE bug13037_p2()
|
||||||
BEGIN
|
BEGIN
|
||||||
SET @bug13037_foo = bug13037_bar;
|
SET @bug13037_foo = bug13037_bar;
|
||||||
@ -2870,3 +2870,16 @@ SELECT @msg;
|
|||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
DROP FUNCTION f2;
|
DROP FUNCTION f2;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# 10.2 Test
|
||||||
|
#
|
||||||
|
# MDEV-MDEV-22058: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||||
|
# is_bulk_op())' failed in Diagnostics_area::set_ok_status
|
||||||
|
#
|
||||||
|
SET @old_optimizer_switch = @@SESSION.OPTIMIZER_SWITCH;
|
||||||
|
SET @cmd:="SET @@SESSION.SQL_MODE=(SELECT 'a')";
|
||||||
|
SET @@SESSION.OPTIMIZER_SWITCH="in_to_exists=OFF,materialization=OFF";
|
||||||
|
ERROR HY000: At least one of the 'in_to_exists' or 'materialization' optimizer_switch flags must be 'on'
|
||||||
|
PREPARE stmt FROM @cmd;
|
||||||
|
set @@SESSION.OPTIMIZER_SWITCH=@old_optimizer_switch;
|
||||||
|
# End of 10.2 Test
|
||||||
|
@ -612,7 +612,7 @@ create procedure bug2653_1(a int, out b int)
|
|||||||
set b = aa|
|
set b = aa|
|
||||||
|
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug2653_2(a int, out b int)
|
create procedure bug2653_2(a int, out b int)
|
||||||
begin
|
begin
|
||||||
if aa < 0 then
|
if aa < 0 then
|
||||||
@ -1505,7 +1505,7 @@ DROP PROCEDURE IF EXISTS bug13037_p3;
|
|||||||
|
|
||||||
delimiter |;
|
delimiter |;
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
CREATE PROCEDURE bug13037_p1()
|
CREATE PROCEDURE bug13037_p1()
|
||||||
BEGIN
|
BEGIN
|
||||||
IF bug13037_foo THEN
|
IF bug13037_foo THEN
|
||||||
@ -3835,3 +3835,22 @@ SELECT @msg;
|
|||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
DROP FUNCTION f2;
|
DROP FUNCTION f2;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # 10.2 Test
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-MDEV-22058: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||||
|
--echo # is_bulk_op())' failed in Diagnostics_area::set_ok_status
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET @old_optimizer_switch = @@SESSION.OPTIMIZER_SWITCH;
|
||||||
|
|
||||||
|
SET @cmd:="SET @@SESSION.SQL_MODE=(SELECT 'a')";
|
||||||
|
|
||||||
|
--error ER_ILLEGAL_SUBQUERY_OPTIMIZER_SWITCHES
|
||||||
|
SET @@SESSION.OPTIMIZER_SWITCH="in_to_exists=OFF,materialization=OFF";
|
||||||
|
PREPARE stmt FROM @cmd;
|
||||||
|
|
||||||
|
set @@SESSION.OPTIMIZER_SWITCH=@old_optimizer_switch;
|
||||||
|
|
||||||
|
--echo # End of 10.2 Test
|
||||||
|
@ -4184,7 +4184,7 @@ select v, isnull(v);
|
|||||||
end if;
|
end if;
|
||||||
end;
|
end;
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'undefined_var' in 'field list'
|
ERROR 42000: Undeclared variable: undefined_var
|
||||||
create procedure bug14643_2()
|
create procedure bug14643_2()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'boo' as 'Handler';
|
declare continue handler for sqlexception select 'boo' as 'Handler';
|
||||||
@ -4196,7 +4196,7 @@ select 2;
|
|||||||
end case;
|
end case;
|
||||||
select undefined_var;
|
select undefined_var;
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'undefined_var' in 'field list'
|
ERROR 42000: Undeclared variable: undefined_var
|
||||||
drop procedure if exists bug14304|
|
drop procedure if exists bug14304|
|
||||||
drop table if exists t3, t4|
|
drop table if exists t3, t4|
|
||||||
create table t3(a int primary key auto_increment)|
|
create table t3(a int primary key auto_increment)|
|
||||||
@ -4226,7 +4226,7 @@ create procedure bug14376()
|
|||||||
begin
|
begin
|
||||||
declare x int default x;
|
declare x int default x;
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'x' in 'field list'
|
ERROR 42000: Undeclared variable: x
|
||||||
create procedure bug14376()
|
create procedure bug14376()
|
||||||
begin
|
begin
|
||||||
declare x int default 42;
|
declare x int default 42;
|
||||||
@ -4481,7 +4481,7 @@ select 'no' as 'v';
|
|||||||
end if;
|
end if;
|
||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
ERROR 42000: Undeclared variable: v
|
||||||
create procedure bug14498_2()
|
create procedure bug14498_2()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -4490,7 +4490,7 @@ select 'yes' as 'v';
|
|||||||
end while;
|
end while;
|
||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
ERROR 42000: Undeclared variable: v
|
||||||
create procedure bug14498_3()
|
create procedure bug14498_3()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -4499,7 +4499,7 @@ select 'maybe' as 'v';
|
|||||||
until v end repeat;
|
until v end repeat;
|
||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
ERROR 42000: Undeclared variable: v
|
||||||
create procedure bug14498_4()
|
create procedure bug14498_4()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -4513,7 +4513,7 @@ select '?' as 'v';
|
|||||||
end case;
|
end case;
|
||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
ERROR 42000: Undeclared variable: v
|
||||||
create procedure bug14498_5()
|
create procedure bug14498_5()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -4527,7 +4527,7 @@ select '?' as 'v';
|
|||||||
end case;
|
end case;
|
||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
ERROR 42000: Undeclared variable: v
|
||||||
drop table if exists t3|
|
drop table if exists t3|
|
||||||
drop procedure if exists bug15231_1|
|
drop procedure if exists bug15231_1|
|
||||||
drop procedure if exists bug15231_2|
|
drop procedure if exists bug15231_2|
|
||||||
@ -8401,7 +8401,7 @@ DECLARE name VARCHAR(10);
|
|||||||
SET name="hello";
|
SET name="hello";
|
||||||
call p1(name2);
|
call p1(name2);
|
||||||
END|
|
END|
|
||||||
ERROR 42S22: Unknown column 'name2' in 'field list'
|
ERROR 42000: Undeclared variable: name2
|
||||||
call p2();
|
call p2();
|
||||||
a
|
a
|
||||||
hello
|
hello
|
||||||
|
@ -5046,7 +5046,7 @@ drop procedure if exists bug14643_1|
|
|||||||
drop procedure if exists bug14643_2|
|
drop procedure if exists bug14643_2|
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug14643_1()
|
create procedure bug14643_1()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'boo' as 'Handler';
|
declare continue handler for sqlexception select 'boo' as 'Handler';
|
||||||
@ -5062,7 +5062,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end|
|
end|
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug14643_2()
|
create procedure bug14643_2()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'boo' as 'Handler';
|
declare continue handler for sqlexception select 'boo' as 'Handler';
|
||||||
@ -5117,7 +5117,7 @@ drop table t3, t4|
|
|||||||
drop procedure if exists bug14376|
|
drop procedure if exists bug14376|
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug14376()
|
create procedure bug14376()
|
||||||
begin
|
begin
|
||||||
declare x int default x;
|
declare x int default x;
|
||||||
@ -5344,7 +5344,7 @@ drop procedure if exists bug14498_4|
|
|||||||
drop procedure if exists bug14498_5|
|
drop procedure if exists bug14498_5|
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug14498_1()
|
create procedure bug14498_1()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -5357,7 +5357,7 @@ begin
|
|||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug14498_2()
|
create procedure bug14498_2()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -5368,7 +5368,7 @@ begin
|
|||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug14498_3()
|
create procedure bug14498_3()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -5379,7 +5379,7 @@ begin
|
|||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug14498_4()
|
create procedure bug14498_4()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -5395,7 +5395,7 @@ begin
|
|||||||
select 'done' as 'End';
|
select 'done' as 'End';
|
||||||
end|
|
end|
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
create procedure bug14498_5()
|
create procedure bug14498_5()
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||||
@ -9931,7 +9931,7 @@ BEGIN
|
|||||||
call p1(name);
|
call p1(name);
|
||||||
END|
|
END|
|
||||||
|
|
||||||
--error ER_BAD_FIELD_ERROR
|
--error ER_SP_UNDECLARED_VAR
|
||||||
CREATE OR REPLACE PROCEDURE p3 ()
|
CREATE OR REPLACE PROCEDURE p3 ()
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE name VARCHAR(10);
|
DECLARE name VARCHAR(10);
|
||||||
|
@ -926,4 +926,28 @@ set global innodb_stats_persistent= @innodb_stats_persistent_save;
|
|||||||
set global innodb_stats_persistent_sample_pages=
|
set global innodb_stats_persistent_sample_pages=
|
||||||
@innodb_stats_persistent_sample_pages_save;
|
@innodb_stats_persistent_sample_pages_save;
|
||||||
set optimizer_switch=@save_optimizer_switch_for_stat_tables_test;
|
set optimizer_switch=@save_optimizer_switch_for_stat_tables_test;
|
||||||
|
#
|
||||||
|
# MDEV-22851: Engine independent index statistics are incorrect for large tables on Windows.
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a INT) ENGINE=INNODB;
|
||||||
|
INSERT INTO t1 SELECT 1 FROM seq_1_to_60000;
|
||||||
|
SET @save_use_stat_tables= @@use_stat_tables;
|
||||||
|
SET use_stat_tables= preferably;
|
||||||
|
SELECT count(*) FROM t1;
|
||||||
|
count(*)
|
||||||
|
60000
|
||||||
|
CREATE INDEX idx ON t1(a);
|
||||||
|
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS (a) INDEXES (idx);
|
||||||
|
Table Op Msg_type Msg_text
|
||||||
|
test.t1 analyze status Engine-independent statistics collected
|
||||||
|
test.t1 analyze status OK
|
||||||
|
SELECT * FROM mysql.index_stats where table_name='t1';
|
||||||
|
db_name table_name index_name prefix_arity avg_frequency
|
||||||
|
test t1 idx 1 60000.0000
|
||||||
|
SELECT * FROM mysql.column_stats where table_name='t1';
|
||||||
|
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
|
||||||
|
test t1 a 1 1 0.0000 4.0000 60000.0000 0 NULL NULL
|
||||||
|
SET use_stat_tables= @save_use_stat_tables;
|
||||||
|
DROP TABLE t1;
|
||||||
|
# end of 10.1 tests
|
||||||
SET SESSION DEFAULT_STORAGE_ENGINE=DEFAULT;
|
SET SESSION DEFAULT_STORAGE_ENGINE=DEFAULT;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
|
--source include/have_sequence.inc
|
||||||
|
|
||||||
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';
|
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';
|
||||||
|
|
||||||
@ -18,4 +19,23 @@ set global innodb_stats_persistent_sample_pages=
|
|||||||
|
|
||||||
set optimizer_switch=@save_optimizer_switch_for_stat_tables_test;
|
set optimizer_switch=@save_optimizer_switch_for_stat_tables_test;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-22851: Engine independent index statistics are incorrect for large tables on Windows.
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1(a INT) ENGINE=INNODB;
|
||||||
|
INSERT INTO t1 SELECT 1 FROM seq_1_to_60000;
|
||||||
|
|
||||||
|
SET @save_use_stat_tables= @@use_stat_tables;
|
||||||
|
SET use_stat_tables= preferably;
|
||||||
|
SELECT count(*) FROM t1;
|
||||||
|
CREATE INDEX idx ON t1(a);
|
||||||
|
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS (a) INDEXES (idx);
|
||||||
|
SELECT * FROM mysql.index_stats where table_name='t1';
|
||||||
|
SELECT * FROM mysql.column_stats where table_name='t1';
|
||||||
|
SET use_stat_tables= @save_use_stat_tables;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo # end of 10.1 tests
|
||||||
|
|
||||||
SET SESSION DEFAULT_STORAGE_ENGINE=DEFAULT;
|
SET SESSION DEFAULT_STORAGE_ENGINE=DEFAULT;
|
||||||
|
@ -440,8 +440,8 @@ drop table t1,t3;
|
|||||||
# MDEV-159 Assertion about not marked for read failed in
|
# MDEV-159 Assertion about not marked for read failed in
|
||||||
# String* Field_varstring::val_str(String*, String*)
|
# String* Field_varstring::val_str(String*, String*)
|
||||||
#
|
#
|
||||||
SET optimizer_switch = REPLACE( @@optimizer_switch, '=on', '=off' );
|
SET optimizer_switch = REPLACE(REPLACE(@@optimizer_switch, '=on', '=off'), 'in_to_exists=off', 'in_to_exists=on');
|
||||||
SET optimizer_switch='in_to_exists=on,exists_to_in=on';
|
SET optimizer_switch='exists_to_in=on';
|
||||||
CREATE TABLE t1 ( a VARCHAR(1) );
|
CREATE TABLE t1 ( a VARCHAR(1) );
|
||||||
INSERT INTO t1 VALUES ('k'),('m');
|
INSERT INTO t1 VALUES ('k'),('m');
|
||||||
CREATE TABLE t2 ( b INT,
|
CREATE TABLE t2 ( b INT,
|
||||||
@ -596,8 +596,8 @@ Warnings:
|
|||||||
Note 1276 Field or reference 'test.alias.a' of SELECT #2 was resolved in SELECT #1
|
Note 1276 Field or reference 'test.alias.a' of SELECT #2 was resolved in SELECT #1
|
||||||
Note 1276 Field or reference 'test.alias.b' of SELECT #2 was resolved in SELECT #1
|
Note 1276 Field or reference 'test.alias.b' of SELECT #2 was resolved in SELECT #1
|
||||||
Note 1003 select `test`.`alias`.`a` AS `a`,`test`.`alias`.`b` AS `b` from `test`.`t1` `alias` semi join (`test`.`t1`) where `test`.`t1`.`a` = `test`.`alias`.`b` and `test`.`alias`.`b` > `test`.`alias`.`a`
|
Note 1003 select `test`.`alias`.`a` AS `a`,`test`.`alias`.`b` AS `b` from `test`.`t1` `alias` semi join (`test`.`t1`) where `test`.`t1`.`a` = `test`.`alias`.`b` and `test`.`alias`.`b` > `test`.`alias`.`a`
|
||||||
SET optimizer_switch = REPLACE( @@optimizer_switch, '=on', '=off' );
|
SET optimizer_switch = REPLACE(REPLACE(@@optimizer_switch, '=on', '=off'), 'materialization=off', 'materialization=on');
|
||||||
SET optimizer_switch = 'exists_to_in=on,materialization=on,semijoin=off';
|
SET optimizer_switch = 'exists_to_in=on,semijoin=off';
|
||||||
SELECT * FROM t1 AS alias
|
SELECT * FROM t1 AS alias
|
||||||
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
||||||
a b
|
a b
|
||||||
|
@ -330,8 +330,8 @@ drop table t1,t3;
|
|||||||
--echo # String* Field_varstring::val_str(String*, String*)
|
--echo # String* Field_varstring::val_str(String*, String*)
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
SET optimizer_switch = REPLACE( @@optimizer_switch, '=on', '=off' );
|
SET optimizer_switch = REPLACE(REPLACE(@@optimizer_switch, '=on', '=off'), 'in_to_exists=off', 'in_to_exists=on');
|
||||||
SET optimizer_switch='in_to_exists=on,exists_to_in=on';
|
SET optimizer_switch='exists_to_in=on';
|
||||||
|
|
||||||
CREATE TABLE t1 ( a VARCHAR(1) );
|
CREATE TABLE t1 ( a VARCHAR(1) );
|
||||||
INSERT INTO t1 VALUES ('k'),('m');
|
INSERT INTO t1 VALUES ('k'),('m');
|
||||||
@ -466,8 +466,8 @@ explain extended
|
|||||||
SELECT * FROM t1 AS alias
|
SELECT * FROM t1 AS alias
|
||||||
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
||||||
|
|
||||||
SET optimizer_switch = REPLACE( @@optimizer_switch, '=on', '=off' );
|
SET optimizer_switch = REPLACE(REPLACE(@@optimizer_switch, '=on', '=off'), 'materialization=off', 'materialization=on');
|
||||||
SET optimizer_switch = 'exists_to_in=on,materialization=on,semijoin=off';
|
SET optimizer_switch = 'exists_to_in=on,semijoin=off';
|
||||||
SELECT * FROM t1 AS alias
|
SELECT * FROM t1 AS alias
|
||||||
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
||||||
explain extended
|
explain extended
|
||||||
|
@ -876,6 +876,989 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
# MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
|
||||||
|
#
|
||||||
|
BEGIN NOT ATOMIC
|
||||||
|
FOR i IN 1..64
|
||||||
|
DO
|
||||||
|
SELECT '-----', CONCAT('BIT(',i,')') AS Type;
|
||||||
|
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a BIT(64))','64', i);
|
||||||
|
INSERT IGNORE INTO t1 VALUES (0xFFFFFFFFFFFFFFFF);
|
||||||
|
CREATE TABLE t2 AS SELECT
|
||||||
|
a,
|
||||||
|
FLOOR(a) AS cf,
|
||||||
|
CEILING(a) AS cc,
|
||||||
|
ROUND(a) AS cr,
|
||||||
|
TRUNCATE(a,0) AS ct
|
||||||
|
FROM t1;
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
SELECT CAST(a AS UNSIGNED) AS a, cf, cc, cr, ct FROM t2;
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
END FOR;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
----- -----
|
||||||
|
Type BIT(1)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(1) DEFAULT NULL,
|
||||||
|
`cf` int(1) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(1) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(1) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(1) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 1
|
||||||
|
cf 1
|
||||||
|
cc 1
|
||||||
|
cr 1
|
||||||
|
ct 1
|
||||||
|
----- -----
|
||||||
|
Type BIT(2)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(2) DEFAULT NULL,
|
||||||
|
`cf` int(1) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(1) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(1) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(1) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 3
|
||||||
|
cf 3
|
||||||
|
cc 3
|
||||||
|
cr 3
|
||||||
|
ct 3
|
||||||
|
----- -----
|
||||||
|
Type BIT(3)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(3) DEFAULT NULL,
|
||||||
|
`cf` int(1) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(1) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(1) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(1) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 7
|
||||||
|
cf 7
|
||||||
|
cc 7
|
||||||
|
cr 7
|
||||||
|
ct 7
|
||||||
|
----- -----
|
||||||
|
Type BIT(4)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(4) DEFAULT NULL,
|
||||||
|
`cf` int(2) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(2) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(2) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(2) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 15
|
||||||
|
cf 15
|
||||||
|
cc 15
|
||||||
|
cr 15
|
||||||
|
ct 15
|
||||||
|
----- -----
|
||||||
|
Type BIT(5)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(5) DEFAULT NULL,
|
||||||
|
`cf` int(2) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(2) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(2) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(2) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 31
|
||||||
|
cf 31
|
||||||
|
cc 31
|
||||||
|
cr 31
|
||||||
|
ct 31
|
||||||
|
----- -----
|
||||||
|
Type BIT(6)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(6) DEFAULT NULL,
|
||||||
|
`cf` int(2) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(2) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(2) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(2) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 63
|
||||||
|
cf 63
|
||||||
|
cc 63
|
||||||
|
cr 63
|
||||||
|
ct 63
|
||||||
|
----- -----
|
||||||
|
Type BIT(7)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(7) DEFAULT NULL,
|
||||||
|
`cf` int(3) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(3) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(3) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(3) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 127
|
||||||
|
cf 127
|
||||||
|
cc 127
|
||||||
|
cr 127
|
||||||
|
ct 127
|
||||||
|
----- -----
|
||||||
|
Type BIT(8)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(8) DEFAULT NULL,
|
||||||
|
`cf` int(3) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(3) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(3) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(3) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 255
|
||||||
|
cf 255
|
||||||
|
cc 255
|
||||||
|
cr 255
|
||||||
|
ct 255
|
||||||
|
----- -----
|
||||||
|
Type BIT(9)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(9) DEFAULT NULL,
|
||||||
|
`cf` int(3) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(3) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(3) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(3) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 511
|
||||||
|
cf 511
|
||||||
|
cc 511
|
||||||
|
cr 511
|
||||||
|
ct 511
|
||||||
|
----- -----
|
||||||
|
Type BIT(10)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(10) DEFAULT NULL,
|
||||||
|
`cf` int(4) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(4) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(4) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(4) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 1023
|
||||||
|
cf 1023
|
||||||
|
cc 1023
|
||||||
|
cr 1023
|
||||||
|
ct 1023
|
||||||
|
----- -----
|
||||||
|
Type BIT(11)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(11) DEFAULT NULL,
|
||||||
|
`cf` int(4) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(4) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(4) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(4) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 2047
|
||||||
|
cf 2047
|
||||||
|
cc 2047
|
||||||
|
cr 2047
|
||||||
|
ct 2047
|
||||||
|
----- -----
|
||||||
|
Type BIT(12)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(12) DEFAULT NULL,
|
||||||
|
`cf` int(4) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(4) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(4) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(4) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 4095
|
||||||
|
cf 4095
|
||||||
|
cc 4095
|
||||||
|
cr 4095
|
||||||
|
ct 4095
|
||||||
|
----- -----
|
||||||
|
Type BIT(13)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(13) DEFAULT NULL,
|
||||||
|
`cf` int(4) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(4) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(4) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(4) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 8191
|
||||||
|
cf 8191
|
||||||
|
cc 8191
|
||||||
|
cr 8191
|
||||||
|
ct 8191
|
||||||
|
----- -----
|
||||||
|
Type BIT(14)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(14) DEFAULT NULL,
|
||||||
|
`cf` int(5) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(5) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(5) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(5) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 16383
|
||||||
|
cf 16383
|
||||||
|
cc 16383
|
||||||
|
cr 16383
|
||||||
|
ct 16383
|
||||||
|
----- -----
|
||||||
|
Type BIT(15)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(15) DEFAULT NULL,
|
||||||
|
`cf` int(5) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(5) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(5) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(5) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 32767
|
||||||
|
cf 32767
|
||||||
|
cc 32767
|
||||||
|
cr 32767
|
||||||
|
ct 32767
|
||||||
|
----- -----
|
||||||
|
Type BIT(16)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(16) DEFAULT NULL,
|
||||||
|
`cf` int(5) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(5) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(5) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(5) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 65535
|
||||||
|
cf 65535
|
||||||
|
cc 65535
|
||||||
|
cr 65535
|
||||||
|
ct 65535
|
||||||
|
----- -----
|
||||||
|
Type BIT(17)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(17) DEFAULT NULL,
|
||||||
|
`cf` int(6) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(6) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(6) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(6) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 131071
|
||||||
|
cf 131071
|
||||||
|
cc 131071
|
||||||
|
cr 131071
|
||||||
|
ct 131071
|
||||||
|
----- -----
|
||||||
|
Type BIT(18)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(18) DEFAULT NULL,
|
||||||
|
`cf` int(6) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(6) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(6) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(6) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 262143
|
||||||
|
cf 262143
|
||||||
|
cc 262143
|
||||||
|
cr 262143
|
||||||
|
ct 262143
|
||||||
|
----- -----
|
||||||
|
Type BIT(19)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(19) DEFAULT NULL,
|
||||||
|
`cf` int(6) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(6) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(6) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(6) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 524287
|
||||||
|
cf 524287
|
||||||
|
cc 524287
|
||||||
|
cr 524287
|
||||||
|
ct 524287
|
||||||
|
----- -----
|
||||||
|
Type BIT(20)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(20) DEFAULT NULL,
|
||||||
|
`cf` int(7) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(7) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(7) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(7) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 1048575
|
||||||
|
cf 1048575
|
||||||
|
cc 1048575
|
||||||
|
cr 1048575
|
||||||
|
ct 1048575
|
||||||
|
----- -----
|
||||||
|
Type BIT(21)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(21) DEFAULT NULL,
|
||||||
|
`cf` int(7) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(7) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(7) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(7) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 2097151
|
||||||
|
cf 2097151
|
||||||
|
cc 2097151
|
||||||
|
cr 2097151
|
||||||
|
ct 2097151
|
||||||
|
----- -----
|
||||||
|
Type BIT(22)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(22) DEFAULT NULL,
|
||||||
|
`cf` int(7) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(7) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(7) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(7) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 4194303
|
||||||
|
cf 4194303
|
||||||
|
cc 4194303
|
||||||
|
cr 4194303
|
||||||
|
ct 4194303
|
||||||
|
----- -----
|
||||||
|
Type BIT(23)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(23) DEFAULT NULL,
|
||||||
|
`cf` int(7) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(7) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(7) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(7) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 8388607
|
||||||
|
cf 8388607
|
||||||
|
cc 8388607
|
||||||
|
cr 8388607
|
||||||
|
ct 8388607
|
||||||
|
----- -----
|
||||||
|
Type BIT(24)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(24) DEFAULT NULL,
|
||||||
|
`cf` int(8) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(8) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(8) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(8) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 16777215
|
||||||
|
cf 16777215
|
||||||
|
cc 16777215
|
||||||
|
cr 16777215
|
||||||
|
ct 16777215
|
||||||
|
----- -----
|
||||||
|
Type BIT(25)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(25) DEFAULT NULL,
|
||||||
|
`cf` int(8) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(8) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(8) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(8) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 33554431
|
||||||
|
cf 33554431
|
||||||
|
cc 33554431
|
||||||
|
cr 33554431
|
||||||
|
ct 33554431
|
||||||
|
----- -----
|
||||||
|
Type BIT(26)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(26) DEFAULT NULL,
|
||||||
|
`cf` int(8) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(8) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(8) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(8) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 67108863
|
||||||
|
cf 67108863
|
||||||
|
cc 67108863
|
||||||
|
cr 67108863
|
||||||
|
ct 67108863
|
||||||
|
----- -----
|
||||||
|
Type BIT(27)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(27) DEFAULT NULL,
|
||||||
|
`cf` int(9) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(9) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(9) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(9) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 134217727
|
||||||
|
cf 134217727
|
||||||
|
cc 134217727
|
||||||
|
cr 134217727
|
||||||
|
ct 134217727
|
||||||
|
----- -----
|
||||||
|
Type BIT(28)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(28) DEFAULT NULL,
|
||||||
|
`cf` int(9) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(9) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(9) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(9) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 268435455
|
||||||
|
cf 268435455
|
||||||
|
cc 268435455
|
||||||
|
cr 268435455
|
||||||
|
ct 268435455
|
||||||
|
----- -----
|
||||||
|
Type BIT(29)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(29) DEFAULT NULL,
|
||||||
|
`cf` int(9) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(9) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(9) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(9) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 536870911
|
||||||
|
cf 536870911
|
||||||
|
cc 536870911
|
||||||
|
cr 536870911
|
||||||
|
ct 536870911
|
||||||
|
----- -----
|
||||||
|
Type BIT(30)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(30) DEFAULT NULL,
|
||||||
|
`cf` int(10) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(10) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(10) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(10) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 1073741823
|
||||||
|
cf 1073741823
|
||||||
|
cc 1073741823
|
||||||
|
cr 1073741823
|
||||||
|
ct 1073741823
|
||||||
|
----- -----
|
||||||
|
Type BIT(31)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(31) DEFAULT NULL,
|
||||||
|
`cf` int(10) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(10) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(10) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(10) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 2147483647
|
||||||
|
cf 2147483647
|
||||||
|
cc 2147483647
|
||||||
|
cr 2147483647
|
||||||
|
ct 2147483647
|
||||||
|
----- -----
|
||||||
|
Type BIT(32)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(32) DEFAULT NULL,
|
||||||
|
`cf` int(10) unsigned DEFAULT NULL,
|
||||||
|
`cc` int(10) unsigned DEFAULT NULL,
|
||||||
|
`cr` int(10) unsigned DEFAULT NULL,
|
||||||
|
`ct` int(10) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 4294967295
|
||||||
|
cf 4294967295
|
||||||
|
cc 4294967295
|
||||||
|
cr 4294967295
|
||||||
|
ct 4294967295
|
||||||
|
----- -----
|
||||||
|
Type BIT(33)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(33) DEFAULT NULL,
|
||||||
|
`cf` bigint(10) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(10) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(10) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(10) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 8589934591
|
||||||
|
cf 8589934591
|
||||||
|
cc 8589934591
|
||||||
|
cr 8589934591
|
||||||
|
ct 8589934591
|
||||||
|
----- -----
|
||||||
|
Type BIT(34)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(34) DEFAULT NULL,
|
||||||
|
`cf` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(11) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 17179869183
|
||||||
|
cf 17179869183
|
||||||
|
cc 17179869183
|
||||||
|
cr 17179869183
|
||||||
|
ct 17179869183
|
||||||
|
----- -----
|
||||||
|
Type BIT(35)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(35) DEFAULT NULL,
|
||||||
|
`cf` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(11) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 34359738367
|
||||||
|
cf 34359738367
|
||||||
|
cc 34359738367
|
||||||
|
cr 34359738367
|
||||||
|
ct 34359738367
|
||||||
|
----- -----
|
||||||
|
Type BIT(36)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(36) DEFAULT NULL,
|
||||||
|
`cf` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(11) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(11) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 68719476735
|
||||||
|
cf 68719476735
|
||||||
|
cc 68719476735
|
||||||
|
cr 68719476735
|
||||||
|
ct 68719476735
|
||||||
|
----- -----
|
||||||
|
Type BIT(37)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(37) DEFAULT NULL,
|
||||||
|
`cf` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(12) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 137438953471
|
||||||
|
cf 137438953471
|
||||||
|
cc 137438953471
|
||||||
|
cr 137438953471
|
||||||
|
ct 137438953471
|
||||||
|
----- -----
|
||||||
|
Type BIT(38)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(38) DEFAULT NULL,
|
||||||
|
`cf` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(12) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 274877906943
|
||||||
|
cf 274877906943
|
||||||
|
cc 274877906943
|
||||||
|
cr 274877906943
|
||||||
|
ct 274877906943
|
||||||
|
----- -----
|
||||||
|
Type BIT(39)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(39) DEFAULT NULL,
|
||||||
|
`cf` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(12) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(12) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 549755813887
|
||||||
|
cf 549755813887
|
||||||
|
cc 549755813887
|
||||||
|
cr 549755813887
|
||||||
|
ct 549755813887
|
||||||
|
----- -----
|
||||||
|
Type BIT(40)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(40) DEFAULT NULL,
|
||||||
|
`cf` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(13) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 1099511627775
|
||||||
|
cf 1099511627775
|
||||||
|
cc 1099511627775
|
||||||
|
cr 1099511627775
|
||||||
|
ct 1099511627775
|
||||||
|
----- -----
|
||||||
|
Type BIT(41)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(41) DEFAULT NULL,
|
||||||
|
`cf` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(13) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 2199023255551
|
||||||
|
cf 2199023255551
|
||||||
|
cc 2199023255551
|
||||||
|
cr 2199023255551
|
||||||
|
ct 2199023255551
|
||||||
|
----- -----
|
||||||
|
Type BIT(42)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(42) DEFAULT NULL,
|
||||||
|
`cf` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(13) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 4398046511103
|
||||||
|
cf 4398046511103
|
||||||
|
cc 4398046511103
|
||||||
|
cr 4398046511103
|
||||||
|
ct 4398046511103
|
||||||
|
----- -----
|
||||||
|
Type BIT(43)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(43) DEFAULT NULL,
|
||||||
|
`cf` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(13) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(13) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 8796093022207
|
||||||
|
cf 8796093022207
|
||||||
|
cc 8796093022207
|
||||||
|
cr 8796093022207
|
||||||
|
ct 8796093022207
|
||||||
|
----- -----
|
||||||
|
Type BIT(44)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(44) DEFAULT NULL,
|
||||||
|
`cf` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(14) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 17592186044415
|
||||||
|
cf 17592186044415
|
||||||
|
cc 17592186044415
|
||||||
|
cr 17592186044415
|
||||||
|
ct 17592186044415
|
||||||
|
----- -----
|
||||||
|
Type BIT(45)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(45) DEFAULT NULL,
|
||||||
|
`cf` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(14) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 35184372088831
|
||||||
|
cf 35184372088831
|
||||||
|
cc 35184372088831
|
||||||
|
cr 35184372088831
|
||||||
|
ct 35184372088831
|
||||||
|
----- -----
|
||||||
|
Type BIT(46)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(46) DEFAULT NULL,
|
||||||
|
`cf` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(14) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(14) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 70368744177663
|
||||||
|
cf 70368744177663
|
||||||
|
cc 70368744177663
|
||||||
|
cr 70368744177663
|
||||||
|
ct 70368744177663
|
||||||
|
----- -----
|
||||||
|
Type BIT(47)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(47) DEFAULT NULL,
|
||||||
|
`cf` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(15) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 140737488355327
|
||||||
|
cf 140737488355327
|
||||||
|
cc 140737488355327
|
||||||
|
cr 140737488355327
|
||||||
|
ct 140737488355327
|
||||||
|
----- -----
|
||||||
|
Type BIT(48)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(48) DEFAULT NULL,
|
||||||
|
`cf` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(15) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 281474976710655
|
||||||
|
cf 281474976710655
|
||||||
|
cc 281474976710655
|
||||||
|
cr 281474976710655
|
||||||
|
ct 281474976710655
|
||||||
|
----- -----
|
||||||
|
Type BIT(49)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(49) DEFAULT NULL,
|
||||||
|
`cf` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(15) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(15) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 562949953421311
|
||||||
|
cf 562949953421311
|
||||||
|
cc 562949953421311
|
||||||
|
cr 562949953421311
|
||||||
|
ct 562949953421311
|
||||||
|
----- -----
|
||||||
|
Type BIT(50)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(50) DEFAULT NULL,
|
||||||
|
`cf` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(16) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 1125899906842623
|
||||||
|
cf 1125899906842623
|
||||||
|
cc 1125899906842623
|
||||||
|
cr 1125899906842623
|
||||||
|
ct 1125899906842623
|
||||||
|
----- -----
|
||||||
|
Type BIT(51)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(51) DEFAULT NULL,
|
||||||
|
`cf` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(16) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 2251799813685247
|
||||||
|
cf 2251799813685247
|
||||||
|
cc 2251799813685247
|
||||||
|
cr 2251799813685247
|
||||||
|
ct 2251799813685247
|
||||||
|
----- -----
|
||||||
|
Type BIT(52)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(52) DEFAULT NULL,
|
||||||
|
`cf` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(16) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 4503599627370495
|
||||||
|
cf 4503599627370495
|
||||||
|
cc 4503599627370495
|
||||||
|
cr 4503599627370495
|
||||||
|
ct 4503599627370495
|
||||||
|
----- -----
|
||||||
|
Type BIT(53)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(53) DEFAULT NULL,
|
||||||
|
`cf` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(16) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(16) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9007199254740991
|
||||||
|
cf 9007199254740991
|
||||||
|
cc 9007199254740991
|
||||||
|
cr 9007199254740991
|
||||||
|
ct 9007199254740991
|
||||||
|
----- -----
|
||||||
|
Type BIT(54)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(54) DEFAULT NULL,
|
||||||
|
`cf` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 18014398509481983
|
||||||
|
cf 18014398509481983
|
||||||
|
cc 18014398509481983
|
||||||
|
cr 18014398509481983
|
||||||
|
ct 18014398509481983
|
||||||
|
----- -----
|
||||||
|
Type BIT(55)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(55) DEFAULT NULL,
|
||||||
|
`cf` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 36028797018963967
|
||||||
|
cf 36028797018963967
|
||||||
|
cc 36028797018963967
|
||||||
|
cr 36028797018963967
|
||||||
|
ct 36028797018963967
|
||||||
|
----- -----
|
||||||
|
Type BIT(56)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(56) DEFAULT NULL,
|
||||||
|
`cf` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(17) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(17) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 72057594037927935
|
||||||
|
cf 72057594037927935
|
||||||
|
cc 72057594037927935
|
||||||
|
cr 72057594037927935
|
||||||
|
ct 72057594037927935
|
||||||
|
----- -----
|
||||||
|
Type BIT(57)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(57) DEFAULT NULL,
|
||||||
|
`cf` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(18) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 144115188075855871
|
||||||
|
cf 144115188075855871
|
||||||
|
cc 144115188075855871
|
||||||
|
cr 144115188075855871
|
||||||
|
ct 144115188075855871
|
||||||
|
----- -----
|
||||||
|
Type BIT(58)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(58) DEFAULT NULL,
|
||||||
|
`cf` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(18) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 288230376151711743
|
||||||
|
cf 288230376151711743
|
||||||
|
cc 288230376151711743
|
||||||
|
cr 288230376151711743
|
||||||
|
ct 288230376151711743
|
||||||
|
----- -----
|
||||||
|
Type BIT(59)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(59) DEFAULT NULL,
|
||||||
|
`cf` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(18) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(18) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 576460752303423487
|
||||||
|
cf 576460752303423487
|
||||||
|
cc 576460752303423487
|
||||||
|
cr 576460752303423487
|
||||||
|
ct 576460752303423487
|
||||||
|
----- -----
|
||||||
|
Type BIT(60)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(60) DEFAULT NULL,
|
||||||
|
`cf` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(19) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 1152921504606846975
|
||||||
|
cf 1152921504606846975
|
||||||
|
cc 1152921504606846975
|
||||||
|
cr 1152921504606846975
|
||||||
|
ct 1152921504606846975
|
||||||
|
----- -----
|
||||||
|
Type BIT(61)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(61) DEFAULT NULL,
|
||||||
|
`cf` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(19) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 2305843009213693951
|
||||||
|
cf 2305843009213693951
|
||||||
|
cc 2305843009213693951
|
||||||
|
cr 2305843009213693951
|
||||||
|
ct 2305843009213693951
|
||||||
|
----- -----
|
||||||
|
Type BIT(62)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(62) DEFAULT NULL,
|
||||||
|
`cf` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(19) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 4611686018427387903
|
||||||
|
cf 4611686018427387903
|
||||||
|
cc 4611686018427387903
|
||||||
|
cr 4611686018427387903
|
||||||
|
ct 4611686018427387903
|
||||||
|
----- -----
|
||||||
|
Type BIT(63)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(63) DEFAULT NULL,
|
||||||
|
`cf` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(19) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(19) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 9223372036854775807
|
||||||
|
cf 9223372036854775807
|
||||||
|
cc 9223372036854775807
|
||||||
|
cr 9223372036854775807
|
||||||
|
ct 9223372036854775807
|
||||||
|
----- -----
|
||||||
|
Type BIT(64)
|
||||||
|
Table t2
|
||||||
|
Create Table CREATE TABLE `t2` (
|
||||||
|
`a` bit(64) DEFAULT NULL,
|
||||||
|
`cf` bigint(20) unsigned DEFAULT NULL,
|
||||||
|
`cc` bigint(20) unsigned DEFAULT NULL,
|
||||||
|
`cr` bigint(20) unsigned DEFAULT NULL,
|
||||||
|
`ct` bigint(20) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
a 18446744073709551615
|
||||||
|
cf 18446744073709551615
|
||||||
|
cc 18446744073709551615
|
||||||
|
cr 18446744073709551615
|
||||||
|
ct 18446744073709551615
|
||||||
|
#
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -507,6 +507,35 @@ EXPLAIN SELECT * FROM t1 WHERE a=200;
|
|||||||
EXPLAIN SELECT * FROM t1 WHERE a<=>200;
|
EXPLAIN SELECT * FROM t1 WHERE a<=>200;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--vertical_results
|
||||||
|
DELIMITER $$;
|
||||||
|
BEGIN NOT ATOMIC
|
||||||
|
FOR i IN 1..64
|
||||||
|
DO
|
||||||
|
SELECT '-----', CONCAT('BIT(',i,')') AS Type;
|
||||||
|
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a BIT(64))','64', i);
|
||||||
|
INSERT IGNORE INTO t1 VALUES (0xFFFFFFFFFFFFFFFF);
|
||||||
|
CREATE TABLE t2 AS SELECT
|
||||||
|
a,
|
||||||
|
FLOOR(a) AS cf,
|
||||||
|
CEILING(a) AS cc,
|
||||||
|
ROUND(a) AS cr,
|
||||||
|
TRUNCATE(a,0) AS ct
|
||||||
|
FROM t1;
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
SELECT CAST(a AS UNSIGNED) AS a, cf, cc, cr, ct FROM t2;
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
END FOR;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
--horizontal_results
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
|
@ -1089,5 +1089,19 @@ CAST(1012.5 AS DATE) * 1.0
|
|||||||
Warnings:
|
Warnings:
|
||||||
Note 1292 Truncated incorrect date value: '1012.5'
|
Note 1292 Truncated incorrect date value: '1012.5'
|
||||||
#
|
#
|
||||||
|
# MDEV-23351 Rounding functions return wrong data types for DATE input
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a date);
|
||||||
|
CREATE TABLE t2 AS SELECT FLOOR(a), CEIL(a),ROUND(a),TRUNCATE(a,0) FROM t1;
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`FLOOR(a)` int(8) unsigned DEFAULT NULL,
|
||||||
|
`CEIL(a)` int(8) unsigned DEFAULT NULL,
|
||||||
|
`ROUND(a)` int(8) unsigned DEFAULT NULL,
|
||||||
|
`TRUNCATE(a,0)` int(8) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t2,t1;
|
||||||
|
#
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
|
@ -740,6 +740,14 @@ SET sql_mode=DEFAULT;
|
|||||||
SELECT NULLIF(CAST(1012.5 AS DATE), 1);
|
SELECT NULLIF(CAST(1012.5 AS DATE), 1);
|
||||||
SELECT CAST(1012.5 AS DATE) * 1.0;
|
SELECT CAST(1012.5 AS DATE) * 1.0;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-23351 Rounding functions return wrong data types for DATE input
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a date);
|
||||||
|
CREATE TABLE t2 AS SELECT FLOOR(a), CEIL(a),ROUND(a),TRUNCATE(a,0) FROM t1;
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
DROP TABLE t2,t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
|
@ -900,5 +900,170 @@ f
|
|||||||
NULL
|
NULL
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
# MDEV-23311 CEILING() and FLOOR() convert temporal input to numbers, unlike ROUND() and TRUNCATE()
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 AS SELECT
|
||||||
|
FLOOR(TIMESTAMP'2001-01-01 00:00:00.999999'),
|
||||||
|
CEILING(TIMESTAMP'2001-01-01 00:00:00.999999');
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`FLOOR(TIMESTAMP'2001-01-01 00:00:00.999999')` datetime DEFAULT NULL,
|
||||||
|
`CEILING(TIMESTAMP'2001-01-01 00:00:00.999999')` datetime DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (a DATETIME(6));
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.99999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.99');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.1');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.0');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.99999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.9999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.99');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.9');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.1');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.0');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.99999');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.9999');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.999');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.99');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.9');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.1');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.0');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.99999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.9999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.99');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.9');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.1');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.0');
|
||||||
|
CREATE FUNCTION FLOOR_SP(a DATETIME(6)) RETURNS DATETIME
|
||||||
|
BEGIN
|
||||||
|
RETURN
|
||||||
|
CASE
|
||||||
|
WHEN EXTRACT(MICROSECOND FROM a)=0 THEN a
|
||||||
|
ELSE TRUNCATE(a,0)
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE FUNCTION CEILING_SP(a DATETIME(6)) RETURNS DATETIME
|
||||||
|
BEGIN
|
||||||
|
RETURN
|
||||||
|
CASE
|
||||||
|
WHEN TRUNCATE(a,0)=TIMESTAMP'9999-12-31 23:59:59' THEN a
|
||||||
|
WHEN EXTRACT(MICROSECOND FROM a)=0 THEN a
|
||||||
|
ELSE TRUNCATE(a,0)+INTERVAL 1 SECOND
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT a, FLOOR(a), FLOOR_SP(a), FLOOR(a)=FLOOR_SP(a) FROM t1 ORDER BY a;
|
||||||
|
a FLOOR(a) FLOOR_SP(a) FLOOR(a)=FLOOR_SP(a)
|
||||||
|
0001-12-31 23:59:59.000000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0001-12-31 23:59:59.100000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0001-12-31 23:59:59.900000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0001-12-31 23:59:59.990000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0001-12-31 23:59:59.999000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0001-12-31 23:59:59.999900 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0001-12-31 23:59:59.999990 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0001-12-31 23:59:59.999999 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.000000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.100000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.900000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.990000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.999000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.999900 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.999990 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.999999 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.000000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.100000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.900000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.990000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.999000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.999900 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.999990 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.999999 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.000000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.100000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.900000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.990000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.999000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.999900 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.999990 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.999999 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
SELECT a, CEILING(a), CEILING_SP(a), CEILING(a)=CEILING_SP(a) FROM t1 ORDER BY a;
|
||||||
|
a CEILING(a) CEILING_SP(a) CEILING(a)=CEILING_SP(a)
|
||||||
|
0001-12-31 23:59:59.000000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
|
||||||
|
0001-12-31 23:59:59.100000 0002-01-01 00:00:00 0002-01-01 00:00:00 1
|
||||||
|
0001-12-31 23:59:59.900000 0002-01-01 00:00:00 0002-01-01 00:00:00 1
|
||||||
|
0001-12-31 23:59:59.990000 0002-01-01 00:00:00 0002-01-01 00:00:00 1
|
||||||
|
0001-12-31 23:59:59.999000 0002-01-01 00:00:00 0002-01-01 00:00:00 1
|
||||||
|
0001-12-31 23:59:59.999900 0002-01-01 00:00:00 0002-01-01 00:00:00 1
|
||||||
|
0001-12-31 23:59:59.999990 0002-01-01 00:00:00 0002-01-01 00:00:00 1
|
||||||
|
0001-12-31 23:59:59.999999 0002-01-01 00:00:00 0002-01-01 00:00:00 1
|
||||||
|
0999-12-31 23:59:59.000000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
|
||||||
|
0999-12-31 23:59:59.100000 1000-01-01 00:00:00 1000-01-01 00:00:00 1
|
||||||
|
0999-12-31 23:59:59.900000 1000-01-01 00:00:00 1000-01-01 00:00:00 1
|
||||||
|
0999-12-31 23:59:59.990000 1000-01-01 00:00:00 1000-01-01 00:00:00 1
|
||||||
|
0999-12-31 23:59:59.999000 1000-01-01 00:00:00 1000-01-01 00:00:00 1
|
||||||
|
0999-12-31 23:59:59.999900 1000-01-01 00:00:00 1000-01-01 00:00:00 1
|
||||||
|
0999-12-31 23:59:59.999990 1000-01-01 00:00:00 1000-01-01 00:00:00 1
|
||||||
|
0999-12-31 23:59:59.999999 1000-01-01 00:00:00 1000-01-01 00:00:00 1
|
||||||
|
9999-12-30 23:59:59.000000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
|
||||||
|
9999-12-30 23:59:59.100000 9999-12-31 00:00:00 9999-12-31 00:00:00 1
|
||||||
|
9999-12-30 23:59:59.900000 9999-12-31 00:00:00 9999-12-31 00:00:00 1
|
||||||
|
9999-12-30 23:59:59.990000 9999-12-31 00:00:00 9999-12-31 00:00:00 1
|
||||||
|
9999-12-30 23:59:59.999000 9999-12-31 00:00:00 9999-12-31 00:00:00 1
|
||||||
|
9999-12-30 23:59:59.999900 9999-12-31 00:00:00 9999-12-31 00:00:00 1
|
||||||
|
9999-12-30 23:59:59.999990 9999-12-31 00:00:00 9999-12-31 00:00:00 1
|
||||||
|
9999-12-30 23:59:59.999999 9999-12-31 00:00:00 9999-12-31 00:00:00 1
|
||||||
|
9999-12-31 23:59:59.000000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.100000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.900000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.990000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.999000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.999900 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.999990 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
9999-12-31 23:59:59.999999 9999-12-31 23:59:59 9999-12-31 23:59:59 1
|
||||||
|
DROP FUNCTION FLOOR_SP;
|
||||||
|
DROP FUNCTION CEILING_SP;
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (a DATETIME(6));
|
||||||
|
INSERT INTO t1 VALUES ('0000-00-00 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0000-00-01 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0000-01-01 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-00-00 23:59:59.999999');
|
||||||
|
SELECT a, FLOOR(a), CEILING(a) FROM t1;
|
||||||
|
a FLOOR(a) CEILING(a)
|
||||||
|
0000-00-00 23:59:59.999999 0000-00-00 23:59:59 NULL
|
||||||
|
0000-00-01 23:59:59.999999 0000-00-01 23:59:59 NULL
|
||||||
|
0000-01-01 23:59:59.999999 0000-01-01 23:59:59 NULL
|
||||||
|
0001-00-00 23:59:59.999999 0001-00-00 23:59:59 NULL
|
||||||
|
Warnings:
|
||||||
|
Warning 1411 Incorrect date value: '0000-00-00' for function round(datetime)
|
||||||
|
Warning 1411 Incorrect date value: '0000-00-01' for function round(datetime)
|
||||||
|
Warning 1411 Incorrect date value: '0000-01-01' for function round(datetime)
|
||||||
|
Warning 1411 Incorrect date value: '0001-00-00' for function round(datetime)
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=ALLOW_INVALID_DATES;
|
||||||
|
CREATE TABLE t1 (a DATETIME(6));
|
||||||
|
INSERT INTO t1 VALUES ('2001-02-28 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('2001-02-29 23:59:59.999999');
|
||||||
|
SELECT a, FLOOR(a), CEILING(a) FROM t1;
|
||||||
|
a FLOOR(a) CEILING(a)
|
||||||
|
2001-02-28 23:59:59.999999 2001-02-28 23:59:59 2001-03-01 00:00:00
|
||||||
|
2001-02-29 23:59:59.999999 2001-02-29 23:59:59 NULL
|
||||||
|
Warnings:
|
||||||
|
Warning 1411 Incorrect date value: '2001-02-29' for function round(datetime)
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
#
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
|
@ -156,6 +156,104 @@ SELECT ROUND(a) AS f FROM t1 GROUP BY a WITH ROLLUP;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-23311 CEILING() and FLOOR() convert temporal input to numbers, unlike ROUND() and TRUNCATE()
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT
|
||||||
|
FLOOR(TIMESTAMP'2001-01-01 00:00:00.999999'),
|
||||||
|
CEILING(TIMESTAMP'2001-01-01 00:00:00.999999');
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a DATETIME(6));
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.99999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.99');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.1');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.0');
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.99999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.9999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.999');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.99');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.9');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.1');
|
||||||
|
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.0');
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.99999');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.9999');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.999');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.99');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.9');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.1');
|
||||||
|
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.0');
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.99999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.9999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.99');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.9');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.1');
|
||||||
|
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.0');
|
||||||
|
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
CREATE FUNCTION FLOOR_SP(a DATETIME(6)) RETURNS DATETIME
|
||||||
|
BEGIN
|
||||||
|
RETURN
|
||||||
|
CASE
|
||||||
|
WHEN EXTRACT(MICROSECOND FROM a)=0 THEN a
|
||||||
|
ELSE TRUNCATE(a,0)
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
CREATE FUNCTION CEILING_SP(a DATETIME(6)) RETURNS DATETIME
|
||||||
|
BEGIN
|
||||||
|
RETURN
|
||||||
|
CASE
|
||||||
|
WHEN TRUNCATE(a,0)=TIMESTAMP'9999-12-31 23:59:59' THEN a
|
||||||
|
WHEN EXTRACT(MICROSECOND FROM a)=0 THEN a
|
||||||
|
ELSE TRUNCATE(a,0)+INTERVAL 1 SECOND
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
|
||||||
|
SELECT a, FLOOR(a), FLOOR_SP(a), FLOOR(a)=FLOOR_SP(a) FROM t1 ORDER BY a;
|
||||||
|
SELECT a, CEILING(a), CEILING_SP(a), CEILING(a)=CEILING_SP(a) FROM t1 ORDER BY a;
|
||||||
|
|
||||||
|
DROP FUNCTION FLOOR_SP;
|
||||||
|
DROP FUNCTION CEILING_SP;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a DATETIME(6));
|
||||||
|
INSERT INTO t1 VALUES ('0000-00-00 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0000-00-01 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0000-01-01 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('0001-00-00 23:59:59.999999');
|
||||||
|
SELECT a, FLOOR(a), CEILING(a) FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
SET sql_mode=ALLOW_INVALID_DATES;
|
||||||
|
CREATE TABLE t1 (a DATETIME(6));
|
||||||
|
INSERT INTO t1 VALUES ('2001-02-28 23:59:59.999999');
|
||||||
|
INSERT INTO t1 VALUES ('2001-02-29 23:59:59.999999');
|
||||||
|
SELECT a, FLOOR(a), CEILING(a) FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -2305,3 +2305,24 @@ t2 CREATE TABLE `t2` (
|
|||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a ENUM('999999999999999999999999999999999999999999999999999999999999'));
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
CREATE TABLE t2 AS
|
||||||
|
SELECT a, FLOOR(a), CEILING(a), TRUNCATE(a,0), ROUND(a) FROM t1;
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`a` enum('999999999999999999999999999999999999999999999999999999999999') DEFAULT NULL,
|
||||||
|
`FLOOR(a)` int(5) unsigned DEFAULT NULL,
|
||||||
|
`CEILING(a)` int(5) unsigned DEFAULT NULL,
|
||||||
|
`TRUNCATE(a,0)` int(5) unsigned DEFAULT NULL,
|
||||||
|
`ROUND(a)` int(5) unsigned DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
SELECT * FROM t2;
|
||||||
|
a FLOOR(a) CEILING(a) TRUNCATE(a,0) ROUND(a)
|
||||||
|
999999999999999999999999999999999999999999999999999999999999 1 1 1 1
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -518,3 +518,16 @@ DELIMITER ;$$
|
|||||||
CALL p1();
|
CALL p1();
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a ENUM('999999999999999999999999999999999999999999999999999999999999'));
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
CREATE TABLE t2 AS
|
||||||
|
SELECT a, FLOOR(a), CEILING(a), TRUNCATE(a,0), ROUND(a) FROM t1;
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
SELECT * FROM t2;
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user