mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge 10.5 into 10.6
This commit is contained in:
@ -2,6 +2,11 @@
|
||||
# Wrapper for CPackRPM.cmake
|
||||
#
|
||||
|
||||
IF(NOT DEFINED RPM_RECOMMENDS)
|
||||
EXECUTE_PROCESS(COMMAND rpm --recommends ERROR_QUIET RESULT_VARIABLE RPM_RECOMMENDS)
|
||||
MESSAGE("CPackRPM:Debug: Testing rpm --recommends: ${RPM_RECOMMENDS}")
|
||||
ENDIF()
|
||||
|
||||
#
|
||||
# Support for per-component LICENSE and VENDOR
|
||||
#
|
||||
@ -47,6 +52,20 @@ if (acc)
|
||||
file(WRITE ${${base_var}} "${acc}")
|
||||
endif()
|
||||
|
||||
#
|
||||
# Support for the Recommends: tag.
|
||||
# We don't use Suggests: so here he hijack Suggests: variable
|
||||
# to implement Recommends:
|
||||
#
|
||||
IF (CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_RECOMMENDS)
|
||||
IF (RPM_RECOMMENDS EQUAL 0) # exit code 0 means ok
|
||||
SET(TMP_RPM_SUGGESTS "Recommends: ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_RECOMMENDS}")
|
||||
ELSE() # rpm is too old to recommend
|
||||
SET(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_REQUIRES
|
||||
"${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_REQUIRES} ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_RECOMMENDS}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# load the original CPackRPM.cmake
|
||||
set(orig_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
|
||||
unset(CMAKE_MODULE_PATH)
|
||||
|
@ -30,7 +30,6 @@ SET(HAVE_BACKTRACE_SYMBOLS CACHE INTERNAL "")
|
||||
SET(HAVE_BACKTRACE_SYMBOLS_FD CACHE INTERNAL "")
|
||||
SET(HAVE_BFILL CACHE INTERNAL "")
|
||||
SET(HAVE_BSD_SIGNALS CACHE INTERNAL "")
|
||||
SET(HAVE_BSS_START CACHE INTERNAL "")
|
||||
SET(HAVE_CLOCK_GETTIME CACHE INTERNAL "")
|
||||
SET(HAVE_COMPRESS CACHE INTERNAL "")
|
||||
SET(HAVE_CRYPT CACHE INTERNAL "")
|
||||
|
@ -242,7 +242,6 @@
|
||||
/* Symbols we may use */
|
||||
#cmakedefine HAVE_SYS_ERRLIST 1
|
||||
/* used by stacktrace functions */
|
||||
#cmakedefine HAVE_BSS_START 1
|
||||
#cmakedefine HAVE_BACKTRACE 1
|
||||
#cmakedefine HAVE_BACKTRACE_SYMBOLS 1
|
||||
#cmakedefine HAVE_BACKTRACE_SYMBOLS_FD 1
|
||||
|
@ -795,14 +795,6 @@ CHECK_CXX_SOURCE_COMPILES("
|
||||
HAVE_ABI_CXA_DEMANGLE)
|
||||
ENDIF()
|
||||
|
||||
CHECK_C_SOURCE_COMPILES("
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
extern char *__bss_start;
|
||||
return __bss_start ? 1 : 0;
|
||||
}"
|
||||
HAVE_BSS_START)
|
||||
|
||||
CHECK_C_SOURCE_COMPILES("
|
||||
int main()
|
||||
{
|
||||
|
@ -1 +0,0 @@
|
||||
../../../support-files/rpm/enable_encryption.preset
|
10
debian/autobake-deb.sh
vendored
10
debian/autobake-deb.sh
vendored
@ -50,12 +50,10 @@ then
|
||||
sed "/Package: libmariadbd-dev/,/^$/d" -i debian/control
|
||||
fi
|
||||
|
||||
# Convert gcc version to numberical value. Format is Mmmpp where M is Major
|
||||
# version, mm is minor version and p is patch.
|
||||
# -dumpfullversion & -dumpversion to make it uniform across old and new (>=7)
|
||||
GCCVERSION=$(gcc -dumpfullversion -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' \
|
||||
-e 's/\.\([0-9]\)/0\1/g' \
|
||||
-e 's/^[0-9]\{3,4\}$/&00/')
|
||||
if [[ $(arch) =~ i[346]86 ]]
|
||||
then
|
||||
sed "/Package: mariadb-plugin-rocksdb/,/^$/d" -i debian/control
|
||||
fi
|
||||
|
||||
# If rocksdb-tools is not available (before Debian Buster and Ubuntu Disco)
|
||||
# remove the dependency from the RocksDB plugin so it can install properly
|
||||
|
173
debian/control
vendored
173
debian/control
vendored
@ -31,6 +31,7 @@ Build-Depends: bison,
|
||||
libnuma-dev [!armhf],
|
||||
libpam0g-dev,
|
||||
libpcre2-dev,
|
||||
libreadline-gplv2-dev [i386 amd64],
|
||||
libsnappy-dev,
|
||||
libssl-dev | libssl1.0-dev,
|
||||
libsystemd-dev [linux-any],
|
||||
@ -277,37 +278,23 @@ Conflicts: mariadb-client-10.0,
|
||||
mysql-client (<< 5.0.51),
|
||||
mysql-client-5.0,
|
||||
mysql-client-5.1,
|
||||
mysql-client-5.5 (<< ${source:Version}),
|
||||
mysql-client-5.5,
|
||||
mysql-client-core-5.1,
|
||||
mysql-client-core-5.5,
|
||||
mysql-client-core-5.6,
|
||||
mysql-client-core-5.7,
|
||||
mysql-client-core-8.0,
|
||||
virtual-mysql-client-core
|
||||
Replaces: mariadb-client-10.0,
|
||||
mariadb-client-10.1,
|
||||
mariadb-client-10.2,
|
||||
mariadb-client-10.3,
|
||||
mariadb-client-10.4,
|
||||
mariadb-client-10.5,
|
||||
mariadb-client-10.6 (<< ${source:Version}),
|
||||
mariadb-client-5.1,
|
||||
mariadb-client-5.2,
|
||||
mariadb-client-5.3,
|
||||
mariadb-client-5.5,
|
||||
Replaces: mariadb-client-core-5.1,
|
||||
mariadb-client-core-5.2,
|
||||
mariadb-client-core-5.3,
|
||||
mariadb-client-core-5.5,
|
||||
mariadb-client-core-10.0,
|
||||
mariadb-client-core-10.1,
|
||||
mariadb-client-core-10.2,
|
||||
mariadb-client-core-10.3,
|
||||
mariadb-client-core-10.4,
|
||||
mariadb-client-core-5.1,
|
||||
mariadb-client-core-5.2,
|
||||
mariadb-client-core-5.3,
|
||||
mariadb-client-core-5.5,
|
||||
mysql-client (<< 5.0.51),
|
||||
mysql-client-5.0,
|
||||
mysql-client-5.1,
|
||||
mysql-client-5.5,
|
||||
mariadb-client-core-10.5,
|
||||
mysql-client-core-5.1,
|
||||
mysql-client-core-5.5,
|
||||
mysql-client-core-5.6,
|
||||
@ -352,54 +339,29 @@ Conflicts: mariadb-client (<< ${source:Version}),
|
||||
mysql-client-5.7,
|
||||
mysql-client-8.0,
|
||||
mysql-client-core-5.0,
|
||||
mysql-client-core-5.1 (<< ${source:Version}),
|
||||
mysql-client-core-5.5 (<< ${source:Version}),
|
||||
mysql-client-core-5.6 (<< ${source:Version}),
|
||||
mysql-client-core-5.7 (<< ${source:Version}),
|
||||
mysql-client-core-8.0 (<< ${source:Version}),
|
||||
mysql-client-core-5.1,
|
||||
mysql-client-core-5.5,
|
||||
mysql-client-core-5.6,
|
||||
mysql-client-core-5.7,
|
||||
mysql-client-core-8.0,
|
||||
mytop,
|
||||
virtual-mysql-client
|
||||
Breaks: mariadb-client-core-10.0,
|
||||
mariadb-client-core-10.1,
|
||||
mariadb-client-core-10.2,
|
||||
mariadb-client-core-10.3,
|
||||
mariadb-client-core-10.4,
|
||||
mariadb-client-core-10.5,
|
||||
mariadb-client-core-10.6 (<< ${source:Version})
|
||||
Replaces: mariadb-client (<< ${source:Version}),
|
||||
Replaces: mariadb-client-5.1,
|
||||
mariadb-client-5.2,
|
||||
mariadb-client-5.3,
|
||||
mariadb-client-5.5,
|
||||
mariadb-client-10.0,
|
||||
mariadb-client-10.1,
|
||||
mariadb-client-10.2,
|
||||
mariadb-client-10.3,
|
||||
mariadb-client-10.4,
|
||||
mariadb-client-10.5,
|
||||
mariadb-client-10.6 (<< ${source:Version}),
|
||||
mariadb-client-5.1,
|
||||
mariadb-client-5.2,
|
||||
mariadb-client-5.3,
|
||||
mariadb-client-5.5,
|
||||
mariadb-client-core-10.0,
|
||||
mariadb-client-core-10.1,
|
||||
mariadb-client-core-10.2,
|
||||
mariadb-client-core-10.3,
|
||||
mariadb-client-core-10.4,
|
||||
mariadb-client-core-10.5,
|
||||
mariadb-client-core-10.6 (<< ${source:Version}),
|
||||
mariadb-server-10.5,
|
||||
mariadb-server-10.6 (<< ${source:Version}),
|
||||
mysql-client (<< 5.0.51),
|
||||
mysql-client-5.0,
|
||||
mysql-client-5.1,
|
||||
mysql-client-5.5,
|
||||
mysql-client-5.6,
|
||||
mysql-client-5.7,
|
||||
mysql-client-8.0,
|
||||
mysql-client-core-5.0,
|
||||
mysql-client-core-5.1 (<< ${source:Version}),
|
||||
mysql-client-core-5.5 (<< ${source:Version}),
|
||||
mysql-client-core-5.6 (<< ${source:Version}),
|
||||
mysql-client-core-5.7 (<< ${source:Version}),
|
||||
mysql-client-core-8.0 (<< ${source:Version}),
|
||||
mytop,
|
||||
virtual-mysql-client
|
||||
Provides: default-mysql-client,
|
||||
@ -438,44 +400,16 @@ Conflicts: mariadb-server-core-10.0,
|
||||
mysql-server-core-5.7,
|
||||
mysql-server-core-8.0,
|
||||
virtual-mysql-server-core
|
||||
Breaks: mariadb-client-10.0,
|
||||
mariadb-client-10.1,
|
||||
mariadb-client-10.2,
|
||||
mariadb-client-10.3,
|
||||
mariadb-client-10.4,
|
||||
mariadb-client-10.5,
|
||||
mariadb-client-10.6 (<< ${source:Version}),
|
||||
mariadb-server-10.3,
|
||||
mariadb-server-10.4,
|
||||
mariadb-server-10.5,
|
||||
mariadb-server-10.6 (<< ${source:Version}),
|
||||
mysql-server-5.6,
|
||||
mysql-server-5.7,
|
||||
mysql-server-8.0
|
||||
Replaces: mariadb-client-10.0,
|
||||
mariadb-client-10.1,
|
||||
mariadb-client-10.2,
|
||||
mariadb-client-10.3,
|
||||
mariadb-client-10.4,
|
||||
mariadb-client-10.5,
|
||||
mariadb-client-10.6 (<< ${source:Version}),
|
||||
mariadb-server-10.3,
|
||||
mariadb-server-10.4,
|
||||
mariadb-server-10.5,
|
||||
mariadb-server-10.6 (<< ${source:Version}),
|
||||
Replaces: mariadb-server-core-5.1,
|
||||
mariadb-server-core-5.2,
|
||||
mariadb-server-core-5.3,
|
||||
mariadb-server-core-5.5,
|
||||
mariadb-server-core-10.0,
|
||||
mariadb-server-core-10.1,
|
||||
mariadb-server-core-10.2,
|
||||
mariadb-server-core-10.3,
|
||||
mariadb-server-core-10.4,
|
||||
mariadb-server-core-5.1,
|
||||
mariadb-server-core-5.2,
|
||||
mariadb-server-core-5.3,
|
||||
mariadb-server-core-5.5,
|
||||
mysql-server-5.0,
|
||||
mysql-server-5.6,
|
||||
mysql-server-5.7,
|
||||
mysql-server-8.0,
|
||||
mariadb-server-core-10.5,
|
||||
mysql-server-core-5.0,
|
||||
mysql-server-core-5.1,
|
||||
mysql-server-core-5.5,
|
||||
@ -529,11 +463,11 @@ Conflicts: mariadb-server (<< ${source:Version}),
|
||||
mariadb-server-5.2,
|
||||
mariadb-server-5.3,
|
||||
mariadb-server-5.5,
|
||||
mysql-client-5.5 (<< ${source:Version}),
|
||||
mysql-client-5.6 (<< ${source:Version}),
|
||||
mysql-client-5.7 (<< ${source:Version}),
|
||||
mysql-client-8.0 (<< ${source:Version}),
|
||||
mysql-server (<< ${source:Version}),
|
||||
mysql-client-5.5,
|
||||
mysql-client-5.6,
|
||||
mysql-client-5.7,
|
||||
mysql-client-8.0,
|
||||
mysql-server,
|
||||
mysql-server-4.1,
|
||||
mysql-server-5.0,
|
||||
mysql-server-5.1,
|
||||
@ -542,25 +476,16 @@ Conflicts: mariadb-server (<< ${source:Version}),
|
||||
mysql-server-5.7,
|
||||
mysql-server-8.0,
|
||||
virtual-mysql-server
|
||||
Replaces: libmariadbclient-dev (<< 5.5.0),
|
||||
libmariadbclient16,
|
||||
mariadb-client-10.5,
|
||||
mariadb-client-10.6 (<< ${source:Version}),
|
||||
mariadb-server (<< ${source:Version}),
|
||||
Replaces: mariadb-server-5.1,
|
||||
mariadb-server-5.2,
|
||||
mariadb-server-5.3,
|
||||
mariadb-server-5.5,
|
||||
mariadb-server-10.0,
|
||||
mariadb-server-10.1,
|
||||
mariadb-server-10.2,
|
||||
mariadb-server-10.3,
|
||||
mariadb-server-10.4,
|
||||
mariadb-server-5.1,
|
||||
mariadb-server-5.2,
|
||||
mariadb-server-5.3,
|
||||
mariadb-server-5.5,
|
||||
mysql-client-5.5 (<< ${source:Version}),
|
||||
mysql-client-5.6 (<< ${source:Version}),
|
||||
mysql-client-5.7 (<< ${source:Version}),
|
||||
mysql-client-8.0 (<< ${source:Version}),
|
||||
mysql-server (<< ${source:Version}),
|
||||
mariadb-server-10.5,
|
||||
mysql-server-4.1,
|
||||
mysql-server-5.0,
|
||||
mysql-server-5.1,
|
||||
@ -812,32 +737,18 @@ Depends: mariadb-client-10.6 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${perl:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: mariadb-server-5.5,
|
||||
Breaks: mariadb-test-5.5,
|
||||
mariadb-test-10.0,
|
||||
mariadb-test-10.1,
|
||||
mariadb-test-10.2,
|
||||
mariadb-test-10.3,
|
||||
mariadb-test-10.4,
|
||||
mariadb-test-5.5,
|
||||
mysql-server-5.7,
|
||||
mysql-testsuite,
|
||||
mysql-testsuite-5.5,
|
||||
mysql-testsuite-5.6,
|
||||
mysql-testsuite-5.7,
|
||||
mysql-testsuite-8.0
|
||||
Replaces: mariadb-server-5.5,
|
||||
Replaces: mariadb-test-5.5,
|
||||
mariadb-test-10.0,
|
||||
mariadb-test-10.1,
|
||||
mariadb-test-10.2,
|
||||
mariadb-test-10.3,
|
||||
mariadb-test-10.4,
|
||||
mariadb-test-5.5,
|
||||
mysql-server-5.7,
|
||||
mysql-testsuite,
|
||||
mysql-testsuite-5.5,
|
||||
mysql-testsuite-5.6,
|
||||
mysql-testsuite-5.7,
|
||||
mysql-testsuite-8.0,
|
||||
virtual-mysql-testsuite
|
||||
Provides: virtual-mysql-testsuite
|
||||
Suggests: patch
|
||||
@ -855,21 +766,23 @@ Multi-Arch: foreign
|
||||
Depends: ${misc:Depends},
|
||||
${perl:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: mariadb-test-10.0,
|
||||
mariadb-test-10.1,
|
||||
mariadb-test-10.2,
|
||||
mariadb-test-5.5,
|
||||
Breaks: mariadb-test-data-5.5,
|
||||
mariadb-test-data-10.0,
|
||||
mariadb-test-data-10.1,
|
||||
mariadb-test-data-10.2,
|
||||
mariadb-test-data-10.3,
|
||||
mariadb-test-data-10.4,
|
||||
mysql-testsuite,
|
||||
mysql-testsuite-5.5,
|
||||
mysql-testsuite-5.6,
|
||||
mysql-testsuite-5.7,
|
||||
mysql-testsuite-8.0
|
||||
Replaces: mariadb-test-10.0,
|
||||
mariadb-test-10.1,
|
||||
mariadb-test-10.2,
|
||||
mariadb-test-5.5,
|
||||
Replaces: mariadb-test-data-5.5,
|
||||
mariadb-test-data-10.0,
|
||||
mariadb-test-data-10.1,
|
||||
mariadb-test-data-10.2,
|
||||
mariadb-test-data-10.3,
|
||||
mariadb-test-data-10.4,
|
||||
mysql-testsuite,
|
||||
mysql-testsuite-5.5,
|
||||
mysql-testsuite-5.6,
|
||||
|
1
debian/mariadb-server-10.6.install
vendored
1
debian/mariadb-server-10.6.install
vendored
@ -3,6 +3,7 @@ debian/additions/debian-start.inc.sh usr/share/mysql
|
||||
debian/additions/echo_stderr usr/share/mysql
|
||||
debian/additions/mariadb.conf.d/50-mysqld_safe.cnf etc/mysql/mariadb.conf.d
|
||||
debian/additions/mariadb.conf.d/50-server.cnf etc/mysql/mariadb.conf.d
|
||||
support-files/rpm/enable_encryption.preset etc/mysql/mariadb.conf.d/99-enable-encryption.cnf.preset
|
||||
debian/additions/source_mariadb-10.6.py usr/share/apport/package-hooks
|
||||
etc/apparmor.d/usr.sbin.mariadbd
|
||||
etc/security/user_map.conf
|
||||
|
2
debian/rules
vendored
2
debian/rules
vendored
@ -45,7 +45,7 @@ endif
|
||||
|
||||
# RocksDB cannot build on 32-bit platforms
|
||||
ifeq (32,$(DEB_HOST_ARCH_BITS))
|
||||
CMAKEFLAGS += -DWITHOUT_ROCKSDB=true
|
||||
CMAKEFLAGS += -DPLUGIN_ROCKSDB=NO
|
||||
endif
|
||||
|
||||
# ColumnStore only attempts to build on a few platforms as dictated by CMake checks
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
||||
Copyright (c) 2012, 2017, MariaDB Corporation.
|
||||
Copyright (c) 2012, 2020, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -278,6 +278,7 @@ struct st_vio
|
||||
#ifdef _WIN32
|
||||
HANDLE hPipe;
|
||||
OVERLAPPED overlapped;
|
||||
int shutdown_flag;
|
||||
void *tp_ctx; /* threadpool context */
|
||||
#endif
|
||||
};
|
||||
|
@ -114,6 +114,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
|
||||
../sql/sql_explain.cc ../sql/sql_explain.h
|
||||
../sql/sql_analyze_stmt.cc ../sql/sql_analyze_stmt.h
|
||||
../sql/compat56.cc
|
||||
../sql/sql_schema.cc
|
||||
../sql/sql_type.cc ../sql/sql_type.h
|
||||
../sql/sql_mode.cc
|
||||
../sql/sql_type_string.cc
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"
|
||||
.TH "\FBMYSQL_UPGRADE\FR" "1" "15 May 2020" "MariaDB 10\&.6" "MariaDB Database System"
|
||||
.TH "\FBMYSQL_UPGRADE\FR" "1" "20 July 2020" "MariaDB 10\&.6" "MariaDB Database System"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -165,6 +165,8 @@ in the data directory\&. This is used to quickly check whether all tables have b
|
||||
\fB\-\-force\fR
|
||||
option\&.
|
||||
.PP
|
||||
For this reason, \fBmysql_upgrade\fR needs to be run as a user with write access to the data directory\&.
|
||||
.PP
|
||||
If you install MariaDB from RPM packages on Linux, you must install the server and client RPMs\&.
|
||||
\fBmysql_upgrade\fR
|
||||
is included in the server RPM but requires the client RPM because the latter includes
|
||||
|
@ -194,12 +194,12 @@ show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(ceiling(0.5)));
|
||||
create table t1 as select concat(ceiling(0.5)) as c1;
|
||||
create table t1 as select ceiling(0.5) as c0, concat(ceiling(0.5)) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(floor(0.5)));
|
||||
create table t1 as select concat(floor(0.5)) as c1;
|
||||
create table t1 as select floor(0.5) as c0, concat(floor(0.5)) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
|
@ -2011,5 +2011,21 @@ CREATE TABLE t1 ( id1 INT, id2 INT, CONSTRAINT `foo` PRIMARY KEY (id1), CONSTRAI
|
||||
Warnings:
|
||||
Warning 1280 Name 'foo' ignored for PRIMARY key.
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# 10.4 Test
|
||||
#
|
||||
# MDEV-21017: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||
# is_bulk_op())' failed or late ER_PERIOD_FIELD_WRONG_ATTRIBUTES
|
||||
# upon attempt to create existing table
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
LOCK TABLE t1 WRITE;
|
||||
CREATE TABLE IF NOT EXISTS t1 (s DATE GENERATED ALWAYS AS ('2000-01-01') STORED,
|
||||
e DATE, PERIOD FOR app(s,e));
|
||||
ERROR HY000: Period field `s` cannot be GENERATED ALWAYS AS
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
# End of 10.4 Test
|
||||
CREATE TABLE t1 (id1 INT, id2 INT, primary key (id1), unique index (id2) visible);
|
||||
drop table t1;
|
||||
# End of 10.5 Test
|
||||
|
@ -1873,9 +1873,30 @@ drop table t1;
|
||||
CREATE TABLE t1 ( id1 INT, id2 INT, CONSTRAINT `foo` PRIMARY KEY (id1), CONSTRAINT `bar` UNIQUE KEY(id2));
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # 10.4 Test
|
||||
--echo #
|
||||
--echo # MDEV-21017: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||
--echo # is_bulk_op())' failed or late ER_PERIOD_FIELD_WRONG_ATTRIBUTES
|
||||
--echo # upon attempt to create existing table
|
||||
--echo #
|
||||
CREATE TABLE t1 (a INT);
|
||||
LOCK TABLE t1 WRITE;
|
||||
|
||||
--error ER_PERIOD_FIELD_WRONG_ATTRIBUTES
|
||||
CREATE TABLE IF NOT EXISTS t1 (s DATE GENERATED ALWAYS AS ('2000-01-01') STORED,
|
||||
e DATE, PERIOD FOR app(s,e));
|
||||
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.4 Test
|
||||
|
||||
#
|
||||
# MDEV-22199 Add VISIBLE option for indexes in create table
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (id1 INT, id2 INT, primary key (id1), unique index (id2) visible);
|
||||
drop table t1;
|
||||
|
||||
--echo # End of 10.5 Test
|
||||
|
@ -345,21 +345,23 @@ drop table t1;
|
||||
select hex(concat(ceiling(0.5)));
|
||||
hex(concat(ceiling(0.5)))
|
||||
31
|
||||
create table t1 as select concat(ceiling(0.5)) as c1;
|
||||
create table t1 as select ceiling(0.5) as c0, concat(ceiling(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(4) DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varbinary(3) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(floor(0.5)));
|
||||
hex(concat(floor(0.5)))
|
||||
30
|
||||
create table t1 as select concat(floor(0.5)) as c1;
|
||||
create table t1 as select floor(0.5) as c0, concat(floor(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(4) DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varbinary(3) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(round(0.5)));
|
||||
|
@ -757,21 +757,23 @@ drop table t1;
|
||||
select hex(concat(ceiling(0.5)));
|
||||
hex(concat(ceiling(0.5)))
|
||||
31
|
||||
create table t1 as select concat(ceiling(0.5)) as c1;
|
||||
create table t1 as select ceiling(0.5) as c0, concat(ceiling(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET cp1251 DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varchar(3) CHARACTER SET cp1251 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(floor(0.5)));
|
||||
hex(concat(floor(0.5)))
|
||||
30
|
||||
create table t1 as select concat(floor(0.5)) as c1;
|
||||
create table t1 as select floor(0.5) as c0, concat(floor(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET cp1251 DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varchar(3) CHARACTER SET cp1251 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(round(0.5)));
|
||||
|
@ -22,6 +22,13 @@ SELECT @a:=CONVERT('aя' USING filename) AS `@a`, BINARY @a, REVERSE(@a), HEX(@a
|
||||
@a BINARY @a REVERSE(@a) HEX(@a) HEX(REVERSE(@a))
|
||||
aя a@r1 яa 61407231 40723161
|
||||
#
|
||||
# MDEV-22022 Various mangled SQL statements will crash 10.3 to 10.5 debug builds
|
||||
#
|
||||
SET CHARACTER_SET_CLIENT=17;
|
||||
SELECT doc.`Children`.0 FROM t1;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?Children??0?FROM?t1' at line 1
|
||||
SET NAMES latin1;
|
||||
#
|
||||
# Start of 10.5 tests
|
||||
#
|
||||
#
|
||||
@ -32,5 +39,70 @@ EXECUTE IMMEDIATE _latin1 0x01;
|
||||
ERROR 42000: You@0020have@0020an@0020error@0020in@0020your@0020SQL@0020syntax@003b@0020check@0020the@0020manual@0020that@0020corresponds@0020to@0020your@0020MariaDB@0020server@0020version@0020for@0020the@0020right@0020syntax@0020to@0020use@0020near@0020@0027@005c0001@0027@0020at@0020line@00201
|
||||
SET NAMES utf8;
|
||||
#
|
||||
# MDEV-23435 Functions do not convert numbers to character_set_results
|
||||
#
|
||||
SET NAMES utf8, character_set_results=filename;
|
||||
CREATE TABLE t1 (a DATETIME(6));
|
||||
INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000000');
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
2001@002d01@002d01@002000@003a00@003a00@002e000000 2001@002d01@002d01@002000@003a00@003a00@002e000000
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a TIME(6));
|
||||
INSERT INTO t1 VALUES ('00:00:00.000000');
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
00@003a00@003a00@002e000000 00@003a00@003a00@002e000000
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a DATE);
|
||||
INSERT INTO t1 VALUES ('2001-01-01');
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
2001@002d01@002d01 2001@002d01@002d01
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a TINYINT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
@002d1 @002d1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a SMALLINT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
@002d1 @002d1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a MEDIUMINT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
@002d1 @002d1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a BIGINT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
@002d1 @002d1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a DECIMAL(10.2));
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
@002d1 @002d1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a FLOAT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
@002d1 @002d1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a DOUBLE);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
a c
|
||||
@002d1 @002d1
|
||||
DROP TABLE t1;
|
||||
SET NAMES utf8;
|
||||
#
|
||||
# End of 10.5 tests
|
||||
#
|
||||
|
@ -29,6 +29,16 @@ SET NAMES utf8;
|
||||
SELECT @a:=CONVERT('aя' USING filename) AS `@a`, BINARY @a, REVERSE(@a), HEX(@a), HEX(REVERSE(@a));
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22022 Various mangled SQL statements will crash 10.3 to 10.5 debug builds
|
||||
--echo #
|
||||
|
||||
SET CHARACTER_SET_CLIENT=17;
|
||||
--error ER_PARSE_ERROR
|
||||
SELECT doc.`Children`.0 FROM t1;
|
||||
SET NAMES latin1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.5 tests
|
||||
--echo #
|
||||
@ -42,6 +52,68 @@ SET NAMES filename;
|
||||
EXECUTE IMMEDIATE _latin1 0x01;
|
||||
SET NAMES utf8;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23435 Functions do not convert numbers to character_set_results
|
||||
--echo #
|
||||
|
||||
--disable_ps_protocol
|
||||
|
||||
SET NAMES utf8, character_set_results=filename;
|
||||
|
||||
CREATE TABLE t1 (a DATETIME(6));
|
||||
INSERT INTO t1 VALUES ('2001-01-01 00:00:00.000000');
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a TIME(6));
|
||||
INSERT INTO t1 VALUES ('00:00:00.000000');
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a DATE);
|
||||
INSERT INTO t1 VALUES ('2001-01-01');
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a TINYINT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a SMALLINT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a MEDIUMINT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a BIGINT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a DECIMAL(10.2));
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a FLOAT);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a DOUBLE);
|
||||
INSERT INTO t1 VALUES (-1);
|
||||
SELECT a, COALESCE(a) AS c FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
SET NAMES utf8;
|
||||
|
||||
--enable_ps_protocol
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.5 tests
|
||||
|
@ -1066,21 +1066,23 @@ drop table t1;
|
||||
select hex(concat(ceiling(0.5)));
|
||||
hex(concat(ceiling(0.5)))
|
||||
31
|
||||
create table t1 as select concat(ceiling(0.5)) as c1;
|
||||
create table t1 as select ceiling(0.5) as c0, concat(ceiling(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varchar(3) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(floor(0.5)));
|
||||
hex(concat(floor(0.5)))
|
||||
30
|
||||
create table t1 as select concat(floor(0.5)) as c1;
|
||||
create table t1 as select floor(0.5) as c0, concat(floor(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varchar(3) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(round(0.5)));
|
||||
|
@ -1950,21 +1950,23 @@ drop table t1;
|
||||
select hex(concat(ceiling(0.5)));
|
||||
hex(concat(ceiling(0.5)))
|
||||
0031
|
||||
create table t1 as select concat(ceiling(0.5)) as c1;
|
||||
create table t1 as select ceiling(0.5) as c0, concat(ceiling(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET ucs2 DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varchar(3) CHARACTER SET ucs2 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(floor(0.5)));
|
||||
hex(concat(floor(0.5)))
|
||||
0030
|
||||
create table t1 as select concat(floor(0.5)) as c1;
|
||||
create table t1 as select floor(0.5) as c0, concat(floor(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET ucs2 DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varchar(3) CHARACTER SET ucs2 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(round(0.5)));
|
||||
|
@ -2817,21 +2817,23 @@ drop table t1;
|
||||
select hex(concat(ceiling(0.5)));
|
||||
hex(concat(ceiling(0.5)))
|
||||
31
|
||||
create table t1 as select concat(ceiling(0.5)) as c1;
|
||||
create table t1 as select ceiling(0.5) as c0, concat(ceiling(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(floor(0.5)));
|
||||
hex(concat(floor(0.5)))
|
||||
30
|
||||
create table t1 as select concat(floor(0.5)) as c1;
|
||||
create table t1 as select floor(0.5) as c0, concat(floor(0.5)) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL
|
||||
`c0` int(3) NOT NULL,
|
||||
`c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(round(0.5)));
|
||||
|
@ -214,3 +214,4 @@ SELECT * FROM t1;
|
||||
a b
|
||||
hello 12NKz5XM5JeKI
|
||||
DROP TABLE t1;
|
||||
# End of 10.2 tests
|
||||
|
@ -120,3 +120,5 @@ SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 (a) VALUES ('hello');
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.2 tests
|
||||
|
@ -35,3 +35,41 @@ DES_DECRYPT(DES_ENCRYPT('1234')) DES_DECRYPT(DES_ENCRYPT('12345')) DES_DECRYPT(D
|
||||
1234 12345 123456 1234567
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
#
|
||||
# MDEV-23330 Server crash or ASAN negative-size-param in
|
||||
# my_strnncollsp_binary / SORT_FIELD_ATTR::compare_packed_varstrings
|
||||
#
|
||||
CREATE TABLE t1 (a CHAR(240), b BIT(48));
|
||||
INSERT INTO t1 VALUES ('a',b'0001'),('b',b'0010'),('c',b'0011'),('d',b'0100'),('e',b'0001'),('f',b'0101'),('g',b'0110'),('h',b'0111'),('i',b'1000'),('j',b'1001');
|
||||
SELECT DES_DECRYPT(a, 'x'), HEX(BINARY b) FROM t1 GROUP BY 1, 2 WITH ROLLUP;
|
||||
DES_DECRYPT(a, 'x') HEX(BINARY b)
|
||||
a 000000000001
|
||||
a NULL
|
||||
b 000000000002
|
||||
b NULL
|
||||
c 000000000003
|
||||
c NULL
|
||||
d 000000000004
|
||||
d NULL
|
||||
e 000000000001
|
||||
e NULL
|
||||
f 000000000005
|
||||
f NULL
|
||||
g 000000000006
|
||||
g NULL
|
||||
h 000000000007
|
||||
h NULL
|
||||
i 000000000008
|
||||
i NULL
|
||||
j 000000000009
|
||||
j NULL
|
||||
NULL NULL
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT t1 VALUES (1),(2);
|
||||
SELECT CHAR_LENGTH(a), DES_DECRYPT(a) FROM (SELECT _utf8 0xC2A2 AS a FROM t1) AS t2;
|
||||
CHAR_LENGTH(a) DES_DECRYPT(a)
|
||||
1 <09>
|
||||
1 <09>
|
||||
DROP TABLE t1;
|
||||
End of 10.5 tests
|
||||
|
@ -37,3 +37,24 @@ SELECT
|
||||
DROP TABLE t1;
|
||||
|
||||
--Echo End of 5.0 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23330 Server crash or ASAN negative-size-param in
|
||||
--echo # my_strnncollsp_binary / SORT_FIELD_ATTR::compare_packed_varstrings
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a CHAR(240), b BIT(48));
|
||||
INSERT INTO t1 VALUES ('a',b'0001'),('b',b'0010'),('c',b'0011'),('d',b'0100'),('e',b'0001'),('f',b'0101'),('g',b'0110'),('h',b'0111'),('i',b'1000'),('j',b'1001');
|
||||
SELECT DES_DECRYPT(a, 'x'), HEX(BINARY b) FROM t1 GROUP BY 1, 2 WITH ROLLUP;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# don't change the charset of a literal Item_string
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT t1 VALUES (1),(2);
|
||||
SELECT CHAR_LENGTH(a), DES_DECRYPT(a) FROM (SELECT _utf8 0xC2A2 AS a FROM t1) AS t2;
|
||||
DROP TABLE t1;
|
||||
|
||||
--Echo End of 10.5 tests
|
||||
|
@ -1186,13 +1186,13 @@ i count(*) std(e1/e2)
|
||||
3 4 0.00000000
|
||||
select std(s1/s2) from bug22555;
|
||||
std(s1/s2)
|
||||
0.21325764
|
||||
0.21328517
|
||||
select std(o1/o2) from bug22555;
|
||||
std(o1/o2)
|
||||
0.2132576358664934
|
||||
select std(e1/e2) from bug22555;
|
||||
std(e1/e2)
|
||||
0.21325764
|
||||
0.21328517
|
||||
set @saved_div_precision_increment=@@div_precision_increment;
|
||||
set div_precision_increment=19;
|
||||
select i, count(*), std(s1/s2) from bug22555 group by i order by i;
|
||||
|
@ -348,7 +348,6 @@ truncate(4, cast(-2 as unsigned)) truncate(4, 18446744073709551614) truncate(4,
|
||||
4 4 0
|
||||
Warnings:
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
select round(10000000000000000000, -19), truncate(10000000000000000000, -19);
|
||||
round(10000000000000000000, -19) truncate(10000000000000000000, -19)
|
||||
10000000000000000000 10000000000000000000
|
||||
@ -1081,7 +1080,7 @@ Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,0) DEFAULT NULL,
|
||||
`b` decimal(38,0) unsigned DEFAULT NULL,
|
||||
`fa` decimal(38,0) DEFAULT NULL,
|
||||
`fb` decimal(38,0) DEFAULT NULL
|
||||
`fb` decimal(38,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999999999999999999
|
||||
b 99999999999999999999999999999999999999
|
||||
@ -1091,8 +1090,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,1) DEFAULT NULL,
|
||||
`b` decimal(38,1) unsigned DEFAULT NULL,
|
||||
`fa` decimal(37,0) DEFAULT NULL,
|
||||
`fb` decimal(37,0) DEFAULT NULL
|
||||
`fa` decimal(38,0) DEFAULT NULL,
|
||||
`fb` decimal(37,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999999999999999999.9
|
||||
b 9999999999999999999999999999999999999.9
|
||||
@ -1102,8 +1101,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,2) DEFAULT NULL,
|
||||
`b` decimal(38,2) unsigned DEFAULT NULL,
|
||||
`fa` decimal(36,0) DEFAULT NULL,
|
||||
`fb` decimal(36,0) DEFAULT NULL
|
||||
`fa` decimal(37,0) DEFAULT NULL,
|
||||
`fb` decimal(36,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999999999999999999.99
|
||||
b 999999999999999999999999999999999999.99
|
||||
@ -1113,8 +1112,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,3) DEFAULT NULL,
|
||||
`b` decimal(38,3) unsigned DEFAULT NULL,
|
||||
`fa` decimal(35,0) DEFAULT NULL,
|
||||
`fb` decimal(35,0) DEFAULT NULL
|
||||
`fa` decimal(36,0) DEFAULT NULL,
|
||||
`fb` decimal(35,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999999999999999.999
|
||||
b 99999999999999999999999999999999999.999
|
||||
@ -1124,8 +1123,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,4) DEFAULT NULL,
|
||||
`b` decimal(38,4) unsigned DEFAULT NULL,
|
||||
`fa` decimal(34,0) DEFAULT NULL,
|
||||
`fb` decimal(34,0) DEFAULT NULL
|
||||
`fa` decimal(35,0) DEFAULT NULL,
|
||||
`fb` decimal(34,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999999999999999.9999
|
||||
b 9999999999999999999999999999999999.9999
|
||||
@ -1135,8 +1134,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,5) DEFAULT NULL,
|
||||
`b` decimal(38,5) unsigned DEFAULT NULL,
|
||||
`fa` decimal(33,0) DEFAULT NULL,
|
||||
`fb` decimal(33,0) DEFAULT NULL
|
||||
`fa` decimal(34,0) DEFAULT NULL,
|
||||
`fb` decimal(33,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999999999999999.99999
|
||||
b 999999999999999999999999999999999.99999
|
||||
@ -1146,8 +1145,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,6) DEFAULT NULL,
|
||||
`b` decimal(38,6) unsigned DEFAULT NULL,
|
||||
`fa` decimal(32,0) DEFAULT NULL,
|
||||
`fb` decimal(32,0) DEFAULT NULL
|
||||
`fa` decimal(33,0) DEFAULT NULL,
|
||||
`fb` decimal(32,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999999999999.999999
|
||||
b 99999999999999999999999999999999.999999
|
||||
@ -1157,8 +1156,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,7) DEFAULT NULL,
|
||||
`b` decimal(38,7) unsigned DEFAULT NULL,
|
||||
`fa` decimal(31,0) DEFAULT NULL,
|
||||
`fb` decimal(31,0) DEFAULT NULL
|
||||
`fa` decimal(32,0) DEFAULT NULL,
|
||||
`fb` decimal(31,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999999999999.9999999
|
||||
b 9999999999999999999999999999999.9999999
|
||||
@ -1168,8 +1167,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,8) DEFAULT NULL,
|
||||
`b` decimal(38,8) unsigned DEFAULT NULL,
|
||||
`fa` decimal(30,0) DEFAULT NULL,
|
||||
`fb` decimal(30,0) DEFAULT NULL
|
||||
`fa` decimal(31,0) DEFAULT NULL,
|
||||
`fb` decimal(30,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999999999999.99999999
|
||||
b 999999999999999999999999999999.99999999
|
||||
@ -1179,8 +1178,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,9) DEFAULT NULL,
|
||||
`b` decimal(38,9) unsigned DEFAULT NULL,
|
||||
`fa` decimal(29,0) DEFAULT NULL,
|
||||
`fb` decimal(29,0) DEFAULT NULL
|
||||
`fa` decimal(30,0) DEFAULT NULL,
|
||||
`fb` decimal(29,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999999999.999999999
|
||||
b 99999999999999999999999999999.999999999
|
||||
@ -1190,8 +1189,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,10) DEFAULT NULL,
|
||||
`b` decimal(38,10) unsigned DEFAULT NULL,
|
||||
`fa` decimal(28,0) DEFAULT NULL,
|
||||
`fb` decimal(28,0) DEFAULT NULL
|
||||
`fa` decimal(29,0) DEFAULT NULL,
|
||||
`fb` decimal(28,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999999999.9999999999
|
||||
b 9999999999999999999999999999.9999999999
|
||||
@ -1201,8 +1200,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,11) DEFAULT NULL,
|
||||
`b` decimal(38,11) unsigned DEFAULT NULL,
|
||||
`fa` decimal(27,0) DEFAULT NULL,
|
||||
`fb` decimal(27,0) DEFAULT NULL
|
||||
`fa` decimal(28,0) DEFAULT NULL,
|
||||
`fb` decimal(27,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999999999.99999999999
|
||||
b 999999999999999999999999999.99999999999
|
||||
@ -1212,8 +1211,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,12) DEFAULT NULL,
|
||||
`b` decimal(38,12) unsigned DEFAULT NULL,
|
||||
`fa` decimal(26,0) DEFAULT NULL,
|
||||
`fb` decimal(26,0) DEFAULT NULL
|
||||
`fa` decimal(27,0) DEFAULT NULL,
|
||||
`fb` decimal(26,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999999.999999999999
|
||||
b 99999999999999999999999999.999999999999
|
||||
@ -1223,8 +1222,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,13) DEFAULT NULL,
|
||||
`b` decimal(38,13) unsigned DEFAULT NULL,
|
||||
`fa` decimal(25,0) DEFAULT NULL,
|
||||
`fb` decimal(25,0) DEFAULT NULL
|
||||
`fa` decimal(26,0) DEFAULT NULL,
|
||||
`fb` decimal(25,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999999.9999999999999
|
||||
b 9999999999999999999999999.9999999999999
|
||||
@ -1234,8 +1233,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,14) DEFAULT NULL,
|
||||
`b` decimal(38,14) unsigned DEFAULT NULL,
|
||||
`fa` decimal(24,0) DEFAULT NULL,
|
||||
`fb` decimal(24,0) DEFAULT NULL
|
||||
`fa` decimal(25,0) DEFAULT NULL,
|
||||
`fb` decimal(24,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999999.99999999999999
|
||||
b 999999999999999999999999.99999999999999
|
||||
@ -1245,8 +1244,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,15) DEFAULT NULL,
|
||||
`b` decimal(38,15) unsigned DEFAULT NULL,
|
||||
`fa` decimal(23,0) DEFAULT NULL,
|
||||
`fb` decimal(23,0) DEFAULT NULL
|
||||
`fa` decimal(24,0) DEFAULT NULL,
|
||||
`fb` decimal(23,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999.999999999999999
|
||||
b 99999999999999999999999.999999999999999
|
||||
@ -1256,8 +1255,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,16) DEFAULT NULL,
|
||||
`b` decimal(38,16) unsigned DEFAULT NULL,
|
||||
`fa` decimal(22,0) DEFAULT NULL,
|
||||
`fb` decimal(22,0) DEFAULT NULL
|
||||
`fa` decimal(23,0) DEFAULT NULL,
|
||||
`fb` decimal(22,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999.9999999999999999
|
||||
b 9999999999999999999999.9999999999999999
|
||||
@ -1267,8 +1266,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,17) DEFAULT NULL,
|
||||
`b` decimal(38,17) unsigned DEFAULT NULL,
|
||||
`fa` decimal(21,0) DEFAULT NULL,
|
||||
`fb` decimal(21,0) DEFAULT NULL
|
||||
`fa` decimal(22,0) DEFAULT NULL,
|
||||
`fb` decimal(21,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999.99999999999999999
|
||||
b 999999999999999999999.99999999999999999
|
||||
@ -1278,8 +1277,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,18) DEFAULT NULL,
|
||||
`b` decimal(38,18) unsigned DEFAULT NULL,
|
||||
`fa` decimal(20,0) DEFAULT NULL,
|
||||
`fb` decimal(20,0) DEFAULT NULL
|
||||
`fa` decimal(21,0) DEFAULT NULL,
|
||||
`fb` decimal(20,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999.999999999999999999
|
||||
b 99999999999999999999.999999999999999999
|
||||
@ -1289,8 +1288,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,19) DEFAULT NULL,
|
||||
`b` decimal(38,19) unsigned DEFAULT NULL,
|
||||
`fa` decimal(19,0) DEFAULT NULL,
|
||||
`fb` decimal(19,0) DEFAULT NULL
|
||||
`fa` decimal(20,0) DEFAULT NULL,
|
||||
`fb` decimal(19,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999.9999999999999999999
|
||||
b 9999999999999999999.9999999999999999999
|
||||
@ -1300,8 +1299,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,20) DEFAULT NULL,
|
||||
`b` decimal(38,20) unsigned DEFAULT NULL,
|
||||
`fa` decimal(18,0) DEFAULT NULL,
|
||||
`fb` bigint(17) unsigned DEFAULT NULL
|
||||
`fa` decimal(19,0) DEFAULT NULL,
|
||||
`fb` bigint(18) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999.99999999999999999999
|
||||
b 999999999999999999.99999999999999999999
|
||||
@ -1311,7 +1310,7 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,21) DEFAULT NULL,
|
||||
`b` decimal(38,21) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) DEFAULT NULL,
|
||||
`fa` bigint(19) DEFAULT NULL,
|
||||
`fb` bigint(17) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999.999999999999999999999
|
||||
@ -1322,8 +1321,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,22) DEFAULT NULL,
|
||||
`b` decimal(38,22) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) DEFAULT NULL,
|
||||
`fb` bigint(17) unsigned DEFAULT NULL
|
||||
`fa` bigint(18) DEFAULT NULL,
|
||||
`fb` bigint(16) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999.9999999999999999999999
|
||||
b 9999999999999999.9999999999999999999999
|
||||
@ -1334,7 +1333,7 @@ Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,23) DEFAULT NULL,
|
||||
`b` decimal(38,23) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) DEFAULT NULL,
|
||||
`fb` bigint(17) unsigned DEFAULT NULL
|
||||
`fb` bigint(15) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999.99999999999999999999999
|
||||
b 999999999999999.99999999999999999999999
|
||||
@ -1344,8 +1343,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,24) DEFAULT NULL,
|
||||
`b` decimal(38,24) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) DEFAULT NULL,
|
||||
`fb` bigint(16) unsigned DEFAULT NULL
|
||||
`fa` bigint(16) DEFAULT NULL,
|
||||
`fb` bigint(14) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999.999999999999999999999999
|
||||
b 99999999999999.999999999999999999999999
|
||||
@ -1355,8 +1354,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,25) DEFAULT NULL,
|
||||
`b` decimal(38,25) unsigned DEFAULT NULL,
|
||||
`fa` bigint(16) DEFAULT NULL,
|
||||
`fb` bigint(15) unsigned DEFAULT NULL
|
||||
`fa` bigint(15) DEFAULT NULL,
|
||||
`fb` bigint(13) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999.9999999999999999999999999
|
||||
b 9999999999999.9999999999999999999999999
|
||||
@ -1366,8 +1365,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,26) DEFAULT NULL,
|
||||
`b` decimal(38,26) unsigned DEFAULT NULL,
|
||||
`fa` bigint(15) DEFAULT NULL,
|
||||
`fb` bigint(14) unsigned DEFAULT NULL
|
||||
`fa` bigint(14) DEFAULT NULL,
|
||||
`fb` bigint(12) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999.99999999999999999999999999
|
||||
b 999999999999.99999999999999999999999999
|
||||
@ -1377,8 +1376,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,27) DEFAULT NULL,
|
||||
`b` decimal(38,27) unsigned DEFAULT NULL,
|
||||
`fa` bigint(14) DEFAULT NULL,
|
||||
`fb` bigint(13) unsigned DEFAULT NULL
|
||||
`fa` bigint(13) DEFAULT NULL,
|
||||
`fb` bigint(11) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999.999999999999999999999999999
|
||||
b 99999999999.999999999999999999999999999
|
||||
@ -1388,8 +1387,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,28) DEFAULT NULL,
|
||||
`b` decimal(38,28) unsigned DEFAULT NULL,
|
||||
`fa` bigint(13) DEFAULT NULL,
|
||||
`fb` bigint(12) unsigned DEFAULT NULL
|
||||
`fa` bigint(12) DEFAULT NULL,
|
||||
`fb` bigint(10) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999.9999999999999999999999999999
|
||||
b 9999999999.9999999999999999999999999999
|
||||
@ -1399,8 +1398,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,29) DEFAULT NULL,
|
||||
`b` decimal(38,29) unsigned DEFAULT NULL,
|
||||
`fa` bigint(12) DEFAULT NULL,
|
||||
`fb` bigint(11) unsigned DEFAULT NULL
|
||||
`fa` bigint(11) DEFAULT NULL,
|
||||
`fb` int(9) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999.99999999999999999999999999999
|
||||
b 999999999.99999999999999999999999999999
|
||||
@ -1410,8 +1409,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,30) DEFAULT NULL,
|
||||
`b` decimal(38,30) unsigned DEFAULT NULL,
|
||||
`fa` bigint(11) DEFAULT NULL,
|
||||
`fb` bigint(10) unsigned DEFAULT NULL
|
||||
`fa` int(10) DEFAULT NULL,
|
||||
`fb` int(8) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999.999999999999999999999999999999
|
||||
b 99999999.999999999999999999999999999999
|
||||
@ -1423,7 +1422,7 @@ Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,0) DEFAULT NULL,
|
||||
`b` decimal(30,0) unsigned DEFAULT NULL,
|
||||
`fa` decimal(30,0) DEFAULT NULL,
|
||||
`fb` decimal(31,0) unsigned DEFAULT NULL
|
||||
`fb` decimal(30,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999999999999
|
||||
b 999999999999999999999999999999
|
||||
@ -1433,8 +1432,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,1) DEFAULT NULL,
|
||||
`b` decimal(30,1) unsigned DEFAULT NULL,
|
||||
`fa` decimal(29,0) DEFAULT NULL,
|
||||
`fb` decimal(30,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(30,0) DEFAULT NULL,
|
||||
`fb` decimal(29,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999999999.9
|
||||
b 99999999999999999999999999999.9
|
||||
@ -1444,8 +1443,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,2) DEFAULT NULL,
|
||||
`b` decimal(30,2) unsigned DEFAULT NULL,
|
||||
`fa` decimal(28,0) DEFAULT NULL,
|
||||
`fb` decimal(29,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(29,0) DEFAULT NULL,
|
||||
`fb` decimal(28,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999999999.99
|
||||
b 9999999999999999999999999999.99
|
||||
@ -1455,8 +1454,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,3) DEFAULT NULL,
|
||||
`b` decimal(30,3) unsigned DEFAULT NULL,
|
||||
`fa` decimal(27,0) DEFAULT NULL,
|
||||
`fb` decimal(28,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(28,0) DEFAULT NULL,
|
||||
`fb` decimal(27,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999999999.999
|
||||
b 999999999999999999999999999.999
|
||||
@ -1466,8 +1465,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,4) DEFAULT NULL,
|
||||
`b` decimal(30,4) unsigned DEFAULT NULL,
|
||||
`fa` decimal(26,0) DEFAULT NULL,
|
||||
`fb` decimal(27,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(27,0) DEFAULT NULL,
|
||||
`fb` decimal(26,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999999.9999
|
||||
b 99999999999999999999999999.9999
|
||||
@ -1477,8 +1476,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,5) DEFAULT NULL,
|
||||
`b` decimal(30,5) unsigned DEFAULT NULL,
|
||||
`fa` decimal(25,0) DEFAULT NULL,
|
||||
`fb` decimal(26,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(26,0) DEFAULT NULL,
|
||||
`fb` decimal(25,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999999.99999
|
||||
b 9999999999999999999999999.99999
|
||||
@ -1488,8 +1487,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,6) DEFAULT NULL,
|
||||
`b` decimal(30,6) unsigned DEFAULT NULL,
|
||||
`fa` decimal(24,0) DEFAULT NULL,
|
||||
`fb` decimal(25,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(25,0) DEFAULT NULL,
|
||||
`fb` decimal(24,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999999.999999
|
||||
b 999999999999999999999999.999999
|
||||
@ -1499,8 +1498,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,7) DEFAULT NULL,
|
||||
`b` decimal(30,7) unsigned DEFAULT NULL,
|
||||
`fa` decimal(23,0) DEFAULT NULL,
|
||||
`fb` decimal(24,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(24,0) DEFAULT NULL,
|
||||
`fb` decimal(23,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999999.9999999
|
||||
b 99999999999999999999999.9999999
|
||||
@ -1510,8 +1509,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,8) DEFAULT NULL,
|
||||
`b` decimal(30,8) unsigned DEFAULT NULL,
|
||||
`fa` decimal(22,0) DEFAULT NULL,
|
||||
`fb` decimal(23,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(23,0) DEFAULT NULL,
|
||||
`fb` decimal(22,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999999.99999999
|
||||
b 9999999999999999999999.99999999
|
||||
@ -1521,8 +1520,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,9) DEFAULT NULL,
|
||||
`b` decimal(30,9) unsigned DEFAULT NULL,
|
||||
`fa` decimal(21,0) DEFAULT NULL,
|
||||
`fb` decimal(22,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(22,0) DEFAULT NULL,
|
||||
`fb` decimal(21,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999999.999999999
|
||||
b 999999999999999999999.999999999
|
||||
@ -1532,8 +1531,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,10) DEFAULT NULL,
|
||||
`b` decimal(30,10) unsigned DEFAULT NULL,
|
||||
`fa` decimal(20,0) DEFAULT NULL,
|
||||
`fb` decimal(21,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(21,0) DEFAULT NULL,
|
||||
`fb` decimal(20,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999999.9999999999
|
||||
b 99999999999999999999.9999999999
|
||||
@ -1543,8 +1542,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,11) DEFAULT NULL,
|
||||
`b` decimal(30,11) unsigned DEFAULT NULL,
|
||||
`fa` decimal(19,0) DEFAULT NULL,
|
||||
`fb` decimal(20,0) unsigned DEFAULT NULL
|
||||
`fa` decimal(20,0) DEFAULT NULL,
|
||||
`fb` decimal(19,0) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999999.99999999999
|
||||
b 9999999999999999999.99999999999
|
||||
@ -1554,8 +1553,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,12) DEFAULT NULL,
|
||||
`b` decimal(30,12) unsigned DEFAULT NULL,
|
||||
`fa` decimal(18,0) DEFAULT NULL,
|
||||
`fb` bigint(17) unsigned DEFAULT NULL
|
||||
`fa` decimal(19,0) DEFAULT NULL,
|
||||
`fb` bigint(18) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999999.999999999999
|
||||
b 999999999999999999.999999999999
|
||||
@ -1565,7 +1564,7 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,13) DEFAULT NULL,
|
||||
`b` decimal(30,13) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) DEFAULT NULL,
|
||||
`fa` bigint(19) DEFAULT NULL,
|
||||
`fb` bigint(17) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999999.9999999999999
|
||||
@ -1576,8 +1575,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,14) DEFAULT NULL,
|
||||
`b` decimal(30,14) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) DEFAULT NULL,
|
||||
`fb` bigint(17) unsigned DEFAULT NULL
|
||||
`fa` bigint(18) DEFAULT NULL,
|
||||
`fb` bigint(16) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999999.99999999999999
|
||||
b 9999999999999999.99999999999999
|
||||
@ -1588,7 +1587,7 @@ Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,15) DEFAULT NULL,
|
||||
`b` decimal(30,15) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) DEFAULT NULL,
|
||||
`fb` bigint(17) unsigned DEFAULT NULL
|
||||
`fb` bigint(15) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999999.999999999999999
|
||||
b 999999999999999.999999999999999
|
||||
@ -1598,8 +1597,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,16) DEFAULT NULL,
|
||||
`b` decimal(30,16) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) DEFAULT NULL,
|
||||
`fb` bigint(16) unsigned DEFAULT NULL
|
||||
`fa` bigint(16) DEFAULT NULL,
|
||||
`fb` bigint(14) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999999.9999999999999999
|
||||
b 99999999999999.9999999999999999
|
||||
@ -1609,8 +1608,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,17) DEFAULT NULL,
|
||||
`b` decimal(30,17) unsigned DEFAULT NULL,
|
||||
`fa` bigint(16) DEFAULT NULL,
|
||||
`fb` bigint(15) unsigned DEFAULT NULL
|
||||
`fa` bigint(15) DEFAULT NULL,
|
||||
`fb` bigint(13) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999999.99999999999999999
|
||||
b 9999999999999.99999999999999999
|
||||
@ -1620,8 +1619,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,18) DEFAULT NULL,
|
||||
`b` decimal(30,18) unsigned DEFAULT NULL,
|
||||
`fa` bigint(15) DEFAULT NULL,
|
||||
`fb` bigint(14) unsigned DEFAULT NULL
|
||||
`fa` bigint(14) DEFAULT NULL,
|
||||
`fb` bigint(12) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999999.999999999999999999
|
||||
b 999999999999.999999999999999999
|
||||
@ -1631,8 +1630,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,19) DEFAULT NULL,
|
||||
`b` decimal(30,19) unsigned DEFAULT NULL,
|
||||
`fa` bigint(14) DEFAULT NULL,
|
||||
`fb` bigint(13) unsigned DEFAULT NULL
|
||||
`fa` bigint(13) DEFAULT NULL,
|
||||
`fb` bigint(11) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999999.9999999999999999999
|
||||
b 99999999999.9999999999999999999
|
||||
@ -1642,8 +1641,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,20) DEFAULT NULL,
|
||||
`b` decimal(30,20) unsigned DEFAULT NULL,
|
||||
`fa` bigint(13) DEFAULT NULL,
|
||||
`fb` bigint(12) unsigned DEFAULT NULL
|
||||
`fa` bigint(12) DEFAULT NULL,
|
||||
`fb` bigint(10) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999999.99999999999999999999
|
||||
b 9999999999.99999999999999999999
|
||||
@ -1653,8 +1652,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,21) DEFAULT NULL,
|
||||
`b` decimal(30,21) unsigned DEFAULT NULL,
|
||||
`fa` bigint(12) DEFAULT NULL,
|
||||
`fb` bigint(11) unsigned DEFAULT NULL
|
||||
`fa` bigint(11) DEFAULT NULL,
|
||||
`fb` int(9) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999999.999999999999999999999
|
||||
b 999999999.999999999999999999999
|
||||
@ -1664,8 +1663,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,22) DEFAULT NULL,
|
||||
`b` decimal(30,22) unsigned DEFAULT NULL,
|
||||
`fa` bigint(11) DEFAULT NULL,
|
||||
`fb` bigint(10) unsigned DEFAULT NULL
|
||||
`fa` int(10) DEFAULT NULL,
|
||||
`fb` int(8) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999999.9999999999999999999999
|
||||
b 99999999.9999999999999999999999
|
||||
@ -1675,8 +1674,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,23) DEFAULT NULL,
|
||||
`b` decimal(30,23) unsigned DEFAULT NULL,
|
||||
`fa` bigint(10) DEFAULT NULL,
|
||||
`fb` int(9) unsigned DEFAULT NULL
|
||||
`fa` int(9) DEFAULT NULL,
|
||||
`fb` int(7) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999999.99999999999999999999999
|
||||
b 9999999.99999999999999999999999
|
||||
@ -1686,8 +1685,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,24) DEFAULT NULL,
|
||||
`b` decimal(30,24) unsigned DEFAULT NULL,
|
||||
`fa` int(9) DEFAULT NULL,
|
||||
`fb` int(8) unsigned DEFAULT NULL
|
||||
`fa` int(8) DEFAULT NULL,
|
||||
`fb` int(6) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999999.999999999999999999999999
|
||||
b 999999.999999999999999999999999
|
||||
@ -1697,8 +1696,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,25) DEFAULT NULL,
|
||||
`b` decimal(30,25) unsigned DEFAULT NULL,
|
||||
`fa` int(8) DEFAULT NULL,
|
||||
`fb` int(7) unsigned DEFAULT NULL
|
||||
`fa` int(7) DEFAULT NULL,
|
||||
`fb` int(5) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99999.9999999999999999999999999
|
||||
b 99999.9999999999999999999999999
|
||||
@ -1708,8 +1707,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,26) DEFAULT NULL,
|
||||
`b` decimal(30,26) unsigned DEFAULT NULL,
|
||||
`fa` int(7) DEFAULT NULL,
|
||||
`fb` int(6) unsigned DEFAULT NULL
|
||||
`fa` int(6) DEFAULT NULL,
|
||||
`fb` int(4) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9999.99999999999999999999999999
|
||||
b 9999.99999999999999999999999999
|
||||
@ -1719,8 +1718,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,27) DEFAULT NULL,
|
||||
`b` decimal(30,27) unsigned DEFAULT NULL,
|
||||
`fa` int(6) DEFAULT NULL,
|
||||
`fb` int(5) unsigned DEFAULT NULL
|
||||
`fa` int(5) DEFAULT NULL,
|
||||
`fb` int(3) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 999.999999999999999999999999999
|
||||
b 999.999999999999999999999999999
|
||||
@ -1730,8 +1729,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,28) DEFAULT NULL,
|
||||
`b` decimal(30,28) unsigned DEFAULT NULL,
|
||||
`fa` int(5) DEFAULT NULL,
|
||||
`fb` int(4) unsigned DEFAULT NULL
|
||||
`fa` int(4) DEFAULT NULL,
|
||||
`fb` int(2) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 99.9999999999999999999999999999
|
||||
b 99.9999999999999999999999999999
|
||||
@ -1741,8 +1740,8 @@ Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(30,29) DEFAULT NULL,
|
||||
`b` decimal(30,29) unsigned DEFAULT NULL,
|
||||
`fa` int(4) DEFAULT NULL,
|
||||
`fb` int(3) unsigned DEFAULT NULL
|
||||
`fa` int(3) DEFAULT NULL,
|
||||
`fb` int(1) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9.99999999999999999999999999999
|
||||
b 9.99999999999999999999999999999
|
||||
@ -1784,7 +1783,7 @@ ROUND(10e0,NULL) AS c3;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` double DEFAULT NULL,
|
||||
`c1` int(2) DEFAULT NULL,
|
||||
`c2` double DEFAULT NULL,
|
||||
`c3` double DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
@ -2296,7 +2295,7 @@ FORMAT(-1e308,2)
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`FORMAT(-1e308,2)` varchar(416) DEFAULT NULL
|
||||
`FORMAT(-1e308,2)` varchar(417) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
CREATE OR REPLACE TABLE t1 AS SELECT FORMAT('-1e308',2);
|
||||
@ -2306,7 +2305,7 @@ FORMAT('-1e308',2)
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`FORMAT('-1e308',2)` varchar(416) DEFAULT NULL
|
||||
`FORMAT('-1e308',2)` varchar(417) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
CREATE OR REPLACE TABLE t1 AS SELECT FORMAT(DATE'20191231',0),FORMAT(TIME'99:05:00',0),FORMAT(TIMESTAMP'2019-12-31 23:59:59.123456',0);
|
||||
@ -2318,7 +2317,7 @@ Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`FORMAT(DATE'20191231',0)` varchar(11) DEFAULT NULL,
|
||||
`FORMAT(TIME'99:05:00',0)` varchar(10) DEFAULT NULL,
|
||||
`FORMAT(TIMESTAMP'2019-12-31 23:59:59.123456',0)` varchar(19) DEFAULT NULL
|
||||
`FORMAT(TIMESTAMP'2019-12-31 23:59:59.123456',0)` varchar(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
CREATE OR REPLACE TABLE t1 (y YEAR);
|
||||
@ -3550,7 +3549,7 @@ FORMAT(f,0)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`FORMAT(f,0)` varchar(53) DEFAULT NULL
|
||||
`FORMAT(f,0)` varchar(54) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
|
@ -2708,7 +2708,7 @@ create table t1(a float);
|
||||
insert into t1 values (1.33);
|
||||
select format(a, 2) from t1;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def format(a, 2) 253 56 4 Y 0 39 8
|
||||
def format(a, 2) 253 57 4 Y 0 39 8
|
||||
format(a, 2)
|
||||
1.33
|
||||
drop table t1;
|
||||
|
@ -2773,6 +2773,24 @@ root@localhost
|
||||
DROP TABLE t1;
|
||||
DROP USER dummy@localhost;
|
||||
#
|
||||
# MDEV-23082: ER_TABLEACCESS_DENIED_ERROR error message is truncated, and
|
||||
# inaccurately
|
||||
#
|
||||
CREATE USER foo;
|
||||
CREATE DATABASE db;
|
||||
CREATE TABLE db.t (a INT);
|
||||
connect con1,localhost,foo,,;
|
||||
GRANT ALL ON db.t TO foo;
|
||||
ERROR 42000: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, GRANT, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW ... command denied to user 'foo'@'localhost' for table 't'
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, GRANT OPTION, REFERENCES,
|
||||
INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON db.t TO foo;
|
||||
ERROR 42000: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, GRANT, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW ... command denied to user 'foo'@'localhost' for table 't'
|
||||
connection default;
|
||||
disconnect con1;
|
||||
DROP USER foo;
|
||||
DROP TABLE db.t;
|
||||
DROP DATABASE db;
|
||||
#
|
||||
# End of 10.2 tests
|
||||
#
|
||||
#
|
||||
|
@ -2259,6 +2259,31 @@ SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
DROP USER dummy@localhost;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23082: ER_TABLEACCESS_DENIED_ERROR error message is truncated, and
|
||||
--echo # inaccurately
|
||||
--echo #
|
||||
|
||||
CREATE USER foo;
|
||||
CREATE DATABASE db;
|
||||
CREATE TABLE db.t (a INT);
|
||||
|
||||
--connect (con1,localhost,foo,,)
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
GRANT ALL ON db.t TO foo;
|
||||
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, GRANT OPTION, REFERENCES,
|
||||
INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON db.t TO foo;
|
||||
|
||||
--connection default
|
||||
--disconnect con1
|
||||
|
||||
DROP USER foo;
|
||||
DROP TABLE db.t;
|
||||
DROP DATABASE db;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.2 tests
|
||||
--echo #
|
||||
|
@ -25,6 +25,19 @@ ERROR HY000: Table 'procs_priv' was not locked with LOCK TABLES
|
||||
REVOKE PROCESS ON *.* FROM u;
|
||||
ERROR HY000: Table 'db' was not locked with LOCK TABLES
|
||||
DROP TABLE t1;
|
||||
create database mysqltest1;
|
||||
use mysqltest1;
|
||||
create table t1(id int);
|
||||
insert t1 values(2);
|
||||
create user u1@localhost;
|
||||
grant select on mysqltest1.t1 to u1@localhost;
|
||||
grant update on mysqltest1.* to u1@localhost;
|
||||
connect u1, localhost, u1;
|
||||
update mysqltest1.t1 set id=1 where id=2;
|
||||
connection default;
|
||||
disconnect u1;
|
||||
drop user u1@localhost;
|
||||
drop database mysqltest1;
|
||||
#
|
||||
# MDEV-20076: SHOW GRANTS does not quote role names properly
|
||||
#
|
||||
|
@ -34,6 +34,27 @@ REVOKE EXECUTE ON PROCEDURE sp FROM u;
|
||||
REVOKE PROCESS ON *.* FROM u;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# MDEV-23010 UPDATE privilege at Database and Table level fail to update with SELECT command denied to user
|
||||
#
|
||||
create database mysqltest1;
|
||||
use mysqltest1;
|
||||
create table t1(id int);
|
||||
insert t1 values(2);
|
||||
create user u1@localhost;
|
||||
grant select on mysqltest1.t1 to u1@localhost;
|
||||
grant update on mysqltest1.* to u1@localhost;
|
||||
connect u1, localhost, u1;
|
||||
update mysqltest1.t1 set id=1 where id=2;
|
||||
connection default;
|
||||
disconnect u1;
|
||||
drop user u1@localhost;
|
||||
drop database mysqltest1;
|
||||
|
||||
#
|
||||
# End of 10.1 tests
|
||||
#
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-20076: SHOW GRANTS does not quote role names properly
|
||||
--echo #
|
||||
|
@ -2219,6 +2219,26 @@ SCHEMA_NAME
|
||||
# End of 10.1 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.2 Test
|
||||
#
|
||||
# MDEV-14836: Assertion `m_status == DA_ERROR' failed in
|
||||
# Diagnostics_area::sql_errno upon query from I_S with LIMIT ROWS EXAMINED
|
||||
#
|
||||
SELECT * FROM seq_1_to_100 LIMIT ROWS EXAMINED 10;
|
||||
seq
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
Warnings:
|
||||
Warning 1931 Query execution was interrupted. The query examined at least 11 rows, which exceeds LIMIT ROWS EXAMINED (10). The query result may be incomplete
|
||||
#
|
||||
# End of 10.2 Test
|
||||
#
|
||||
#
|
||||
# MDEV-21201:No records produced in information_schema query,
|
||||
# depending on projection
|
||||
#
|
||||
|
@ -17,6 +17,8 @@
|
||||
--source include/default_optimizer_switch.inc
|
||||
--source include/default_charset.inc
|
||||
|
||||
--source include/have_sequence.inc
|
||||
|
||||
set global sql_mode="";
|
||||
set local sql_mode="";
|
||||
|
||||
@ -1921,6 +1923,18 @@ SELECT SCHEMA_NAME from information_schema.schemata where schema_name=REPEAT('a'
|
||||
--echo # End of 10.1 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.2 Test
|
||||
--echo #
|
||||
--echo # MDEV-14836: Assertion `m_status == DA_ERROR' failed in
|
||||
--echo # Diagnostics_area::sql_errno upon query from I_S with LIMIT ROWS EXAMINED
|
||||
--echo #
|
||||
|
||||
SELECT * FROM seq_1_to_100 LIMIT ROWS EXAMINED 10;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.2 Test
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21201:No records produced in information_schema query,
|
||||
|
@ -158,3 +158,13 @@ show triggers like '%T1%';
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
drop table t1;
|
||||
set GLOBAL sql_mode=default;
|
||||
#
|
||||
# MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
|
||||
#
|
||||
# Compatibility schema names respect the filesystem case sensitivity
|
||||
CREATE TABLE t1 (a MARIADB_SCHEMA.date);
|
||||
ERROR HY000: Unknown data type: 'MARIADB_SCHEMA.date'
|
||||
CREATE TABLE t1 (a Mariadb_schema.date);
|
||||
ERROR HY000: Unknown data type: 'Mariadb_schema.date'
|
||||
CREATE TABLE t1 (a mariadb_schema.date);
|
||||
DROP TABLE t1;
|
||||
|
@ -130,3 +130,18 @@ let $datadir= `select @@datadir`;
|
||||
remove_file $datadir/mysql_upgrade_info;
|
||||
|
||||
set GLOBAL sql_mode=default;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
|
||||
--echo #
|
||||
|
||||
--echo # Compatibility schema names respect the filesystem case sensitivity
|
||||
|
||||
--error ER_UNKNOWN_DATA_TYPE
|
||||
CREATE TABLE t1 (a MARIADB_SCHEMA.date);
|
||||
--error ER_UNKNOWN_DATA_TYPE
|
||||
CREATE TABLE t1 (a Mariadb_schema.date);
|
||||
|
||||
CREATE TABLE t1 (a mariadb_schema.date);
|
||||
DROP TABLE t1;
|
||||
|
@ -85,6 +85,15 @@ END IF|
|
||||
#
|
||||
# Testing with explicit timezonefile
|
||||
#
|
||||
\d |
|
||||
IF (select count(*) from information_schema.global_variables where
|
||||
variable_name='wsrep_on' and variable_value='ON') = 1 THEN
|
||||
ALTER TABLE time_zone ENGINE=InnoDB;
|
||||
ALTER TABLE time_zone_name ENGINE=InnoDB;
|
||||
ALTER TABLE time_zone_transition ENGINE=InnoDB;
|
||||
ALTER TABLE time_zone_transition_type ENGINE=InnoDB;
|
||||
END IF|
|
||||
\d ;
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('XXX', @time_zone_id);
|
||||
@ -106,6 +115,15 @@ END IF|
|
||||
\d |
|
||||
IF (select count(*) from information_schema.global_variables where
|
||||
variable_name='wsrep_on' and variable_value='ON') = 1 THEN
|
||||
ALTER TABLE time_zone ENGINE=InnoDB;
|
||||
ALTER TABLE time_zone_name ENGINE=InnoDB;
|
||||
ALTER TABLE time_zone_transition ENGINE=InnoDB;
|
||||
ALTER TABLE time_zone_transition_type ENGINE=InnoDB;
|
||||
END IF|
|
||||
\d ;
|
||||
\d |
|
||||
IF (select count(*) from information_schema.global_variables where
|
||||
variable_name='wsrep_on' and variable_value='ON') = 1 THEN
|
||||
ALTER TABLE time_zone_leap_second ENGINE=InnoDB;
|
||||
END IF|
|
||||
\d ;
|
||||
|
@ -66,20 +66,6 @@
|
||||
sort-buffer-size 2097152
|
||||
sql-mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
|
||||
sql-safe-updates FALSE
|
||||
@@ -1741,10 +1752,10 @@
|
||||
sync-relay-log-info 10000
|
||||
sysdate-is-now FALSE
|
||||
system-versioning-alter-history ERROR
|
||||
-table-cache 421
|
||||
+table-cache 2000
|
||||
table-definition-cache 400
|
||||
-table-open-cache 421
|
||||
-table-open-cache-instances 1
|
||||
+table-open-cache 2000
|
||||
+table-open-cache-instances 8
|
||||
tc-heuristic-recover OFF
|
||||
tcp-keepalive-interval 0
|
||||
tcp-keepalive-probes 0
|
||||
@@ -1753,6 +1764,8 @@
|
||||
thread-cache-size 151
|
||||
thread-pool-idle-timeout 60
|
||||
|
@ -1594,7 +1594,6 @@ max-binlog-cache-size 18446744073709547520
|
||||
max-binlog-size 1073741824
|
||||
max-binlog-stmt-cache-size 18446744073709547520
|
||||
max-connect-errors 100
|
||||
max-connections 151
|
||||
max-delayed-threads 20
|
||||
max-digest-length 1024
|
||||
max-error-count 64
|
||||
@ -1797,10 +1796,7 @@ sync-relay-log 10000
|
||||
sync-relay-log-info 10000
|
||||
sysdate-is-now FALSE
|
||||
system-versioning-alter-history ERROR
|
||||
table-cache 421
|
||||
table-definition-cache 400
|
||||
table-open-cache 421
|
||||
table-open-cache-instances 1
|
||||
tc-heuristic-recover OFF
|
||||
tcp-keepalive-interval 0
|
||||
tcp-keepalive-probes 0
|
||||
|
@ -23,7 +23,9 @@ perl;
|
||||
log-slow-queries pid-file slow-query-log-file log-basename
|
||||
datadir slave-load-tmpdir tmpdir socket thread-pool-size
|
||||
large-files-support lower-case-file-system system-time-zone
|
||||
collation-server character-set-server log-tc-size tls-version version.*/;
|
||||
collation-server character-set-server log-tc-size table-cache
|
||||
table-open-cache table-open-cache-instances max-connections
|
||||
tls-version version.*/;
|
||||
|
||||
# Plugins which may or may not be there:
|
||||
@plugins=qw/innodb archive blackhole federated partition s3
|
||||
|
@ -27,3 +27,4 @@ let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
let SEARCH_FILE=$MYSQLD_DATADIR/second-mysqld.err;
|
||||
let SEARCH_PATTERN=\[ERROR\] Create named pipe failed;
|
||||
source include/search_pattern_in_file.inc;
|
||||
remove_file $SEARCH_FILE;
|
||||
|
@ -4097,6 +4097,16 @@ Y
|
||||
B
|
||||
A
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23414 Assertion `res->charset() == item->collation.collation' failed in Type_handler_string_result::make_packed_sort_key_part
|
||||
#
|
||||
CREATE TABLE t1 (a CHAR(3), b BINARY(255));
|
||||
INSERT t1 VALUES ('foo','bar'),('baz','qux');
|
||||
SELECT COALESCE(a, b) AS f FROM t1 ORDER BY f;
|
||||
f
|
||||
baz
|
||||
foo
|
||||
DROP TABLE t1;
|
||||
# End of 10.5 tests
|
||||
#
|
||||
# MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
|
||||
|
@ -2533,6 +2533,14 @@ SELECT * FROM t1 ORDER BY a DESC;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23414 Assertion `res->charset() == item->collation.collation' failed in Type_handler_string_result::make_packed_sort_key_part
|
||||
--echo #
|
||||
CREATE TABLE t1 (a CHAR(3), b BINARY(255));
|
||||
INSERT t1 VALUES ('foo','bar'),('baz','qux');
|
||||
SELECT COALESCE(a, b) AS f FROM t1 ORDER BY f;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.5 tests
|
||||
|
||||
--echo #
|
||||
|
@ -1801,6 +1801,13 @@ SELECT @@GLOBAL.password;
|
||||
ERROR HY000: Unknown system variable 'password'
|
||||
SELECT @@GLOBAL.role;
|
||||
ERROR HY000: Unknown system variable 'role'
|
||||
#
|
||||
# MDEV-22022 Various mangled SQL statements will crash 10.3 to 10.5 debug builds
|
||||
#
|
||||
EXECUTE IMMEDIATE 'if(`systeminfo /FO LIST';
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`systeminfo /FO LIST' at line 1
|
||||
EXECUTE IMMEDIATE 'if(`systeminfo';
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`systeminfo' at line 1
|
||||
End of 10.3 tests
|
||||
#
|
||||
# MDEV-19540: 10.4 allow lock options with SELECT in brackets
|
||||
|
@ -1543,6 +1543,15 @@ SELECT @@GLOBAL.password;
|
||||
--error ER_UNKNOWN_SYSTEM_VARIABLE
|
||||
SELECT @@GLOBAL.role;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22022 Various mangled SQL statements will crash 10.3 to 10.5 debug builds
|
||||
--echo #
|
||||
|
||||
--error ER_PARSE_ERROR
|
||||
EXECUTE IMMEDIATE 'if(`systeminfo /FO LIST';
|
||||
--error ER_PARSE_ERROR
|
||||
EXECUTE IMMEDIATE 'if(`systeminfo';
|
||||
|
||||
--echo End of 10.3 tests
|
||||
|
||||
--echo #
|
||||
|
@ -619,7 +619,7 @@ select 4 - 3 * 2, (4 - 3) * 2, 4 - (3 * 2);
|
||||
Testing that / is left associative
|
||||
select 15 / 5 / 3, (15 / 5) / 3, 15 / (5 / 3);
|
||||
15 / 5 / 3 (15 / 5) / 3 15 / (5 / 3)
|
||||
1.00000000 1.00000000 9.0000
|
||||
1.00000000 1.00000000 8.9998
|
||||
Testing that / has precedence over |
|
||||
select 105 / 5 | 2, (105 / 5) | 2, 105 / (5 | 2);
|
||||
105 / 5 | 2 (105 / 5) | 2 105 / (5 | 2)
|
||||
|
@ -2767,5 +2767,45 @@ SELECT 1 FROM t1 WHERE a XOR 'a';
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #25207522: INCORRECT ORDER-BY BEHAVIOR ON A PARTITIONED TABLE
|
||||
# WITH A COMPOSITE PREFIX INDEX
|
||||
#
|
||||
create table t1(id int unsigned not null,
|
||||
data varchar(2) default null,
|
||||
key data_idx (data(1),id)
|
||||
) default charset=utf8
|
||||
partition by range (id) (
|
||||
partition p10 values less than (10),
|
||||
partition p20 values less than (20)
|
||||
);
|
||||
insert t1 values (6, 'ab'), (4, 'ab'), (5, 'ab'), (16, 'ab'), (14, 'ab'), (15, 'ab'), (5, 'ac'), (15, 'aa') ;
|
||||
select id from t1 where data = 'ab' order by id;
|
||||
id
|
||||
4
|
||||
5
|
||||
6
|
||||
14
|
||||
15
|
||||
16
|
||||
drop table t1;
|
||||
create table t1(id int unsigned not null,
|
||||
data text default null,
|
||||
key data_idx (data(1),id)
|
||||
) default charset=utf8
|
||||
partition by range (id) (
|
||||
partition p10 values less than (10),
|
||||
partition p20 values less than (20)
|
||||
);
|
||||
insert t1 values (6, 'ab'), (4, 'ab'), (5, 'ab'), (16, 'ab'), (14, 'ab'), (15, 'ab'), (5, 'ac'), (15, 'aa') ;
|
||||
select id from t1 where data = 'ab' order by id;
|
||||
id
|
||||
4
|
||||
5
|
||||
6
|
||||
14
|
||||
15
|
||||
16
|
||||
drop table t1;
|
||||
#
|
||||
# End of 10.1 tests
|
||||
#
|
||||
|
@ -2976,6 +2976,34 @@ CREATE TABLE t1(a BINARY(80)) PARTITION BY KEY(a) PARTITIONS 3;
|
||||
SELECT 1 FROM t1 WHERE a XOR 'a';
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #25207522: INCORRECT ORDER-BY BEHAVIOR ON A PARTITIONED TABLE
|
||||
--echo # WITH A COMPOSITE PREFIX INDEX
|
||||
--echo #
|
||||
create table t1(id int unsigned not null,
|
||||
data varchar(2) default null,
|
||||
key data_idx (data(1),id)
|
||||
) default charset=utf8
|
||||
partition by range (id) (
|
||||
partition p10 values less than (10),
|
||||
partition p20 values less than (20)
|
||||
);
|
||||
insert t1 values (6, 'ab'), (4, 'ab'), (5, 'ab'), (16, 'ab'), (14, 'ab'), (15, 'ab'), (5, 'ac'), (15, 'aa') ;
|
||||
select id from t1 where data = 'ab' order by id;
|
||||
drop table t1;
|
||||
|
||||
create table t1(id int unsigned not null,
|
||||
data text default null,
|
||||
key data_idx (data(1),id)
|
||||
) default charset=utf8
|
||||
partition by range (id) (
|
||||
partition p10 values less than (10),
|
||||
partition p20 values less than (20)
|
||||
);
|
||||
insert t1 values (6, 'ab'), (4, 'ab'), (5, 'ab'), (16, 'ab'), (14, 'ab'), (15, 'ab'), (5, 'ac'), (15, 'aa') ;
|
||||
select id from t1 where data = 'ab' order by id;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.1 tests
|
||||
--echo #
|
||||
|
@ -9,5 +9,38 @@ ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
test.t1 analyze status OK
|
||||
SET use_stat_tables = DEFAULT;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-21472: ALTER TABLE ... ANALYZE PARTITION ... with EITS reads and locks all rows
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int(11) auto_increment primary key,
|
||||
c1 int(11) DEFAULT NULL
|
||||
) PARTITION BY RANGE (id) (
|
||||
PARTITION p0 VALUES LESS THAN (4),
|
||||
PARTITION p1 VALUES LESS THAN MAXVALUE
|
||||
);
|
||||
insert into t1(c1) values (1),(1),(1),(1), (1),(1),(1),(1);
|
||||
insert into t1(c1) select c1 from t1;
|
||||
insert into t1(c1) select c1 from t1;
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
32
|
||||
select count(*) from t1 where id <4;
|
||||
count(*)
|
||||
3
|
||||
flush status;
|
||||
set session use_stat_tables='preferably';
|
||||
# Must NOT show "Engine-independent statistics collected":
|
||||
alter table t1 analyze partition p0;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
test.t1 analyze status OK
|
||||
# Should not have Handler_read_rnd_next=34
|
||||
show session status like 'Handler_read_rnd%';
|
||||
Variable_name Value
|
||||
Handler_read_rnd 0
|
||||
Handler_read_rnd_deleted 0
|
||||
Handler_read_rnd_next 34
|
||||
drop table t1;
|
||||
SET use_stat_tables = DEFAULT;
|
||||
|
@ -11,7 +11,33 @@ CREATE TABLE t1 (pk int PRIMARY KEY, a bit(1), INDEX idx(a)
|
||||
INSERT INTO t1 VALUES (1,1),(2,0),(3,0),(4,1);
|
||||
|
||||
ANALYZE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21472: ALTER TABLE ... ANALYZE PARTITION ... with EITS reads and locks all rows
|
||||
--echo #
|
||||
CREATE TABLE t1 (
|
||||
id int(11) auto_increment primary key,
|
||||
c1 int(11) DEFAULT NULL
|
||||
) PARTITION BY RANGE (id) (
|
||||
PARTITION p0 VALUES LESS THAN (4),
|
||||
PARTITION p1 VALUES LESS THAN MAXVALUE
|
||||
);
|
||||
|
||||
insert into t1(c1) values (1),(1),(1),(1), (1),(1),(1),(1);
|
||||
insert into t1(c1) select c1 from t1;
|
||||
insert into t1(c1) select c1 from t1;
|
||||
|
||||
select count(*) from t1;
|
||||
select count(*) from t1 where id <4;
|
||||
flush status;
|
||||
set session use_stat_tables='preferably';
|
||||
|
||||
--echo # Must NOT show "Engine-independent statistics collected":
|
||||
alter table t1 analyze partition p0;
|
||||
|
||||
--echo # Should not have Handler_read_rnd_next=34
|
||||
show session status like 'Handler_read_rnd%';
|
||||
drop table t1;
|
||||
|
||||
SET use_stat_tables = DEFAULT;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -2585,6 +2585,71 @@ e 2
|
||||
o 6
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# MDEV-19232: Floating point precision / value comparison problem
|
||||
#
|
||||
CREATE TABLE t1 (region varchar(60), area decimal(10,0), population decimal(11,0));
|
||||
INSERT INTO t1 VALUES ('Central America and the Caribbean',91,11797);
|
||||
INSERT INTO t1 VALUES ('Central America and the Caribbean',442,66422);
|
||||
SET @save_optimizer_switch=@@optimizer_switch;
|
||||
SET optimizer_switch='subquery_cache=on';
|
||||
SELECT
|
||||
population, area, population/area,
|
||||
cast(population/area as DECIMAL(20,9)) FROM t1 LIMIT 1;
|
||||
population area population/area cast(population/area as DECIMAL(20,9))
|
||||
11797 91 129.6374 129.637400000
|
||||
SELECT * FROM t1 A
|
||||
WHERE population/area = (SELECT MAX(population/area) from t1 B where A.region = B.region);
|
||||
region area population
|
||||
Central America and the Caribbean 442 66422
|
||||
SET optimizer_switch='subquery_cache=off';
|
||||
SELECT * FROM t1 A
|
||||
WHERE population/area = (SELECT MAX(population/area) from t1 B where A.region = B.region);
|
||||
region area population
|
||||
Central America and the Caribbean 442 66422
|
||||
SET @@optimizer_switch= @save_optimizer_switch;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-9513: Assertion `join->group_list || !join->is_in_subquery()' failed in create_sort_index
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
CREATE TABLE t2 (a INT);
|
||||
INSERT INTO t2 VALUES (2),(3);
|
||||
EXPLAIN
|
||||
SELECT t1.a FROM t1 WHERE t1.a IN ( SELECT A.a FROM t1 A UNION SELECT B.a FROM t2 B ORDER BY 1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DEPENDENT SUBQUERY A ALL NULL NULL NULL NULL 2 Using where
|
||||
3 DEPENDENT UNION B ALL NULL NULL NULL NULL 2 Using where
|
||||
NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
|
||||
SELECT t1.a FROM t1 WHERE t1.a IN ( SELECT A.a FROM t1 A UNION SELECT B.a FROM t2 B ORDER BY 1);
|
||||
a
|
||||
1
|
||||
2
|
||||
EXPLAIN
|
||||
SELECT t1.a FROM t1 WHERE EXISTS (SELECT A.a FROM t1 A UNION SELECT B.a FROM t2 B ORDER BY 1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
|
||||
2 SUBQUERY A ALL NULL NULL NULL NULL 2
|
||||
3 UNION B ALL NULL NULL NULL NULL 2
|
||||
NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
|
||||
SELECT t1.a FROM t1 WHERE EXISTS (SELECT A.a FROM t1 A UNION SELECT B.a FROM t2 B ORDER BY 1);
|
||||
a
|
||||
1
|
||||
2
|
||||
EXPLAIN
|
||||
SELECT t1.a FROM t1 WHERE t1.a IN ( SELECT A.a FROM t1 A UNION ALL SELECT B.a FROM t2 B ORDER BY 1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DEPENDENT SUBQUERY A ALL NULL NULL NULL NULL 2 Using where
|
||||
3 DEPENDENT UNION B ALL NULL NULL NULL NULL 2 Using where
|
||||
SELECT t1.a FROM t1 WHERE t1.a IN ( SELECT A.a FROM t1 A UNION ALL SELECT B.a FROM t2 B ORDER BY 1);
|
||||
a
|
||||
1
|
||||
2
|
||||
DROP TABLE t1,t2;
|
||||
# end of 10.1 tests
|
||||
#
|
||||
# MDEV-22852: SIGSEGV in sortlength (optimized builds)
|
||||
#
|
||||
SET @save_optimizer_switch=@@optimizer_switch;
|
||||
@ -2596,6 +2661,31 @@ SELECT (SELECT DISTINCT t1i.b FROM t1 t1i GROUP BY t1i.a ORDER BY MAX(t1o.b)) FR
|
||||
0
|
||||
SET @@optimizer_switch= @save_optimizer_switch;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-17066: Bytes lost or Assertion `status_var.local_memory_used == 0 after DELETE
|
||||
# with subquery with ROLLUP
|
||||
#
|
||||
CREATE TABLE t1 (i INT DEFAULT 0, c VARCHAR(2048));
|
||||
INSERT INTO t1 SELECT 0, seq FROM seq_1_to_6000;
|
||||
CREATE TABLE t2 (f VARCHAR(2048) DEFAULT '');
|
||||
INSERT INTO t2 VALUES ('1'),('bar');
|
||||
EXPLAIN
|
||||
SELECT * FROM t2 WHERE f IN ( SELECT MAX(c) FROM t1 GROUP BY c WITH ROLLUP);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 6000 Using filesort
|
||||
SELECT * FROM t2 WHERE f IN ( SELECT MAX(c) FROM t1 GROUP BY c WITH ROLLUP);
|
||||
f
|
||||
1
|
||||
SELECT * FROM t2;
|
||||
f
|
||||
1
|
||||
bar
|
||||
DELETE FROM t2 WHERE f IN ( SELECT MAX(c) FROM t1 GROUP BY c WITH ROLLUP );
|
||||
SELECT * FROM t2;
|
||||
f
|
||||
bar
|
||||
DROP TABLE t1, t2;
|
||||
# End of 10.2 tests
|
||||
#
|
||||
# MDEV-19134: EXISTS() slower if ORDER BY is defined
|
||||
|
@ -7,6 +7,8 @@ drop table if exists t0,t1,t2,t3,t4,t5,t6;
|
||||
drop view if exists v1, v2;
|
||||
--enable_warnings
|
||||
|
||||
--source include/have_sequence.inc
|
||||
|
||||
set @subselect4_tmp= @@optimizer_switch;
|
||||
set optimizer_switch='semijoin=on,firstmatch=on,loosescan=on';
|
||||
set optimizer_switch='semijoin_with_cache=on';
|
||||
@ -2115,6 +2117,57 @@ EXPLAIN EXTENDED SELECT * FROM t1 where ( t1.l1 < ANY (SELECT MAX(t2.v1) FROM t
|
||||
SELECT * FROM t1 where ( t1.l1 < ANY (SELECT MAX(t2.v1) FROM t2));
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-19232: Floating point precision / value comparison problem
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (region varchar(60), area decimal(10,0), population decimal(11,0));
|
||||
INSERT INTO t1 VALUES ('Central America and the Caribbean',91,11797);
|
||||
INSERT INTO t1 VALUES ('Central America and the Caribbean',442,66422);
|
||||
|
||||
SET @save_optimizer_switch=@@optimizer_switch;
|
||||
SET optimizer_switch='subquery_cache=on';
|
||||
|
||||
SELECT
|
||||
population, area, population/area,
|
||||
cast(population/area as DECIMAL(20,9)) FROM t1 LIMIT 1;
|
||||
|
||||
SELECT * FROM t1 A
|
||||
WHERE population/area = (SELECT MAX(population/area) from t1 B where A.region = B.region);
|
||||
|
||||
SET optimizer_switch='subquery_cache=off';
|
||||
SELECT * FROM t1 A
|
||||
WHERE population/area = (SELECT MAX(population/area) from t1 B where A.region = B.region);
|
||||
|
||||
SET @@optimizer_switch= @save_optimizer_switch;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-9513: Assertion `join->group_list || !join->is_in_subquery()' failed in create_sort_index
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
|
||||
CREATE TABLE t2 (a INT);
|
||||
INSERT INTO t2 VALUES (2),(3);
|
||||
EXPLAIN
|
||||
SELECT t1.a FROM t1 WHERE t1.a IN ( SELECT A.a FROM t1 A UNION SELECT B.a FROM t2 B ORDER BY 1);
|
||||
SELECT t1.a FROM t1 WHERE t1.a IN ( SELECT A.a FROM t1 A UNION SELECT B.a FROM t2 B ORDER BY 1);
|
||||
|
||||
EXPLAIN
|
||||
SELECT t1.a FROM t1 WHERE EXISTS (SELECT A.a FROM t1 A UNION SELECT B.a FROM t2 B ORDER BY 1);
|
||||
SELECT t1.a FROM t1 WHERE EXISTS (SELECT A.a FROM t1 A UNION SELECT B.a FROM t2 B ORDER BY 1);
|
||||
|
||||
EXPLAIN
|
||||
SELECT t1.a FROM t1 WHERE t1.a IN ( SELECT A.a FROM t1 A UNION ALL SELECT B.a FROM t2 B ORDER BY 1);
|
||||
SELECT t1.a FROM t1 WHERE t1.a IN ( SELECT A.a FROM t1 A UNION ALL SELECT B.a FROM t2 B ORDER BY 1);
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo # end of 10.1 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22852: SIGSEGV in sortlength (optimized builds)
|
||||
--echo #
|
||||
@ -2127,6 +2180,27 @@ SELECT (SELECT DISTINCT t1i.b FROM t1 t1i GROUP BY t1i.a ORDER BY MAX(t1o.b)) FR
|
||||
SET @@optimizer_switch= @save_optimizer_switch;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-17066: Bytes lost or Assertion `status_var.local_memory_used == 0 after DELETE
|
||||
--echo # with subquery with ROLLUP
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (i INT DEFAULT 0, c VARCHAR(2048));
|
||||
INSERT INTO t1 SELECT 0, seq FROM seq_1_to_6000;
|
||||
|
||||
CREATE TABLE t2 (f VARCHAR(2048) DEFAULT '');
|
||||
INSERT INTO t2 VALUES ('1'),('bar');
|
||||
|
||||
EXPLAIN
|
||||
SELECT * FROM t2 WHERE f IN ( SELECT MAX(c) FROM t1 GROUP BY c WITH ROLLUP);
|
||||
SELECT * FROM t2 WHERE f IN ( SELECT MAX(c) FROM t1 GROUP BY c WITH ROLLUP);
|
||||
|
||||
SELECT * FROM t2;
|
||||
DELETE FROM t2 WHERE f IN ( SELECT MAX(c) FROM t1 GROUP BY c WITH ROLLUP );
|
||||
SELECT * FROM t2;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo # End of 10.2 tests
|
||||
|
||||
--echo #
|
||||
|
@ -975,4 +975,131 @@ id
|
||||
DROP PROCEDURE p1;
|
||||
DROP TABLE t1;
|
||||
# End of 10.0 tests
|
||||
#
|
||||
# MDEV-23221: A subquery causes crash
|
||||
#
|
||||
create table t1 (
|
||||
location_code varchar(10),
|
||||
country_id varchar(10)
|
||||
);
|
||||
insert into t1 values ('HKG', 'HK');
|
||||
insert into t1 values ('NYC', 'US');
|
||||
insert into t1 values ('LAX', 'US');
|
||||
create table t2 (
|
||||
container_id varchar(10),
|
||||
cntr_activity_type varchar(10),
|
||||
cntr_dest varchar(10)
|
||||
);
|
||||
insert into t2 values ('AAAA1111', 'VSL', 'NYC');
|
||||
insert into t2 values ('AAAA1111', 'CUV', 'NYC');
|
||||
insert into t2 values ('BBBB2222', 'VSL', 'LAX');
|
||||
insert into t2 values ('BBBB2222', 'XYZ', 'LAX');
|
||||
# Must not crash or return an error:
|
||||
select
|
||||
(select country_id from t1 where location_code = cl1.cntr_dest) as dest_cntry,
|
||||
(select
|
||||
max(container_id)
|
||||
from t2 as cl2
|
||||
where
|
||||
cl2.container_id = cl1.container_id and
|
||||
cl2.cntr_activity_type = 'CUV' and
|
||||
exists (select location_code
|
||||
from t1
|
||||
where
|
||||
location_code = cl2.cntr_dest and
|
||||
country_id = dest_cntry)
|
||||
) as CUV
|
||||
from
|
||||
t2 cl1;
|
||||
dest_cntry CUV
|
||||
US AAAA1111
|
||||
US AAAA1111
|
||||
US NULL
|
||||
US NULL
|
||||
prepare s from "select
|
||||
(select country_id from t1 where location_code = cl1.cntr_dest) as dest_cntry,
|
||||
(select
|
||||
max(container_id)
|
||||
from t2 as cl2
|
||||
where
|
||||
cl2.container_id = cl1.container_id and
|
||||
cl2.cntr_activity_type = 'CUV' and
|
||||
exists (select location_code
|
||||
from t1
|
||||
where
|
||||
location_code = cl2.cntr_dest and
|
||||
country_id = dest_cntry)
|
||||
) as CUV
|
||||
from
|
||||
t2 cl1";
|
||||
execute s;
|
||||
dest_cntry CUV
|
||||
US AAAA1111
|
||||
US AAAA1111
|
||||
US NULL
|
||||
US NULL
|
||||
execute s;
|
||||
dest_cntry CUV
|
||||
US AAAA1111
|
||||
US AAAA1111
|
||||
US NULL
|
||||
US NULL
|
||||
drop table t1,t2;
|
||||
#
|
||||
# MDEV-20557: SQL query with duplicate table aliases consistently crashes server
|
||||
# (Just a testcase)
|
||||
#
|
||||
create table t1 (id int, id2 int);
|
||||
create table t2 (id int, id2 int, a int);
|
||||
create table t3 (id int);
|
||||
create table t4 (id int);
|
||||
select (select 1 from t1 where (exists
|
||||
(select 1 from t2
|
||||
where t2.a = (select t4.id from t4 where t4.id = t3.id) and t2.id2 = t1.id2))) dt
|
||||
from t3;
|
||||
ERROR 42000: This version of MariaDB doesn't yet support 'SUBQUERY in ROW in left expression of IN/ALL/ANY'
|
||||
drop table t1,t2,t3,t4;
|
||||
#
|
||||
# MDEV-21649: Crash when using nested EXISTS
|
||||
# (Just a testcase)
|
||||
#
|
||||
CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id));
|
||||
CREATE TABLE t2 (id INT NOT NULL AUTO_INCREMENT, ip_id INT, PRIMARY KEY(id));
|
||||
CREATE TABLE t3 (id INT NOT NULL AUTO_INCREMENT, storage_method_id INT, storage_target_id INT, PRIMARY KEY(id));
|
||||
SELECT
|
||||
W0.`id`
|
||||
FROM
|
||||
`t1` W0
|
||||
WHERE (
|
||||
EXISTS(
|
||||
SELECT
|
||||
V0.`id`
|
||||
FROM
|
||||
`t2` V0
|
||||
WHERE (
|
||||
EXISTS(
|
||||
SELECT
|
||||
U0.`id`
|
||||
FROM
|
||||
`t2` U0
|
||||
INNER JOIN `t3` U4 ON (U0.`id` = U4.`storage_target_id`)
|
||||
WHERE (
|
||||
U0.`ip_id` = V0.`ip_id`
|
||||
AND U4.`storage_method_id` = (
|
||||
SELECT
|
||||
U5.`storage_method_id`
|
||||
FROM
|
||||
`t3` U5
|
||||
WHERE
|
||||
U5.`storage_target_id` = V0.`id`
|
||||
LIMIT
|
||||
1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
id
|
||||
drop table t1,t2,t3;
|
||||
set optimizer_switch=default;
|
||||
|
@ -829,5 +829,117 @@ DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.0 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23221: A subquery causes crash
|
||||
--echo #
|
||||
create table t1 (
|
||||
location_code varchar(10),
|
||||
country_id varchar(10)
|
||||
);
|
||||
insert into t1 values ('HKG', 'HK');
|
||||
insert into t1 values ('NYC', 'US');
|
||||
insert into t1 values ('LAX', 'US');
|
||||
|
||||
create table t2 (
|
||||
container_id varchar(10),
|
||||
cntr_activity_type varchar(10),
|
||||
cntr_dest varchar(10)
|
||||
);
|
||||
insert into t2 values ('AAAA1111', 'VSL', 'NYC');
|
||||
insert into t2 values ('AAAA1111', 'CUV', 'NYC');
|
||||
insert into t2 values ('BBBB2222', 'VSL', 'LAX');
|
||||
insert into t2 values ('BBBB2222', 'XYZ', 'LAX');
|
||||
|
||||
let $query=
|
||||
select
|
||||
(select country_id from t1 where location_code = cl1.cntr_dest) as dest_cntry,
|
||||
(select
|
||||
max(container_id)
|
||||
from t2 as cl2
|
||||
where
|
||||
cl2.container_id = cl1.container_id and
|
||||
cl2.cntr_activity_type = 'CUV' and
|
||||
exists (select location_code
|
||||
from t1
|
||||
where
|
||||
location_code = cl2.cntr_dest and
|
||||
country_id = dest_cntry)
|
||||
) as CUV
|
||||
from
|
||||
t2 cl1;
|
||||
|
||||
--echo # Must not crash or return an error:
|
||||
eval $query;
|
||||
|
||||
eval prepare s from "$query";
|
||||
execute s;
|
||||
execute s;
|
||||
|
||||
drop table t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-20557: SQL query with duplicate table aliases consistently crashes server
|
||||
--echo # (Just a testcase)
|
||||
--echo #
|
||||
|
||||
create table t1 (id int, id2 int);
|
||||
create table t2 (id int, id2 int, a int);
|
||||
create table t3 (id int);
|
||||
create table t4 (id int);
|
||||
|
||||
--error ER_NOT_SUPPORTED_YET
|
||||
select (select 1 from t1 where (exists
|
||||
(select 1 from t2
|
||||
where t2.a = (select t4.id from t4 where t4.id = t3.id) and t2.id2 = t1.id2))) dt
|
||||
from t3;
|
||||
|
||||
drop table t1,t2,t3,t4;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21649: Crash when using nested EXISTS
|
||||
--echo # (Just a testcase)
|
||||
--echo #
|
||||
CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id));
|
||||
CREATE TABLE t2 (id INT NOT NULL AUTO_INCREMENT, ip_id INT, PRIMARY KEY(id));
|
||||
CREATE TABLE t3 (id INT NOT NULL AUTO_INCREMENT, storage_method_id INT, storage_target_id INT, PRIMARY KEY(id));
|
||||
|
||||
SELECT
|
||||
W0.`id`
|
||||
FROM
|
||||
`t1` W0
|
||||
WHERE (
|
||||
EXISTS(
|
||||
SELECT
|
||||
V0.`id`
|
||||
FROM
|
||||
`t2` V0
|
||||
WHERE (
|
||||
EXISTS(
|
||||
SELECT
|
||||
U0.`id`
|
||||
FROM
|
||||
`t2` U0
|
||||
INNER JOIN `t3` U4 ON (U0.`id` = U4.`storage_target_id`)
|
||||
WHERE (
|
||||
U0.`ip_id` = V0.`ip_id`
|
||||
AND U4.`storage_method_id` = (
|
||||
SELECT
|
||||
U5.`storage_method_id`
|
||||
FROM
|
||||
`t3` U5
|
||||
WHERE
|
||||
U5.`storage_target_id` = V0.`id`
|
||||
LIMIT
|
||||
1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
drop table t1,t2,t3;
|
||||
|
||||
#restore defaults
|
||||
set optimizer_switch=default;
|
||||
|
@ -1103,5 +1103,35 @@ t2 CREATE TABLE `t2` (
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t2,t1;
|
||||
#
|
||||
# MDEV-23388 Assertion `args[0]->decimals == 0' failed in Item_func_round::fix_arg_int
|
||||
#
|
||||
SELECT ROUND(GREATEST('1', CAST('2020-12-12' AS DATE)));
|
||||
ROUND(GREATEST('1', CAST('2020-12-12' AS DATE)))
|
||||
20201212
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '1'
|
||||
SELECT GREATEST('1', CAST('2020-12-12' AS DATE));
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def GREATEST('1', CAST('2020-12-12' AS DATE)) 10 10 10 Y 128 0 63
|
||||
GREATEST('1', CAST('2020-12-12' AS DATE))
|
||||
2020-12-12
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '1'
|
||||
CREATE TABLE t1 (c_date DATE NOT NULL, c_int INT NOT NULL);
|
||||
CREATE TABLE t2 AS SELECT
|
||||
GREATEST(c_date,c_date),
|
||||
GREATEST(c_date,c_int),
|
||||
GREATEST(c_int,c_date)
|
||||
FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`GREATEST(c_date,c_date)` date NOT NULL,
|
||||
`GREATEST(c_date,c_int)` date DEFAULT NULL,
|
||||
`GREATEST(c_int,c_date)` date DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.4 tests
|
||||
#
|
||||
|
@ -749,6 +749,28 @@ 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 # MDEV-23388 Assertion `args[0]->decimals == 0' failed in Item_func_round::fix_arg_int
|
||||
--echo #
|
||||
|
||||
SELECT ROUND(GREATEST('1', CAST('2020-12-12' AS DATE)));
|
||||
|
||||
--disable_ps_protocol
|
||||
--enable_metadata
|
||||
SELECT GREATEST('1', CAST('2020-12-12' AS DATE));
|
||||
--disable_metadata
|
||||
--enable_ps_protocol
|
||||
|
||||
CREATE TABLE t1 (c_date DATE NOT NULL, c_int INT NOT NULL);
|
||||
CREATE TABLE t2 AS SELECT
|
||||
GREATEST(c_date,c_date),
|
||||
GREATEST(c_date,c_int),
|
||||
GREATEST(c_int,c_date)
|
||||
FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
--echo #
|
||||
|
@ -676,6 +676,27 @@ Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` = 2010e0
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23282 FLOAT(53,0) badly handles out-of-range values
|
||||
#
|
||||
CREATE OR REPLACE TABLE t1 (c1 FLOAT NOT NULL, c2 FLOAT NOT NULL);
|
||||
INSERT IGNORE INTO t1 VALUES (1e+40, -1e+40);
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT c1, c2 FROM t1;
|
||||
c1 c2
|
||||
3.40282e38 -3.40282e38
|
||||
DROP TABLE t1;
|
||||
CREATE OR REPLACE TABLE t1 (c1 FLOAT(53,0) NOT NULL, c2 FLOAT(53,0) NOT NULL);
|
||||
INSERT IGNORE INTO t1 VALUES (1e+40, -1e+40);
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT c1, c2 FROM t1;
|
||||
c1 c2
|
||||
340282346638528860000000000000000000000 -340282346638528860000000000000000000000
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.1 tests
|
||||
#
|
||||
#
|
||||
@ -969,5 +990,175 @@ Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where 1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23415 Server crash or Assertion `dec_length <= str_length' failed in Item_func_format::val_str_ascii
|
||||
#
|
||||
SELECT FORMAT('0', 50, 'de_DE');
|
||||
FORMAT('0', 50, 'de_DE')
|
||||
0,00000000000000000000000000000000000000
|
||||
SELECT FORMAT(0e0, 50, 'de_DE');
|
||||
FORMAT(0e0, 50, 'de_DE')
|
||||
0,00000000000000000000000000000000000000
|
||||
FOR d IN 0..50
|
||||
DO
|
||||
SELECT
|
||||
d,
|
||||
FORMAT(123456789.123456789e0, d, 'de_DE') AS fdbl,
|
||||
FORMAT(123456789.123456789, d, 'de_DE') AS fdec;
|
||||
END FOR;
|
||||
$$
|
||||
d 0
|
||||
fdbl 123.456.789
|
||||
fdec 123.456.789
|
||||
d 1
|
||||
fdbl 123.456.789,1
|
||||
fdec 123.456.789,1
|
||||
d 2
|
||||
fdbl 123.456.789,12
|
||||
fdec 123.456.789,12
|
||||
d 3
|
||||
fdbl 123.456.789,123
|
||||
fdec 123.456.789,123
|
||||
d 4
|
||||
fdbl 123.456.789,1235
|
||||
fdec 123.456.789,1235
|
||||
d 5
|
||||
fdbl 123.456.789,12346
|
||||
fdec 123.456.789,12346
|
||||
d 6
|
||||
fdbl 123.456.789,123457
|
||||
fdec 123.456.789,123457
|
||||
d 7
|
||||
fdbl 123.456.789,1234568
|
||||
fdec 123.456.789,1234568
|
||||
d 8
|
||||
fdbl 123.456.789,12345680
|
||||
fdec 123.456.789,12345679
|
||||
d 9
|
||||
fdbl 123.456.789,123456790
|
||||
fdec 123.456.789,123456789
|
||||
d 10
|
||||
fdbl 123.456.789,1234567900
|
||||
fdec 123.456.789,1234567890
|
||||
d 11
|
||||
fdbl 123.456.789,12345680000
|
||||
fdec 123.456.789,12345678900
|
||||
d 12
|
||||
fdbl 123.456.789,123456790000
|
||||
fdec 123.456.789,123456789000
|
||||
d 13
|
||||
fdbl 123.456.789,1234568000000
|
||||
fdec 123.456.789,1234567890000
|
||||
d 14
|
||||
fdbl 123.456.789,12345679000000
|
||||
fdec 123.456.789,12345678900000
|
||||
d 15
|
||||
fdbl 123.456.789,123456790000000
|
||||
fdec 123.456.789,123456789000000
|
||||
d 16
|
||||
fdbl 123.456.789,1234567800000000
|
||||
fdec 123.456.789,1234567890000000
|
||||
d 17
|
||||
fdbl 123.456.789,12345679000000000
|
||||
fdec 123.456.789,12345678900000000
|
||||
d 18
|
||||
fdbl 123.456.789,123456790000000000
|
||||
fdec 123.456.789,123456789000000000
|
||||
d 19
|
||||
fdbl 123.456.789,1234567900000000000
|
||||
fdec 123.456.789,1234567890000000000
|
||||
d 20
|
||||
fdbl 123.456.789,12345679000000000000
|
||||
fdec 123.456.789,12345678900000000000
|
||||
d 21
|
||||
fdbl 123.456.789,123456800000000000000
|
||||
fdec 123.456.789,123456789000000000000
|
||||
d 22
|
||||
fdbl 123.456.789,1234567900000000000000
|
||||
fdec 123.456.789,1234567890000000000000
|
||||
d 23
|
||||
fdbl 123.456.789,12345680000000000000000
|
||||
fdec 123.456.789,12345678900000000000000
|
||||
d 24
|
||||
fdbl 123.456.789,123456790000000000000000
|
||||
fdec 123.456.789,123456789000000000000000
|
||||
d 25
|
||||
fdbl 123.456.789,1234567900000000000000000
|
||||
fdec 123.456.789,1234567890000000000000000
|
||||
d 26
|
||||
fdbl 123.456.789,12345679000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000
|
||||
d 27
|
||||
fdbl 123.456.789,123456780000000000000000000
|
||||
fdec 123.456.789,123456789000000000000000000
|
||||
d 28
|
||||
fdbl 123.456.789,1234567900000000000000000000
|
||||
fdec 123.456.789,1234567890000000000000000000
|
||||
d 29
|
||||
fdbl 123.456.789,12345678000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000
|
||||
d 30
|
||||
fdbl 123.456.789,123456790000000000000000000000
|
||||
fdec 123.456.789,123456789000000000000000000000
|
||||
d 31
|
||||
fdbl 123.456.789,1234567900000000000000000000000
|
||||
fdec 123.456.789,1234567890000000000000000000000
|
||||
d 32
|
||||
fdbl 123.456.789,12345679000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000
|
||||
d 33
|
||||
fdbl 123.456.789,123456790000000000000000000000000
|
||||
fdec 123.456.789,123456789000000000000000000000000
|
||||
d 34
|
||||
fdbl 123.456.789,1234567900000000000000000000000000
|
||||
fdec 123.456.789,1234567890000000000000000000000000
|
||||
d 35
|
||||
fdbl 123.456.789,12345679000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000
|
||||
d 36
|
||||
fdbl 123.456.789,123456790000000000000000000000000000
|
||||
fdec 123.456.789,123456789000000000000000000000000000
|
||||
d 37
|
||||
fdbl 123.456.789,1234567900000000000000000000000000000
|
||||
fdec 123.456.789,1234567890000000000000000000000000000
|
||||
d 38
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 39
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 40
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 41
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 42
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 43
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 44
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 45
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 46
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 47
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 48
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 49
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
d 50
|
||||
fdbl 123.456.789,12345678000000000000000000000000000000
|
||||
fdec 123.456.789,12345678900000000000000000000000000000
|
||||
#
|
||||
# End of 10.4 tests
|
||||
#
|
||||
|
@ -485,6 +485,20 @@ EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=2010e0 AND a>=2010e0;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23282 FLOAT(53,0) badly handles out-of-range values
|
||||
--echo #
|
||||
|
||||
CREATE OR REPLACE TABLE t1 (c1 FLOAT NOT NULL, c2 FLOAT NOT NULL);
|
||||
INSERT IGNORE INTO t1 VALUES (1e+40, -1e+40);
|
||||
SELECT c1, c2 FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE OR REPLACE TABLE t1 (c1 FLOAT(53,0) NOT NULL, c2 FLOAT(53,0) NOT NULL);
|
||||
INSERT IGNORE INTO t1 VALUES (1e+40, -1e+40);
|
||||
SELECT c1, c2 FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.1 tests
|
||||
--echo #
|
||||
@ -666,6 +680,26 @@ EXECUTE IMMEDIATE 'EXPLAIN EXTENDED SELECT * FROM t1 WHERE ?+a<=>1e0+a' USING 1e
|
||||
EXECUTE IMMEDIATE 'EXPLAIN EXTENDED SELECT * FROM t1 WHERE 1e0+a<=>?+a' USING 1e0;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23415 Server crash or Assertion `dec_length <= str_length' failed in Item_func_format::val_str_ascii
|
||||
--echo #
|
||||
|
||||
SELECT FORMAT('0', 50, 'de_DE');
|
||||
SELECT FORMAT(0e0, 50, 'de_DE');
|
||||
|
||||
--vertical_results
|
||||
DELIMITER $$;
|
||||
FOR d IN 0..50
|
||||
DO
|
||||
SELECT
|
||||
d,
|
||||
FORMAT(123456789.123456789e0, d, 'de_DE') AS fdbl,
|
||||
FORMAT(123456789.123456789, d, 'de_DE') AS fdec;
|
||||
END FOR;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
--horizontal_results
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
--echo #
|
||||
|
@ -178,5 +178,59 @@ c3 18446744073709551615
|
||||
c4 18446744073709551615
|
||||
c5 18446744073709551615
|
||||
#
|
||||
# MDEV-23368 ROUND(18446744073709551615,-11) returns a wrong result
|
||||
#
|
||||
SELECT ROUND(0xFFFFFFFFFFFFFFFF,-10), ROUND(0xFFFFFFFFFFFFFFFF,-11);
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-10) ROUND(0xFFFFFFFFFFFFFFFF,-11)
|
||||
18446744070000000000 18446744100000000000
|
||||
CREATE TABLE t1 AS SELECT ROUND(0xFFFFFFFFFFFFFFFF,-10), ROUND(0xFFFFFFFFFFFFFFFF,-11);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`ROUND(0xFFFFFFFFFFFFFFFF,-10)` decimal(21,0) unsigned NOT NULL,
|
||||
`ROUND(0xFFFFFFFFFFFFFFFF,-11)` decimal(21,0) unsigned NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t1;
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-10) ROUND(0xFFFFFFFFFFFFFFFF,-11)
|
||||
18446744070000000000 18446744100000000000
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23366 ROUND(18446744073709551615,rand()*0) returns a wrong result
|
||||
#
|
||||
SELECT
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,NULL) AS c1,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,rand()*0) AS c2,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-1) AS c3,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-19) AS c4,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,rand()*0-19) AS c5;
|
||||
c1 NULL
|
||||
c2 18446744073709551615
|
||||
c3 18446744073709551620
|
||||
c4 20000000000000000000
|
||||
c5 20000000000000000000
|
||||
CREATE OR REPLACE TABLE t1 AS
|
||||
SELECT
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,NULL) AS c1,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,rand()*0) AS c2,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-1) AS c3,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-19) AS c4,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,rand()*0-19) AS c5;
|
||||
SELECT * FROM t1;
|
||||
c1 NULL
|
||||
c2 18446744073709551615
|
||||
c3 18446744073709551620
|
||||
c4 20000000000000000000
|
||||
c5 20000000000000000000
|
||||
SHOW CREATE TABLE t1;
|
||||
Table t1
|
||||
Create Table CREATE TABLE `t1` (
|
||||
`c1` bigint(20) unsigned DEFAULT NULL,
|
||||
`c2` decimal(21,0) unsigned NOT NULL,
|
||||
`c3` decimal(21,0) unsigned NOT NULL,
|
||||
`c4` decimal(21,0) unsigned NOT NULL,
|
||||
`c5` decimal(21,0) unsigned NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.4 tests
|
||||
#
|
||||
|
@ -46,6 +46,42 @@ DELIMITER ;$$
|
||||
--horizontal_results
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23368 ROUND(18446744073709551615,-11) returns a wrong result
|
||||
--echo #
|
||||
|
||||
SELECT ROUND(0xFFFFFFFFFFFFFFFF,-10), ROUND(0xFFFFFFFFFFFFFFFF,-11);
|
||||
CREATE TABLE t1 AS SELECT ROUND(0xFFFFFFFFFFFFFFFF,-10), ROUND(0xFFFFFFFFFFFFFFFF,-11);
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23366 ROUND(18446744073709551615,rand()*0) returns a wrong result
|
||||
--echo #
|
||||
|
||||
--vertical_results
|
||||
SELECT
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,NULL) AS c1,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,rand()*0) AS c2,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-1) AS c3,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-19) AS c4,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,rand()*0-19) AS c5;
|
||||
|
||||
CREATE OR REPLACE TABLE t1 AS
|
||||
SELECT
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,NULL) AS c1,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,rand()*0) AS c2,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-1) AS c3,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,-19) AS c4,
|
||||
ROUND(0xFFFFFFFFFFFFFFFF,rand()*0-19) AS c5;
|
||||
|
||||
SELECT * FROM t1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
--horizontal_results
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
--echo #
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -295,6 +295,7 @@ DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23337 Rounding functions create a wrong data type for numeric input
|
||||
--echo # MDEV-23350 ROUND(bigint_22_or_longer) returns a wrong data type
|
||||
--echo #
|
||||
|
||||
DELIMITER $$;
|
||||
@ -304,7 +305,7 @@ BEGIN
|
||||
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a TYPE)', 'TYPE', t);
|
||||
INSERT IGNORE INTO t1 VALUES (-100000000000000000000000000000);
|
||||
INSERT IGNORE INTO t1 VALUES (100000000000000000000000000000);
|
||||
CREATE TABLE t2 AS SELECT a, ROUND(a), TRUNCATE(a,0), FLOOR(a), CEILING(a) FROM t1;
|
||||
CREATE TABLE t2 AS SELECT a, ROUND(a), ROUND(a,1), ROUND(a,10), TRUNCATE(a,0), FLOOR(a), CEILING(a) FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
SELECT * FROM t2;
|
||||
DROP TABLE t1, t2;
|
||||
@ -318,16 +319,122 @@ CALL p1('smallint');
|
||||
CALL p1('mediumint');
|
||||
CALL p1('int');
|
||||
CALL p1('bigint');
|
||||
CALL p1('bigint(20)');
|
||||
CALL p1('bigint(21)');
|
||||
CALL p1('bigint(22)');
|
||||
CALL p1('bigint(23)');
|
||||
CALL p1('bigint(30)');
|
||||
|
||||
CALL p1('tinyint unsigned');
|
||||
CALL p1('smallint unsigned');
|
||||
CALL p1('mediumint unsigned');
|
||||
CALL p1('int unsigned');
|
||||
CALL p1('bigint unsigned');
|
||||
CALL p1('bigint(20) unsigned');
|
||||
CALL p1('bigint(21) unsigned');
|
||||
CALL p1('bigint(22) unsigned');
|
||||
CALL p1('bigint(23) unsigned');
|
||||
CALL p1('bigint(30) unsigned');
|
||||
--horizontal_results
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23368 ROUND(18446744073709551615,-11) returns a wrong result
|
||||
--echo #
|
||||
|
||||
SELECT ROUND(18446744073709551615,-10), ROUND(18446744073709551615,-11);
|
||||
CREATE TABLE t1 AS SELECT ROUND(18446744073709551615,-10), ROUND(18446744073709551615,-11);
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23367 ROUND(18446744073709551615,-1) returns a wrong result
|
||||
--echo #
|
||||
|
||||
--vertical_results
|
||||
SELECT
|
||||
ROUND(18446744073709551615,-1) AS c01,
|
||||
ROUND(18446744073709551615,-19) AS c19;
|
||||
|
||||
CREATE OR REPLACE TABLE t1 AS
|
||||
SELECT
|
||||
ROUND(18446744073709551615,-1) AS c01,
|
||||
ROUND(18446744073709551615,-19) AS c19;
|
||||
|
||||
SELECT * FROM t1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
--horizontal_results
|
||||
|
||||
DELIMITER $$;
|
||||
CREATE PROCEDURE p1(t VARCHAR(64))
|
||||
BEGIN
|
||||
SELECT t AS ``;
|
||||
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a TYPE)', 'TYPE', t);
|
||||
INSERT IGNORE INTO t1 VALUES (-100000000000000000000000000000);
|
||||
INSERT IGNORE INTO t1 VALUES (100000000000000000000000000000);
|
||||
CREATE TABLE t2 AS SELECT
|
||||
a, ROUND(a,-1), ROUND(a,-2), ROUND(a,-19), ROUND(a,-20), ROUND(a,-30)
|
||||
FROM t1
|
||||
ORDER BY a;
|
||||
SHOW CREATE TABLE t2;
|
||||
SELECT * FROM t2;
|
||||
DROP TABLE t1, t2;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
|
||||
--vertical_results
|
||||
CALL p1('tinyint');
|
||||
CALL p1('smallint');
|
||||
CALL p1('mediumint');
|
||||
CALL p1('int');
|
||||
CALL p1('bigint');
|
||||
CALL p1('bigint(20)');
|
||||
CALL p1('bigint(21)');
|
||||
CALL p1('bigint(22)');
|
||||
CALL p1('bigint(23)');
|
||||
CALL p1('bigint(30)');
|
||||
|
||||
CALL p1('tinyint unsigned');
|
||||
CALL p1('smallint unsigned');
|
||||
CALL p1('mediumint unsigned');
|
||||
CALL p1('int unsigned');
|
||||
CALL p1('bigint unsigned');
|
||||
CALL p1('bigint(20) unsigned');
|
||||
CALL p1('bigint(21) unsigned');
|
||||
CALL p1('bigint(22) unsigned');
|
||||
CALL p1('bigint(23) unsigned');
|
||||
CALL p1('bigint(30) unsigned');
|
||||
--horizontal_results
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23366 ROUND(18446744073709551615,rand()*0) returns a wrong result
|
||||
--echo #
|
||||
|
||||
--vertical_results
|
||||
SELECT
|
||||
ROUND(18446744073709551615,NULL) AS c1,
|
||||
ROUND(18446744073709551615,rand()*0) AS c2,
|
||||
ROUND(18446744073709551615,rand()*0-19) AS c3;
|
||||
|
||||
CREATE OR REPLACE TABLE t1 AS
|
||||
SELECT
|
||||
ROUND(18446744073709551615,NULL) AS c1,
|
||||
ROUND(18446744073709551615,rand()*0) AS c2,
|
||||
ROUND(18446744073709551615,rand()*0-19) AS c3;
|
||||
|
||||
SELECT * FROM t1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
--horizontal_results
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
--echo #
|
||||
|
@ -1532,11 +1532,8 @@ select (1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 *
|
||||
1.01500000 * 1.01500000 * 0.99500000)
|
||||
0.81298807395367312459230693948000000000
|
||||
create table t1 as select 5.05 / 0.014;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column '5.05 / 0.014' at row 1
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Note 1265 Data truncated for column '5.05 / 0.014' at row 1
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@ -1651,8 +1648,6 @@ my_col
|
||||
0.12345678912345678912345678912345678912
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT 1 / .123456789123456789123456789123456789123456789123456789123456789123456789123456789 AS my_col;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'my_col' at row 1
|
||||
DESCRIBE t1;
|
||||
Field Type Null Key Default Extra
|
||||
my_col decimal(65,4) YES NULL
|
||||
@ -2345,6 +2340,53 @@ t1 CREATE TABLE `t1` (
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23105 Cast number string with many leading zeros to decimal gives unexpected result
|
||||
#
|
||||
SELECT CAST(0000000000000000000000000000000000000000000000000000000000000000000000000000000020.01 AS DECIMAL(15,2)) as val;
|
||||
val
|
||||
20.01
|
||||
SET sql_mode='';
|
||||
CREATE TABLE t1 (a TEXT);
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.0'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.9'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.99'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.994'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.995'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.999'));
|
||||
CREATE TABLE t2 (a TEXT, d DECIMAL(15,2));
|
||||
INSERT IGNORE INTO t2 (a,d) SELECT a, a FROM t1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'd' at row 5
|
||||
Note 1265 Data truncated for column 'd' at row 6
|
||||
Note 1265 Data truncated for column 'd' at row 7
|
||||
INSERT IGNORE INTO t2 (a,d) SELECT CONCAT('-',a), CONCAT('-',a) FROM t1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'd' at row 5
|
||||
Note 1265 Data truncated for column 'd' at row 6
|
||||
Note 1265 Data truncated for column 'd' at row 7
|
||||
SELECT d, a FROM t2 ORDER BY d,a;
|
||||
d a
|
||||
-2.00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.995
|
||||
-2.00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.999
|
||||
-1.99 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.99
|
||||
-1.99 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.994
|
||||
-1.90 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.9
|
||||
-1.00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
-1.00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.0
|
||||
1.00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
1.00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.0
|
||||
1.90 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.9
|
||||
1.99 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.99
|
||||
1.99 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.994
|
||||
2.00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.995
|
||||
2.00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001.999
|
||||
DROP TABLE t1, t2;
|
||||
SET sql_mode=DEFAULT;
|
||||
#
|
||||
# End of 10.1 tests
|
||||
#
|
||||
#
|
||||
# Bug#18408499 UNSIGNED BIGINT HIGH VALUES
|
||||
# WRONG NUMERICAL COMPARISON RESULTS
|
||||
#
|
||||
@ -2411,3 +2453,323 @@ drop table t1;
|
||||
#
|
||||
# End of 10.2 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.4 tests
|
||||
#
|
||||
#
|
||||
# MDEV-23032 FLOOR()/CEIL() incorrectly calculate the precision of a DECIMAL(M,D) column.
|
||||
#
|
||||
CREATE PROCEDURE p1(prec INT, scale INT, suffix VARCHAR(32))
|
||||
BEGIN
|
||||
EXECUTE IMMEDIATE CONCAT('CREATE TABLE t1 (a decimal(',prec,',',scale,')',suffix,')');
|
||||
INSERT IGNORE INTO t1 VALUES (-1e100), (+1e100);
|
||||
CREATE TABLE t2 AS SELECT
|
||||
a,
|
||||
FLOOR(a) AS fa,
|
||||
CEILING(a) AS ca,
|
||||
LENGTH(FLOOR(a)),
|
||||
LENGTH(CEILING(a))
|
||||
FROM t1 ORDER BY a;
|
||||
SHOW CREATE TABLE t2;
|
||||
SELECT * FROM t2;
|
||||
DROP TABLE t2, t1;
|
||||
END;
|
||||
$$
|
||||
CALL p1(38,10,'');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,10) DEFAULT NULL,
|
||||
`fa` decimal(29,0) DEFAULT NULL,
|
||||
`ca` decimal(29,0) DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a -9999999999999999999999999999.9999999999
|
||||
fa -10000000000000000000000000000
|
||||
ca -9999999999999999999999999999
|
||||
LENGTH(FLOOR(a)) 30
|
||||
LENGTH(CEILING(a)) 29
|
||||
a 9999999999999999999999999999.9999999999
|
||||
fa 9999999999999999999999999999
|
||||
ca 10000000000000000000000000000
|
||||
LENGTH(FLOOR(a)) 28
|
||||
LENGTH(CEILING(a)) 29
|
||||
CALL p1(28,10,'');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(28,10) DEFAULT NULL,
|
||||
`fa` decimal(19,0) DEFAULT NULL,
|
||||
`ca` decimal(19,0) DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a -999999999999999999.9999999999
|
||||
fa -1000000000000000000
|
||||
ca -999999999999999999
|
||||
LENGTH(FLOOR(a)) 20
|
||||
LENGTH(CEILING(a)) 19
|
||||
a 999999999999999999.9999999999
|
||||
fa 999999999999999999
|
||||
ca 1000000000000000000
|
||||
LENGTH(FLOOR(a)) 18
|
||||
LENGTH(CEILING(a)) 19
|
||||
CALL p1(27,10,'');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(27,10) DEFAULT NULL,
|
||||
`fa` bigint(19) DEFAULT NULL,
|
||||
`ca` bigint(19) DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a -99999999999999999.9999999999
|
||||
fa -100000000000000000
|
||||
ca -99999999999999999
|
||||
LENGTH(FLOOR(a)) 19
|
||||
LENGTH(CEILING(a)) 18
|
||||
a 99999999999999999.9999999999
|
||||
fa 99999999999999999
|
||||
ca 100000000000000000
|
||||
LENGTH(FLOOR(a)) 17
|
||||
LENGTH(CEILING(a)) 18
|
||||
CALL p1(20,10,'');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(20,10) DEFAULT NULL,
|
||||
`fa` bigint(12) DEFAULT NULL,
|
||||
`ca` bigint(12) DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a -9999999999.9999999999
|
||||
fa -10000000000
|
||||
ca -9999999999
|
||||
LENGTH(FLOOR(a)) 12
|
||||
LENGTH(CEILING(a)) 11
|
||||
a 9999999999.9999999999
|
||||
fa 9999999999
|
||||
ca 10000000000
|
||||
LENGTH(FLOOR(a)) 10
|
||||
LENGTH(CEILING(a)) 11
|
||||
CALL p1(19,10,'');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(19,10) DEFAULT NULL,
|
||||
`fa` bigint(11) DEFAULT NULL,
|
||||
`ca` bigint(11) DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a -999999999.9999999999
|
||||
fa -1000000000
|
||||
ca -999999999
|
||||
LENGTH(FLOOR(a)) 11
|
||||
LENGTH(CEILING(a)) 10
|
||||
a 999999999.9999999999
|
||||
fa 999999999
|
||||
ca 1000000000
|
||||
LENGTH(FLOOR(a)) 9
|
||||
LENGTH(CEILING(a)) 10
|
||||
CALL p1(18,10,'');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(18,10) DEFAULT NULL,
|
||||
`fa` int(10) DEFAULT NULL,
|
||||
`ca` int(10) DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a -99999999.9999999999
|
||||
fa -100000000
|
||||
ca -99999999
|
||||
LENGTH(FLOOR(a)) 10
|
||||
LENGTH(CEILING(a)) 9
|
||||
a 99999999.9999999999
|
||||
fa 99999999
|
||||
ca 100000000
|
||||
LENGTH(FLOOR(a)) 8
|
||||
LENGTH(CEILING(a)) 9
|
||||
CALL p1(10,10,'');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(10,10) DEFAULT NULL,
|
||||
`fa` int(2) DEFAULT NULL,
|
||||
`ca` int(2) DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a -0.9999999999
|
||||
fa -1
|
||||
ca 0
|
||||
LENGTH(FLOOR(a)) 2
|
||||
LENGTH(CEILING(a)) 1
|
||||
a 0.9999999999
|
||||
fa 0
|
||||
ca 1
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
CALL p1(38,10,' UNSIGNED');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,10) unsigned DEFAULT NULL,
|
||||
`fa` decimal(28,0) unsigned DEFAULT NULL,
|
||||
`ca` decimal(29,0) unsigned DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 0.0000000000
|
||||
fa 0
|
||||
ca 0
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
a 9999999999999999999999999999.9999999999
|
||||
fa 9999999999999999999999999999
|
||||
ca 10000000000000000000000000000
|
||||
LENGTH(FLOOR(a)) 28
|
||||
LENGTH(CEILING(a)) 29
|
||||
CALL p1(28,10,' UNSIGNED');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(28,10) unsigned DEFAULT NULL,
|
||||
`fa` bigint(18) unsigned DEFAULT NULL,
|
||||
`ca` decimal(19,0) unsigned DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 0.0000000000
|
||||
fa 0
|
||||
ca 0
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
a 999999999999999999.9999999999
|
||||
fa 999999999999999999
|
||||
ca 1000000000000000000
|
||||
LENGTH(FLOOR(a)) 18
|
||||
LENGTH(CEILING(a)) 19
|
||||
CALL p1(27,10,' UNSIGNED');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(27,10) unsigned DEFAULT NULL,
|
||||
`fa` bigint(17) unsigned DEFAULT NULL,
|
||||
`ca` bigint(18) unsigned DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 0.0000000000
|
||||
fa 0
|
||||
ca 0
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
a 99999999999999999.9999999999
|
||||
fa 99999999999999999
|
||||
ca 100000000000000000
|
||||
LENGTH(FLOOR(a)) 17
|
||||
LENGTH(CEILING(a)) 18
|
||||
CALL p1(20,10,' UNSIGNED');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(20,10) unsigned DEFAULT NULL,
|
||||
`fa` bigint(10) unsigned DEFAULT NULL,
|
||||
`ca` bigint(11) unsigned DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 0.0000000000
|
||||
fa 0
|
||||
ca 0
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
a 9999999999.9999999999
|
||||
fa 9999999999
|
||||
ca 10000000000
|
||||
LENGTH(FLOOR(a)) 10
|
||||
LENGTH(CEILING(a)) 11
|
||||
CALL p1(19,10,' UNSIGNED');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(19,10) unsigned DEFAULT NULL,
|
||||
`fa` int(9) unsigned DEFAULT NULL,
|
||||
`ca` bigint(10) unsigned DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 0.0000000000
|
||||
fa 0
|
||||
ca 0
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
a 999999999.9999999999
|
||||
fa 999999999
|
||||
ca 1000000000
|
||||
LENGTH(FLOOR(a)) 9
|
||||
LENGTH(CEILING(a)) 10
|
||||
CALL p1(18,10,' UNSIGNED');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(18,10) unsigned DEFAULT NULL,
|
||||
`fa` int(8) unsigned DEFAULT NULL,
|
||||
`ca` int(9) unsigned DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 0.0000000000
|
||||
fa 0
|
||||
ca 0
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
a 99999999.9999999999
|
||||
fa 99999999
|
||||
ca 100000000
|
||||
LENGTH(FLOOR(a)) 8
|
||||
LENGTH(CEILING(a)) 9
|
||||
CALL p1(10,10,' UNSIGNED');
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(10,10) unsigned DEFAULT NULL,
|
||||
`fa` int(1) unsigned DEFAULT NULL,
|
||||
`ca` int(1) unsigned DEFAULT NULL,
|
||||
`LENGTH(FLOOR(a))` int(10) DEFAULT NULL,
|
||||
`LENGTH(CEILING(a))` int(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 0.0000000000
|
||||
fa 0
|
||||
ca 0
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
a 0.9999999999
|
||||
fa 0
|
||||
ca 1
|
||||
LENGTH(FLOOR(a)) 1
|
||||
LENGTH(CEILING(a)) 1
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# MDEV-23118 FORMAT(d1,dec) where dec=0/38 and d1 is DECIMAL(38,38) gives incorrect results
|
||||
#
|
||||
CREATE OR REPLACE TABLE t1 (a DECIMAL(38,38));
|
||||
INSERT INTO t1 VALUES (-0.9999999999999999999999999999999999999), (0.9999999999999999999999999999999999999);
|
||||
SELECT a, FORMAT(a,0), FORMAT(a,38) FROM t1;
|
||||
a -0.99999999999999999999999999999999999990
|
||||
FORMAT(a,0) -1
|
||||
FORMAT(a,38) -0.99999999999999999999999999999999999990
|
||||
a 0.99999999999999999999999999999999999990
|
||||
FORMAT(a,0) 1
|
||||
FORMAT(a,38) 0.99999999999999999999999999999999999990
|
||||
CREATE OR REPLACE TABLE t2 AS SELECT a, FORMAT(a,0), FORMAT(a,38) FROM t1;
|
||||
SELECT * FROM t2;
|
||||
a -0.99999999999999999999999999999999999990
|
||||
FORMAT(a,0) -1
|
||||
FORMAT(a,38) -0.99999999999999999999999999999999999990
|
||||
a 0.99999999999999999999999999999999999990
|
||||
FORMAT(a,0) 1
|
||||
FORMAT(a,38) 0.99999999999999999999999999999999999990
|
||||
SHOW CREATE TABLE t2;
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` decimal(38,38) DEFAULT NULL,
|
||||
`FORMAT(a,0)` varchar(2) DEFAULT NULL,
|
||||
`FORMAT(a,38)` varchar(41) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t2,t1;
|
||||
#
|
||||
# End of 10.4 tests
|
||||
#
|
||||
|
@ -1824,6 +1824,32 @@ CREATE TABLE t1 (a DECIMAL(2,1) DEFAULT 0.10001e0);
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23105 Cast number string with many leading zeros to decimal gives unexpected result
|
||||
--echo #
|
||||
|
||||
SELECT CAST(0000000000000000000000000000000000000000000000000000000000000000000000000000000020.01 AS DECIMAL(15,2)) as val;
|
||||
|
||||
SET sql_mode='';
|
||||
CREATE TABLE t1 (a TEXT);
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.0'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.9'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.99'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.994'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.995'));
|
||||
INSERT INTO t1 VALUES (CONCAT(REPEAT('0',100),1,'.999'));
|
||||
CREATE TABLE t2 (a TEXT, d DECIMAL(15,2));
|
||||
INSERT IGNORE INTO t2 (a,d) SELECT a, a FROM t1;
|
||||
INSERT IGNORE INTO t2 (a,d) SELECT CONCAT('-',a), CONCAT('-',a) FROM t1;
|
||||
SELECT d, a FROM t2 ORDER BY d,a;
|
||||
DROP TABLE t1, t2;
|
||||
SET sql_mode=DEFAULT;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.1 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Bug#18408499 UNSIGNED BIGINT HIGH VALUES
|
||||
--echo # WRONG NUMERICAL COMPARISON RESULTS
|
||||
@ -1871,3 +1897,70 @@ drop table t1;
|
||||
--echo #
|
||||
--echo # End of 10.2 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.4 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23032 FLOOR()/CEIL() incorrectly calculate the precision of a DECIMAL(M,D) column.
|
||||
--echo #
|
||||
|
||||
DELIMITER $$;
|
||||
CREATE PROCEDURE p1(prec INT, scale INT, suffix VARCHAR(32))
|
||||
BEGIN
|
||||
EXECUTE IMMEDIATE CONCAT('CREATE TABLE t1 (a decimal(',prec,',',scale,')',suffix,')');
|
||||
INSERT IGNORE INTO t1 VALUES (-1e100), (+1e100);
|
||||
CREATE TABLE t2 AS SELECT
|
||||
a,
|
||||
FLOOR(a) AS fa,
|
||||
CEILING(a) AS ca,
|
||||
LENGTH(FLOOR(a)),
|
||||
LENGTH(CEILING(a))
|
||||
FROM t1 ORDER BY a;
|
||||
SHOW CREATE TABLE t2;
|
||||
SELECT * FROM t2;
|
||||
DROP TABLE t2, t1;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
|
||||
--vertical_results
|
||||
CALL p1(38,10,'');
|
||||
CALL p1(28,10,'');
|
||||
CALL p1(27,10,'');
|
||||
CALL p1(20,10,'');
|
||||
CALL p1(19,10,'');
|
||||
CALL p1(18,10,'');
|
||||
CALL p1(10,10,'');
|
||||
|
||||
CALL p1(38,10,' UNSIGNED');
|
||||
CALL p1(28,10,' UNSIGNED');
|
||||
CALL p1(27,10,' UNSIGNED');
|
||||
CALL p1(20,10,' UNSIGNED');
|
||||
CALL p1(19,10,' UNSIGNED');
|
||||
CALL p1(18,10,' UNSIGNED');
|
||||
CALL p1(10,10,' UNSIGNED');
|
||||
|
||||
--horizontal_results
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23118 FORMAT(d1,dec) where dec=0/38 and d1 is DECIMAL(38,38) gives incorrect results
|
||||
--echo #
|
||||
|
||||
--vertical_results
|
||||
CREATE OR REPLACE TABLE t1 (a DECIMAL(38,38));
|
||||
INSERT INTO t1 VALUES (-0.9999999999999999999999999999999999999), (0.9999999999999999999999999999999999999);
|
||||
SELECT a, FORMAT(a,0), FORMAT(a,38) FROM t1;
|
||||
CREATE OR REPLACE TABLE t2 AS SELECT a, FORMAT(a,0), FORMAT(a,38) FROM t1;
|
||||
SELECT * FROM t2;
|
||||
SHOW CREATE TABLE t2;
|
||||
DROP TABLE t2,t1;
|
||||
--horizontal_results
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
--echo #
|
||||
|
@ -91,8 +91,6 @@ DROP INDEX test ON t1;
|
||||
insert into t1 values (10, 1,1,1,1,1,1,1,1,1,1,1,1,1,NULL,0,0,0,1,1,1,1,'one','one');
|
||||
insert into t1 values (NULL,2,2,2,2,2,2,2,2,2,2,2,2,2,NULL,NULL,NULL,NULL,NULL,NULL,2,2,'two','two,one');
|
||||
insert ignore into t1 values (0,1/3,3,3,3,3,3,3,3,3,3,3,3,3,NULL,'19970303','10:10:10','19970303101010','','','','3',3,3);
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'string' at row 1
|
||||
insert ignore into t1 values (0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,NULL,19970807,080706,19970403090807,-1,-1,-1,'-1',-1,-1);
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'utiny' at row 1
|
||||
@ -130,7 +128,7 @@ select auto,string,tiny,short,medium,long_int,longlong,real_float,real_double,ut
|
||||
auto string tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong mod(floor(time_stamp/1000000),1000000)-mod(curdate(),1000000) date_field time_field date_time blob_col tinyblob_col mediumblob_col longblob_col
|
||||
10 1 1 1 1 1 1 1.0 1.0000 1 00001 1 1 1 0 0000-00-00 00:00:00 0000-00-00 00:00:00 1 1 1 1
|
||||
11 2 2 2 2 2 2 2.0 2.0000 2 00002 2 2 2 0 NULL NULL NULL NULL NULL 2 2
|
||||
12 0.33333333 3 3 3 3 3 3.0 3.0000 3 00003 3 3 3 0 1997-03-03 10:10:10 1997-03-03 10:10:10 3
|
||||
12 0.3333 3 3 3 3 3 3.0 3.0000 3 00003 3 3 3 0 1997-03-03 10:10:10 1997-03-03 10:10:10 3
|
||||
13 -1 -1 -1 -1 -1 -1 -1.0 -1.0000 0 00000 0 0 0 0 1997-08-07 08:07:06 1997-04-03 09:08:07 -1 -1 -1 -1
|
||||
14 -429496729 -128 -32768 -8388608 -2147483648 -4294967295 -4294967296.0 -4294967295.0000 0 00000 0 0 0 0 0000-00-00 00:00:00 0000-00-00 00:00:00 -4294967295 -4294967295 -4294967295 -4294967295
|
||||
15 4294967295 127 32767 8388607 2147483647 4294967295 4294967296.0 4294967295.0000 255 65535 16777215 4294967295 4294967295 0 0000-00-00 00:00:00 0000-00-00 00:00:00 4294967295 4294967295 4294967295 4294967295
|
||||
@ -182,7 +180,7 @@ Warning 1265 Data truncated for column 'new_field' at row 7
|
||||
select * from t2;
|
||||
auto string mediumblob_col new_field
|
||||
1 2 2 ne
|
||||
2 0.33333333 ne
|
||||
2 0.3333 ne
|
||||
3 -1 -1 ne
|
||||
4 -429496729 -4294967295 ne
|
||||
5 4294967295 4294967295 ne
|
||||
|
@ -3851,6 +3851,22 @@ ERROR 42000: Too big scale 56 specified for 'rank() over w1'. Maximum is 38
|
||||
SELECT cast((rank() over w1) as decimal (53,30));
|
||||
ERROR HY000: Window specification with name 'w1' is not defined
|
||||
#
|
||||
# MDEV-15180: server crashed with NTH_VALUE()
|
||||
#
|
||||
CREATE TABLE t1 (i1 int, a int);
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2),(3, 3);
|
||||
CREATE TABLE t2 (i2 int);
|
||||
INSERT INTO t2 VALUES (1),(2),(5),(1),(7),(4),(3);
|
||||
CREATE VIEW v1 AS (SELECT * FROM t1,t2 WHERE t1.i1=t2.i2) ;
|
||||
SELECT NTH_VALUE(i1, i1) OVER (PARTITION BY i1) FROM v1;
|
||||
NTH_VALUE(i1, i1) OVER (PARTITION BY i1)
|
||||
1
|
||||
1
|
||||
NULL
|
||||
NULL
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# End of 10.2 tests
|
||||
#
|
||||
#
|
||||
|
@ -2505,6 +2505,22 @@ SELECT cast((rank() over w1) as decimal (53,56));
|
||||
--error ER_WRONG_WINDOW_SPEC_NAME
|
||||
SELECT cast((rank() over w1) as decimal (53,30));
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15180: server crashed with NTH_VALUE()
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (i1 int, a int);
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2),(3, 3);
|
||||
|
||||
CREATE TABLE t2 (i2 int);
|
||||
INSERT INTO t2 VALUES (1),(2),(5),(1),(7),(4),(3);
|
||||
|
||||
CREATE VIEW v1 AS (SELECT * FROM t1,t2 WHERE t1.i1=t2.i2) ;
|
||||
SELECT NTH_VALUE(i1, i1) OVER (PARTITION BY i1) FROM v1;
|
||||
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.2 tests
|
||||
--echo #
|
||||
|
@ -179,6 +179,7 @@ my @DEFAULT_SUITES= qw(
|
||||
csv-
|
||||
compat/oracle-
|
||||
compat/mssql-
|
||||
compat/maxdb-
|
||||
encryption-
|
||||
federated-
|
||||
funcs_1-
|
||||
@ -691,8 +692,7 @@ sub run_test_server ($$$) {
|
||||
My::CoreDump->show($core_file, $exe_mysqld, $opt_parallel);
|
||||
|
||||
# Limit number of core files saved
|
||||
if ($opt_max_save_core > 0 &&
|
||||
$num_saved_cores >= $opt_max_save_core)
|
||||
if ($num_saved_cores >= $opt_max_save_core)
|
||||
{
|
||||
mtr_report(" - deleting it, already saved",
|
||||
"$opt_max_save_core");
|
||||
@ -708,8 +708,7 @@ sub run_test_server ($$$) {
|
||||
},
|
||||
$worker_savedir);
|
||||
|
||||
if ($opt_max_save_datadir > 0 &&
|
||||
$num_saved_datadir >= $opt_max_save_datadir)
|
||||
if ($num_saved_datadir >= $opt_max_save_datadir)
|
||||
{
|
||||
mtr_report(" - skipping '$worker_savedir/'");
|
||||
rmtree($worker_savedir);
|
||||
@ -718,9 +717,9 @@ sub run_test_server ($$$) {
|
||||
{
|
||||
mtr_report(" - saving '$worker_savedir/' to '$savedir/'");
|
||||
rename($worker_savedir, $savedir);
|
||||
$num_saved_datadir++;
|
||||
}
|
||||
resfile_print_test();
|
||||
$num_saved_datadir++;
|
||||
$num_failed_test++ unless ($result->{retries} ||
|
||||
$result->{exp_fail});
|
||||
|
||||
@ -1277,6 +1276,17 @@ sub command_line_setup {
|
||||
report_option('verbose', $opt_verbose);
|
||||
}
|
||||
|
||||
# Negative values aren't meaningful on integer options
|
||||
foreach(grep(/=i$/, keys %options))
|
||||
{
|
||||
if (defined ${$options{$_}} &&
|
||||
do { no warnings "numeric"; int ${$options{$_}} < 0})
|
||||
{
|
||||
my $v= (split /=/)[0];
|
||||
die("$v doesn't accept a negative value:");
|
||||
}
|
||||
}
|
||||
|
||||
# Find the absolute path to the test directory
|
||||
$glob_mysql_test_dir= cwd();
|
||||
if ($glob_mysql_test_dir =~ / /)
|
||||
@ -6458,12 +6468,12 @@ Options for debugging the product
|
||||
test(s)
|
||||
max-save-core Limit the number of core files saved (to avoid filling
|
||||
up disks for heavily crashing server). Defaults to
|
||||
$opt_max_save_core, set to 0 for no limit. Set
|
||||
it's default with MTR_MAX_SAVE_CORE
|
||||
$opt_max_save_core. Set its default with
|
||||
MTR_MAX_SAVE_CORE
|
||||
max-save-datadir Limit the number of datadir saved (to avoid filling
|
||||
up disks for heavily crashing server). Defaults to
|
||||
$opt_max_save_datadir, set to 0 for no limit. Set
|
||||
it's default with MTR_MAX_SAVE_DATADIR
|
||||
$opt_max_save_datadir. Set its default with
|
||||
MTR_MAX_SAVE_DATADIR
|
||||
max-test-fail Limit the number of test failures before aborting
|
||||
the current test run. Defaults to
|
||||
$opt_max_test_fail, set to 0 for no limit. Set
|
||||
|
65
mysql-test/suite/compat/maxdb/rpl_mariadb_timestamp.result
Normal file
65
mysql-test/suite/compat/maxdb/rpl_mariadb_timestamp.result
Normal file
@ -0,0 +1,65 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
#
|
||||
# MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
|
||||
#
|
||||
SET timestamp=UNIX_TIMESTAMP('2001-01-01 10:00:00');
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (a TIMESTAMP);
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES ('2001-01-01 10:20:30');
|
||||
SET sql_mode=MAXDB;
|
||||
CREATE TABLE t2 SELECT * FROM t1;
|
||||
SET timestamp=DEFAULT;
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Gtid # # GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a TIMESTAMP)
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (NULL)
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES ('2001-01-01 10:20:30')
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE "t2" (
|
||||
"a" mariadb_schema.timestamp NOT NULL DEFAULT current_timestamp()
|
||||
)
|
||||
master-bin.000001 # Annotate_rows # # CREATE TABLE t2 SELECT * FROM t1
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
connection slave;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2001-01-01 10:00:00
|
||||
2001-01-01 10:20:30
|
||||
SET sql_mode=DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SET sql_mode=MAXDB;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"a" mariadb_schema.timestamp NOT NULL DEFAULT current_timestamp()
|
||||
)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE "t2" (
|
||||
"a" mariadb_schema.timestamp NOT NULL DEFAULT current_timestamp()
|
||||
)
|
||||
connection master;
|
||||
DROP TABLE t1, t2;
|
||||
include/rpl_end.inc
|
34
mysql-test/suite/compat/maxdb/rpl_mariadb_timestamp.test
Normal file
34
mysql-test/suite/compat/maxdb/rpl_mariadb_timestamp.test
Normal file
@ -0,0 +1,34 @@
|
||||
--source include/have_binlog_format_row.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
|
||||
--echo #
|
||||
|
||||
SET timestamp=UNIX_TIMESTAMP('2001-01-01 10:00:00');
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (a TIMESTAMP);
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES ('2001-01-01 10:20:30');
|
||||
SET sql_mode=MAXDB;
|
||||
CREATE TABLE t2 SELECT * FROM t1;
|
||||
SET timestamp=DEFAULT;
|
||||
|
||||
--let $binlog_file = LAST
|
||||
source include/show_binlog_events.inc;
|
||||
|
||||
|
||||
--sync_slave_with_master
|
||||
SELECT * FROM t1;
|
||||
SET sql_mode=DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
|
||||
SET sql_mode=MAXDB;
|
||||
SHOW CREATE TABLE t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
|
||||
--connection master
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--source include/rpl_end.inc
|
53
mysql-test/suite/compat/maxdb/type_timestamp.result
Normal file
53
mysql-test/suite/compat/maxdb/type_timestamp.result
Normal file
@ -0,0 +1,53 @@
|
||||
#
|
||||
# MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
|
||||
#
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (
|
||||
def_timestamp TIMESTAMP,
|
||||
mdb_timestamp mariadb_schema.TIMESTAMP,
|
||||
ora_timestamp oracle_schema.TIMESTAMP,
|
||||
max_timestamp maxdb_schema.TIMESTAMP
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`def_timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
`mdb_timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`ora_timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`max_timestamp` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SET sql_mode=MAXDB;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"def_timestamp" mariadb_schema.timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
"mdb_timestamp" mariadb_schema.timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
"ora_timestamp" mariadb_schema.timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
"max_timestamp" datetime DEFAULT NULL
|
||||
)
|
||||
DROP TABLE t1;
|
||||
SET sql_mode=MAXDB;
|
||||
CREATE TABLE t1 (
|
||||
def_timestamp TIMESTAMP,
|
||||
mdb_timestamp mariadb_schema.TIMESTAMP,
|
||||
ora_timestamp oracle_schema.TIMESTAMP,
|
||||
max_timestamp maxdb_schema.TIMESTAMP
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"def_timestamp" datetime DEFAULT NULL,
|
||||
"mdb_timestamp" mariadb_schema.timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
"ora_timestamp" mariadb_schema.timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
"max_timestamp" datetime DEFAULT NULL
|
||||
)
|
||||
SET sql_mode=DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`def_timestamp` datetime DEFAULT NULL,
|
||||
`mdb_timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
`ora_timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`max_timestamp` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
29
mysql-test/suite/compat/maxdb/type_timestamp.test
Normal file
29
mysql-test/suite/compat/maxdb/type_timestamp.test
Normal file
@ -0,0 +1,29 @@
|
||||
--echo #
|
||||
--echo # MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
|
||||
--echo #
|
||||
|
||||
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (
|
||||
def_timestamp TIMESTAMP,
|
||||
mdb_timestamp mariadb_schema.TIMESTAMP,
|
||||
ora_timestamp oracle_schema.TIMESTAMP,
|
||||
max_timestamp maxdb_schema.TIMESTAMP
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
SET sql_mode=MAXDB;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
SET sql_mode=MAXDB;
|
||||
CREATE TABLE t1 (
|
||||
def_timestamp TIMESTAMP,
|
||||
mdb_timestamp mariadb_schema.TIMESTAMP,
|
||||
ora_timestamp oracle_schema.TIMESTAMP,
|
||||
max_timestamp maxdb_schema.TIMESTAMP
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
SET sql_mode=DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
86
mysql-test/suite/compat/oracle/r/rpl_mariadb_date.result
Normal file
86
mysql-test/suite/compat/oracle/r/rpl_mariadb_date.result
Normal file
@ -0,0 +1,86 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
SET SQL_MODE=DEFAULT;
|
||||
CREATE TABLE t1 (a DATE);
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES ('2001-01-01');
|
||||
SET SQL_MODE= ORACLE;
|
||||
CREATE TABLE t2 SELECT * FROM t1;
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Gtid # # GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a DATE)
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (NULL)
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES ('2001-01-01')
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE "t2" (
|
||||
"a" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
master-bin.000001 # Annotate_rows # # CREATE TABLE t2 SELECT * FROM t1
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
SET SQL_MODE= DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` date DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` date DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SET SQL_MODE= ORACLE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"a" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE "t2" (
|
||||
"a" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
connection slave;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
NULL
|
||||
2001-01-01
|
||||
SELECT * FROM t2;
|
||||
a
|
||||
NULL
|
||||
2001-01-01
|
||||
SET SQL_MODE= DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` date DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` date DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SET SQL_MODE= ORACLE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"a" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE "t2" (
|
||||
"a" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
connection master;
|
||||
DROP TABLE t1, t2;
|
||||
include/rpl_end.inc
|
@ -6,3 +6,150 @@ t1 CREATE TABLE "t1" (
|
||||
"a" datetime DEFAULT NULL
|
||||
)
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
|
||||
#
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (a unknown.DATE);
|
||||
ERROR HY000: Unknown data type: 'unknown.date'
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (
|
||||
def_date DATE,
|
||||
mdb_date mariadb_schema.DATE,
|
||||
ora_date oracle_schema.DATE,
|
||||
max_date maxdb_schema.DATE
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`def_date` date DEFAULT NULL,
|
||||
`mdb_date` date DEFAULT NULL,
|
||||
`ora_date` datetime DEFAULT NULL,
|
||||
`max_date` date DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SET sql_mode=ORACLE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"def_date" mariadb_schema.date DEFAULT NULL,
|
||||
"mdb_date" mariadb_schema.date DEFAULT NULL,
|
||||
"ora_date" datetime DEFAULT NULL,
|
||||
"max_date" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
DROP TABLE t1;
|
||||
SET sql_mode=ORACLE;
|
||||
CREATE TABLE t1 (
|
||||
def_date DATE,
|
||||
mdb_date mariadb_schema.DATE,
|
||||
ora_date oracle_schema.DATE,
|
||||
max_date maxdb_schema.DATE
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"def_date" datetime DEFAULT NULL,
|
||||
"mdb_date" mariadb_schema.date DEFAULT NULL,
|
||||
"ora_date" datetime DEFAULT NULL,
|
||||
"max_date" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
SET sql_mode=DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`def_date` datetime DEFAULT NULL,
|
||||
`mdb_date` date DEFAULT NULL,
|
||||
`ora_date` datetime DEFAULT NULL,
|
||||
`max_date` date DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# ALTER..MODIFY and ALTER..CHANGE understand qualifiers
|
||||
#
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (a DATE);
|
||||
INSERT INTO t1 VALUES ('2001-01-01');
|
||||
SET sql_mode=ORACLE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"a" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2001-01-01
|
||||
ALTER TABLE t1 MODIFY a DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"a" datetime DEFAULT NULL
|
||||
)
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2001-01-01 00:00:00
|
||||
ALTER TABLE t1 MODIFY a mariadb_schema.DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"a" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2001-01-01
|
||||
ALTER TABLE t1 MODIFY a oracle_schema.DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"a" datetime DEFAULT NULL
|
||||
)
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2001-01-01 00:00:00
|
||||
ALTER TABLE t1 CHANGE a b mariadb_schema.DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"b" mariadb_schema.date DEFAULT NULL
|
||||
)
|
||||
SELECT * FROM t1;
|
||||
b
|
||||
2001-01-01
|
||||
ALTER TABLE t1 CHANGE b a oracle_schema.DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
"a" datetime DEFAULT NULL
|
||||
)
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2001-01-01 00:00:00
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Qualified syntax is not supported yet in SP
|
||||
# See MDEV-23353 Qualified data types in SP
|
||||
#
|
||||
SET sql_mode=ORACLE;
|
||||
CREATE FUNCTION f1() RETURN mariadb_schema.DATE AS
|
||||
BEGIN
|
||||
RETURN CURRENT_DATE;
|
||||
END;
|
||||
$$
|
||||
ERROR HY000: Unknown data type: 'mariadb_schema'
|
||||
CREATE PROCEDURE p1(a mariadb_schema.DATE) AS
|
||||
BEGIN
|
||||
NULL;
|
||||
END;
|
||||
$$
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') AS
|
||||
BEGIN
|
||||
NULL;
|
||||
END' at line 1
|
||||
CREATE PROCEDURE p1() AS
|
||||
a mariadb_schema.DATE;
|
||||
BEGIN
|
||||
NULL;
|
||||
END;
|
||||
$$
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ';
|
||||
BEGIN
|
||||
NULL;
|
||||
END' at line 2
|
||||
|
38
mysql-test/suite/compat/oracle/t/rpl_mariadb_date.test
Normal file
38
mysql-test/suite/compat/oracle/t/rpl_mariadb_date.test
Normal file
@ -0,0 +1,38 @@
|
||||
--source include/have_binlog_format_row.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
SET SQL_MODE=DEFAULT;
|
||||
CREATE TABLE t1 (a DATE);
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES ('2001-01-01');
|
||||
|
||||
SET SQL_MODE= ORACLE;
|
||||
CREATE TABLE t2 SELECT * FROM t1;
|
||||
|
||||
--let $binlog_file = LAST
|
||||
source include/show_binlog_events.inc;
|
||||
|
||||
SET SQL_MODE= DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
|
||||
SET SQL_MODE= ORACLE;
|
||||
SHOW CREATE TABLE t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
|
||||
--sync_slave_with_master
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t2;
|
||||
|
||||
SET SQL_MODE= DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
|
||||
SET SQL_MODE= ORACLE;
|
||||
SHOW CREATE TABLE t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
|
||||
# Cleanup
|
||||
--connection master
|
||||
DROP TABLE t1, t2;
|
||||
--source include/rpl_end.inc
|
@ -2,3 +2,100 @@ SET sql_mode=ORACLE;
|
||||
CREATE TABLE t1 (a DATE);
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
|
||||
--echo #
|
||||
|
||||
SET sql_mode=DEFAULT;
|
||||
--error ER_UNKNOWN_DATA_TYPE
|
||||
CREATE TABLE t1 (a unknown.DATE);
|
||||
|
||||
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (
|
||||
def_date DATE,
|
||||
mdb_date mariadb_schema.DATE,
|
||||
ora_date oracle_schema.DATE,
|
||||
max_date maxdb_schema.DATE
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
SET sql_mode=ORACLE;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
SET sql_mode=ORACLE;
|
||||
CREATE TABLE t1 (
|
||||
def_date DATE,
|
||||
mdb_date mariadb_schema.DATE,
|
||||
ora_date oracle_schema.DATE,
|
||||
max_date maxdb_schema.DATE
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
SET sql_mode=DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # ALTER..MODIFY and ALTER..CHANGE understand qualifiers
|
||||
--echo #
|
||||
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE TABLE t1 (a DATE);
|
||||
INSERT INTO t1 VALUES ('2001-01-01');
|
||||
SET sql_mode=ORACLE;
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
ALTER TABLE t1 MODIFY a DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
ALTER TABLE t1 MODIFY a mariadb_schema.DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
ALTER TABLE t1 MODIFY a oracle_schema.DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
ALTER TABLE t1 CHANGE a b mariadb_schema.DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
ALTER TABLE t1 CHANGE b a oracle_schema.DATE;
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Qualified syntax is not supported yet in SP
|
||||
--echo # See MDEV-23353 Qualified data types in SP
|
||||
--echo #
|
||||
|
||||
SET sql_mode=ORACLE;
|
||||
DELIMITER $$;
|
||||
--error ER_UNKNOWN_DATA_TYPE
|
||||
CREATE FUNCTION f1() RETURN mariadb_schema.DATE AS
|
||||
BEGIN
|
||||
RETURN CURRENT_DATE;
|
||||
END;
|
||||
$$
|
||||
--error ER_PARSE_ERROR
|
||||
CREATE PROCEDURE p1(a mariadb_schema.DATE) AS
|
||||
BEGIN
|
||||
NULL;
|
||||
END;
|
||||
$$
|
||||
--error ER_PARSE_ERROR
|
||||
CREATE PROCEDURE p1() AS
|
||||
a mariadb_schema.DATE;
|
||||
BEGIN
|
||||
NULL;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
|
@ -1896,9 +1896,13 @@ Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 3
|
||||
INSERT IGNORE INTO t5 VALUES('1e+52','-1e+52','1e+52',5),('1e-52','-1e-52','1e-52',6);
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
Warning 1264 Out of range value for column 'c3' at row 1
|
||||
INSERT IGNORE INTO t5 VALUES('1e+53','-1e+53','1e+53',7),('1e-53','-1e-53','1e-53',8);
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
Warning 1264 Out of range value for column 'c3' at row 1
|
||||
SELECT * FROM t5;
|
||||
c1 c2 c3 c4
|
||||
|
@ -15,6 +15,7 @@ GCF-939 : MDEV-21520 galera.GCF-939
|
||||
MDEV-16509 : MDEV-21523 galera.MDEV-16509
|
||||
MDEV-20225 : MDEV-20886 galera.MDEV-20225
|
||||
MW-286 : MDEV-18464 Killing thread can cause mutex deadlock if done concurrently with Galera/replication victim kill
|
||||
MW-328A : MDEV-22666 galera.MW-328A MTR failed: "Semaphore wait has lasted > 600 seconds" and do not release port 16002
|
||||
MW-329 : MDEV-19962 Galera test failure on MW-329
|
||||
galera.galera_defaults : MDEV-21494 Galera test sporadic failure on galera.galera_defaults
|
||||
galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid_log_event::do_apply_event()
|
||||
@ -46,3 +47,4 @@ partition : MDEV-19958 Galera test failure on galera.partition
|
||||
query_cache: MDEV-15805 Test failure on galera.query_cache
|
||||
sql_log_bin : MDEV-21491 galera.sql_log_bin
|
||||
versioning_trx_id : MDEV-18590 galera.versioning_trx_id
|
||||
MW-328A : MDEV-22666?
|
||||
|
@ -6,24 +6,41 @@ connection node_1;
|
||||
call mtr.add_suppression("WSREP: Trying to continue unpaused monitor");
|
||||
CREATE TABLE t1 ENGINE=InnoDB select 1 as a, 1 as b union select 2, 2;
|
||||
ALTER TABLE t1 add primary key(a);
|
||||
CREATE PROCEDURE p1()
|
||||
CREATE PROCEDURE p1(repeat_count INT)
|
||||
BEGIN
|
||||
DECLARE current_num int;
|
||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION rollback;
|
||||
WHILE 1 DO
|
||||
SET current_num = 0;
|
||||
WHILE current_num < repeat_count DO
|
||||
start transaction;
|
||||
update t1 set b=connection_id() where a=1;
|
||||
commit;
|
||||
SET current_num = current_num + 1;
|
||||
END WHILE;
|
||||
END|
|
||||
connection node_2;
|
||||
connect node_1_p1, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||
call p1;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
call p1(1000);
|
||||
connect node_1_p2, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||
call p1;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
call p1(1000);
|
||||
connect node_2_p1, 127.0.0.1, root, , test, $NODE_MYPORT_2;
|
||||
call p1;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
call p1(1000);
|
||||
connect node_2_p2, 127.0.0.1, root, , test, $NODE_MYPORT_2;
|
||||
call p1;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
call p1(1000);
|
||||
connection node_1;
|
||||
checking error log for 'BF lock wait long' message for 10 times every 10 seconds ...
|
||||
connection node_1_p1;
|
||||
connection node_1_p2;
|
||||
connection node_2_p1;
|
||||
connection node_2_p2;
|
||||
connection node_1;
|
||||
drop table t1;
|
||||
drop procedure p1;
|
||||
disconnect node_1_p1;
|
||||
disconnect node_1_p2;
|
||||
disconnect node_2_p1;
|
||||
disconnect node_2_p2;
|
||||
|
@ -13,27 +13,39 @@ ALTER TABLE t1 add primary key(a);
|
||||
|
||||
DELIMITER |;
|
||||
|
||||
CREATE PROCEDURE p1()
|
||||
CREATE PROCEDURE p1(repeat_count INT)
|
||||
BEGIN
|
||||
DECLARE current_num int;
|
||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION rollback;
|
||||
WHILE 1 DO
|
||||
SET current_num = 0;
|
||||
|
||||
WHILE current_num < repeat_count DO
|
||||
start transaction;
|
||||
update t1 set b=connection_id() where a=1;
|
||||
commit;
|
||||
SET current_num = current_num + 1;
|
||||
END WHILE;
|
||||
END|
|
||||
|
||||
|
||||
DELIMITER ;|
|
||||
|
||||
--connection node_2
|
||||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = 'p1'
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--connect node_1_p1, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
send call p1;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
send call p1(1000);
|
||||
--connect node_1_p2, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
send call p1;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
send call p1(1000);
|
||||
--connect node_2_p1, 127.0.0.1, root, , test, $NODE_MYPORT_2
|
||||
send call p1;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
send call p1(1000);
|
||||
--connect node_2_p2, 127.0.0.1, root, , test, $NODE_MYPORT_2
|
||||
send call p1;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
send call p1(1000);
|
||||
|
||||
connection node_1;
|
||||
let $counter=10;
|
||||
@ -54,6 +66,25 @@ while($counter > 0)
|
||||
dec $counter;
|
||||
}
|
||||
|
||||
--connection node_1_p1
|
||||
--error 0,1213
|
||||
--reap
|
||||
--connection node_1_p2
|
||||
--error 0,1213
|
||||
--reap
|
||||
--connection node_2_p1
|
||||
--error 0,1213
|
||||
--reap
|
||||
--connection node_2_p2
|
||||
--error 0,1213
|
||||
--reap
|
||||
|
||||
--connection node_1
|
||||
drop table t1;
|
||||
drop procedure p1;
|
||||
|
||||
--disconnect node_1_p1
|
||||
--disconnect node_1_p2
|
||||
--disconnect node_2_p1
|
||||
--disconnect node_2_p2
|
||||
|
||||
|
@ -1,12 +1,15 @@
|
||||
connection node_2;
|
||||
connection node_1;
|
||||
call mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg\\(\\).*");
|
||||
CREATE TABLE t1 (f1 INTEGER);
|
||||
connection node_1;
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
|
||||
connection node_2;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
|
||||
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
|
||||
connection node_3;
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
connection node_2;
|
||||
|
@ -6,6 +6,8 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
call mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg\\(\\).*");
|
||||
|
||||
CREATE TABLE t1 (f1 INTEGER);
|
||||
|
||||
# Force all nodes to become non-primary
|
||||
@ -13,13 +15,19 @@ CREATE TABLE t1 (f1 INTEGER);
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
|
||||
|
||||
--connection node_2
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
|
||||
|
||||
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
|
||||
--connection node_3
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--sleep 10
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=1';
|
||||
|
||||
# Node #2 should be non-primary
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
@ -44,7 +52,7 @@ INSERT INTO t1 VALUES (1);
|
||||
# Reconnect all nodes
|
||||
--connection node_2
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
|
||||
--sleep 10
|
||||
|
||||
--source include/wait_until_connected_again.inc
|
||||
--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
|
||||
--source include/wait_condition.inc
|
||||
@ -67,7 +75,7 @@ SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
|
||||
|
||||
--connection node_3
|
||||
SET GLOBAL wsrep_provider_options = 'gmcast.isolate=0';
|
||||
--sleep 10
|
||||
|
||||
--source include/wait_until_connected_again.inc
|
||||
--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
|
||||
--source include/wait_condition.inc
|
||||
|
@ -1,10 +1,19 @@
|
||||
--- default_row_format_alter.result
|
||||
+++ default_row_format_alter,compact.reject
|
||||
@@ -91,6 +91,6 @@
|
||||
@@ -91,7 +91,7 @@
|
||||
ALTER TABLE t1 ADD b INT;
|
||||
SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
ROW_FORMAT
|
||||
-Dynamic
|
||||
+Compact
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23345 Assertion not_redundant() == old.not_redundant() failed
|
||||
@@ -102,6 +102,6 @@
|
||||
ALTER TABLE t1 DROP b;
|
||||
SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
ROW_FORMAT
|
||||
-Dynamic
|
||||
+Compact
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_default_row_format = @row_format;
|
||||
|
@ -1,10 +1,19 @@
|
||||
--- default_row_format_alter.result
|
||||
+++ default_row_format_alter,compact.reject
|
||||
@@ -91,6 +91,6 @@
|
||||
+++ default_row_format_alter,redundant.reject
|
||||
@@ -91,7 +91,7 @@
|
||||
ALTER TABLE t1 ADD b INT;
|
||||
SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
ROW_FORMAT
|
||||
-Dynamic
|
||||
+Redundant
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23345 Assertion not_redundant() == old.not_redundant() failed
|
||||
@@ -102,6 +102,6 @@
|
||||
ALTER TABLE t1 DROP b;
|
||||
SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
ROW_FORMAT
|
||||
-Dynamic
|
||||
+Redundant
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_default_row_format = @row_format;
|
||||
|
@ -93,4 +93,15 @@ SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
ROW_FORMAT
|
||||
Dynamic
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23345 Assertion not_redundant() == old.not_redundant() failed
|
||||
#
|
||||
SET GLOBAL innodb_default_row_format = @row_format;
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT, KEY(b)) ENGINE=InnoDB;
|
||||
SET GLOBAL innodb_default_row_format= COMPACT;
|
||||
ALTER TABLE t1 DROP b;
|
||||
SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
ROW_FORMAT
|
||||
Dynamic
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_default_row_format = @row_format;
|
||||
|
@ -33,6 +33,7 @@ a
|
||||
20
|
||||
UPDATE t SET a=3 WHERE a=1;
|
||||
# restart: --innodb-read-only
|
||||
SET GLOBAL innodb_status_output= @@GLOBAL.innodb_status_output;
|
||||
# Starting with MariaDB 10.2, innodb_read_only implies READ UNCOMMITTED.
|
||||
# In earlier versions, this would return the last committed version
|
||||
# (only a=3; no record for a=20)!
|
||||
|
@ -106,4 +106,14 @@ ALTER TABLE t1 ADD b INT;
|
||||
SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23345 Assertion not_redundant() == old.not_redundant() failed
|
||||
--echo #
|
||||
SET GLOBAL innodb_default_row_format = @row_format;
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT, KEY(b)) ENGINE=InnoDB;
|
||||
SET GLOBAL innodb_default_row_format= COMPACT;
|
||||
ALTER TABLE t1 DROP b;
|
||||
SELECT ROW_FORMAT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
DROP TABLE t1;
|
||||
|
||||
SET GLOBAL innodb_default_row_format = @row_format;
|
||||
|
@ -59,6 +59,7 @@ SELECT * FROM t;
|
||||
UPDATE t SET a=3 WHERE a=1;
|
||||
--let $restart_parameters= --innodb-read-only
|
||||
--source include/restart_mysqld.inc
|
||||
SET GLOBAL innodb_status_output= @@GLOBAL.innodb_status_output;
|
||||
--echo # Starting with MariaDB 10.2, innodb_read_only implies READ UNCOMMITTED.
|
||||
--echo # In earlier versions, this would return the last committed version
|
||||
--echo # (only a=3; no record for a=20)!
|
||||
|
@ -163,14 +163,22 @@ SELECT count(*) FROM t7_restart;
|
||||
--echo #
|
||||
--source include/shutdown_mysqld.inc
|
||||
|
||||
--let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
|
||||
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_DATA_DIR/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/alt_dir
|
||||
--list_files $MYSQL_TMP_DIR/alt_dir
|
||||
--echo ---- MYSQL_TMP_DIR/alt_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/alt_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
|
||||
--echo #
|
||||
--echo # Start the server and show that tables are still visible and accessible.
|
||||
@ -255,11 +263,17 @@ SHOW CREATE TABLE t7_restart;
|
||||
--copy_file $MYSQL_DATA_DIR/test/t5_restart.frm $MYSQL_DATA_DIR/test/t5_restart.frm.bak
|
||||
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_DATA_DIR/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/alt_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/alt_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
|
||||
--echo #
|
||||
--echo # Start the server and show the tablespaces.
|
||||
@ -306,11 +320,17 @@ RENAME TABLE t5_restart TO t55_restart;
|
||||
--remove_file $MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd.bak
|
||||
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_DATA_DIR/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/alt_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/alt_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
|
||||
--echo #
|
||||
--echo # Rename file table and tablespace
|
||||
@ -338,11 +358,17 @@ SELECT count(*) FROM t77_restart;
|
||||
SHOW CREATE TABLE t77_restart;
|
||||
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_DATA_DIR/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/alt_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/alt_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
|
||||
--echo #
|
||||
--echo # Restart the server
|
||||
@ -378,14 +404,23 @@ SHOW CREATE TABLE t77_restart;
|
||||
--mkdir $MYSQL_TMP_DIR/new_dir
|
||||
--mkdir $MYSQL_TMP_DIR/new_dir/test
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_DATA_DIR/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/alt_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/alt_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/new_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/new_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/new_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
|
||||
--echo # Moving tablespace 't4_restart' from MYSQL_DATA_DIR to MYSQL_TMP_DIR/new_dir
|
||||
--copy_file $MYSQL_DATA_DIR/test/t4_restart.ibd $MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd
|
||||
@ -431,14 +466,23 @@ SHOW CREATE TABLE t77_restart;
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s3.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s3.isl
|
||||
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_DATA_DIR/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/alt_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/alt_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/new_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/new_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/new_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
|
||||
--echo #
|
||||
--echo # Start the server and check tablespaces.
|
||||
@ -478,11 +522,17 @@ SHOW CREATE TABLE t77_restart;
|
||||
--echo #
|
||||
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_DATA_DIR/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/new_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/new_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/new_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
|
||||
--echo # Moving 't4_restart' from MYSQL_TMP_DIR/new_dir to MYSQL_DATA_DIR
|
||||
--copy_file $MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd $MYSQL_DATA_DIR/test/t4_restart.ibd
|
||||
@ -520,11 +570,17 @@ SHOW CREATE TABLE t77_restart;
|
||||
--remove_file $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s3.isl
|
||||
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_DATA_DIR/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
--echo ---- MYSQL_TMP_DIR/new_dir/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/new_dir/test
|
||||
--replace_regex $regexp
|
||||
--replace_result #P# #p# #SP# #sp#
|
||||
--list_files $MYSQL_TMP_DIR/new_dir/test
|
||||
--cat_file $MYSQLD_DATADIR.files.txt
|
||||
--remove_file $MYSQLD_DATADIR.files.txt
|
||||
|
||||
--echo #
|
||||
--echo # Start the server and check tablespaces.
|
||||
|
15
mysql-test/suite/maria/encrypt-no-key.result
Normal file
15
mysql-test/suite/maria/encrypt-no-key.result
Normal file
@ -0,0 +1,15 @@
|
||||
call mtr.add_suppression('Unknown key id 1. Can''t continue');
|
||||
set global aria_encrypt_tables= 1;
|
||||
create table t1 (pk int primary key, a int, key(a)) engine=aria transactional=1;
|
||||
alter table t1 disable keys;
|
||||
insert into t1 values (1,1);
|
||||
alter table t1 enable keys;
|
||||
ERROR HY000: Unknown key id 1. Can't continue!
|
||||
repair table t1 use_frm;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair warning Number of rows changed from 0 to 1
|
||||
test.t1 repair Error Unknown key id 1. Can't continue!
|
||||
test.t1 repair Error Unknown key id 1. Can't continue!
|
||||
test.t1 repair status OK
|
||||
drop table t1;
|
||||
set global aria_encrypt_tables= default;
|
14
mysql-test/suite/maria/encrypt-no-key.test
Normal file
14
mysql-test/suite/maria/encrypt-no-key.test
Normal file
@ -0,0 +1,14 @@
|
||||
#
|
||||
# MDEV-18496 Crash when Aria encryption is enabled but plugin not available
|
||||
#
|
||||
call mtr.add_suppression('Unknown key id 1. Can''t continue');
|
||||
|
||||
set global aria_encrypt_tables= 1;
|
||||
create table t1 (pk int primary key, a int, key(a)) engine=aria transactional=1;
|
||||
alter table t1 disable keys;
|
||||
insert into t1 values (1,1);
|
||||
error 192;
|
||||
alter table t1 enable keys;
|
||||
repair table t1 use_frm;
|
||||
drop table t1;
|
||||
set global aria_encrypt_tables= default;
|
@ -1,3 +1,4 @@
|
||||
FLUSH TABLES;
|
||||
#
|
||||
# Bug#13737949: CRASH IN HA_PARTITION::INDEX_INIT
|
||||
# Bug#18694052: SERVER CRASH IN HA_PARTITION::INIT_RECORD_PRIORITY_QUEUE
|
||||
|
@ -8,6 +8,10 @@
|
||||
# Crash tests don't work with embedded
|
||||
--source include/not_embedded.inc
|
||||
|
||||
# Make sure system tables are not open, as the test will kill the server
|
||||
# and it will cause corruption errors in the log
|
||||
FLUSH TABLES;
|
||||
|
||||
# Partitioning test that require debug features
|
||||
|
||||
--echo #
|
||||
|
5
mysql-test/suite/roles/drop_current_role.result
Normal file
5
mysql-test/suite/roles/drop_current_role.result
Normal file
@ -0,0 +1,5 @@
|
||||
create role r;
|
||||
set role r;
|
||||
drop role r;
|
||||
revoke all on *.* from current_role;
|
||||
ERROR OP000: Invalid role specification `r`
|
9
mysql-test/suite/roles/drop_current_role.test
Normal file
9
mysql-test/suite/roles/drop_current_role.test
Normal file
@ -0,0 +1,9 @@
|
||||
--source include/not_embedded.inc
|
||||
#
|
||||
# MDEV-22521 Server crashes in traverse_role_graph_up or Assertion `user' fails in traverse_role_graph_impl
|
||||
#
|
||||
create role r;
|
||||
set role r;
|
||||
drop role r;
|
||||
error ER_INVALID_ROLE;
|
||||
revoke all on *.* from current_role;
|
@ -2,8 +2,10 @@ include/rpl_init.inc [topology=1->2]
|
||||
*** MDEV-5509: Incorrect value for Seconds_Behind_Master if parallel replication ***
|
||||
connection server_2;
|
||||
SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
|
||||
set @old_parallel_mode= @@GLOBAL.slave_parallel_mode;
|
||||
include/stop_slave.inc
|
||||
SET GLOBAL slave_parallel_threads=5;
|
||||
set global slave_parallel_mode= optimistic;
|
||||
include/start_slave.inc
|
||||
connection server_1;
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
|
||||
@ -157,6 +159,7 @@ UNLOCK TABLES;
|
||||
connection server_2;
|
||||
include/stop_slave.inc
|
||||
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
|
||||
set global slave_parallel_mode= @old_parallel_mode;
|
||||
include/start_slave.inc
|
||||
connection server_1;
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -8,8 +8,10 @@
|
||||
|
||||
--connection server_2
|
||||
SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
|
||||
set @old_parallel_mode= @@GLOBAL.slave_parallel_mode;
|
||||
--source include/stop_slave.inc
|
||||
SET GLOBAL slave_parallel_threads=5;
|
||||
set global slave_parallel_mode= optimistic;
|
||||
--source include/start_slave.inc
|
||||
|
||||
--connection server_1
|
||||
@ -219,6 +221,7 @@ UNLOCK TABLES;
|
||||
--connection server_2
|
||||
--source include/stop_slave.inc
|
||||
SET GLOBAL slave_parallel_threads=@old_parallel_threads;
|
||||
set global slave_parallel_mode= @old_parallel_mode;
|
||||
--source include/start_slave.inc
|
||||
|
||||
--connection server_1
|
||||
|
@ -51,9 +51,9 @@ INSERT into t1(name, salary, income_tax) values('Record_2', 501, 501*2.5/1000);
|
||||
INSERT into t1(name, salary, income_tax) values('Record_3', 210, 210*2.5/1000);
|
||||
SELECT * from t1;
|
||||
id name salary income_tax
|
||||
1 Record_1 100011 250.027
|
||||
2 Record_2 501 1.2525
|
||||
3 Record_3 210 0.525
|
||||
1 Record_1 100011 250.03
|
||||
2 Record_2 501 1.25
|
||||
3 Record_3 210 0.53
|
||||
connect test_con2, localhost, root,,;
|
||||
connection test_con2;
|
||||
## Verifying session & global value of variable ##
|
||||
@ -69,11 +69,11 @@ INSERT into t1(name, salary, income_tax) values('Record_5', 501, 501*2.5/1000);
|
||||
INSERT into t1(name, salary, income_tax) values('Record_6', 210, 210*2.5/1000);
|
||||
SELECT * from t1;
|
||||
id name salary income_tax
|
||||
1 Record_1 100011 250.027
|
||||
2 Record_2 501 1.2525
|
||||
3 Record_3 210 0.525
|
||||
4 Record_4 100011 250.027
|
||||
5 Record_5 501 1.2525
|
||||
1 Record_1 100011 250.03
|
||||
2 Record_2 501 1.25
|
||||
3 Record_3 210 0.53
|
||||
4 Record_4 100011 250.028
|
||||
5 Record_5 501 1.253
|
||||
6 Record_6 210 0.525
|
||||
## Dropping table t1 ##
|
||||
drop table t1;
|
||||
|
@ -29,7 +29,7 @@ set time_zone='+1:00';
|
||||
flush tables;
|
||||
select * from t1;
|
||||
a b v
|
||||
1 2 0.3333333330000000000
|
||||
1 2 0.3333000000000000000
|
||||
select * from t8;
|
||||
a b v
|
||||
1234567890 2 2009-02-14 00:31:30
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user