mirror of
https://github.com/MariaDB/server.git
synced 2025-04-02 05:15:33 +02:00
merge
This commit is contained in:
commit
8789c79723
341 changed files with 10555 additions and 27999 deletions
.bzr-mysql
BUILD
CMakeLists.txtMakefile.amREADMEclient
cmake
cmake_parse_arguments.cmakedtrace.cmakeinstall_macros.cmakelibutils.cmakemysql_add_executable.cmakeplugin.cmake
config.h.cmakeconfig/ac-macros
configure.cmakeconfigure.indbug
include
libmysql
libmysqld
mysql-test
CMakeLists.txt
collections
extra
include
lib
mysql-test-run.plr
check.resultdelayed.resultflush.resultfunc_misc.resultfunc_time.resultgis.resulthandler_innodb.resulthandler_myisam.resultindex_merge_innodb.resultindex_merge_myisam.resultjoin.resultlog_tables_upgrade.resultlowercase_fs_off.resultmdl_sync.resultmerge.resultmulti_update.resultmyisampack.resultmysql_upgrade.resultmysql_upgrade_ssl.resultmysqld--help-notwin.resultmysqlshow.resultmysqltest.resultorder_by.resultparser.resultpartition.resultpartition_column.resultpartition_column_prune.resultpartition_error.resultpartition_hash.resultpartition_innodb.resultpartition_pruning.resultpartition_range.resultps_2myisam.resultps_3innodb.resultps_4heap.resultps_5merge.resultrow.resultselect.resultstrict.resultsubselect.resultsubselect4.resulttimezone2.resulttrigger_notembedded.resulttype_datetime.resulttype_newdecimal.resulttype_timestamp.resultuser_var.resultvariables_debug.resultxa.result
std_data/parts
suite
|
@ -1,4 +1,4 @@
|
|||
[MYSQL]
|
||||
post_commit_to = "commits@lists.mysql.com"
|
||||
post_push_to = "commits@lists.mysql.com"
|
||||
tree_name = "mysql-5.5"
|
||||
tree_name = "mysql-5.5-bugteam"
|
||||
|
|
|
@ -71,9 +71,10 @@ cat <<EOF
|
|||
same type as that on which you intend to run MySQL/MySQL Cluster.
|
||||
|
||||
The simplest possible way to run this script is to allow it to use the
|
||||
built-in defaults everywhere, invoking it simply as:
|
||||
built-in defaults everywhere, invoking it simply as (from top-level
|
||||
MySQL directory):
|
||||
|
||||
shell> ./build_mccge.sh
|
||||
shell> BUILD/build_mccge.sh
|
||||
|
||||
This performs the following operations:
|
||||
1) Detects the operating system. Currently, Linux, FreeBSD, Solaris
|
||||
|
@ -128,7 +129,7 @@ cat <<EOF
|
|||
information in the binary then use --debug.
|
||||
|
||||
If your aim is not to build MySQL Cluster Carrier Grade Edition, you
|
||||
can also use this script to build MySQL Classic and MySQL Pro
|
||||
can also use this script to build MySQL Classic and MySQL Enterprise Pro
|
||||
versions; see the --extended-help for descriptions of these packages.
|
||||
EOF
|
||||
}
|
||||
|
@ -147,7 +148,13 @@ Usage: $0 [options]
|
|||
configure
|
||||
--extended-help Show extended help message
|
||||
--without-debug Build non-debug version
|
||||
--use-comment Set the comment in the build
|
||||
--with-fast-mutexes Use try/retry method of acquiring mutex
|
||||
--with-debug Build debug version
|
||||
--with-link-time-optimizer
|
||||
Link time optimizations enabled (Requires GCC 4.5
|
||||
if GCC used), available for icc as well. This flag
|
||||
is only considered if also fast is set.
|
||||
--configure-only Stop after running configure.
|
||||
--use-autotools Start by running autoconf, automake,.. tools
|
||||
--no-autotools Start from configure
|
||||
|
@ -297,6 +304,7 @@ extended_usage()
|
|||
by MySQL (cannot be overridden).
|
||||
|
||||
--with-ssl: Enable use of yaSSL library included in the MySQL source
|
||||
if possible (GCC and same CC and CXX).
|
||||
(cannot be overridden).
|
||||
|
||||
--with-pic: Build all binaries using position independent assembler
|
||||
|
@ -377,17 +385,17 @@ extended_usage()
|
|||
Compiler options:
|
||||
-----------------
|
||||
|
||||
This section describes the compiler options for each of the different
|
||||
platforms supported by this script.
|
||||
This section describes the compiler options for each of the different
|
||||
platforms supported by this script.
|
||||
|
||||
The --fast option adds -mtune=cpu_arg to the C/C++ flags (provides
|
||||
support for Nocona, K8, and other processors).
|
||||
The --fast option adds -mtune=cpu_arg to the C/C++ flags (provides
|
||||
support for Nocona, K8, and other processors).
|
||||
|
||||
Use of the --debug option adds -g to the C/C++ flags.
|
||||
Use of the --debug option adds -g to the C/C++ flags.
|
||||
|
||||
In all cases it is possible to override the definition of CC and CXX
|
||||
by calling the script as follows:
|
||||
CC="/usr/local/bin/gcc" CXX="/usr/local/bin/gcc" BUILD/build_mccge.sh
|
||||
In all cases it is possible to override the definition of CC and CXX
|
||||
by calling the script as follows:
|
||||
CC="/usr/local/bin/gcc" CXX="/usr/local/bin/gcc" BUILD/build_mccge.sh
|
||||
|
||||
FreeBSD/x86/gcc
|
||||
---------------
|
||||
|
@ -411,15 +419,19 @@ extended_usage()
|
|||
|
||||
On Itanium we also add -no-ftz and to CC and C++ flags.
|
||||
|
||||
The non-debug versions also add the following:
|
||||
C/C++ flags += -O3 unroll2 -ip
|
||||
Note that if the user of this script sets CC or CXX explicitly then
|
||||
also -static-libgcc and -static-intel needs to be set in the CC and
|
||||
CXX.
|
||||
|
||||
The fast version adds:
|
||||
C/C++ flags += -ipo
|
||||
The non-debug versions also add the following:
|
||||
C/C++ flags += -O3 unroll2 -ip
|
||||
|
||||
On discovery of a Core 2 Duo architecture while using icc, -xT is also
|
||||
added to the C/C++ flags; this provides optimisations specific to Core
|
||||
2 Duo. This is added only when the --fast flag is set.
|
||||
The fast version adds (if --with-link-time-optimizer is used):
|
||||
C/C++ flags += -ipo
|
||||
|
||||
On discovery of a Core 2 Duo architecture while using icc, -xT is also
|
||||
added to the C/C++ flags; this provides optimisations specific to Core
|
||||
2 Duo. This is added only when the --fast flag is set.
|
||||
|
||||
Solaris/x86/gcc
|
||||
---------------
|
||||
|
@ -445,7 +457,7 @@ extended_usage()
|
|||
Sparc v9 binaries, also -mt is set in all those since we're always
|
||||
building a multithreaded program.
|
||||
|
||||
C flags = -xstrconst
|
||||
C flags = -xstrconst This flag is set only on SPARC
|
||||
C++ flags = -noex
|
||||
|
||||
Set the following C/C++ flags:
|
||||
|
@ -458,8 +470,10 @@ extended_usage()
|
|||
|
||||
Set the C++ flag:
|
||||
-noex
|
||||
-features=no%except This flag is set only on x86
|
||||
|
||||
When compiling with fast we set:
|
||||
When compiling with fast we set (-ipo only used if we have
|
||||
set --with-link-time-optimizer):
|
||||
C/C++ flags: -xtarget=native -xunroll=3 -xipo
|
||||
LDFLAGS: -xipo
|
||||
|
||||
|
@ -471,6 +485,11 @@ extended_usage()
|
|||
|
||||
When compiling with fast on x86 we also set:
|
||||
C/C++ flags: -xregs=frameptr
|
||||
When not compiling with fast we set on x86
|
||||
C/C++ flags: -xregs=no%frameptr
|
||||
|
||||
On SPARC we set
|
||||
ASFLAGS = LDFLAGS = C/C++ flags = -xarch=sparc
|
||||
|
||||
The optimisation level is
|
||||
-xO Debug builds
|
||||
|
@ -480,17 +499,19 @@ extended_usage()
|
|||
|
||||
MacOSX/x86/gcc
|
||||
--------------
|
||||
C/C++ flags include -fno-common -arch i386.
|
||||
C/C++ flags include -fno-common -arch i386.
|
||||
When 64-bits builds then i386 is replaced by x86_64.
|
||||
|
||||
Non-debug versions also add -Os -felide-constructors, where "-Os"
|
||||
means the build is space-optimised as long as the space optimisations
|
||||
do not negatively affect performance. Debug versions use -O.
|
||||
Non-debug versions also add -Os -felide-constructors, where "-Os"
|
||||
means the build is space-optimised as long as the space optimisations
|
||||
do not negatively affect performance. Debug versions use -O.
|
||||
|
||||
Mac OS X builds will always be 32-bit by default, when --64 is added
|
||||
the build will be 64 bit instead. Thus the flag --m64 is added only
|
||||
when specifically given as an option.
|
||||
Mac OS X builds will always be 32-bit by default, when --64 is added
|
||||
the build will be 64 bit instead. Thus the flag --m64 is added only
|
||||
when specifically given as an option.
|
||||
EOF
|
||||
}
|
||||
|
||||
with_usage()
|
||||
{
|
||||
cat <<EOF
|
||||
|
@ -593,13 +614,13 @@ parse_cpu_type()
|
|||
case "$cpu_type" in
|
||||
x86 )
|
||||
cpu_type="x86"
|
||||
if test "x$m64" != "x" ; then
|
||||
if test "x$m64" = "x" ; then
|
||||
m64="no"
|
||||
fi
|
||||
;;
|
||||
x86_64 )
|
||||
cpu_type="x86"
|
||||
if test "x$m64" != "x" ; then
|
||||
if test "x$m64" = "x" ; then
|
||||
m64="yes"
|
||||
fi
|
||||
;;
|
||||
|
@ -629,10 +650,7 @@ parse_compiler()
|
|||
icc )
|
||||
compiler="icc"
|
||||
;;
|
||||
forte )
|
||||
compiler="forte"
|
||||
;;
|
||||
SunStudio | sunstudio )
|
||||
forte | SunStudio | sunstudio )
|
||||
compiler="forte"
|
||||
;;
|
||||
*)
|
||||
|
@ -653,12 +671,21 @@ parse_options()
|
|||
--datadir=*)
|
||||
datadir=`get_key_value "$1"`
|
||||
;;
|
||||
--with-link-time-optimizer)
|
||||
with_link_time_optimizer="yes"
|
||||
;;
|
||||
--without-debug)
|
||||
with_debug_flag="no"
|
||||
if test "x$fast_flag" != "xyes" ; then
|
||||
fast_flag="generic"
|
||||
fi
|
||||
;;
|
||||
--use-comment)
|
||||
without_comment="no"
|
||||
;;
|
||||
--with-fast-mutexes)
|
||||
with_fast_mutexes="yes"
|
||||
;;
|
||||
--use-tcmalloc)
|
||||
use_tcmalloc="yes"
|
||||
;;
|
||||
|
@ -817,9 +844,11 @@ set_cpu_base()
|
|||
fi
|
||||
case "$cpu_arg" in
|
||||
core2 | nocona | prescott | pentium* | i*86 )
|
||||
# Intel CPU
|
||||
cpu_base_type="x86"
|
||||
;;
|
||||
athlon* | opteron* )
|
||||
athlon* | opteron* | k6 | k8 )
|
||||
# AMD CPU
|
||||
cpu_base_type="x86"
|
||||
;;
|
||||
sparc )
|
||||
|
@ -871,15 +900,15 @@ init_configure_commands()
|
|||
cxxflags="$cxx_warnings $base_cxxflags $compiler_flags"
|
||||
configure="./configure $base_configs $with_flags"
|
||||
|
||||
flags="CC=\"$CC\" CFLAGS=\"$cflags\" CXX=\"$CXX\" CXXFLAGS=\"$cxxflags\""
|
||||
env_flags="CC=\"$CC\" CFLAGS=\"$cflags\" CXX=\"$CXX\" CXXFLAGS=\"$cxxflags\""
|
||||
if test "x$LDFLAGS" != "x" ; then
|
||||
flags="$flags LDFLAGS=\"$LDFLAGS\""
|
||||
env_flags="$env_flags LDFLAGS=\"$LDFLAGS\""
|
||||
fi
|
||||
if test "x$ASFLAGS" != "x" ; then
|
||||
flags="$flags ASFLAGS=\"$ASFLAGS\""
|
||||
env_flags="$env_flags ASFLAGS=\"$ASFLAGS\""
|
||||
fi
|
||||
commands="$commands
|
||||
$flags $configure"
|
||||
$env_flags $configure"
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -1081,6 +1110,18 @@ set_debug_flag()
|
|||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# We compile in SSL support if we can, this isn't possible if CXX
|
||||
# and CC aren't the same and we're not using GCC.
|
||||
#
|
||||
set_ssl()
|
||||
{
|
||||
if test "x$compiler" = "xgcc" && \
|
||||
test "x$CC" = "x$CXX" ; then
|
||||
base_configs="$base_configs --with-ssl"
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Base options used by all packages
|
||||
#
|
||||
|
@ -1105,10 +1146,13 @@ set_base_configs()
|
|||
base_configs="$base_configs --enable-local-infile"
|
||||
base_configs="$base_configs --enable-thread-safe-client"
|
||||
base_configs="$base_configs --with-big-tables"
|
||||
base_configs="$base_configs --with-extra-charsets=complex"
|
||||
base_configs="$base_configs --with-ssl"
|
||||
base_configs="$base_configs --with-extra-charsets=all"
|
||||
if test "x$with_fast_mutexes" = "xyes" ; then
|
||||
base_configs="$base_configs --with-fast-mutexes"
|
||||
fi
|
||||
base_configs="$base_configs --with-pic"
|
||||
base_configs="$base_configs --with-csv-storage-engine"
|
||||
base_configs="$base_configs --with-perfschema"
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -1139,7 +1183,9 @@ set_ndb_engine()
|
|||
|
||||
set_pro_package()
|
||||
{
|
||||
base_configs="$base_configs --with-comment=\"MySQL Pro $version_text built from source\""
|
||||
if test "x$without_comment" != "xyes" ; then
|
||||
base_configs="$base_configs --with-comment=\"MySQL Enterprise Pro $version_text built from source\""
|
||||
fi
|
||||
if test "x$with_debug_flag" = "xyes" ; then
|
||||
base_configs="$base_configs --with-server-suffix=\"-debug\""
|
||||
fi
|
||||
|
@ -1147,33 +1193,37 @@ set_pro_package()
|
|||
|
||||
set_cge_extended_package()
|
||||
{
|
||||
if test "x$gpl" = "xno" ; then
|
||||
echo "Cannot build Extended Carrier Grade Edition as Commercial version"
|
||||
if test "x$without_comment" != "xyes" ; then
|
||||
base_configs="$base_configs --with-comment=\"MySQL Cluster Carrier Grade Extended Edition $version_text built from source\""
|
||||
fi
|
||||
base_configs="$base_configs --with-comment=\"MySQL Cluster Carrier Grade Extended Edition $version_text built from source\""
|
||||
if test "x$with_debug_flag" = "xyes" ; then
|
||||
base_configs="$base_configs --with-server-suffix=\"-cge-extended-debug\""
|
||||
else
|
||||
base_configs="$base_configs --with-server-suffix=\"-cge-extended"\"
|
||||
base_configs="$base_configs --with-server-suffix=\"-cge-extended\""
|
||||
fi
|
||||
}
|
||||
|
||||
set_cge_package()
|
||||
{
|
||||
base_configs="$base_configs --with-comment=\"MySQL Cluster Carrier Grade Edition $version_text built from source\""
|
||||
if test "x$without_comment" != "xyes" ; then
|
||||
base_configs="$base_configs --with-comment=\"MySQL Cluster Carrier Grade Edition $version_text built from source\""
|
||||
fi
|
||||
if test "x$with_debug_flag" = "xyes" ; then
|
||||
base_configs="$base_configs --with-server-suffix=\"-cge-debug\""
|
||||
else
|
||||
base_configs="$base_configs --with-server-suffix=\"-cge"\"
|
||||
base_configs="$base_configs --with-server-suffix=\"-cge\""
|
||||
fi
|
||||
}
|
||||
|
||||
set_classic_package()
|
||||
{
|
||||
base_configs="$base_configs --with-comment=\"MySQL Classic $version_text built from source\""
|
||||
if test "x$without_comment" != "xyes" ; then
|
||||
base_configs="$base_configs --with-comment=\"MySQL Classic $version_text built from source\""
|
||||
fi
|
||||
if test "x$with_debug_flag" = "xyes" ; then
|
||||
base_configs="$base_configs --with-server-suffix=\"-debug\""
|
||||
fi
|
||||
base_configs="$base_configs --without-example-storage-engine"
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -1204,10 +1254,10 @@ set_gcc_special_options()
|
|||
set_cc_and_cxx_for_gcc()
|
||||
{
|
||||
if test "x$CC" = "x" ; then
|
||||
CC="gcc -static-libgcc"
|
||||
CC="gcc -static-libgcc -fno-exceptions"
|
||||
fi
|
||||
if test "x$CXX" = "x" ; then
|
||||
CXX="gcc -static-libgcc"
|
||||
CXX="gcc -static-libgcc -fno-exceptions"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -1266,6 +1316,61 @@ set_bsd_configs()
|
|||
set_cc_and_cxx_for_gcc
|
||||
}
|
||||
|
||||
check_64_bits()
|
||||
{
|
||||
echo "Checking for 32/64-bits compilation"
|
||||
echo "int main() { return 0; }" > temp_test.c
|
||||
if test "x$m64" = "xyes" ; then
|
||||
cmd="$CC $compile_flags -m64 temp_test.c"
|
||||
if ! $cmd 2>1 ; then
|
||||
m64="no"
|
||||
echo "Changing to 32-bits since 64-bits didn't work"
|
||||
else
|
||||
echo "Will use 64-bits"
|
||||
fi
|
||||
else
|
||||
cmd="$CC $compile_flags -m32 temp_test.c"
|
||||
if ! $cmd 2>1 ; then
|
||||
m64="yes"
|
||||
echo "Changing to 64-bits since 32-bits didn't work"
|
||||
else
|
||||
echo "Will use 32-bits"
|
||||
fi
|
||||
fi
|
||||
rm temp_test.c
|
||||
}
|
||||
|
||||
#
|
||||
# Get GCC version
|
||||
#
|
||||
get_gcc_version()
|
||||
{
|
||||
# check if compiler is gcc and dump its version
|
||||
cc_verno=`$cc -dumpversion 2>/dev/null`
|
||||
if test "x$?" = "x0" ; then
|
||||
set -- `echo $cc_verno | tr '.' ' '`
|
||||
cc_ver="GCC"
|
||||
cc_major=$1
|
||||
cc_minor=$2
|
||||
cc_patch=$3
|
||||
gcc_version=`expr $cc_major '*' 100 '+' $cc_minor`
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Link Time Optimizer in GCC (LTO) uses a parameter -flto
|
||||
# which was added to GCC 4.5, if --with-link-time-optimizer
|
||||
# is set then use this feature
|
||||
#
|
||||
check_for_link_time_optimizer()
|
||||
{
|
||||
get_gcc_version
|
||||
if test "$gcc_version" -ge 405 && \
|
||||
test "x$with_link_time_optimizer" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -flto"
|
||||
LDFLAGS="$LDFLAGS -flto"
|
||||
fi
|
||||
}
|
||||
#
|
||||
# Linux Section
|
||||
#
|
||||
|
@ -1284,20 +1389,22 @@ set_linux_configs()
|
|||
fi
|
||||
if test "x$compiler" = "xgcc" ; then
|
||||
set_cc_and_cxx_for_gcc
|
||||
if test "x$m64" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -m64"
|
||||
else
|
||||
compiler_flags="$compiler_flags -m32"
|
||||
fi
|
||||
if test "x$fast_flag" != "xno" ; then
|
||||
if test "x$fast_flag" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -O3"
|
||||
check_for_link_time_optimizer
|
||||
else
|
||||
compiler_flags="$compiler_flags -O2"
|
||||
fi
|
||||
else
|
||||
compiler_flags="$compiler_flags -O0"
|
||||
fi
|
||||
check_64_bits
|
||||
if test "x$m64" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -m64"
|
||||
else
|
||||
compiler_flags="$compiler_flags -m32"
|
||||
fi
|
||||
# configure will set proper compiler flags for gcc on Linux
|
||||
elif test "x$compiler" = "xicc" ; then
|
||||
compiler_flags="$compiler_flags -mp -restrict"
|
||||
|
@ -1307,8 +1414,10 @@ set_linux_configs()
|
|||
fi
|
||||
if test "x$fast_flag" != "xno" ; then
|
||||
compiler_flags="$compiler_flags -O3 -unroll2 -ip"
|
||||
if test "x$fast_flag" = "xyes" ; then
|
||||
if test "x$fast_flag" = "xyes" && \
|
||||
test "x$with_link_time_optimizer" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -ipo"
|
||||
LDFLAGS="$LDFLAGS -ipo"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
|
@ -1323,11 +1432,16 @@ set_linux_configs()
|
|||
set_solaris_configs()
|
||||
{
|
||||
# Use mtmalloc as malloc, see Tim Cook blog
|
||||
base_configs="$base_configs --with-mysqld-libs=-lmtmalloc"
|
||||
# For information on optimal compiler settings, see article at
|
||||
# http://developers.sun.com/solaris/articles/mysql_perf_tune.html
|
||||
# by Luojia Chen at Sun.
|
||||
base_configs="$base_configs --with-named-curses=-lcurses"
|
||||
case "`uname -a`" in
|
||||
*5.8* | *5.9* | *5.10* | *5.11*)
|
||||
*5.8* | *5.9* )
|
||||
;;
|
||||
|
||||
*5.10* | *5.11*)
|
||||
base_configs="$base_configs --with-mysqld-libs=-lmtmalloc"
|
||||
;;
|
||||
*)
|
||||
usage "Only versions 8,9, 10 and 11 supported for Solaris"
|
||||
|
@ -1361,6 +1475,7 @@ set_solaris_configs()
|
|||
if test "x$fast_flag" = "xyes" ; then
|
||||
LDFLAGS="$LDFLAGS -O3"
|
||||
compiler_flags="$compiler_flags -O3"
|
||||
check_for_link_time_optimizer
|
||||
else
|
||||
if test "x$fast_flag" = "xgeneric" ; then
|
||||
LDFLAGS="$LDFLAGS -O2"
|
||||
|
@ -1373,44 +1488,50 @@ set_solaris_configs()
|
|||
else
|
||||
#Using Forte compiler (SunStudio)
|
||||
set_cc_and_cxx_for_forte
|
||||
base_cflags="$base_cflags -xstrconst"
|
||||
compiler_flags="$compiler_flags -mt"
|
||||
LD_FLAGS="$LD_FLAGS -mt"
|
||||
LDFLAGS="$LDFLAGS -mt"
|
||||
compiler_flags="$compiler_flags -fsimple=1"
|
||||
compiler_flags="$compiler_flags -ftrap=%none"
|
||||
compiler_flags="$compiler_flags -xbuiltin=%all"
|
||||
compiler_flags="$compiler_flags -xlibmil"
|
||||
compiler_flags="$compiler_flags -xlibmopt"
|
||||
base_cxxflags="$base_cxxflags -noex"
|
||||
if test "x$fast_flag" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -xtarget=native"
|
||||
compiler_flags="$compiler_flags -xipo"
|
||||
compiler_flags="$compiler_flags -xunroll=3"
|
||||
LD_FLAGS="$LD_FLAGS -xipo"
|
||||
if test "x$with_link_time_optimizer" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -xipo"
|
||||
LDFLAGS="$LDFLAGS -xipo"
|
||||
fi
|
||||
else
|
||||
compiler_flags="$compiler_flags -xtarget=generic"
|
||||
fi
|
||||
if test "x$cpu_base_type" = "xx86" ; then
|
||||
compiler_flags="$compiler_flags -nofstore"
|
||||
base_cxx_flags="$base_cxx_flags -features=no%except"
|
||||
if test "x$fast_flag" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -xregs=frameptr"
|
||||
compiler_flags="$compiler_flags -xO4"
|
||||
elif test "x$fast_flag" = "xgeneric" ; then
|
||||
compiler_flags="$compiler_flags -xO2"
|
||||
else
|
||||
compiler_flags="$compiler_flags -xO0"
|
||||
compiler_flags="$compiler_flags -xregs=no%frameptr"
|
||||
if test "x$fast_flag" = "xgeneric" ; then
|
||||
compiler_flags="$compiler_flags -xO2"
|
||||
else
|
||||
compiler_flags="$compiler_flags -xO0"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
#Using SPARC cpu with SunStudio (Forte) compiler
|
||||
ASFLAGS="$ASFLAGS -xarch=sparc"
|
||||
LDFLAGS="$LDFLAGS -xarch=sparc"
|
||||
base_cxxflags="$base_cxxflags -noex"
|
||||
base_cflags="$base_cflags -xstrconst"
|
||||
compiler_flags="$compiler_flags -xarch=sparc"
|
||||
if test "x$fast_flag" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -xbinopt=prepare"
|
||||
LDFLAGS="$LDFLAGS -xbinopt=prepare"
|
||||
compiler_flags="$compiler_flags -xO4"
|
||||
elif test "x$fast_flag" = "xgeneric" ; then
|
||||
compiler_flags="$compiler_flags -xO2"
|
||||
compiler_flags="$compiler_flags -xO3"
|
||||
else
|
||||
compiler_flags="$compiler_flags -xO0"
|
||||
fi
|
||||
|
@ -1432,7 +1553,7 @@ set_macosx_configs()
|
|||
# optimisations also when not in fast mode.
|
||||
#
|
||||
base_cxxflags="$base_cxxflags -felide-constructors"
|
||||
base_cxxflags="$base_cxxflags -fno-common"
|
||||
compiler_flags="$compiler_flags -fno-common"
|
||||
if test "x$m64" = "xyes" ; then
|
||||
compiler_flags="$compiler_flags -m64"
|
||||
compiler_flags="$compiler_flags -arch x86_64"
|
||||
|
@ -1526,7 +1647,7 @@ fi
|
|||
cpu_type=
|
||||
package=
|
||||
prefix="/usr/local/mysql"
|
||||
parallelism="4"
|
||||
parallelism="8"
|
||||
fast_flag="generic"
|
||||
compiler="gcc"
|
||||
gpl="yes"
|
||||
|
@ -1562,6 +1683,10 @@ engine_configs=
|
|||
ASFLAGS=
|
||||
LDFLAGS=
|
||||
use_tcmalloc=
|
||||
without_comment="yes"
|
||||
with_fast_mutexes=
|
||||
with_link_time_optimizer=
|
||||
gcc_version="0"
|
||||
|
||||
set_defaults_based_on_environment
|
||||
|
||||
|
@ -1656,7 +1781,7 @@ elif test "x$os" = "xbsd" ; then
|
|||
else
|
||||
die "Operating system not supported by this script"
|
||||
fi
|
||||
|
||||
set_ssl
|
||||
#
|
||||
# Final step before setting up commands is to set up proper make and
|
||||
# proper libtoolize versions, and to determine whether to use ccache.
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
# best compiler optimization flags for gcc
|
||||
# Will return result in:
|
||||
# cpu_arg : Type of CPU
|
||||
# low_cpu_arg : Type of CPU used up until GCC v3.3
|
||||
# check_cpu_args : Arguments for GCC compiler settings
|
||||
#
|
||||
|
||||
|
@ -33,7 +34,7 @@ check_compiler_cpu_flags () {
|
|||
case `gcc -dumpmachine` in
|
||||
i?86-* | x86_64-*)
|
||||
if test "$cc_comp" -lt 304 ; then
|
||||
check_cpu_cflags="-mcpu=${cpu_arg}"
|
||||
check_cpu_cflags="-mcpu=${low_cpu_arg}"
|
||||
elif test "$cc_comp" -ge 402 ; then
|
||||
check_cpu_cflags="-mtune=native"
|
||||
else
|
||||
|
@ -141,9 +142,10 @@ check_cpu () {
|
|||
# detect CPU shortname as used by gcc options
|
||||
# this list is not complete, feel free to add further entries
|
||||
cpu_arg=""
|
||||
case "$cpu_family--$model_name--$spu_arch" in
|
||||
low_cpu_arg=""
|
||||
case "$cpu_vendor--$cpu_family--$model_name--$spu_arch" in
|
||||
# DEC Alpha
|
||||
Alpha*EV6*)
|
||||
*Alpha*EV6*)
|
||||
cpu_arg="ev6";
|
||||
;;
|
||||
#Core 2 Duo
|
||||
|
@ -172,6 +174,13 @@ check_cpu () {
|
|||
*Pentium*4*Mobile*)
|
||||
cpu_arg="pentium4m"
|
||||
;;
|
||||
*Pentium\(R\)*\ M*)
|
||||
cpu_arg="pentium-m"
|
||||
low_cpu_arg="pentium3"
|
||||
;;
|
||||
*Pentium\(R\)*\ D*)
|
||||
cpu_arg="prescott"
|
||||
;;
|
||||
*Pentium*4*)
|
||||
cpu_arg="pentium4"
|
||||
;;
|
||||
|
@ -196,6 +205,12 @@ check_cpu () {
|
|||
*Celeron*)
|
||||
cpu_arg="pentium2"
|
||||
;;
|
||||
*Atom*)
|
||||
cpu_arg="prescott"
|
||||
;;
|
||||
*GenuineIntel*)
|
||||
cpu_arg="pentium"
|
||||
;;
|
||||
*Turion*)
|
||||
cpu_arg="athlon64"
|
||||
;;
|
||||
|
@ -205,9 +220,30 @@ check_cpu () {
|
|||
*Athlon*)
|
||||
cpu_arg="athlon"
|
||||
;;
|
||||
*AMD-K7*)
|
||||
cpu_arg="athlon"
|
||||
;;
|
||||
*Athlon*XP\ *)
|
||||
cpu_arg="athlon-xp"
|
||||
;;
|
||||
*AMD*Sempron\(tm\)*)
|
||||
cpu_arg="athlon-mp"
|
||||
;;
|
||||
*AMD*Athlon\(tm\)\ 64*)
|
||||
cpu_arg="k8"
|
||||
;;
|
||||
*Opteron*)
|
||||
cpu_arg="opteron"
|
||||
;;
|
||||
*Phenom*)
|
||||
cpu_arg="k8"
|
||||
;;
|
||||
*AuthenticAMD*)
|
||||
cpu_arg="k6"
|
||||
;;
|
||||
*VIA\ *)
|
||||
cpu_arg="i686"
|
||||
;;
|
||||
# MacOSX / Intel
|
||||
*i386*i486*)
|
||||
cpu_arg="pentium-m"
|
||||
|
@ -239,6 +275,10 @@ check_cpu () {
|
|||
;;
|
||||
esac
|
||||
|
||||
if test "x$low_cpu_arg" = "x" ; then
|
||||
low_cpu_arg="$cpu_arg"
|
||||
fi
|
||||
|
||||
if test -z "$cpu_arg" ; then
|
||||
if test "$CPUINFO" != " " ; then
|
||||
# fallback to uname if necessary
|
||||
|
|
|
@ -112,7 +112,8 @@ OPTION(MYSQL_MAINTAINER_MODE "MySQL maintainer-specific development environment"
|
|||
# Whether the maintainer mode should be enabled.
|
||||
IF(MYSQL_MAINTAINER_MODE)
|
||||
IF(CMAKE_COMPILER_IS_GNUCC)
|
||||
SET(MY_MAINTAINER_C_WARNINGS "-Wall -Wextra -Wunused -Wwrite-strings -Werror"
|
||||
SET(MY_MAINTAINER_C_WARNINGS
|
||||
"-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror"
|
||||
CACHE STRING "C warning options used in maintainer builds.")
|
||||
ENDIF()
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
|
|
@ -24,7 +24,7 @@ EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \
|
|||
|
||||
SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
|
||||
@readline_topdir@ sql-common scripts \
|
||||
@pstack_dir@ libservices \
|
||||
libservices \
|
||||
@sql_union_dirs@ unittest \
|
||||
@sql_server@ @man_dirs@ tests \
|
||||
@libmysqld_dirs@ \
|
||||
|
@ -34,7 +34,7 @@ SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
|
|||
cmake
|
||||
DIST_SUBDIRS = . include Docs zlib \
|
||||
cmd-line-utils sql-common scripts \
|
||||
pstack libservices \
|
||||
libservices \
|
||||
strings mysys dbug extra regex libmysql libmysql_r client unittest storage plugin \
|
||||
vio sql man tests \
|
||||
libmysqld \
|
||||
|
|
94
README
94
README
|
@ -2208,97 +2208,3 @@ library. If this is what you want to do, use the GNU Lesser General
|
|||
Public License instead of this License.
|
||||
|
||||
***************************************************************************
|
||||
|
||||
%%The following software may be included in this product:
|
||||
pstack (part of GNU Binutils)
|
||||
|
||||
Use of any of this software is governed by the terms of the license below:
|
||||
|
||||
pstack is comprised of various .c and .h files; all begin like this:
|
||||
|
||||
/* bucomm.h -- binutils common include file.
|
||||
Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Binutils.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
***************************************************************************
|
||||
|
||||
%%The following software may be included in this product:
|
||||
libiberty.h (part of pstack GNU Binutils)
|
||||
|
||||
Use of any of this software is governed by the terms of the license below:
|
||||
|
||||
See
|
||||
http://www.koders.com/c/fid99F596804BBE22C076522B848D5575F142079064.aspx
|
||||
|
||||
/* Function declarations for libiberty.
|
||||
Written by Cygnus Support, 1994.
|
||||
|
||||
The libiberty library provides a number of functions which are
|
||||
missing on some operating systems. We do not declare those here,
|
||||
to avoid conflicts with the system header files on operating
|
||||
systems that do support those functions. In this file we only
|
||||
declare those functions which are specific to libiberty. */
|
||||
|
||||
***************************************************************************
|
||||
|
||||
%%The following software may be included in this product:
|
||||
ieee.h (part of pstack GNU Binutils)
|
||||
|
||||
Use of any of this software is governed by the terms of the license below:
|
||||
|
||||
See
|
||||
http://src.opensolaris.org/source/xref//sfw/usr/src/cmd/gdb/gdb-6.3/include/ieee.h
|
||||
|
||||
|
||||
/* IEEE Standard 695-1980 "Universal Format for Object Modules"
|
||||
header file
|
||||
Contributed by Cygnus Support. */
|
||||
|
||||
***************************************************************************
|
||||
|
||||
%%The following software may be included in this product:
|
||||
pstack.c (part of pstack GNU Binutils)
|
||||
|
||||
Use of any of this software is governed by the terms of the license below:
|
||||
|
||||
/*
|
||||
pstack.c -- asynchronous stack trace of a running process
|
||||
Copyright (c) 1999 Ross Thompson
|
||||
Author: Ross Thompson
|
||||
Critical bug fix: Tim Waugh
|
||||
*/
|
||||
|
||||
/*
|
||||
This file is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
*/
|
||||
|
||||
***************************************************************************
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
#include "mysql.h"
|
||||
#include "mysql_version.h"
|
||||
#include "mysqld_error.h"
|
||||
#include "../sql/ha_ndbcluster_tables.h"
|
||||
|
||||
/* Exit codes */
|
||||
|
||||
|
|
|
@ -113,6 +113,7 @@ static my_bool parsing_disabled= 0;
|
|||
static my_bool display_result_vertically= FALSE, display_result_lower= FALSE,
|
||||
display_metadata= FALSE, display_result_sorted= FALSE;
|
||||
static my_bool disable_query_log= 0, disable_result_log= 0;
|
||||
static my_bool disable_connect_log= 1;
|
||||
static my_bool disable_warnings= 0;
|
||||
static my_bool disable_info= 1;
|
||||
static my_bool abort_on_error= 1;
|
||||
|
@ -230,8 +231,9 @@ typedef struct
|
|||
int str_val_len;
|
||||
int int_val;
|
||||
int alloced_len;
|
||||
int int_dirty; /* do not update string if int is updated until first read */
|
||||
int alloced;
|
||||
bool int_dirty; /* do not update string if int is updated until first read */
|
||||
bool is_int;
|
||||
bool alloced;
|
||||
} VAR;
|
||||
|
||||
/*Perl/shell-like variable registers */
|
||||
|
@ -251,11 +253,16 @@ struct st_connection
|
|||
my_bool pending;
|
||||
|
||||
#ifdef EMBEDDED_LIBRARY
|
||||
pthread_t tid;
|
||||
const char *cur_query;
|
||||
int cur_query_len;
|
||||
pthread_mutex_t mutex;
|
||||
pthread_cond_t cond;
|
||||
int command, result;
|
||||
pthread_mutex_t query_mutex;
|
||||
pthread_cond_t query_cond;
|
||||
pthread_mutex_t result_mutex;
|
||||
pthread_cond_t result_cond;
|
||||
int query_done;
|
||||
my_bool has_thread;
|
||||
#endif /*EMBEDDED_LIBRARY*/
|
||||
};
|
||||
|
||||
|
@ -285,6 +292,7 @@ enum enum_commands {
|
|||
Q_EVAL_RESULT,
|
||||
Q_ENABLE_QUERY_LOG, Q_DISABLE_QUERY_LOG,
|
||||
Q_ENABLE_RESULT_LOG, Q_DISABLE_RESULT_LOG,
|
||||
Q_ENABLE_CONNECT_LOG, Q_DISABLE_CONNECT_LOG,
|
||||
Q_WAIT_FOR_SLAVE_TO_STOP,
|
||||
Q_ENABLE_WARNINGS, Q_DISABLE_WARNINGS,
|
||||
Q_ENABLE_INFO, Q_DISABLE_INFO,
|
||||
|
@ -350,6 +358,8 @@ const char *command_names[]=
|
|||
/* Enable/disable that the _result_ from a query is logged to result file */
|
||||
"enable_result_log",
|
||||
"disable_result_log",
|
||||
"enable_connect_log",
|
||||
"disable_connect_log",
|
||||
"wait_for_slave_to_stop",
|
||||
"enable_warnings",
|
||||
"disable_warnings",
|
||||
|
@ -446,7 +456,7 @@ struct st_command
|
|||
char *query, *query_buf,*first_argument,*last_argument,*end;
|
||||
DYNAMIC_STRING content;
|
||||
int first_word_len, query_len;
|
||||
my_bool abort_on_error;
|
||||
my_bool abort_on_error, used_replace;
|
||||
struct st_expected_errors expected_errors;
|
||||
char require_file[FN_REFLEN];
|
||||
enum enum_commands type;
|
||||
|
@ -706,67 +716,146 @@ void handle_no_error(struct st_command*);
|
|||
|
||||
#ifdef EMBEDDED_LIBRARY
|
||||
|
||||
#define EMB_SEND_QUERY 1
|
||||
#define EMB_READ_QUERY_RESULT 2
|
||||
#define EMB_END_CONNECTION 3
|
||||
|
||||
/* attributes of the query thread */
|
||||
pthread_attr_t cn_thd_attrib;
|
||||
|
||||
|
||||
/*
|
||||
send_one_query executes query in separate thread, which is
|
||||
necessary in embedded library to run 'send' in proper way.
|
||||
This implementation doesn't handle errors returned
|
||||
by mysql_send_query. It's technically possible, though
|
||||
I don't see where it is needed.
|
||||
This procedure represents the connection and actually
|
||||
runs queries when in the EMBEDDED-SERVER mode.
|
||||
The run_query_normal() just sends request for running
|
||||
mysql_send_query and mysql_read_query_result() here.
|
||||
*/
|
||||
pthread_handler_t send_one_query(void *arg)
|
||||
|
||||
pthread_handler_t connection_thread(void *arg)
|
||||
{
|
||||
struct st_connection *cn= (struct st_connection*)arg;
|
||||
|
||||
mysql_thread_init();
|
||||
(void) mysql_send_query(&cn->mysql, cn->cur_query, cn->cur_query_len);
|
||||
while (cn->command != EMB_END_CONNECTION)
|
||||
{
|
||||
if (!cn->command)
|
||||
{
|
||||
pthread_mutex_lock(&cn->query_mutex);
|
||||
while (!cn->command)
|
||||
pthread_cond_wait(&cn->query_cond, &cn->query_mutex);
|
||||
pthread_mutex_unlock(&cn->query_mutex);
|
||||
}
|
||||
switch (cn->command)
|
||||
{
|
||||
case EMB_END_CONNECTION:
|
||||
goto end_thread;
|
||||
case EMB_SEND_QUERY:
|
||||
cn->result= mysql_send_query(&cn->mysql, cn->cur_query, cn->cur_query_len);
|
||||
break;
|
||||
case EMB_READ_QUERY_RESULT:
|
||||
cn->result= mysql_read_query_result(&cn->mysql);
|
||||
break;
|
||||
default:
|
||||
DBUG_ASSERT(0);
|
||||
}
|
||||
cn->command= 0;
|
||||
pthread_mutex_lock(&cn->result_mutex);
|
||||
cn->query_done= 1;
|
||||
pthread_cond_signal(&cn->result_cond);
|
||||
pthread_mutex_unlock(&cn->result_mutex);
|
||||
}
|
||||
|
||||
mysql_thread_end();
|
||||
pthread_mutex_lock(&cn->mutex);
|
||||
end_thread:
|
||||
cn->query_done= 1;
|
||||
pthread_cond_signal(&cn->cond);
|
||||
pthread_mutex_unlock(&cn->mutex);
|
||||
mysql_thread_end();
|
||||
pthread_exit(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int do_send_query(struct st_connection *cn, const char *q, int q_len,
|
||||
int flags)
|
||||
static void wait_query_thread_done(struct st_connection *con)
|
||||
{
|
||||
pthread_t tid;
|
||||
DBUG_ASSERT(con->has_thread);
|
||||
if (!con->query_done)
|
||||
{
|
||||
pthread_mutex_lock(&con->result_mutex);
|
||||
while (!con->query_done)
|
||||
pthread_cond_wait(&con->result_cond, &con->result_mutex);
|
||||
pthread_mutex_unlock(&con->result_mutex);
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & QUERY_REAP_FLAG)
|
||||
|
||||
static void signal_connection_thd(struct st_connection *cn, int command)
|
||||
{
|
||||
DBUG_ASSERT(cn->has_thread);
|
||||
cn->query_done= 0;
|
||||
cn->command= command;
|
||||
pthread_mutex_lock(&cn->query_mutex);
|
||||
pthread_cond_signal(&cn->query_cond);
|
||||
pthread_mutex_unlock(&cn->query_mutex);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Sometimes we try to execute queries when the connection is closed.
|
||||
It's done to make sure it was closed completely.
|
||||
So that if our connection is closed (cn->has_thread == 0), we just return
|
||||
the mysql_send_query() result which is an error in this case.
|
||||
*/
|
||||
|
||||
static int do_send_query(struct st_connection *cn, const char *q, int q_len)
|
||||
{
|
||||
if (!cn->has_thread)
|
||||
return mysql_send_query(&cn->mysql, q, q_len);
|
||||
|
||||
if (pthread_mutex_init(&cn->mutex, NULL) ||
|
||||
pthread_cond_init(&cn->cond, NULL))
|
||||
die("Error in the thread library");
|
||||
|
||||
cn->cur_query= q;
|
||||
cn->cur_query_len= q_len;
|
||||
cn->query_done= 0;
|
||||
if (pthread_create(&tid, &cn_thd_attrib, send_one_query, (void*)cn))
|
||||
die("Cannot start new thread for query");
|
||||
|
||||
signal_connection_thd(cn, EMB_SEND_QUERY);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void wait_query_thread_end(struct st_connection *con)
|
||||
static int do_read_query_result(struct st_connection *cn)
|
||||
{
|
||||
if (!con->query_done)
|
||||
{
|
||||
pthread_mutex_lock(&con->mutex);
|
||||
while (!con->query_done)
|
||||
pthread_cond_wait(&con->cond, &con->mutex);
|
||||
pthread_mutex_unlock(&con->mutex);
|
||||
}
|
||||
DBUG_ASSERT(cn->has_thread);
|
||||
wait_query_thread_done(cn);
|
||||
signal_connection_thd(cn, EMB_READ_QUERY_RESULT);
|
||||
wait_query_thread_done(cn);
|
||||
|
||||
return cn->result;
|
||||
}
|
||||
|
||||
|
||||
static void emb_close_connection(struct st_connection *cn)
|
||||
{
|
||||
if (!cn->has_thread)
|
||||
return;
|
||||
wait_query_thread_done(cn);
|
||||
signal_connection_thd(cn, EMB_END_CONNECTION);
|
||||
pthread_join(cn->tid, NULL);
|
||||
cn->has_thread= FALSE;
|
||||
pthread_mutex_destroy(&cn->query_mutex);
|
||||
pthread_cond_destroy(&cn->query_cond);
|
||||
pthread_mutex_destroy(&cn->result_mutex);
|
||||
pthread_cond_destroy(&cn->result_cond);
|
||||
}
|
||||
|
||||
|
||||
static void init_connection_thd(struct st_connection *cn)
|
||||
{
|
||||
cn->query_done= 1;
|
||||
cn->command= 0;
|
||||
if (pthread_mutex_init(&cn->query_mutex, NULL) ||
|
||||
pthread_cond_init(&cn->query_cond, NULL) ||
|
||||
pthread_mutex_init(&cn->result_mutex, NULL) ||
|
||||
pthread_cond_init(&cn->result_cond, NULL) ||
|
||||
pthread_create(&cn->tid, &cn_thd_attrib, connection_thread, (void*)cn))
|
||||
die("Error in the thread library");
|
||||
cn->has_thread=TRUE;
|
||||
}
|
||||
|
||||
#else /*EMBEDDED_LIBRARY*/
|
||||
|
||||
#define do_send_query(cn,q,q_len,flags) mysql_send_query(&cn->mysql, q, q_len)
|
||||
#define do_send_query(cn,q,q_len) mysql_send_query(&cn->mysql, q, q_len)
|
||||
#define do_read_query_result(cn) mysql_read_query_result(&cn->mysql)
|
||||
|
||||
#endif /*EMBEDDED_LIBRARY*/
|
||||
|
||||
|
@ -1109,6 +1198,9 @@ void close_connections()
|
|||
DBUG_ENTER("close_connections");
|
||||
for (--next_con; next_con >= connections; --next_con)
|
||||
{
|
||||
#ifdef EMBEDDED_LIBRARY
|
||||
emb_close_connection(next_con);
|
||||
#endif
|
||||
if (next_con->stmt)
|
||||
mysql_stmt_close(next_con->stmt);
|
||||
next_con->stmt= 0;
|
||||
|
@ -1951,6 +2043,21 @@ static void var_free(void *v)
|
|||
|
||||
C_MODE_END
|
||||
|
||||
void var_set_int(VAR *v, const char *str)
|
||||
{
|
||||
char *endptr;
|
||||
/* Initially assume not a number */
|
||||
v->int_val= 0;
|
||||
v->is_int= false;
|
||||
v->int_dirty= false;
|
||||
if (!str) return;
|
||||
|
||||
v->int_val = (int) strtol(str, &endptr, 10);
|
||||
/* It is an int if strtol consumed something up to end/space/tab */
|
||||
if (endptr > str && (!*endptr || *endptr == ' ' || *endptr == '\t'))
|
||||
v->is_int= true;
|
||||
}
|
||||
|
||||
|
||||
VAR *var_init(VAR *v, const char *name, int name_len, const char *val,
|
||||
int val_len)
|
||||
|
@ -1985,11 +2092,10 @@ VAR *var_init(VAR *v, const char *name, int name_len, const char *val,
|
|||
memcpy(tmp_var->str_val, val, val_len);
|
||||
tmp_var->str_val[val_len]= 0;
|
||||
}
|
||||
var_set_int(tmp_var, val);
|
||||
tmp_var->name_len = name_len;
|
||||
tmp_var->str_val_len = val_len;
|
||||
tmp_var->alloced_len = val_alloc_len;
|
||||
tmp_var->int_val = (val) ? atoi(val) : 0;
|
||||
tmp_var->int_dirty = 0;
|
||||
return tmp_var;
|
||||
}
|
||||
|
||||
|
@ -2050,7 +2156,7 @@ VAR* var_get(const char *var_name, const char **var_name_end, my_bool raw,
|
|||
if (!raw && v->int_dirty)
|
||||
{
|
||||
sprintf(v->str_val, "%d", v->int_val);
|
||||
v->int_dirty = 0;
|
||||
v->int_dirty= false;
|
||||
v->str_val_len = strlen(v->str_val);
|
||||
}
|
||||
if (var_name_end)
|
||||
|
@ -2112,7 +2218,7 @@ void var_set(const char *var_name, const char *var_name_end,
|
|||
if (v->int_dirty)
|
||||
{
|
||||
sprintf(v->str_val, "%d", v->int_val);
|
||||
v->int_dirty= 0;
|
||||
v->int_dirty=false;
|
||||
v->str_val_len= strlen(v->str_val);
|
||||
}
|
||||
/* setenv() expects \0-terminated strings */
|
||||
|
@ -2182,8 +2288,14 @@ void var_query_set(VAR *var, const char *query, const char** query_end)
|
|||
DBUG_ENTER("var_query_set");
|
||||
LINT_INIT(res);
|
||||
|
||||
/* Only white space or ) allowed past ending ` */
|
||||
while (end > query && *end != '`')
|
||||
{
|
||||
if (*end && (*end != ' ' && *end != '\t' && *end != '\n' && *end != ')'))
|
||||
die("Spurious text after `query` expression");
|
||||
--end;
|
||||
}
|
||||
|
||||
if (query == end)
|
||||
die("Syntax error in query, missing '`'");
|
||||
++query;
|
||||
|
@ -2412,6 +2524,7 @@ void var_set_query_get_value(struct st_command *command, VAR *var)
|
|||
void var_copy(VAR *dest, VAR *src)
|
||||
{
|
||||
dest->int_val= src->int_val;
|
||||
dest->is_int= src->is_int;
|
||||
dest->int_dirty= src->int_dirty;
|
||||
|
||||
/* Alloc/realloc data for str_val in dest */
|
||||
|
@ -2495,9 +2608,7 @@ void eval_expr(VAR *v, const char *p, const char **p_end)
|
|||
v->str_val_len = new_val_len;
|
||||
memcpy(v->str_val, p, new_val_len);
|
||||
v->str_val[new_val_len] = 0;
|
||||
v->int_val=atoi(p);
|
||||
DBUG_PRINT("info", ("atoi on '%s', returns: %d", p, v->int_val));
|
||||
v->int_dirty=0;
|
||||
var_set_int(v, p);
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
@ -2844,6 +2955,8 @@ int do_modify_var(struct st_command *command,
|
|||
die("The argument to %.*s must be a variable (start with $)",
|
||||
command->first_word_len, command->query);
|
||||
v= var_get(p, &p, 1, 0);
|
||||
if (! v->is_int)
|
||||
die("Cannot perform inc/dec on a non-numeric value");
|
||||
switch (op) {
|
||||
case DO_DEC:
|
||||
v->int_val--;
|
||||
|
@ -2855,7 +2968,7 @@ int do_modify_var(struct st_command *command,
|
|||
die("Invalid operator to do_modify_var");
|
||||
break;
|
||||
}
|
||||
v->int_dirty= 1;
|
||||
v->int_dirty= true;
|
||||
command->last_argument= (char*)++p;
|
||||
return 0;
|
||||
}
|
||||
|
@ -3329,7 +3442,7 @@ static int get_list_files(DYNAMIC_STRING *ds, const DYNAMIC_STRING *ds_dirname,
|
|||
if (ds_wild && ds_wild->length &&
|
||||
wild_compare(file->name, ds_wild->str, 0))
|
||||
continue;
|
||||
dynstr_append(ds, file->name);
|
||||
replace_dynstr_append(ds, file->name);
|
||||
dynstr_append(ds, "\n");
|
||||
}
|
||||
set_wild_chars(0);
|
||||
|
@ -3359,6 +3472,7 @@ static void do_list_files(struct st_command *command)
|
|||
{"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"}
|
||||
};
|
||||
DBUG_ENTER("do_list_files");
|
||||
command->used_replace= 1;
|
||||
|
||||
check_command_args(command, command->first_argument,
|
||||
list_files_args,
|
||||
|
@ -3400,6 +3514,7 @@ static void do_list_files_write_file_command(struct st_command *command,
|
|||
{"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"}
|
||||
};
|
||||
DBUG_ENTER("do_list_files_write_file");
|
||||
command->used_replace= 1;
|
||||
|
||||
check_command_args(command, command->first_argument,
|
||||
list_files_args,
|
||||
|
@ -3899,7 +4014,18 @@ void do_perl(struct st_command *command)
|
|||
if (!error)
|
||||
my_delete(temp_file_path, MYF(0));
|
||||
|
||||
handle_command_error(command, WEXITSTATUS(error));
|
||||
/* Check for error code that indicates perl could not be started */
|
||||
int exstat= WEXITSTATUS(error);
|
||||
#ifdef __WIN__
|
||||
if (exstat == 1)
|
||||
/* Text must begin 'perl not found' as mtr looks for it */
|
||||
abort_not_supported_test("perl not found in path or did not start");
|
||||
#else
|
||||
if (exstat == 127)
|
||||
abort_not_supported_test("perl not found in path");
|
||||
#endif
|
||||
else
|
||||
handle_command_error(command, exstat);
|
||||
}
|
||||
dynstr_free(&ds_delimiter);
|
||||
DBUG_VOID_RETURN;
|
||||
|
@ -4813,6 +4939,16 @@ void select_connection_name(const char *name)
|
|||
|
||||
set_current_connection(con);
|
||||
|
||||
/* Connection logging if enabled */
|
||||
if (!disable_connect_log && !disable_query_log)
|
||||
{
|
||||
DYNAMIC_STRING *ds= &ds_res;
|
||||
|
||||
dynstr_append_mem(ds, "connection ", 11);
|
||||
replace_dynstr_append(ds, name);
|
||||
dynstr_append_mem(ds, ";\n", 2);
|
||||
}
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
@ -4871,7 +5007,7 @@ void do_close_connection(struct st_command *command)
|
|||
we need to check if the query's thread was finished and probably wait
|
||||
(embedded-server specific)
|
||||
*/
|
||||
wait_query_thread_end(con);
|
||||
emb_close_connection(con);
|
||||
#endif /*EMBEDDED_LIBRARY*/
|
||||
if (con->stmt)
|
||||
mysql_stmt_close(con->stmt);
|
||||
|
@ -4900,6 +5036,16 @@ void do_close_connection(struct st_command *command)
|
|||
var_set_string("$CURRENT_CONNECTION", con->name);
|
||||
}
|
||||
|
||||
/* Connection logging if enabled */
|
||||
if (!disable_connect_log && !disable_query_log)
|
||||
{
|
||||
DYNAMIC_STRING *ds= &ds_res;
|
||||
|
||||
dynstr_append_mem(ds, "disconnect ", 11);
|
||||
replace_dynstr_append(ds, ds_connection.str);
|
||||
dynstr_append_mem(ds, ";\n", 2);
|
||||
}
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
@ -5034,6 +5180,13 @@ int connect_n_handle_errors(struct st_command *command,
|
|||
dynstr_append_mem(ds, delimiter, delimiter_length);
|
||||
dynstr_append_mem(ds, "\n", 1);
|
||||
}
|
||||
/* Simlified logging if enabled */
|
||||
if (!disable_connect_log && !disable_query_log)
|
||||
{
|
||||
replace_dynstr_append(ds, command->query);
|
||||
dynstr_append_mem(ds, ";\n", 2);
|
||||
}
|
||||
|
||||
while (!mysql_real_connect(con, host, user, pass, db, port, sock ? sock: 0,
|
||||
CLIENT_MULTI_STATEMENTS))
|
||||
{
|
||||
|
@ -5223,8 +5376,9 @@ void do_connect(struct st_command *command)
|
|||
}
|
||||
|
||||
#ifdef EMBEDDED_LIBRARY
|
||||
con_slot->query_done= 1;
|
||||
#endif
|
||||
init_connection_thd(con_slot);
|
||||
#endif /*EMBEDDED_LIBRARY*/
|
||||
|
||||
if (!mysql_init(&con_slot->mysql))
|
||||
die("Failed on mysql_init()");
|
||||
|
||||
|
@ -5555,6 +5709,8 @@ int read_line(char *buf, int size)
|
|||
char c, UNINIT_VAR(last_quote), last_char= 0;
|
||||
char *p= buf, *buf_end= buf + size - 1;
|
||||
int skip_char= 0;
|
||||
my_bool have_slash= FALSE;
|
||||
|
||||
enum {R_NORMAL, R_Q, R_SLASH_IN_Q,
|
||||
R_COMMENT, R_LINE_START} state= R_LINE_START;
|
||||
DBUG_ENTER("read_line");
|
||||
|
@ -5626,9 +5782,13 @@ int read_line(char *buf, int size)
|
|||
}
|
||||
else if (c == '\'' || c == '"' || c == '`')
|
||||
{
|
||||
last_quote= c;
|
||||
state= R_Q;
|
||||
if (! have_slash)
|
||||
{
|
||||
last_quote= c;
|
||||
state= R_Q;
|
||||
}
|
||||
}
|
||||
have_slash= (c == '\\');
|
||||
break;
|
||||
|
||||
case R_COMMENT:
|
||||
|
@ -6784,21 +6944,13 @@ void run_query_normal(struct st_connection *cn, struct st_command *command,
|
|||
/*
|
||||
Send the query
|
||||
*/
|
||||
if (do_send_query(cn, query, query_len, flags))
|
||||
if (do_send_query(cn, query, query_len))
|
||||
{
|
||||
handle_error(command, mysql_errno(mysql), mysql_error(mysql),
|
||||
mysql_sqlstate(mysql), ds);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
#ifdef EMBEDDED_LIBRARY
|
||||
/*
|
||||
Here we handle 'reap' command, so we need to check if the
|
||||
query's thread was finished and probably wait
|
||||
*/
|
||||
else if (flags & QUERY_REAP_FLAG)
|
||||
wait_query_thread_end(cn);
|
||||
#endif /*EMBEDDED_LIBRARY*/
|
||||
if (!(flags & QUERY_REAP_FLAG))
|
||||
{
|
||||
cn->pending= TRUE;
|
||||
|
@ -6811,7 +6963,7 @@ void run_query_normal(struct st_connection *cn, struct st_command *command,
|
|||
When on first result set, call mysql_read_query_result to retrieve
|
||||
answer to the query sent earlier
|
||||
*/
|
||||
if ((counter==0) && mysql_read_query_result(mysql))
|
||||
if ((counter==0) && do_read_query_result(cn))
|
||||
{
|
||||
handle_error(command, mysql_errno(mysql), mysql_error(mysql),
|
||||
mysql_sqlstate(mysql), ds);
|
||||
|
@ -7363,11 +7515,13 @@ void run_query(struct st_connection *cn, struct st_command *command, int flags)
|
|||
(flags & QUERY_REAP_FLAG));
|
||||
DBUG_ENTER("run_query");
|
||||
|
||||
init_dynamic_string(&ds_warnings, NULL, 0, 256);
|
||||
|
||||
if (cn->pending && (flags & QUERY_SEND_FLAG))
|
||||
die ("Cannot run query on connection between send and reap");
|
||||
|
||||
if (!(flags & QUERY_SEND_FLAG) && !cn->pending)
|
||||
die ("Cannot reap on a connection without pending send");
|
||||
|
||||
init_dynamic_string(&ds_warnings, NULL, 0, 256);
|
||||
/*
|
||||
Evaluate query if this is an eval command
|
||||
*/
|
||||
|
@ -7986,6 +8140,9 @@ int main(int argc, char **argv)
|
|||
ps_protocol_enabled= 1;
|
||||
|
||||
st_connection *con= connections;
|
||||
#ifdef EMBEDDED_LIBRARY
|
||||
init_connection_thd(con);
|
||||
#endif /*EMBEDDED_LIBRARY*/
|
||||
if (!( mysql_init(&con->mysql)))
|
||||
die("Failed in mysql_init()");
|
||||
if (opt_connect_timeout)
|
||||
|
@ -8109,6 +8266,8 @@ int main(int argc, char **argv)
|
|||
case Q_DISABLE_ABORT_ON_ERROR: abort_on_error=0; break;
|
||||
case Q_ENABLE_RESULT_LOG: disable_result_log=0; break;
|
||||
case Q_DISABLE_RESULT_LOG: disable_result_log=1; break;
|
||||
case Q_ENABLE_CONNECT_LOG: disable_connect_log=0; break;
|
||||
case Q_DISABLE_CONNECT_LOG: disable_connect_log=1; break;
|
||||
case Q_ENABLE_WARNINGS: disable_warnings=0; break;
|
||||
case Q_DISABLE_WARNINGS: disable_warnings=1; break;
|
||||
case Q_ENABLE_INFO: disable_info=0; break;
|
||||
|
@ -8405,7 +8564,7 @@ int main(int argc, char **argv)
|
|||
memset(&saved_expected_errors, 0, sizeof(saved_expected_errors));
|
||||
}
|
||||
|
||||
if (command_executed != last_command_executed)
|
||||
if (command_executed != last_command_executed || command->used_replace)
|
||||
{
|
||||
/*
|
||||
As soon as any command has been executed,
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
# Handy macro to parse macro arguments
|
||||
MACRO(CMAKE_PARSE_ARGUMENTS prefix arg_names option_names)
|
||||
MACRO(MYSQL_PARSE_ARGUMENTS prefix arg_names option_names)
|
||||
SET(DEFAULT_ARGS)
|
||||
FOREACH(arg_name ${arg_names})
|
||||
SET(${prefix}_${arg_name})
|
||||
|
|
|
@ -13,13 +13,30 @@
|
|||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_COMPILER_IS_GNUCXX
|
||||
AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
IF(NOT DEFINED BUGGY_GCC_NO_DTRACE_MODULES)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1} --version
|
||||
OUTPUT_VARIABLE out)
|
||||
IF(out MATCHES "3.4.6")
|
||||
# This gcc causes crashes in dlopen() for dtraced shared libs,
|
||||
# while standard shipped with Solaris10 3.4.3 is ok
|
||||
SET(BUGGY_GCC_NO_DTRACE_MODULES 1 CACHE INTERNAL "")
|
||||
ELSE()
|
||||
SET(BUGGY_GCC_NO_DTRACE_MODULES 0 CACHE INTERNAL "")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# Check if OS supports DTrace
|
||||
MACRO(CHECK_DTRACE)
|
||||
FIND_PROGRAM(DTRACE dtrace)
|
||||
MARK_AS_ADVANCED(DTRACE)
|
||||
|
||||
# On FreeBSD, dtrace does not handle userland tracing yet
|
||||
IF(DTRACE AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||
IF(DTRACE AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD"
|
||||
AND NOT BUGGY_GCC_NO_DTRACE_MODULES)
|
||||
SET(ENABLE_DTRACE ON CACHE BOOL "Enable dtrace")
|
||||
ENDIF()
|
||||
SET(HAVE_DTRACE ${ENABLE_DTRACE})
|
||||
|
@ -72,22 +89,6 @@ IF(ENABLE_DTRACE)
|
|||
)
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_COMPILER_IS_GNUCXX
|
||||
AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
IF(NOT DEFINED BUGGY_GCC_NO_DTRACE_MODULES)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1} --version
|
||||
OUTPUT_VARIABLE out)
|
||||
IF(out MATCHES "3.4.6")
|
||||
# This gcc causes crashes in dlopen() for dtraced shared libs,
|
||||
# while standard shipped with Solaris10 3.4.3 is ok
|
||||
SET(BUGGY_GCC_NO_DTRACE_MODULES 1 CACHE INTERNAL "")
|
||||
ELSE()
|
||||
SET(BUGGY_GCC_NO_DTRACE_MODULES 0 CACHE INTERNAL "")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
FUNCTION(DTRACE_INSTRUMENT target)
|
||||
IF(BUGGY_GCC_NO_DTRACE_MODULES)
|
||||
GET_TARGET_PROPERTY(target_type ${target} TYPE)
|
||||
|
|
|
@ -83,7 +83,7 @@ FUNCTION(INSTALL_MANPAGE file)
|
|||
ENDFUNCTION()
|
||||
|
||||
FUNCTION(INSTALL_SCRIPT)
|
||||
CMAKE_PARSE_ARGUMENTS(ARG
|
||||
MYSQL_PARSE_ARGUMENTS(ARG
|
||||
"DESTINATION;COMPONENT"
|
||||
""
|
||||
${ARGN}
|
||||
|
@ -205,7 +205,7 @@ ENDMACRO()
|
|||
#
|
||||
|
||||
FUNCTION(MYSQL_INSTALL_TARGETS)
|
||||
CMAKE_PARSE_ARGUMENTS(ARG
|
||||
MYSQL_PARSE_ARGUMENTS(ARG
|
||||
"DESTINATION;COMPONENT"
|
||||
""
|
||||
${ARGN}
|
||||
|
@ -249,7 +249,7 @@ SET(DEBUGBUILDDIR "${BINARY_PARENTDIR}/debug" CACHE INTERNAL "Directory of debug
|
|||
|
||||
|
||||
FUNCTION(INSTALL_DEBUG_TARGET target)
|
||||
CMAKE_PARSE_ARGUMENTS(ARG
|
||||
MYSQL_PARSE_ARGUMENTS(ARG
|
||||
"DESTINATION;RENAME;PDB_DESTINATION;COMPONENT"
|
||||
""
|
||||
${ARGN}
|
||||
|
|
|
@ -213,7 +213,7 @@ ENDMACRO()
|
|||
# [OUTPUT_NAME output_name]
|
||||
#)
|
||||
MACRO(MERGE_LIBRARIES)
|
||||
CMAKE_PARSE_ARGUMENTS(ARG
|
||||
MYSQL_PARSE_ARGUMENTS(ARG
|
||||
"EXPORTS;OUTPUT_NAME;COMPONENT"
|
||||
"STATIC;SHARED;MODULE;NOINSTALL"
|
||||
${ARGN}
|
||||
|
|
|
@ -28,7 +28,7 @@ INCLUDE(cmake_parse_arguments)
|
|||
|
||||
FUNCTION (MYSQL_ADD_EXECUTABLE)
|
||||
# Pass-through arguments for ADD_EXECUTABLE
|
||||
CMAKE_PARSE_ARGUMENTS(ARG
|
||||
MYSQL_PARSE_ARGUMENTS(ARG
|
||||
"WIN32;MACOSX_BUNDLE;EXCLUDE_FROM_ALL;DESTINATION;COMPONENT"
|
||||
""
|
||||
${ARGN}
|
||||
|
|
|
@ -28,7 +28,7 @@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake)
|
|||
# [DEPENDENCIES target1...targetN]
|
||||
|
||||
MACRO(MYSQL_ADD_PLUGIN)
|
||||
CMAKE_PARSE_ARGUMENTS(ARG
|
||||
MYSQL_PARSE_ARGUMENTS(ARG
|
||||
"LINK_LIBRARIES;DEPENDENCIES;MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME"
|
||||
"STORAGE_ENGINE;STATIC_ONLY;MODULE_ONLY;MANDATORY;DEFAULT;DISABLED;RECOMPILE_FOR_EMBEDDED"
|
||||
${ARGN}
|
||||
|
|
|
@ -220,7 +220,6 @@
|
|||
#cmakedefine HAVE_PTHREAD_KEY_DELETE 1
|
||||
#cmakedefine HAVE_PTHREAD_KILL 1
|
||||
#cmakedefine HAVE_PTHREAD_RWLOCK_RDLOCK 1
|
||||
#cmakedefine HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP 1
|
||||
#cmakedefine HAVE_PTHREAD_SETPRIO_NP 1
|
||||
#cmakedefine HAVE_PTHREAD_SETSCHEDPARAM 1
|
||||
#cmakedefine HAVE_PTHREAD_SIGMASK 1
|
||||
|
|
|
@ -16,7 +16,7 @@ AC_DEFUN([MY_MAINTAINER_MODE], [
|
|||
AC_DEFUN([MY_MAINTAINER_MODE_WARNINGS], [
|
||||
# Setup GCC warning options.
|
||||
AS_IF([test "$GCC" = "yes"], [
|
||||
C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Werror"
|
||||
C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror"
|
||||
CXX_WARNINGS="${C_WARNINGS} -Wno-unused-parameter"
|
||||
])
|
||||
|
||||
|
|
|
@ -346,7 +346,6 @@ CHECK_FUNCTION_EXISTS (pthread_condattr_setclock HAVE_PTHREAD_CONDATTR_SETCLOCK)
|
|||
CHECK_FUNCTION_EXISTS (pthread_init HAVE_PTHREAD_INIT)
|
||||
CHECK_FUNCTION_EXISTS (pthread_key_delete HAVE_PTHREAD_KEY_DELETE)
|
||||
CHECK_FUNCTION_EXISTS (pthread_rwlock_rdlock HAVE_PTHREAD_RWLOCK_RDLOCK)
|
||||
CHECK_FUNCTION_EXISTS (pthread_rwlockattr_setkind_np HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP)
|
||||
CHECK_FUNCTION_EXISTS (pthread_sigmask HAVE_PTHREAD_SIGMASK)
|
||||
CHECK_FUNCTION_EXISTS (pthread_threadmask HAVE_PTHREAD_THREADMASK)
|
||||
CHECK_FUNCTION_EXISTS (pthread_yield_np HAVE_PTHREAD_YIELD_NP)
|
||||
|
|
45
configure.in
45
configure.in
|
@ -1069,46 +1069,6 @@ struct request_info *req;
|
|||
])
|
||||
AC_SUBST(WRAPLIBS)
|
||||
|
||||
if test "$TARGET_LINUX" = "true"; then
|
||||
AC_ARG_WITH(pstack,
|
||||
[ --with-pstack Use the pstack backtrace library],
|
||||
[ USE_PSTACK=$withval ],
|
||||
[ USE_PSTACK=no ])
|
||||
pstack_libs=
|
||||
pstack_dir=
|
||||
if test "$USE_PSTACK" = yes -a "$TARGET_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386"
|
||||
then
|
||||
have_libiberty= have_libbfd=
|
||||
my_save_LIBS="$LIBS"
|
||||
dnl I have no idea if this is a good test - can not find docs for libiberty
|
||||
AC_CHECK_LIB([iberty], [fdmatch],
|
||||
[have_libiberty=yes
|
||||
AC_CHECK_LIB([bfd], [bfd_openr], [have_libbfd=yes], , [-liberty])])
|
||||
LIBS="$my_save_LIBS"
|
||||
|
||||
if test x"$have_libiberty" = xyes -a x"$have_libbfd" = xyes
|
||||
then
|
||||
pstack_dir="pstack"
|
||||
pstack_libs="../pstack/libpstack.a -lbfd -liberty"
|
||||
# We must link staticly when using pstack
|
||||
with_mysqld_ldflags="-all-static"
|
||||
AC_SUBST([pstack_dir])
|
||||
AC_SUBST([pstack_libs])
|
||||
AC_DEFINE([USE_PSTACK], [1], [the pstack backtrace library])
|
||||
dnl This check isn't needed, but might be nice to give some feedback....
|
||||
dnl AC_CHECK_HEADER(libiberty.h,
|
||||
dnl have_libiberty_h=yes,
|
||||
dnl have_libiberty_h=no)
|
||||
else
|
||||
USE_PSTACK="no"
|
||||
fi
|
||||
else
|
||||
USE_PSTACK="no"
|
||||
fi
|
||||
fi
|
||||
AC_MSG_CHECKING([if we should use pstack])
|
||||
AC_MSG_RESULT([$USE_PSTACK])
|
||||
|
||||
# Check for gtty if termio.h doesn't exists
|
||||
if test "$ac_cv_header_termio_h" = "no" -a "$ac_cv_header_termios_h" = "no"
|
||||
then
|
||||
|
@ -2168,7 +2128,7 @@ AC_CHECK_FUNCS(alarm bfill bmove bsearch bzero \
|
|||
mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 getpagesize \
|
||||
pthread_attr_getstacksize pthread_attr_setstacksize pthread_condattr_create \
|
||||
pthread_getsequence_np pthread_key_delete pthread_rwlock_rdlock \
|
||||
pthread_rwlockattr_setkind_np pthread_sigmask \
|
||||
pthread_sigmask \
|
||||
readlink realpath rename rint rwlock_init setupterm \
|
||||
shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \
|
||||
sighold sigset sigthreadmask port_create sleep thr_yield \
|
||||
|
@ -3003,9 +2963,6 @@ AC_SUBST([RDTSC_SPARC_ASSEMBLY])
|
|||
# Output results
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
if test -d "$srcdir/pstack" ; then
|
||||
AC_CONFIG_FILES(pstack/Makefile pstack/aout/Makefile)
|
||||
fi
|
||||
if test -d "$srcdir/cmd-line-utils/readline" ; then
|
||||
AC_CONFIG_FILES(cmd-line-utils/readline/Makefile)
|
||||
fi
|
||||
|
|
21
dbug/dbug.c
21
dbug/dbug.c
|
@ -496,6 +496,7 @@ int DbugParse(CODE_STATE *cs, const char *control)
|
|||
rel= control[0] == '+' || control[0] == '-';
|
||||
if ((!rel || (!stack->out_file && !stack->next)))
|
||||
{
|
||||
/* Free memory associated with the state before resetting its members */
|
||||
FreeState(cs, stack, 0);
|
||||
stack->flags= 0;
|
||||
stack->delay= 0;
|
||||
|
@ -515,11 +516,16 @@ int DbugParse(CODE_STATE *cs, const char *control)
|
|||
stack->maxdepth= stack->next->maxdepth;
|
||||
stack->sub_level= stack->next->sub_level;
|
||||
strcpy(stack->name, stack->next->name);
|
||||
stack->out_file= stack->next->out_file;
|
||||
stack->prof_file= stack->next->prof_file;
|
||||
if (stack->next == &init_settings)
|
||||
{
|
||||
/* never share with the global parent - it can change under your feet */
|
||||
/*
|
||||
Never share with the global parent - it can change under your feet.
|
||||
|
||||
Reset out_file to stderr to prevent sharing of trace files between
|
||||
global and session settings.
|
||||
*/
|
||||
stack->out_file= stderr;
|
||||
stack->functions= ListCopy(init_settings.functions);
|
||||
stack->p_functions= ListCopy(init_settings.p_functions);
|
||||
stack->keywords= ListCopy(init_settings.keywords);
|
||||
|
@ -527,6 +533,7 @@ int DbugParse(CODE_STATE *cs, const char *control)
|
|||
}
|
||||
else
|
||||
{
|
||||
stack->out_file= stack->next->out_file;
|
||||
stack->functions= stack->next->functions;
|
||||
stack->p_functions= stack->next->p_functions;
|
||||
stack->keywords= stack->next->keywords;
|
||||
|
@ -1335,15 +1342,11 @@ void _db_doprnt_(const char *format,...)
|
|||
* This function is intended as a
|
||||
* vfprintf clone with consistent, platform independent output for
|
||||
* problematic formats like %p, %zd and %lld.
|
||||
* However: full functionality for my_vsnprintf has not been backported yet,
|
||||
* so code using "%g" or "%f" will have undefined behaviour.
|
||||
*/
|
||||
static void DbugVfprintf(FILE *stream, const char* format, va_list args)
|
||||
{
|
||||
char cvtbuf[1024];
|
||||
size_t len;
|
||||
/* Do not use my_vsnprintf, it does not support "%g". */
|
||||
len = vsnprintf(cvtbuf, sizeof(cvtbuf), format, args);
|
||||
(void) my_vsnprintf(cvtbuf, sizeof(cvtbuf), format, args);
|
||||
(void) fprintf(stream, "%s\n", cvtbuf);
|
||||
}
|
||||
|
||||
|
@ -1606,7 +1609,7 @@ static void PushState(CODE_STATE *cs)
|
|||
struct settings *new_malloc;
|
||||
|
||||
new_malloc= (struct settings *) DbugMalloc(sizeof(struct settings));
|
||||
bzero(new_malloc, sizeof(*new_malloc));
|
||||
bzero(new_malloc, sizeof(struct settings));
|
||||
new_malloc->next= cs->stack;
|
||||
cs->stack= new_malloc;
|
||||
}
|
||||
|
@ -2086,7 +2089,7 @@ static FILE *OpenProfile(CODE_STATE *cs, const char *name)
|
|||
|
||||
static void DBUGCloseFile(CODE_STATE *cs, FILE *fp)
|
||||
{
|
||||
if (fp && fp != stderr && fp != stdout && fclose(fp) == EOF)
|
||||
if (fp != NULL && fp != stderr && fp != stdout && fclose(fp) == EOF)
|
||||
{
|
||||
pthread_mutex_lock(&THR_LOCK_dbug);
|
||||
(void) fprintf(cs->stack->out_file, ERR_CLOSE, cs->process);
|
||||
|
|
|
@ -1484,7 +1484,6 @@ static inline double rint(double x)
|
|||
/* Things we don't need in the embedded version of MySQL */
|
||||
/* TODO HF add #undef HAVE_VIO if we don't want client in embedded library */
|
||||
|
||||
#undef HAVE_PSTACK /* No stacktrace */
|
||||
#undef HAVE_OPENSSL
|
||||
#undef HAVE_SMEM /* No shared memory */
|
||||
#undef HAVE_NDBCLUSTER_DB /* No NDB cluster */
|
||||
|
|
|
@ -48,19 +48,30 @@ typedef struct st_pthread_link {
|
|||
struct st_pthread_link *next;
|
||||
} pthread_link;
|
||||
|
||||
typedef struct {
|
||||
uint32 waiting;
|
||||
CRITICAL_SECTION lock_waiting;
|
||||
|
||||
enum {
|
||||
SIGNAL= 0,
|
||||
BROADCAST= 1,
|
||||
MAX_EVENTS= 2
|
||||
} EVENTS;
|
||||
|
||||
HANDLE events[MAX_EVENTS];
|
||||
HANDLE broadcast_block_event;
|
||||
/**
|
||||
Implementation of Windows condition variables.
|
||||
We use native conditions on Vista and later, and fallback to own
|
||||
implementation on earlier OS version.
|
||||
*/
|
||||
typedef union
|
||||
{
|
||||
/* Native condition (used on Vista and later) */
|
||||
CONDITION_VARIABLE native_cond;
|
||||
|
||||
/* Own implementation (used on XP) */
|
||||
struct
|
||||
{
|
||||
uint32 waiting;
|
||||
CRITICAL_SECTION lock_waiting;
|
||||
enum
|
||||
{
|
||||
SIGNAL= 0,
|
||||
BROADCAST= 1,
|
||||
MAX_EVENTS= 2
|
||||
} EVENTS;
|
||||
HANDLE events[MAX_EVENTS];
|
||||
HANDLE broadcast_block_event;
|
||||
};
|
||||
} pthread_cond_t;
|
||||
|
||||
|
||||
|
@ -594,7 +605,7 @@ int my_pthread_fastmutex_lock(my_pthread_fastmutex_t *mp);
|
|||
/* Use our own version of read/write locks */
|
||||
#define NEED_MY_RW_LOCK 1
|
||||
#define rw_lock_t my_rw_lock_t
|
||||
#define my_rwlock_init(A,B) my_rw_init((A), 0)
|
||||
#define my_rwlock_init(A,B) my_rw_init((A))
|
||||
#define rw_rdlock(A) my_rw_rdlock((A))
|
||||
#define rw_wrlock(A) my_rw_wrlock((A))
|
||||
#define rw_tryrdlock(A) my_rw_tryrdlock((A))
|
||||
|
@ -606,49 +617,123 @@ int my_pthread_fastmutex_lock(my_pthread_fastmutex_t *mp);
|
|||
#endif /* USE_MUTEX_INSTEAD_OF_RW_LOCKS */
|
||||
|
||||
|
||||
/*
|
||||
Portable read-write locks which prefer readers.
|
||||
/**
|
||||
Portable implementation of special type of read-write locks.
|
||||
|
||||
Required by some algorithms in order to provide correctness.
|
||||
These locks have two properties which are unusual for rwlocks:
|
||||
1) They "prefer readers" in the sense that they do not allow
|
||||
situations in which rwlock is rd-locked and there is a
|
||||
pending rd-lock which is blocked (e.g. due to pending
|
||||
request for wr-lock).
|
||||
This is a stronger guarantee than one which is provided for
|
||||
PTHREAD_RWLOCK_PREFER_READER_NP rwlocks in Linux.
|
||||
MDL subsystem deadlock detector relies on this property for
|
||||
its correctness.
|
||||
2) They are optimized for uncontended wr-lock/unlock case.
|
||||
This is scenario in which they are most oftenly used
|
||||
within MDL subsystem. Optimizing for it gives significant
|
||||
performance improvements in some of tests involving many
|
||||
connections.
|
||||
|
||||
Another important requirement imposed on this type of rwlock
|
||||
by the MDL subsystem is that it should be OK to destroy rwlock
|
||||
object which is in unlocked state even though some threads might
|
||||
have not yet fully left unlock operation for it (of course there
|
||||
is an external guarantee that no thread will try to lock rwlock
|
||||
which is destroyed).
|
||||
Putting it another way the unlock operation should not access
|
||||
rwlock data after changing its state to unlocked.
|
||||
|
||||
TODO/FIXME: We should consider alleviating this requirement as
|
||||
it blocks us from doing certain performance optimizations.
|
||||
*/
|
||||
|
||||
#if defined(HAVE_PTHREAD_RWLOCK_RDLOCK) && defined(HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP)
|
||||
/*
|
||||
On systems which have a way to specify that readers should
|
||||
be preferred through attribute mechanism (e.g. Linux) we use
|
||||
system implementation of read/write locks.
|
||||
*/
|
||||
#define rw_pr_lock_t pthread_rwlock_t
|
||||
typedef struct st_rw_pr_lock_t {
|
||||
/**
|
||||
Lock which protects the structure.
|
||||
Also held for the duration of wr-lock.
|
||||
*/
|
||||
pthread_mutex_t lock;
|
||||
/**
|
||||
Condition variable which is used to wake-up
|
||||
writers waiting for readers to go away.
|
||||
*/
|
||||
pthread_cond_t no_active_readers;
|
||||
/** Number of active readers. */
|
||||
uint active_readers;
|
||||
/** Number of writers waiting for readers to go away. */
|
||||
uint writers_waiting_readers;
|
||||
/** Indicates whether there is an active writer. */
|
||||
my_bool active_writer;
|
||||
#ifdef SAFE_MUTEX
|
||||
/** Thread holding wr-lock (for debug purposes only). */
|
||||
pthread_t writer_thread;
|
||||
#endif
|
||||
} rw_pr_lock_t;
|
||||
|
||||
extern int rw_pr_init(rw_pr_lock_t *);
|
||||
#define rw_pr_rdlock(A) pthread_rwlock_rdlock(A)
|
||||
#define rw_pr_wrlock(A) pthread_rwlock_wrlock(A)
|
||||
#define rw_pr_tryrdlock(A) pthread_rwlock_tryrdlock(A)
|
||||
#define rw_pr_trywrlock(A) pthread_rwlock_trywrlock(A)
|
||||
#define rw_pr_unlock(A) pthread_rwlock_unlock(A)
|
||||
#define rw_pr_destroy(A) pthread_rwlock_destroy(A)
|
||||
extern int rw_pr_rdlock(rw_pr_lock_t *);
|
||||
extern int rw_pr_wrlock(rw_pr_lock_t *);
|
||||
extern int rw_pr_unlock(rw_pr_lock_t *);
|
||||
extern int rw_pr_destroy(rw_pr_lock_t *);
|
||||
#ifdef SAFE_MUTEX
|
||||
#define rw_pr_lock_assert_write_owner(A) \
|
||||
DBUG_ASSERT((A)->active_writer && pthread_equal(pthread_self(), \
|
||||
(A)->writer_thread))
|
||||
#define rw_pr_lock_assert_not_write_owner(A) \
|
||||
DBUG_ASSERT(! (A)->active_writer || ! pthread_equal(pthread_self(), \
|
||||
(A)->writer_thread))
|
||||
#else
|
||||
#define rw_pr_lock_assert_write_owner(A)
|
||||
#define rw_pr_lock_assert_not_write_owner(A)
|
||||
#else
|
||||
/* Otherwise we have to use our own implementation of read/write locks. */
|
||||
#define NEED_MY_RW_LOCK 1
|
||||
struct st_my_rw_lock_t;
|
||||
#define rw_pr_lock_t my_rw_lock_t
|
||||
extern int rw_pr_init(struct st_my_rw_lock_t *);
|
||||
#define rw_pr_rdlock(A) my_rw_rdlock((A))
|
||||
#define rw_pr_wrlock(A) my_rw_wrlock((A))
|
||||
#define rw_pr_tryrdlock(A) my_rw_tryrdlock((A))
|
||||
#define rw_pr_trywrlock(A) my_rw_trywrlock((A))
|
||||
#define rw_pr_unlock(A) my_rw_unlock((A))
|
||||
#define rw_pr_destroy(A) my_rw_destroy((A))
|
||||
#define rw_pr_lock_assert_write_owner(A) my_rw_lock_assert_write_owner((A))
|
||||
#define rw_pr_lock_assert_not_write_owner(A) my_rw_lock_assert_not_write_owner((A))
|
||||
#endif /* defined(HAVE_PTHREAD_RWLOCK_RDLOCK) && defined(HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP) */
|
||||
#endif /* SAFE_MUTEX */
|
||||
|
||||
|
||||
#ifdef NEED_MY_RW_LOCK
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
/**
|
||||
Implementation of Windows rwlock.
|
||||
|
||||
We use native (slim) rwlocks on Win7 and later, and fallback to portable
|
||||
implementation on earlier Windows.
|
||||
|
||||
slim rwlock are also available on Vista/WS2008, but we do not use it
|
||||
("trylock" APIs are missing on Vista)
|
||||
*/
|
||||
typedef union
|
||||
{
|
||||
/* Native rwlock (is_srwlock == TRUE) */
|
||||
struct
|
||||
{
|
||||
SRWLOCK srwlock; /* native reader writer lock */
|
||||
BOOL have_exclusive_srwlock; /* used for unlock */
|
||||
};
|
||||
|
||||
/*
|
||||
Portable implementation (is_srwlock == FALSE)
|
||||
Fields are identical with Unix my_rw_lock_t fields.
|
||||
*/
|
||||
struct
|
||||
{
|
||||
pthread_mutex_t lock; /* lock for structure */
|
||||
pthread_cond_t readers; /* waiting readers */
|
||||
pthread_cond_t writers; /* waiting writers */
|
||||
int state; /* -1:writer,0:free,>0:readers */
|
||||
int waiters; /* number of waiting writers */
|
||||
#ifdef SAFE_MUTEX
|
||||
pthread_t write_thread;
|
||||
#endif
|
||||
};
|
||||
} my_rw_lock_t;
|
||||
|
||||
|
||||
#else /* _WIN32 */
|
||||
|
||||
/*
|
||||
On systems which don't support native read/write locks, or don't support
|
||||
read/write locks which prefer readers we have to use own implementation.
|
||||
On systems which don't support native read/write locks we have
|
||||
to use own implementation.
|
||||
*/
|
||||
typedef struct st_my_rw_lock_t {
|
||||
pthread_mutex_t lock; /* lock for structure */
|
||||
|
@ -656,13 +741,14 @@ typedef struct st_my_rw_lock_t {
|
|||
pthread_cond_t writers; /* waiting writers */
|
||||
int state; /* -1:writer,0:free,>0:readers */
|
||||
int waiters; /* number of waiting writers */
|
||||
my_bool prefer_readers;
|
||||
#ifdef SAFE_MUTEX
|
||||
pthread_t write_thread;
|
||||
#endif
|
||||
} my_rw_lock_t;
|
||||
|
||||
extern int my_rw_init(my_rw_lock_t *, my_bool *);
|
||||
#endif /*! _WIN32 */
|
||||
|
||||
extern int my_rw_init(my_rw_lock_t *);
|
||||
extern int my_rw_destroy(my_rw_lock_t *);
|
||||
extern int my_rw_rdlock(my_rw_lock_t *);
|
||||
extern int my_rw_wrlock(my_rw_lock_t *);
|
||||
|
|
|
@ -214,7 +214,8 @@ struct st_mysql_options {
|
|||
|
||||
enum mysql_status
|
||||
{
|
||||
MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,MYSQL_STATUS_USE_RESULT
|
||||
MYSQL_STATUS_READY, MYSQL_STATUS_GET_RESULT, MYSQL_STATUS_USE_RESULT,
|
||||
MYSQL_STATUS_STATEMENT_GET_RESULT
|
||||
};
|
||||
|
||||
enum mysql_protocol_type
|
||||
|
|
|
@ -298,7 +298,8 @@ struct st_mysql_options {
|
|||
};
|
||||
enum mysql_status
|
||||
{
|
||||
MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,MYSQL_STATUS_USE_RESULT
|
||||
MYSQL_STATUS_READY, MYSQL_STATUS_GET_RESULT, MYSQL_STATUS_USE_RESULT,
|
||||
MYSQL_STATUS_STATEMENT_GET_RESULT
|
||||
};
|
||||
enum mysql_protocol_type
|
||||
{
|
||||
|
|
|
@ -141,9 +141,7 @@ typedef struct st_mysql_rwlock mysql_rwlock_t;
|
|||
@c mysql_prlock_t is a drop-in replacement for @c rw_pr_lock_t.
|
||||
@sa mysql_prlock_init
|
||||
@sa mysql_prlock_rdlock
|
||||
@sa mysql_prlock_tryrdlock
|
||||
@sa mysql_prlock_wrlock
|
||||
@sa mysql_prlock_trywrlock
|
||||
@sa mysql_prlock_unlock
|
||||
@sa mysql_prlock_destroy
|
||||
*/
|
||||
|
@ -420,20 +418,6 @@ typedef struct st_mysql_cond mysql_cond_t;
|
|||
inline_mysql_rwlock_tryrdlock(RW)
|
||||
#endif
|
||||
|
||||
/**
|
||||
@def mysql_prlock_tryrdlock(RW)
|
||||
Instrumented rw_pr_tryrdlock.
|
||||
@c mysql_prlock_tryrdlock is a drop-in replacement
|
||||
for @c rw_pr_tryrdlock.
|
||||
*/
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
#define mysql_prlock_tryrdlock(RW) \
|
||||
inline_mysql_prlock_tryrdlock(RW, __FILE__, __LINE__)
|
||||
#else
|
||||
#define mysql_prlock_tryrdlock(RW) \
|
||||
inline_mysql_prlock_tryrdlock(RW)
|
||||
#endif
|
||||
|
||||
/**
|
||||
@def mysql_rwlock_trywrlock(RW)
|
||||
Instrumented rwlock_trywrlock.
|
||||
|
@ -448,20 +432,6 @@ typedef struct st_mysql_cond mysql_cond_t;
|
|||
inline_mysql_rwlock_trywrlock(RW)
|
||||
#endif
|
||||
|
||||
/**
|
||||
@def mysql_prlock_trywrlock(RW)
|
||||
Instrumented rw_pr_trywrlock.
|
||||
@c mysql_prlock_trywrlock is a drop-in replacement
|
||||
for @c rw_pr_trywrlock.
|
||||
*/
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
#define mysql_prlock_trywrlock(RW) \
|
||||
inline_mysql_prlock_trywrlock(RW, __FILE__, __LINE__)
|
||||
#else
|
||||
#define mysql_prlock_trywrlock(RW) \
|
||||
inline_mysql_prlock_trywrlock(RW)
|
||||
#endif
|
||||
|
||||
/**
|
||||
@def mysql_rwlock_unlock(RW)
|
||||
Instrumented rwlock_unlock.
|
||||
|
@ -905,35 +875,6 @@ static inline int inline_mysql_rwlock_tryrdlock(
|
|||
return result;
|
||||
}
|
||||
|
||||
#ifndef DISABLE_MYSQL_PRLOCK_H
|
||||
static inline int inline_mysql_prlock_tryrdlock(
|
||||
mysql_prlock_t *that
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
, const char *src_file, uint src_line
|
||||
#endif
|
||||
)
|
||||
{
|
||||
int result;
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
struct PSI_rwlock_locker *locker= NULL;
|
||||
PSI_rwlock_locker_state state;
|
||||
if (likely(PSI_server && that->m_psi))
|
||||
{
|
||||
locker= PSI_server->get_thread_rwlock_locker(&state, that->m_psi,
|
||||
PSI_RWLOCK_TRYREADLOCK);
|
||||
if (likely(locker != NULL))
|
||||
PSI_server->start_rwlock_rdwait(locker, src_file, src_line);
|
||||
}
|
||||
#endif
|
||||
result= rw_pr_tryrdlock(&that->m_prlock);
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
if (likely(locker != NULL))
|
||||
PSI_server->end_rwlock_rdwait(locker, result);
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline int inline_mysql_rwlock_trywrlock(
|
||||
mysql_rwlock_t *that
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
|
@ -961,35 +902,6 @@ static inline int inline_mysql_rwlock_trywrlock(
|
|||
return result;
|
||||
}
|
||||
|
||||
#ifndef DISABLE_MYSQL_PRLOCK_H
|
||||
static inline int inline_mysql_prlock_trywrlock(
|
||||
mysql_prlock_t *that
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
, const char *src_file, uint src_line
|
||||
#endif
|
||||
)
|
||||
{
|
||||
int result;
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
struct PSI_rwlock_locker *locker= NULL;
|
||||
PSI_rwlock_locker_state state;
|
||||
if (likely(PSI_server && that->m_psi))
|
||||
{
|
||||
locker= PSI_server->get_thread_rwlock_locker(&state, that->m_psi,
|
||||
PSI_RWLOCK_TRYWRITELOCK);
|
||||
if (likely(locker != NULL))
|
||||
PSI_server->start_rwlock_wrwait(locker, src_file, src_line);
|
||||
}
|
||||
#endif
|
||||
result= rw_pr_trywrlock(&that->m_prlock);
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
if (likely(locker != NULL))
|
||||
PSI_server->end_rwlock_wrwait(locker, result);
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline int inline_mysql_rwlock_unlock(
|
||||
mysql_rwlock_t *that)
|
||||
{
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<length modifier> can be 'l', 'll', or 'z'.
|
||||
|
||||
Supported formats are 's' (null pointer is accepted, printed as
|
||||
"(null)"), 'b' (extension, see below), 'c', 'd', 'u', 'x', 'o',
|
||||
"(null)"), 'b' (extension, see below), 'c', 'd', 'i', 'u', 'x', 'o',
|
||||
'X', 'p' (works as 0x%x).
|
||||
|
||||
Standard syntax for positional arguments $n is supported.
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
/* Things we don't need in the embedded version of MySQL */
|
||||
/* TODO HF add #undef HAVE_VIO if we don't want client in embedded library */
|
||||
|
||||
#undef HAVE_PSTACK /* No stacktrace */
|
||||
#undef HAVE_DLOPEN /* No udf functions */
|
||||
#undef HAVE_SMEM /* No shared memory */
|
||||
#undef HAVE_NDBCLUSTER_DB /* No NDB cluster */
|
||||
|
|
|
@ -2057,6 +2057,8 @@ static my_bool execute(MYSQL_STMT *stmt, char *packet, ulong length)
|
|||
set_stmt_errmsg(stmt, net);
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
else if (mysql->status == MYSQL_STATUS_GET_RESULT)
|
||||
stmt->mysql->status= MYSQL_STATUS_STATEMENT_GET_RESULT;
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
|
@ -2195,7 +2197,7 @@ static int stmt_read_row_unbuffered(MYSQL_STMT *stmt, unsigned char **row)
|
|||
set_stmt_error(stmt, CR_SERVER_LOST, unknown_sqlstate, NULL);
|
||||
return 1;
|
||||
}
|
||||
if (mysql->status != MYSQL_STATUS_GET_RESULT)
|
||||
if (mysql->status != MYSQL_STATUS_STATEMENT_GET_RESULT)
|
||||
{
|
||||
set_stmt_error(stmt, stmt->unbuffered_fetch_cancelled ?
|
||||
CR_FETCH_CANCELED : CR_COMMANDS_OUT_OF_SYNC,
|
||||
|
@ -4387,7 +4389,7 @@ int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt)
|
|||
DBUG_RETURN(1);
|
||||
}
|
||||
}
|
||||
else if (mysql->status != MYSQL_STATUS_GET_RESULT)
|
||||
else if (mysql->status != MYSQL_STATUS_STATEMENT_GET_RESULT)
|
||||
{
|
||||
set_stmt_error(stmt, CR_COMMANDS_OUT_OF_SYNC, unknown_sqlstate, NULL);
|
||||
DBUG_RETURN(1);
|
||||
|
@ -4811,6 +4813,9 @@ int STDCALL mysql_stmt_next_result(MYSQL_STMT *stmt)
|
|||
DBUG_RETURN(rc);
|
||||
}
|
||||
|
||||
if (mysql->status == MYSQL_STATUS_GET_RESULT)
|
||||
mysql->status= MYSQL_STATUS_STATEMENT_GET_RESULT;
|
||||
|
||||
stmt->state= MYSQL_STMT_EXECUTE_DONE;
|
||||
stmt->bind_result_done= FALSE;
|
||||
|
||||
|
|
|
@ -1,21 +1,17 @@
|
|||
# Copyright (C) 2001-2006 MySQL AB
|
||||
# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; version 2
|
||||
# of the License.
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA
|
||||
#
|
||||
# This file is public domain and comes with NO WARRANTY of any kind
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
MYSQLDATAdir = $(localstatedir)
|
||||
MYSQLSHAREdir = $(pkgdatadir)
|
||||
|
|
|
@ -479,6 +479,10 @@ int init_embedded_server(int argc, char **argv, char **groups)
|
|||
char *fake_argv[] = { (char *)"", 0 };
|
||||
const char *fake_groups[] = { "server", "embedded", 0 };
|
||||
my_bool acl_error;
|
||||
|
||||
if (my_thread_init())
|
||||
return 1;
|
||||
|
||||
if (argc)
|
||||
{
|
||||
argcp= &argc;
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
IF(INSTALL_MYSQLTESTDIR)
|
||||
INSTALL(
|
||||
DIRECTORY .
|
||||
DESTINATION ${INSTALL_MYSQLTESTDIR}
|
||||
|
@ -28,6 +29,7 @@ INSTALL(
|
|||
PATTERN "*.am" EXCLUDE
|
||||
PATTERN "*.in" EXCLUDE
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
|
||||
|
||||
|
@ -48,9 +50,11 @@ IF(UNIX)
|
|||
./mysql-test-run.pl mysql-test-run
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mtr
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run
|
||||
DESTINATION ${INSTALL_MYSQLTESTDIR})
|
||||
IF(INSTALL_MYSQLTESTDIR)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mtr
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run
|
||||
DESTINATION ${INSTALL_MYSQLTESTDIR})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
|
|
|
@ -24,8 +24,6 @@ main.sp @solaris # Bug#47791 2010-01-20 alik Several tes
|
|||
main.type_float @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server
|
||||
main.wait_timeout @solaris # Bug#51244 2010-04-26 alik wait_timeout fails on OpenSolaris
|
||||
|
||||
parts.partition_alter4_innodb # Bug#45299 2010-06-28 alik Test "partition_alter4_innodb" is taking too long, timeout
|
||||
|
||||
rpl.rpl_heartbeat_basic # BUG#54820 2010-06-26 alik rpl.rpl_heartbeat_basic fails sporadically again
|
||||
rpl.rpl_heartbeat_2slaves # BUG#43828 2009-10-22 luis fails sporadically
|
||||
rpl.rpl_innodb_bug28430* # Bug#46029
|
||||
|
@ -92,5 +90,6 @@ parts.partition_mgm_lc1_ndb # joro : NDB tests marked as experiment
|
|||
parts.partition_mgm_lc2_ndb # joro : NDB tests marked as experimental as agreed with bochklin
|
||||
parts.partition_syntax_ndb # joro : NDB tests marked as experimental as agreed with bochklin
|
||||
parts.partition_value_ndb # joro : NDB tests marked as experimental as agreed with bochklin
|
||||
main.mysqlhotcopy_myisam # horst: due to bug#54129
|
||||
main.mysqlhotcopy_archive # horst: due to bug#54129
|
||||
main.gis-rtree # svoj: due to BUG#38965
|
||||
main.type_float # svoj: due to BUG#38965
|
||||
main.type_newdecimal # svoj: due to BUG#38965
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
perl mysql-test-run.pl --timer --force --comment=1st --experimental=collections/default.experimental 1st
|
||||
perl mysql-test-run.pl --timer --force --comment=1st --experimental=collections/default.experimental 1st
|
||||
perl mysql-test-run.pl --timer --force --comment=big-tests --experimental=collections/default.experimental --vardir=var-big-tests --big-test --testcase-timeout=60 --suite-timeout=600 parts.part_supported_sql_func_innodb parts.partition_alter1_1_2_innodb parts.partition_alter1_1_2_ndb parts.partition_alter1_1_ndb parts.partition_alter1_2_innodb parts.partition_alter1_2_ndb parts.partition_alter2_1_1_innodb parts.partition_alter2_1_2_innodb parts.partition_alter2_2_2_innodb parts.partition_alter4_innodb main.variables-big rpl_ndb.rpl_truncate_7ndb_2
|
||||
|
|
|
@ -52,13 +52,19 @@ inc $count;
|
|||
FLUSH TABLES;
|
||||
source include/show_binlog_events.inc;
|
||||
|
||||
insert delayed into t1 values (null),(null),(null),(null);
|
||||
RESET MASTER;
|
||||
insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
|
||||
inc $count; inc $count; inc $count; inc $count;
|
||||
--source include/wait_until_rows_count.inc
|
||||
|
||||
insert delayed into t1 values (null),(null),(400),(null);
|
||||
insert /*! delayed */ into t1 values (null),(null),(400),(null);
|
||||
inc $count; inc $count; inc $count; inc $count;
|
||||
--source include/wait_until_rows_count.inc
|
||||
|
||||
if (`SELECT @@SESSION.BINLOG_FORMAT = 'STATEMENT'`) {
|
||||
FLUSH TABLES;
|
||||
source include/show_binlog_events.inc;
|
||||
}
|
||||
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
|
|
@ -338,10 +338,21 @@ if (`SELECT '$CRC_RET_stmt_sidef' != ''`) {
|
|||
SHOW BINLOG EVENTS;
|
||||
--die Warnings printed
|
||||
}
|
||||
# The first event is format_description, the second is
|
||||
# Query_event('BEGIN'), and the third should be our Table_map.
|
||||
--let $event_type= query_get_value(SHOW BINLOG EVENTS, Event_type, 3)
|
||||
if (`SELECT '$event_type' != 'Table_map'`) {
|
||||
# The first event is format_description, the second is
|
||||
# Query_event('BEGIN'), and the third should be our Query
|
||||
# for 'INSERT DELAYED' unsafe_type 3, which is safe after
|
||||
# the fix of bug#54579.
|
||||
if (`SELECT $unsafe_type = 3 AND '$event_type' != 'Query'`) {
|
||||
--enable_query_log
|
||||
--echo ******** Failure! Event number 3 was a '$event_type', not a 'Query'. ********
|
||||
SHOW BINLOG EVENTS;
|
||||
--die Wrong events in binlog.
|
||||
}
|
||||
# The first event is format_description, the second is
|
||||
# Query_event('BEGIN'), and the third should be our Table_map
|
||||
# for unsafe statement.
|
||||
if (`SELECT $unsafe_type != 3 AND '$event_type' != 'Table_map'`) {
|
||||
--enable_query_log
|
||||
--echo ******** Failure! Event number 3 was a '$event_type', not a 'Table_map'. ********
|
||||
SHOW BINLOG EVENTS;
|
||||
|
|
|
@ -43,5 +43,11 @@ log-bin=mysqld-bin
|
|||
|
||||
# Run tests with the performance schema instrumentation
|
||||
loose-enable-performance-schema
|
||||
# Run tests with a small number of instrumented objects
|
||||
# to limit memory consumption with MTR
|
||||
loose-performance-schema-max-mutex-instances=10000
|
||||
loose-performance-schema-max-rwlock-instances=10000
|
||||
loose-performance-schema-max-table-instances=500
|
||||
loose-performance-schema-max-table-handles=1000
|
||||
|
||||
binlog-direct-non-transactional-updates
|
||||
|
|
|
@ -1809,9 +1809,32 @@ CREATE TABLE t1(a INT);
|
|||
INSERT INTO t1 VALUES (1);
|
||||
HANDLER t1 OPEN;
|
||||
# This used to cause the assert
|
||||
--error ER_NO_SUCH_TABLE
|
||||
--error ER_NOT_SUPPORTED_YET
|
||||
HANDLER t1 READ FIRST WHERE f1() = 1;
|
||||
HANDLER t1 CLOSE;
|
||||
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#54920 Stored functions are allowed in HANDLER statements,
|
||||
--echo # but broken.
|
||||
--echo #
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
||||
HANDLER t1 OPEN;
|
||||
|
||||
--error ER_NOT_SUPPORTED_YET
|
||||
HANDLER t1 READ FIRST WHERE f1() = 1;
|
||||
|
||||
HANDLER t1 CLOSE;
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -126,3 +126,19 @@ WHERE
|
|||
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#50402 Optimizer producing wrong results when using Index Merge on InnoDB
|
||||
--echo #
|
||||
CREATE TABLE t1 (f1 INT, PRIMARY KEY (f1));
|
||||
INSERT INTO t1 VALUES (2);
|
||||
CREATE TABLE t2 (f1 INT, f2 INT, f3 char(1),
|
||||
PRIMARY KEY (f1), KEY (f2), KEY (f3) );
|
||||
INSERT INTO t2 VALUES (1, 1, 'h'), (2, 3, 'h'), (3, 2, ''), (4, 2, '');
|
||||
|
||||
SELECT t1.f1 FROM t1
|
||||
WHERE (SELECT COUNT(*) FROM t2 WHERE t2.f3 = 'h' AND t2.f2 = t1.f1) = 0 AND t1.f1 = 2;
|
||||
|
||||
EXPLAIN SELECT t1.f1 FROM t1
|
||||
WHERE (SELECT COUNT(*) FROM t2 WHERE t2.f3 = 'h' AND t2.f2 = t1.f1) = 0 AND t1.f1 = 2;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
|
|
@ -7,15 +7,27 @@
|
|||
# force lower-case-table-names=1 (linux/macosx have different defaults)
|
||||
# force symbolic-links=0 (valgrind build has a different default)
|
||||
#
|
||||
|
||||
exec $MYSQLD_BOOTSTRAP_CMD --symbolic-links=0 --lower-case-table-names=1 --help --verbose > $MYSQL_TMP_DIR/mysqld--help.txt 2>&1;
|
||||
|
||||
# The inline perl code below will copy $MYSQL_TMP_DIR/mysqld--help.txt
|
||||
# to output, but filter away some variable stuff (e.g. paths).
|
||||
|
||||
perl;
|
||||
# Variables which we don't want to display in the result file since
|
||||
# their paths may vary:
|
||||
@skipvars=qw/basedir open-files-limit general-log-file log plugin-dir
|
||||
log-slow-queries pid-file slow-query-log-file
|
||||
datadir slave-load-tmpdir tmpdir/;
|
||||
datadir slave-load-tmpdir tmpdir socket/;
|
||||
|
||||
# Plugins which may or may not be there:
|
||||
@plugins=qw/innodb ndb archive blackhole federated partition ndbcluster debug temp-pool ssl des-key-file
|
||||
thread-concurrency super-large-pages mutex-deadlock-detector null-audit/;
|
||||
@env=qw/MYSQLTEST_VARDIR MYSQL_TEST_DIR MYSQL_LIBDIR MYSQL_CHARSETSDIR MYSQL_SHAREDIR /;
|
||||
|
||||
# And substitute the content some environment variables with their
|
||||
# names:
|
||||
@env=qw/MYSQLTEST_VARDIR MYSQL_TEST_DIR MYSQL_LIBDIR MYSQL_CHARSETSDIR MYSQL_SHAREDIR/;
|
||||
|
||||
$re1=join('|', @skipvars, @plugins);
|
||||
$re2=join('|', @plugins);
|
||||
$skip=0;
|
||||
|
|
|
@ -701,6 +701,13 @@ sub process_opts_file {
|
|||
next;
|
||||
}
|
||||
|
||||
$value= mtr_match_prefix($opt, "--testcase-timeout=");
|
||||
if ( defined $value ) {
|
||||
# Overrides test case timeout for this test
|
||||
$tinfo->{'case-timeout'}= $value;
|
||||
next;
|
||||
}
|
||||
|
||||
# Ok, this was a real option, add it
|
||||
push(@{$tinfo->{$opt_name}}, $opt);
|
||||
}
|
||||
|
|
|
@ -229,7 +229,8 @@ sub mtr_report_stats ($$;$) {
|
|||
# Find out how we where doing
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
my $tot_skiped= 0;
|
||||
my $tot_skipped= 0;
|
||||
my $tot_skipdetect= 0;
|
||||
my $tot_passed= 0;
|
||||
my $tot_failed= 0;
|
||||
my $tot_tests= 0;
|
||||
|
@ -246,8 +247,9 @@ sub mtr_report_stats ($$;$) {
|
|||
}
|
||||
elsif ( $tinfo->{'result'} eq 'MTR_RES_SKIPPED' )
|
||||
{
|
||||
# Test was skipped
|
||||
$tot_skiped++;
|
||||
# Test was skipped (disabled not counted)
|
||||
$tot_skipped++ unless $tinfo->{'disable'};
|
||||
$tot_skipdetect++ if $tinfo->{'skip_detected_by_test'};
|
||||
}
|
||||
elsif ( $tinfo->{'result'} eq 'MTR_RES_PASSED' )
|
||||
{
|
||||
|
@ -376,6 +378,9 @@ sub mtr_report_stats ($$;$) {
|
|||
print "All $tot_tests tests were successful.\n\n";
|
||||
}
|
||||
|
||||
print "$tot_skipped tests were skipped, ".
|
||||
"$tot_skipdetect by the test itself.\n\n" if $tot_skipped;
|
||||
|
||||
if ( $tot_failed != 0 || $found_problems)
|
||||
{
|
||||
mtr_error("there were failing test cases") unless $dont_error;
|
||||
|
|
|
@ -126,15 +126,27 @@ my $path_vardir_trace; # unix formatted opt_vardir for trace files
|
|||
my $opt_tmpdir; # Path to use for tmp/ dir
|
||||
my $opt_tmpdir_pid;
|
||||
|
||||
my $opt_start;
|
||||
my $opt_start_dirty;
|
||||
my $opt_start_exit;
|
||||
my $start_only;
|
||||
|
||||
my $auth_filename; # the name of the authentication test plugin
|
||||
my $auth_plugin; # the path to the authentication test plugin
|
||||
|
||||
END {
|
||||
if ( defined $opt_tmpdir_pid and $opt_tmpdir_pid == $$ )
|
||||
{
|
||||
# Remove the tempdir this process has created
|
||||
mtr_verbose("Removing tmpdir '$opt_tmpdir");
|
||||
rmtree($opt_tmpdir);
|
||||
if (!$opt_start_exit)
|
||||
{
|
||||
# Remove the tempdir this process has created
|
||||
mtr_verbose("Removing tmpdir $opt_tmpdir");
|
||||
rmtree($opt_tmpdir);
|
||||
}
|
||||
else
|
||||
{
|
||||
mtr_warning("tmpdir $opt_tmpdir should be removed after the server has finished");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -234,20 +246,16 @@ my $opt_suite_timeout = $ENV{MTR_SUITE_TIMEOUT} || 300; # minutes
|
|||
my $opt_shutdown_timeout= $ENV{MTR_SHUTDOWN_TIMEOUT} || 10; # seconds
|
||||
my $opt_start_timeout = $ENV{MTR_START_TIMEOUT} || 180; # seconds
|
||||
|
||||
sub testcase_timeout { return $opt_testcase_timeout * 60; };
|
||||
sub suite_timeout { return $opt_suite_timeout * 60; };
|
||||
sub check_timeout { return $opt_testcase_timeout * 6; };
|
||||
|
||||
my $opt_start;
|
||||
my $opt_start_dirty;
|
||||
my $opt_start_exit;
|
||||
my $start_only;
|
||||
my $opt_wait_all;
|
||||
my $opt_user_args;
|
||||
my $opt_repeat= 1;
|
||||
my $opt_retry= 3;
|
||||
my $opt_retry_failure= env_or_val(MTR_RETRY_FAILURE => 2);
|
||||
my $opt_reorder= 1;
|
||||
my $opt_force_restart= 0;
|
||||
|
||||
my $opt_strace_client;
|
||||
|
||||
|
@ -263,6 +271,17 @@ my $opt_callgrind;
|
|||
my %mysqld_logs;
|
||||
my $opt_debug_sync_timeout= 300; # Default timeout for WAIT_FOR actions.
|
||||
|
||||
sub testcase_timeout ($) {
|
||||
my ($tinfo)= @_;
|
||||
if (exists $tinfo->{'case-timeout'}) {
|
||||
# Return test specific timeout if *longer* that the general timeout
|
||||
my $test_to= $tinfo->{'case-timeout'};
|
||||
$test_to*= 10 if $opt_valgrind;
|
||||
return $test_to * 60 if $test_to > $opt_testcase_timeout;
|
||||
}
|
||||
return $opt_testcase_timeout * 60;
|
||||
}
|
||||
|
||||
our $opt_warnings= 1;
|
||||
|
||||
our $opt_skip_ndbcluster= 0;
|
||||
|
@ -937,6 +956,7 @@ sub command_line_setup {
|
|||
'report-features' => \$opt_report_features,
|
||||
'comment=s' => \$opt_comment,
|
||||
'fast' => \$opt_fast,
|
||||
'force-restart' => \$opt_force_restart,
|
||||
'reorder!' => \$opt_reorder,
|
||||
'enable-disabled' => \&collect_option,
|
||||
'verbose+' => \$opt_verbose,
|
||||
|
@ -2211,6 +2231,11 @@ sub environment_setup {
|
|||
# to detect that valgrind is being used from test cases
|
||||
$ENV{'VALGRIND_TEST'}= $opt_valgrind;
|
||||
|
||||
# Add dir of this perl to aid mysqltest in finding perl
|
||||
my $perldir= dirname($^X);
|
||||
my $pathsep= ":";
|
||||
$pathsep= ";" if IS_WINDOWS && ! IS_CYGWIN;
|
||||
$ENV{'PATH'}= "$ENV{'PATH'}".$pathsep.$perldir;
|
||||
}
|
||||
|
||||
|
||||
|
@ -3589,7 +3614,7 @@ sub run_testcase ($) {
|
|||
}
|
||||
}
|
||||
|
||||
my $test_timeout= start_timer(testcase_timeout());
|
||||
my $test_timeout= start_timer(testcase_timeout($tinfo));
|
||||
|
||||
do_before_run_mysqltest($tinfo);
|
||||
|
||||
|
@ -3683,6 +3708,9 @@ sub run_testcase ($) {
|
|||
# Try to get reason from test log file
|
||||
find_testcase_skipped_reason($tinfo);
|
||||
mtr_report_test_skipped($tinfo);
|
||||
# Restart if skipped due to missing perl, it may have had side effects
|
||||
stop_all_servers($opt_shutdown_timeout)
|
||||
if ($tinfo->{'comment'} =~ /^perl not found/);
|
||||
}
|
||||
elsif ( $res == 65 )
|
||||
{
|
||||
|
@ -3789,7 +3817,7 @@ sub run_testcase ($) {
|
|||
{
|
||||
my $log_file_name= $opt_vardir."/log/".$tinfo->{shortname}.".log";
|
||||
$tinfo->{comment}=
|
||||
"Test case timeout after ".testcase_timeout().
|
||||
"Test case timeout after ".testcase_timeout($tinfo).
|
||||
" seconds\n\n";
|
||||
# Add 20 last executed commands from test case log file
|
||||
if (-e $log_file_name)
|
||||
|
@ -3798,7 +3826,7 @@ sub run_testcase ($) {
|
|||
"== $log_file_name == \n".
|
||||
mtr_lastlinesfromfile($log_file_name, 20)."\n";
|
||||
}
|
||||
$tinfo->{'timeout'}= testcase_timeout(); # Mark as timeout
|
||||
$tinfo->{'timeout'}= testcase_timeout($tinfo); # Mark as timeout
|
||||
run_on_all($tinfo, 'analyze-timeout');
|
||||
|
||||
report_failure_and_restart($tinfo);
|
||||
|
@ -4604,6 +4632,11 @@ sub server_need_restart {
|
|||
return 1;
|
||||
}
|
||||
|
||||
if ( $opt_force_restart ) {
|
||||
mtr_verbose_restart($server, "forced restart turned on");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( $tinfo->{template_path} ne $current_config_name)
|
||||
{
|
||||
mtr_verbose_restart($server, "using different config file");
|
||||
|
@ -5636,6 +5669,7 @@ Misc options
|
|||
servers to exit before finishing the process
|
||||
fast Run as fast as possible, dont't wait for servers
|
||||
to shutdown etc.
|
||||
force-restart Always restart servers between tests
|
||||
parallel=N Run tests in N parallel threads (default=1)
|
||||
Use parallel=auto for auto-setting of N
|
||||
repeat=N Run each test N number of times
|
||||
|
|
|
@ -23,3 +23,19 @@ REPAIR TABLE t1;
|
|||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#56422 CHECK TABLE run when the table is locked reports corruption
|
||||
# along with timeout
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(a INT);
|
||||
LOCK TABLE t1 WRITE;
|
||||
# Connection con1
|
||||
SET lock_wait_timeout= 1;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error Lock wait timeout exceeded; try restarting transaction
|
||||
test.t1 check status Operation failed
|
||||
# Connection default
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -422,3 +422,31 @@ UNLOCK TABLES;
|
|||
# Connection con1
|
||||
# Connection default
|
||||
DROP TABLE t1, t2, t3;
|
||||
#
|
||||
# Test for bug #56251 "Deadlock with INSERT DELAYED and MERGE tables".
|
||||
#
|
||||
drop table if exists t1, t2, tm;
|
||||
create table t1(a int);
|
||||
create table t2(a int);
|
||||
create table tm(a int) engine=merge union=(t1, t2);
|
||||
begin;
|
||||
select * from t1;
|
||||
a
|
||||
# Connection 'con1'.
|
||||
# Sending:
|
||||
alter table t1 comment 'test';
|
||||
# Connection 'default'.
|
||||
# Wait until ALTER TABLE blocks and starts waiting
|
||||
# for connection 'default'. It should wait with a
|
||||
# pending SNW lock on 't1'.
|
||||
# Attempt to perform delayed insert into 'tm' should not lead
|
||||
# to a deadlock. Instead error ER_DELAYED_NOT_SUPPORTED should
|
||||
# be emitted.
|
||||
insert delayed into tm values (1);
|
||||
ERROR HY000: DELAYED option not supported for table 'tm'
|
||||
# Unblock ALTER TABLE.
|
||||
commit;
|
||||
# Connection 'con1'.
|
||||
# Reaping ALTER TABLE:
|
||||
# Connection 'default'.
|
||||
drop tables tm, t1, t2;
|
||||
|
|
|
@ -373,3 +373,53 @@ commit;
|
|||
# --> connection con2
|
||||
# --> connection default
|
||||
drop table t1;
|
||||
#
|
||||
# Test for bug #55273 "FLUSH TABLE tm WITH READ LOCK for Merge table
|
||||
# causes assert failure".
|
||||
#
|
||||
drop table if exists t1, t2, tm;
|
||||
create table t1 (i int);
|
||||
create table t2 (i int);
|
||||
create table tm (i int) engine=merge union=(t1, t2);
|
||||
insert into t1 values (1), (2);
|
||||
insert into t2 values (3), (4);
|
||||
# The below statement should succeed and lock merge
|
||||
# table for read. Only merge table gets flushed and
|
||||
# not underlying tables.
|
||||
flush tables tm with read lock;
|
||||
select * from tm;
|
||||
i
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
# Check that underlying tables are locked.
|
||||
select * from t1;
|
||||
i
|
||||
1
|
||||
2
|
||||
select * from t2;
|
||||
i
|
||||
3
|
||||
4
|
||||
unlock tables;
|
||||
# This statement should succeed as well and flush
|
||||
# all tables in the list.
|
||||
flush tables tm, t1, t2 with read lock;
|
||||
select * from tm;
|
||||
i
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
# Naturally, underlying tables should be locked in this case too.
|
||||
select * from t1;
|
||||
i
|
||||
1
|
||||
2
|
||||
select * from t2;
|
||||
i
|
||||
3
|
||||
4
|
||||
unlock tables;
|
||||
drop tables tm, t1, t2;
|
||||
|
|
|
@ -360,4 +360,19 @@ SELECT COALESCE(a) = COALESCE(b) FROM t1;
|
|||
COALESCE(a) = COALESCE(b)
|
||||
1
|
||||
DROP TABLE t1;
|
||||
End of tests
|
||||
#
|
||||
# Bug #54461: crash with longblob and union or update with subquery
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b LONGBLOB);
|
||||
INSERT INTO t1 VALUES (1, '2'), (2, '3'), (3, '2');
|
||||
SELECT DISTINCT LEAST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
|
||||
LEAST(a, (SELECT b FROM t1 LIMIT 1))
|
||||
1
|
||||
2
|
||||
SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
|
||||
GREATEST(a, (SELECT b FROM t1 LIMIT 1))
|
||||
2
|
||||
3
|
||||
1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -1200,6 +1200,8 @@ set time_zone= @@global.time_zone;
|
|||
select str_to_date('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
|
||||
str_to_date('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1411 Incorrect datetime value: '10:00 PM' for function str_to_date
|
||||
create table t1 (field DATE);
|
||||
insert into t1 values ('2006-11-06');
|
||||
select * from t1 where field < '2006-11-06 04:08:36.0';
|
||||
|
|
|
@ -707,10 +707,7 @@ numgeometries(b) IS NULL, numinteriorrings(b) IS NULL, numpoints(b) IS NULL,
|
|||
area(b) IS NULL, glength(b) IS NULL, srid(b) IS NULL, x(b) IS NULL,
|
||||
y(b) IS NULL
|
||||
from t1;
|
||||
geometryfromtext(b) IS NULL geometryfromwkb(b) IS NULL astext(b) IS NULL aswkb(b) IS NULL geometrytype(b) IS NULL centroid(b) IS NULL envelope(b) IS NULL startpoint(b) IS NULL endpoint(b) IS NULL exteriorring(b) IS NULL pointn(b, 1) IS NULL geometryn(b, 1) IS NULL interiorringn(b, 1) IS NULL multipoint(b) IS NULL isempty(b) IS NULL issimple(b) IS NULL isclosed(b) IS NULL dimension(b) IS NULL numgeometries(b) IS NULL numinteriorrings(b) IS NULL numpoints(b) IS NULL area(b) IS NULL glength(b) IS NULL srid(b) IS NULL x(b) IS NULL y(b) IS NULL
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
ERROR 22007: Illegal non geometric '`test`.`t1`.`b`' value found during parsing
|
||||
select
|
||||
within(b, b) IS NULL, contains(b, b) IS NULL, overlaps(b, b) IS NULL,
|
||||
equals(b, b) IS NULL, disjoint(b, b) IS NULL, touches(b, b) IS NULL,
|
||||
|
@ -725,10 +722,7 @@ point(b, b) IS NULL, linestring(b) IS NULL, polygon(b) IS NULL, multipoint(b) IS
|
|||
multilinestring(b) IS NULL, multipolygon(b) IS NULL,
|
||||
geometrycollection(b) IS NULL
|
||||
from t1;
|
||||
point(b, b) IS NULL linestring(b) IS NULL polygon(b) IS NULL multipoint(b) IS NULL multilinestring(b) IS NULL multipolygon(b) IS NULL geometrycollection(b) IS NULL
|
||||
0 1 1 1 1 1 1
|
||||
1 1 1 1 1 1 1
|
||||
0 1 1 1 1 1 1
|
||||
ERROR 22007: Illegal non geometric '`test`.`t1`.`b`' value found during parsing
|
||||
drop table t1;
|
||||
CREATE TABLE t1(a POINT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
|
@ -1010,53 +1004,16 @@ f5 datetime YES NULL
|
|||
drop view v1;
|
||||
drop table t1;
|
||||
SELECT MultiPoint(12345,'');
|
||||
MultiPoint(12345,'')
|
||||
NULL
|
||||
SELECT MultiPoint(123451,'');
|
||||
MultiPoint(123451,'')
|
||||
NULL
|
||||
SELECT MultiPoint(1234512,'');
|
||||
MultiPoint(1234512,'')
|
||||
NULL
|
||||
SELECT MultiPoint(12345123,'');
|
||||
MultiPoint(12345123,'')
|
||||
NULL
|
||||
SELECT MultiLineString(12345,'');
|
||||
MultiLineString(12345,'')
|
||||
NULL
|
||||
SELECT MultiLineString(123451,'');
|
||||
MultiLineString(123451,'')
|
||||
NULL
|
||||
SELECT MultiLineString(1234512,'');
|
||||
MultiLineString(1234512,'')
|
||||
NULL
|
||||
SELECT MultiLineString(12345123,'');
|
||||
MultiLineString(12345123,'')
|
||||
NULL
|
||||
SELECT LineString(12345,'');
|
||||
LineString(12345,'')
|
||||
NULL
|
||||
SELECT LineString(123451,'');
|
||||
LineString(123451,'')
|
||||
NULL
|
||||
SELECT LineString(1234512,'');
|
||||
LineString(1234512,'')
|
||||
NULL
|
||||
SELECT LineString(12345123,'');
|
||||
LineString(12345123,'')
|
||||
NULL
|
||||
SELECT Polygon(12345,'');
|
||||
Polygon(12345,'')
|
||||
NULL
|
||||
SELECT Polygon(123451,'');
|
||||
Polygon(123451,'')
|
||||
NULL
|
||||
SELECT Polygon(1234512,'');
|
||||
Polygon(1234512,'')
|
||||
NULL
|
||||
SELECT Polygon(12345123,'');
|
||||
Polygon(12345123,'')
|
||||
NULL
|
||||
ERROR 22007: Illegal non geometric '12345' value found during parsing
|
||||
SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b));
|
||||
ERROR 22007: Illegal non geometric ''00000'' value found during parsing
|
||||
#
|
||||
# BUG#51875: crash when loading data into geometry function polyfromwkb
|
||||
#
|
||||
SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440;
|
||||
SET @a=POLYFROMWKB(@a);
|
||||
SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440;
|
||||
SET @a=POLYFROMWKB(@a);
|
||||
End of 5.1 tests
|
||||
CREATE TABLE t1(
|
||||
col0 BINARY NOT NULL,
|
||||
|
|
|
@ -1726,7 +1726,22 @@ CREATE TABLE t1(a INT);
|
|||
INSERT INTO t1 VALUES (1);
|
||||
HANDLER t1 OPEN;
|
||||
HANDLER t1 READ FIRST WHERE f1() = 1;
|
||||
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'stored functions in HANDLER ... READ'
|
||||
HANDLER t1 CLOSE;
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#54920 Stored functions are allowed in HANDLER statements,
|
||||
# but broken.
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
||||
HANDLER t1 OPEN;
|
||||
HANDLER t1 READ FIRST WHERE f1() = 1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'stored functions in HANDLER ... READ'
|
||||
HANDLER t1 CLOSE;
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -1722,7 +1722,22 @@ CREATE TABLE t1(a INT);
|
|||
INSERT INTO t1 VALUES (1);
|
||||
HANDLER t1 OPEN;
|
||||
HANDLER t1 READ FIRST WHERE f1() = 1;
|
||||
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'stored functions in HANDLER ... READ'
|
||||
HANDLER t1 CLOSE;
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#54920 Stored functions are allowed in HANDLER statements,
|
||||
# but broken.
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
||||
HANDLER t1 OPEN;
|
||||
HANDLER t1 READ FIRST WHERE f1() = 1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'stored functions in HANDLER ... READ'
|
||||
HANDLER t1 CLOSE;
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -255,3 +255,21 @@ WHERE
|
|||
`RUNID`= '' AND `SUBMITNR`= '' AND `ORDERNR`='' AND `PROGRAMM`='' AND
|
||||
`TESTID`='' AND `UCCHECK`='';
|
||||
drop table t1;
|
||||
#
|
||||
# Bug#50402 Optimizer producing wrong results when using Index Merge on InnoDB
|
||||
#
|
||||
CREATE TABLE t1 (f1 INT, PRIMARY KEY (f1));
|
||||
INSERT INTO t1 VALUES (2);
|
||||
CREATE TABLE t2 (f1 INT, f2 INT, f3 char(1),
|
||||
PRIMARY KEY (f1), KEY (f2), KEY (f3) );
|
||||
INSERT INTO t2 VALUES (1, 1, 'h'), (2, 3, 'h'), (3, 2, ''), (4, 2, '');
|
||||
SELECT t1.f1 FROM t1
|
||||
WHERE (SELECT COUNT(*) FROM t2 WHERE t2.f3 = 'h' AND t2.f2 = t1.f1) = 0 AND t1.f1 = 2;
|
||||
f1
|
||||
2
|
||||
EXPLAIN SELECT t1.f1 FROM t1
|
||||
WHERE (SELECT COUNT(*) FROM t2 WHERE t2.f3 = 'h' AND t2.f2 = t1.f1) = 0 AND t1.f1 = 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 const PRIMARY PRIMARY 4 const 1 Using index
|
||||
2 DEPENDENT SUBQUERY t2 index_merge f2,f3 f3,f2 2,5 NULL 1 Using intersect(f3,f2); Using where; Using index
|
||||
DROP TABLE t1,t2;
|
||||
|
|
|
@ -1414,6 +1414,24 @@ WHERE
|
|||
`TESTID`='' AND `UCCHECK`='';
|
||||
drop table t1;
|
||||
#
|
||||
# Bug#50402 Optimizer producing wrong results when using Index Merge on InnoDB
|
||||
#
|
||||
CREATE TABLE t1 (f1 INT, PRIMARY KEY (f1));
|
||||
INSERT INTO t1 VALUES (2);
|
||||
CREATE TABLE t2 (f1 INT, f2 INT, f3 char(1),
|
||||
PRIMARY KEY (f1), KEY (f2), KEY (f3) );
|
||||
INSERT INTO t2 VALUES (1, 1, 'h'), (2, 3, 'h'), (3, 2, ''), (4, 2, '');
|
||||
SELECT t1.f1 FROM t1
|
||||
WHERE (SELECT COUNT(*) FROM t2 WHERE t2.f3 = 'h' AND t2.f2 = t1.f1) = 0 AND t1.f1 = 2;
|
||||
f1
|
||||
2
|
||||
EXPLAIN SELECT t1.f1 FROM t1
|
||||
WHERE (SELECT COUNT(*) FROM t2 WHERE t2.f3 = 'h' AND t2.f2 = t1.f1) = 0 AND t1.f1 = 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 system PRIMARY NULL NULL NULL 1
|
||||
2 DEPENDENT SUBQUERY t2 ref f2,f3 f2 5 1 Using where
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# Generic @@optimizer_switch tests (move those into a separate file if
|
||||
# we get another @@optimizer_switch user)
|
||||
#
|
||||
|
|
|
@ -1185,4 +1185,40 @@ NULL
|
|||
NULL
|
||||
1
|
||||
DROP TABLE t1, t2, mm1;
|
||||
#
|
||||
# Bug #54468: crash after item's print() function when ordering/grouping
|
||||
# by subquery
|
||||
#
|
||||
CREATE TABLE t1(a INT, b INT);
|
||||
INSERT INTO t1 VALUES (), ();
|
||||
SELECT 1 FROM t1
|
||||
GROUP BY
|
||||
GREATEST(t1.a,
|
||||
(SELECT 1 FROM
|
||||
(SELECT t1.b FROM t1,t1 t2
|
||||
ORDER BY t1.a, t1.a LIMIT 1) AS d)
|
||||
);
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #53544: Server hangs during JOIN query in stored procedure called
|
||||
# twice in a row
|
||||
#
|
||||
CREATE TABLE t1(c INT);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
PREPARE stmt FROM "SELECT t2.c AS f1 FROM t1 LEFT JOIN
|
||||
t1 t2 ON t1.c=t2.c RIGHT JOIN
|
||||
t1 t3 ON t1.c=t3.c
|
||||
GROUP BY f1;";
|
||||
EXECUTE stmt;
|
||||
f1
|
||||
1
|
||||
2
|
||||
EXECUTE stmt;
|
||||
f1
|
||||
1
|
||||
2
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -17,9 +17,7 @@ mysql.columns_priv OK
|
|||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
|
@ -32,9 +30,7 @@ mysql.procs_priv OK
|
|||
mysql.proxy_priv OK
|
||||
mysql.renamed_general_log OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
|
|
@ -55,3 +55,11 @@ DROP USER user_1@localhost;
|
|||
DROP USER USER_1@localhost;
|
||||
DROP DATABASE db1;
|
||||
use test;
|
||||
#
|
||||
# Extra test coverage for Bug#56595 RENAME TABLE causes assert on OS X
|
||||
#
|
||||
CREATE TABLE t1(a INT);
|
||||
CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a= 1;
|
||||
RENAME TABLE t1 TO T1;
|
||||
ALTER TABLE T1 RENAME t1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -2913,3 +2913,41 @@ UNLOCK TABLES;
|
|||
# Connection default
|
||||
UNLOCK TABLES;
|
||||
DROP DATABASE db1;
|
||||
#
|
||||
# Bug#56292 Deadlock with ALTER TABLE and MERGE tables
|
||||
#
|
||||
DROP TABLE IF EXISTS t1, t2, m1;
|
||||
CREATE TABLE t1(a INT) engine=MyISAM;
|
||||
CREATE TABLE t2(a INT) engine=MyISAM;
|
||||
CREATE TABLE m1(a INT) engine=MERGE UNION=(t1, t2);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
INSERT INTO t2 VALUES (3), (4);
|
||||
# Connection con1
|
||||
SET DEBUG_SYNC= 'mdl_upgrade_shared_lock_to_exclusive SIGNAL upgrade WAIT_FOR continue';
|
||||
# Sending:
|
||||
ALTER TABLE m1 engine=MERGE UNION=(t2, t1);
|
||||
# Connection con2
|
||||
# Waiting for ALTER TABLE to try lock upgrade
|
||||
SET DEBUG_SYNC= 'now WAIT_FOR upgrade';
|
||||
# Sending:
|
||||
DELETE FROM t2 WHERE a = 3;
|
||||
# Connection default
|
||||
# Check that DELETE is waiting on a metadata lock and not a table lock.
|
||||
# Now that DELETE blocks on a metadata lock, we should be able to do
|
||||
# SELECT * FROM m1 here. SELECT used to be blocked by a DELETE table
|
||||
# lock request.
|
||||
SELECT * FROM m1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
# Resuming ALTER TABLE
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
# Connection con1
|
||||
# Reaping: ALTER TABLE m1 engine=MERGE UNION=(t2, t1)
|
||||
# Connection con2
|
||||
# Reaping: DELETE FROM t2 WHERE a = 3
|
||||
# Connection default
|
||||
DROP TABLE m1, t1, t2;
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
|
|
|
@ -2358,6 +2358,48 @@ t2 WHERE b SOUNDS LIKE e AND d = 1;
|
|||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
DROP TABLE t2, t1;
|
||||
#
|
||||
# Bug#46339 - crash on REPAIR TABLE merge table USE_FRM
|
||||
#
|
||||
DROP TABLE IF EXISTS m1, t1;
|
||||
CREATE TABLE t1 (c1 INT) ENGINE=MYISAM;
|
||||
CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1) INSERT_METHOD=LAST;
|
||||
LOCK TABLE m1 READ;
|
||||
REPAIR TABLE m1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.m1 repair Error Table 'm1' was locked with a READ lock and can't be updated
|
||||
test.m1 repair status Operation failed
|
||||
UNLOCK TABLES;
|
||||
REPAIR TABLE m1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.m1 repair note The storage engine for the table doesn't support repair
|
||||
DROP TABLE m1,t1;
|
||||
CREATE TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
|
||||
REPAIR TABLE m1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.m1 repair Warning Can't open table
|
||||
test.m1 repair error Corrupt
|
||||
CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM;
|
||||
REPAIR TABLE m1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.m1 repair note The storage engine for the table doesn't support repair
|
||||
REPAIR TABLE m1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.m1 repair note The storage engine for the table doesn't support repair
|
||||
DROP TABLE m1, t1;
|
||||
CREATE TEMPORARY TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
|
||||
REPAIR TABLE m1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.m1 repair Error Table 'test.m1' doesn't exist
|
||||
test.m1 repair error Corrupt
|
||||
CREATE TEMPORARY TABLE t1 (f1 BIGINT) ENGINE=MyISAM;
|
||||
REPAIR TABLE m1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
m1 repair error Cannot repair temporary table from .frm file
|
||||
REPAIR TABLE m1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.m1 repair note The storage engine for the table doesn't support repair
|
||||
DROP TABLE m1, t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# An additional test case for Bug#27430 Crash in subquery code
|
||||
|
@ -2677,7 +2719,7 @@ OPTIMIZE TABLE t1;
|
|||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize Error Table 'test.t_not_exists' doesn't exist
|
||||
test.t1 optimize Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
test.t1 optimize note The storage engine for the table doesn't support optimize
|
||||
test.t1 optimize error Corrupt
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#36171 - CREATE TEMPORARY TABLE and MERGE engine
|
||||
|
@ -3444,13 +3486,12 @@ ALTER TABLE m1 ADD INDEX (c1);
|
|||
UNLOCK TABLES;
|
||||
DROP TABLE m1, t1;
|
||||
#
|
||||
# If children are to be altered, they need an explicit lock.
|
||||
# Locking the merge table will implicitly lock children.
|
||||
#
|
||||
CREATE TABLE t1 (c1 INT);
|
||||
CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1);
|
||||
LOCK TABLE m1 WRITE;
|
||||
ALTER TABLE t1 ADD INDEX (c1);
|
||||
ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
|
||||
LOCK TABLE m1 WRITE, t1 WRITE;
|
||||
ALTER TABLE t1 ADD INDEX (c1);
|
||||
UNLOCK TABLES;
|
||||
|
@ -3576,4 +3617,48 @@ ERROR HY000: The definition of table 'v1' prevents operation DELETE on table 'm1
|
|||
drop view v1;
|
||||
drop temporary table tmp;
|
||||
drop table t1, t2, t3, m1, m2;
|
||||
#
|
||||
# Bug#56494 Segfault in upgrade_shared_lock_to_exclusive() for
|
||||
# REPAIR of merge table
|
||||
#
|
||||
DROP TABLE IF EXISTS t1, t2, t_not_exists;
|
||||
CREATE TABLE t1(a INT);
|
||||
ALTER TABLE t1 engine= MERGE UNION (t_not_exists);
|
||||
ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze Error Table 'test.t_not_exists' doesn't exist
|
||||
test.t1 analyze Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
test.t1 analyze error Corrupt
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error Table 'test.t_not_exists' doesn't exist
|
||||
test.t1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
test.t1 check error Corrupt
|
||||
CHECKSUM TABLE t1;
|
||||
Table Checksum
|
||||
test.t1 NULL
|
||||
Warnings:
|
||||
Error 1146 Table 'test.t_not_exists' doesn't exist
|
||||
Error 1168 Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
OPTIMIZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize Error Table 'test.t_not_exists' doesn't exist
|
||||
test.t1 optimize Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
test.t1 optimize error Corrupt
|
||||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair Error Table 'test.t_not_exists' doesn't exist
|
||||
test.t1 repair Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
test.t1 repair error Corrupt
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair Warning Can't open table
|
||||
test.t1 repair error Corrupt
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a INT);
|
||||
CREATE TABLE t2(a INT) engine= MERGE UNION (t1);
|
||||
REPAIR TABLE t2 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 repair note The storage engine for the table doesn't support repair
|
||||
DROP TABLE t1, t2;
|
||||
End of 6.0 tests
|
||||
|
|
|
@ -649,4 +649,24 @@ SET SESSION sql_safe_updates = 1;
|
|||
UPDATE IGNORE t1, t1 t1a SET t1.a = 1 WHERE t1a.a = 1;
|
||||
ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#54543: update ignore with incorrect subquery leads to assertion
|
||||
# failure: inited==INDEX
|
||||
#
|
||||
SET SESSION sql_safe_updates = 0;
|
||||
CREATE TABLE t1 ( a INT );
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
CREATE TABLE t2 ( a INT );
|
||||
INSERT INTO t2 VALUES (1), (2);
|
||||
CREATE TABLE t3 ( a INT );
|
||||
INSERT INTO t3 VALUES (1), (2);
|
||||
# Should not crash
|
||||
UPDATE IGNORE
|
||||
( SELECT ( SELECT COUNT(*) FROM t1 GROUP BY a, @v ) a FROM t2 ) x, t3
|
||||
SET t3.a = 0;
|
||||
Warnings:
|
||||
Error 1242 Subquery returns more than 1 row
|
||||
Error 1242 Subquery returns more than 1 row
|
||||
DROP TABLE t1, t2, t3;
|
||||
SET SESSION sql_safe_updates = DEFAULT;
|
||||
end of tests
|
||||
|
|
|
@ -46,14 +46,12 @@ insert into t1 select * from t1;
|
|||
flush tables;
|
||||
optimize table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize error Table 'test.t1' is read only
|
||||
Warnings:
|
||||
Error 1036 Table 't1' is read only
|
||||
test.t1 optimize Error Table 't1' is read only
|
||||
test.t1 optimize status Operation failed
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair error Table 'test.t1' is read only
|
||||
Warnings:
|
||||
Error 1036 Table 't1' is read only
|
||||
test.t1 repair Error Table 't1' is read only
|
||||
test.t1 repair status Operation failed
|
||||
drop table t1;
|
||||
#
|
||||
# BUG#41541 - Valgrind warnings on packed MyISAM table
|
||||
|
|
|
@ -5,9 +5,7 @@ mysql.columns_priv OK
|
|||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
|
@ -19,9 +17,7 @@ mysql.proc OK
|
|||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
@ -38,9 +34,7 @@ mysql.columns_priv OK
|
|||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
|
@ -52,9 +46,7 @@ mysql.proc OK
|
|||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
@ -71,9 +63,7 @@ mysql.columns_priv OK
|
|||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
|
@ -85,9 +75,7 @@ mysql.proc OK
|
|||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
@ -106,9 +94,7 @@ mysql.columns_priv OK
|
|||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
|
@ -120,9 +106,7 @@ mysql.proc OK
|
|||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
@ -145,9 +129,7 @@ mysql.columns_priv OK
|
|||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
|
@ -159,9 +141,7 @@ mysql.proc OK
|
|||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
@ -187,9 +167,7 @@ mysql.columns_priv OK
|
|||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
|
@ -201,9 +179,7 @@ mysql.proc OK
|
|||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
|
|
@ -7,9 +7,7 @@ mysql.columns_priv OK
|
|||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
|
@ -21,9 +19,7 @@ mysql.proc OK
|
|||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
|
|
@ -913,7 +913,6 @@ slave-transaction-retries 10
|
|||
slave-type-conversions
|
||||
slow-launch-time 2
|
||||
slow-query-log FALSE
|
||||
socket /tmp/mysql.sock
|
||||
sort-buffer-size 2097152
|
||||
sporadic-binlog-dump-fail FALSE
|
||||
sql-mode
|
||||
|
|
|
@ -109,20 +109,13 @@ Database: information_schema
|
|||
| TRIGGERS |
|
||||
| USER_PRIVILEGES |
|
||||
| VIEWS |
|
||||
| INNODB_SYS_FIELDS |
|
||||
| INNODB_TRX |
|
||||
| INNODB_SYS_INDEXES |
|
||||
| INNODB_LOCK_WAITS |
|
||||
| INNODB_SYS_TABLESTATS |
|
||||
| INNODB_CMP |
|
||||
| INNODB_SYS_COLUMNS |
|
||||
| INNODB_CMP_RESET |
|
||||
| INNODB_SYS_FOREIGN_COLS |
|
||||
| INNODB_LOCKS |
|
||||
| INNODB_TRX |
|
||||
| INNODB_CMPMEM_RESET |
|
||||
| INNODB_LOCK_WAITS |
|
||||
| INNODB_CMPMEM |
|
||||
| INNODB_SYS_FOREIGN |
|
||||
| INNODB_SYS_TABLES |
|
||||
| INNODB_CMP |
|
||||
| INNODB_LOCKS |
|
||||
+---------------------------------------+
|
||||
Database: INFORMATION_SCHEMA
|
||||
+---------------------------------------+
|
||||
|
@ -158,20 +151,13 @@ Database: INFORMATION_SCHEMA
|
|||
| TRIGGERS |
|
||||
| USER_PRIVILEGES |
|
||||
| VIEWS |
|
||||
| INNODB_SYS_FIELDS |
|
||||
| INNODB_TRX |
|
||||
| INNODB_SYS_INDEXES |
|
||||
| INNODB_LOCK_WAITS |
|
||||
| INNODB_SYS_TABLESTATS |
|
||||
| INNODB_CMP |
|
||||
| INNODB_SYS_COLUMNS |
|
||||
| INNODB_CMP_RESET |
|
||||
| INNODB_SYS_FOREIGN_COLS |
|
||||
| INNODB_LOCKS |
|
||||
| INNODB_TRX |
|
||||
| INNODB_CMPMEM_RESET |
|
||||
| INNODB_LOCK_WAITS |
|
||||
| INNODB_CMPMEM |
|
||||
| INNODB_SYS_FOREIGN |
|
||||
| INNODB_SYS_TABLES |
|
||||
| INNODB_CMP |
|
||||
| INNODB_LOCKS |
|
||||
+---------------------------------------+
|
||||
Wildcard: inf_rmation_schema
|
||||
+--------------------+
|
||||
|
|
|
@ -177,6 +177,9 @@ mysqltest: At line 1: End of line junk detected: "disconnect default # comment
|
|||
"
|
||||
mysqltest: At line 1: Extra delimiter ";" found
|
||||
mysqltest: At line 1: Extra delimiter ";" found
|
||||
mysqltest: At line 1: Spurious text after `query` expression
|
||||
mysqltest: At line 1: Spurious text after `query` expression
|
||||
mysqltest: At line 2: Spurious text after `query` expression
|
||||
mysqltest: At line 1: Missing argument(s) to 'error'
|
||||
mysqltest: At line 1: Missing argument(s) to 'error'
|
||||
mysqltest: At line 1: The sqlstate definition must start with an uppercase S
|
||||
|
@ -262,6 +265,9 @@ a long \$where variable content
|
|||
|
||||
banana = banana
|
||||
Not a banana: ba\$cat\$cat
|
||||
with\`some"escaped\'quotes
|
||||
with\`some"escaped\'quotes
|
||||
single'tick`backtick
|
||||
mysqltest: At line 1: Missing arguments to let
|
||||
mysqltest: At line 1: Missing variable name in let
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
|
@ -363,23 +369,24 @@ mysqltest: At line 1: Missing required argument 'sleep_delay' to command 'real_s
|
|||
mysqltest: At line 1: Invalid argument to sleep "abc"
|
||||
mysqltest: At line 1: Invalid argument to real_sleep "abc"
|
||||
1
|
||||
2
|
||||
101
|
||||
hej
|
||||
1
|
||||
-99
|
||||
mysqltest: At line 1: Missing argument to inc
|
||||
mysqltest: At line 1: The argument to inc must be a variable (start with $)
|
||||
mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
|
||||
mysqltest: At line 1: End of line junk detected: "1000"
|
||||
4
|
||||
4
|
||||
mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
|
||||
mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
|
||||
-96
|
||||
-96
|
||||
-1
|
||||
-2
|
||||
99
|
||||
hej
|
||||
-1
|
||||
mysqltest: At line 1: Missing argument to dec
|
||||
mysqltest: At line 1: The argument to dec must be a variable (start with $)
|
||||
mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
|
||||
mysqltest: At line 1: End of line junk detected: "1000"
|
||||
mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
|
||||
mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
|
||||
mysqltest: At line 1: Missing arguments to system, nothing to do!
|
||||
mysqltest: At line 1: Missing arguments to system, nothing to do!
|
||||
system command 'NonExistsinfComamdn 2> /dev/null' failed
|
||||
|
@ -446,12 +453,16 @@ mysqltest: At line 1: Missing required argument 'host' to command 'connect'
|
|||
mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1049: Unknown database 'illegal_db'
|
||||
mysqltest: At line 1: Illegal argument for port: 'illegal_port'
|
||||
mysqltest: At line 1: Illegal option to connect: SMTP
|
||||
OK
|
||||
mysqltest: The test didn't produce any output
|
||||
200 connects succeeded
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists
|
||||
show tables;
|
||||
ERROR 3D000: No database selected
|
||||
connect con1,localhost,root,,;
|
||||
connection default;
|
||||
connection con1;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
Output from mysqltest-x.inc
|
||||
Output from mysqltest-x.inc
|
||||
Output from mysqltest-x.inc
|
||||
|
|
|
@ -1617,6 +1617,27 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 range a a 5 NULL 2 Using where; Using temporary; Using filesort
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 10 Using join buffer
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Bug #50394: Regression in EXPLAIN with index scan, LIMIT, GROUP BY and
|
||||
# ORDER BY computed col
|
||||
#
|
||||
CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL, KEY( a, b ) );
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5);
|
||||
INSERT INTO t1 SELECT a + 5, b + 5 FROM t1;
|
||||
CREATE TABLE t2( a INT PRIMARY KEY, b INT );
|
||||
INSERT INTO t2 VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5);
|
||||
INSERT INTO t2 SELECT a + 5, b + 5 FROM t2;
|
||||
EXPLAIN
|
||||
SELECT count(*) AS c, t1.a
|
||||
FROM t1 JOIN t2 ON t1.b = t2.a
|
||||
WHERE t2.b = 1
|
||||
GROUP BY t1.a
|
||||
ORDER by c
|
||||
LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL a 8 NULL 10 Using index; Using temporary; Using filesort
|
||||
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.b 1 Using where
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug #38745: MySQL 5.1 optimizer uses filesort for ORDER BY
|
||||
|
|
|
@ -556,9 +556,13 @@ DROP TABLE IF EXISTS t1;
|
|||
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
|
||||
STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1411 Incorrect datetime value: '10:00 PM' for function str_to_date
|
||||
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE;
|
||||
STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1411 Incorrect datetime value: '10:00 PM' for function str_to_date
|
||||
SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
|
||||
"1997-12-31 23:59:59" + INTERVAL 1 SECOND
|
||||
1998-01-01 00:00:00
|
||||
|
|
|
@ -1,4 +1,44 @@
|
|||
drop table if exists t1, t2;
|
||||
#
|
||||
# Bug#57113: ha_partition::extra(ha_extra_function):
|
||||
# Assertion `m_extra_cache' failed
|
||||
CREATE TABLE t1
|
||||
(id INT NOT NULL PRIMARY KEY,
|
||||
name VARCHAR(16) NOT NULL,
|
||||
year YEAR,
|
||||
INDEX name (name(8))
|
||||
)
|
||||
PARTITION BY HASH(id) PARTITIONS 2;
|
||||
INSERT INTO t1 VALUES ( 1, 'FooBar', '1924' );
|
||||
CREATE TABLE t2 (id INT);
|
||||
INSERT INTO t2 VALUES (1),(2);
|
||||
UPDATE t1, t2 SET t1.year = '1955' WHERE t1.name = 'FooBar';
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Bug#55458: Partitioned MyISAM table gets crashed by multi-table update
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
`id` int NOT NULL,
|
||||
`user_num` int DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1,8601);
|
||||
INSERT INTO t1 VALUES (2,8601);
|
||||
INSERT INTO t1 VALUES (3,8601);
|
||||
INSERT INTO t1 VALUES (4,8601);
|
||||
CREATE TABLE t2 (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_num` int DEFAULT NULL,
|
||||
`name` varchar(64) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM CHARSET=latin1
|
||||
PARTITION BY HASH (id)
|
||||
PARTITIONS 2;
|
||||
INSERT INTO t2 VALUES (1,8601,'John');
|
||||
INSERT INTO t2 VALUES (2,8601,'JS');
|
||||
INSERT INTO t2 VALUES (3,8601,'John S');
|
||||
UPDATE t1, t2 SET t2.name = 'John Smith' WHERE t1.user_num = t2.user_num;
|
||||
DROP TABLE t1, t2;
|
||||
# Bug#39338: Fieldnames in
|
||||
# INFORMATIONSCHEMA.PARTITIONS.PARTITION_EXPRESSION become unescaped
|
||||
# NOTE: the partition expression is saved as a string, so changing from
|
||||
|
@ -526,12 +566,12 @@ create table t1 (a bigint)
|
|||
partition by range (a)
|
||||
(partition p0 values less than (0xFFFFFFFFFFFFFFFF),
|
||||
partition p1 values less than (10));
|
||||
ERROR HY000: VALUES value must be of same type as partition function
|
||||
ERROR HY000: VALUES value for partition 'p0' must have type INT
|
||||
create table t1 (a bigint)
|
||||
partition by list (a)
|
||||
(partition p0 values in (0xFFFFFFFFFFFFFFFF),
|
||||
partition p1 values in (10));
|
||||
ERROR HY000: VALUES value must be of same type as partition function
|
||||
ERROR HY000: VALUES value for partition 'p0' must have type INT
|
||||
create table t1 (a bigint unsigned)
|
||||
partition by range (a)
|
||||
(partition p0 values less than (100),
|
||||
|
@ -1472,7 +1512,7 @@ NULL
|
|||
2
|
||||
explain partitions select * from t1 where a is null or a < 0 or a > 1;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 pn,p2 ALL NULL NULL NULL NULL 4 Using where
|
||||
1 SIMPLE t1 pn,p2 ALL NULL NULL NULL NULL 2 Using where
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, name VARCHAR(20))
|
||||
ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
|
|
|
@ -611,7 +611,7 @@ partition p1 values less than (3,3),
|
|||
partition p2 values less than (9,5));
|
||||
explain partitions select * from t1 where b < 2;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 7 Using where
|
||||
1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 5 Using where
|
||||
select * from t1 where b < 2;
|
||||
a b
|
||||
0 1
|
||||
|
@ -647,7 +647,7 @@ alter table t1 reorganize partition p2 into
|
|||
partition p22 values less than (9,5));
|
||||
explain partitions select * from t1 where b < 4;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p11,p12,p21 ALL NULL NULL NULL NULL 7 Using where
|
||||
1 SIMPLE t1 p0,p11,p12,p21 ALL NULL NULL NULL NULL 6 Using where
|
||||
select * from t1 where b < 4;
|
||||
a b
|
||||
0 1
|
||||
|
|
|
@ -59,8 +59,8 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 p01,p02,p03,p11 ALL NULL NULL NULL NULL 8 Using where
|
||||
explain partitions select * from t1 where a=4;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p11,p12,p13,p21 ALL NULL NULL NULL NULL 14 Using where
|
||||
1 SIMPLE t1 p11,p12,p13,p21 ALL NULL NULL NULL NULL 8 Using where
|
||||
explain partitions select * from t1 where a=2 and b < 22;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p01,p02,p03 ALL NULL NULL NULL NULL 14 Using where
|
||||
1 SIMPLE t1 p01,p02,p03 ALL NULL NULL NULL NULL 6 Using where
|
||||
drop table t1;
|
||||
|
|
|
@ -1,4 +1,125 @@
|
|||
drop table if exists t1;
|
||||
drop table if exists t1, t2;
|
||||
#
|
||||
# Bug#50036: Inconsistent errors when using TIMESTAMP
|
||||
# columns/expressions
|
||||
# 1. correct and appropriate errors in light of
|
||||
# the fix for BUG#42849:
|
||||
CREATE TABLE t1 (c TIMESTAMP)
|
||||
PARTITION BY RANGE (TO_DAYS(c))
|
||||
(PARTITION p0 VALUES LESS THAN (10000),
|
||||
PARTITION p1 VALUES LESS THAN (MAXVALUE));
|
||||
ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
|
||||
CREATE TABLE t2 (c TIMESTAMP);
|
||||
ALTER TABLE t2
|
||||
PARTITION BY RANGE (TO_DAYS(c))
|
||||
(PARTITION p0 VALUES LESS THAN (10000),
|
||||
PARTITION p1 VALUES LESS THAN (MAXVALUE));
|
||||
ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
|
||||
CREATE TABLE t1 (c TIMESTAMP)
|
||||
PARTITION BY RANGE COLUMNS(c)
|
||||
(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
|
||||
PARTITION p1 VALUES LESS THAN (MAXVALUE));
|
||||
ERROR HY000: Field 'c' is of a not allowed type for this type of partitioning
|
||||
ALTER TABLE t2 PARTITION BY RANGE COLUMNS(c)
|
||||
(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
|
||||
PARTITION p1 VALUES LESS THAN (MAXVALUE));
|
||||
ERROR HY000: Field 'c' is of a not allowed type for this type of partitioning
|
||||
DROP TABLE t2;
|
||||
# 2. These errors where questionable before the fix:
|
||||
# VALUES clause are checked first, clearified the error message.
|
||||
CREATE TABLE t1 (c TIMESTAMP)
|
||||
PARTITION BY RANGE (c)
|
||||
(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
|
||||
PARTITION p1 VALUES LESS THAN (MAXVALUE));
|
||||
ERROR HY000: VALUES value for partition 'p0' must have type INT
|
||||
# TIMESTAMP is not INT (e.g. UNIX_TIMESTAMP).
|
||||
CREATE TABLE t1 (c TIMESTAMP)
|
||||
PARTITION BY RANGE (UNIX_TIMESTAMP(c))
|
||||
(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
|
||||
PARTITION p1 VALUES LESS THAN (MAXVALUE));
|
||||
ERROR HY000: VALUES value for partition 'p0' must have type INT
|
||||
CREATE TABLE t1 (c TIMESTAMP)
|
||||
PARTITION BY RANGE (UNIX_TIMESTAMP(c))
|
||||
(PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')),
|
||||
PARTITION p1 VALUES LESS THAN (MAXVALUE));
|
||||
DROP TABLE t1;
|
||||
# Changed error from ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR
|
||||
CREATE TABLE t1 (c TIMESTAMP)
|
||||
PARTITION BY HASH (c) PARTITIONS 4;
|
||||
ERROR HY000: Field 'c' is of a not allowed type for this type of partitioning
|
||||
# Added test with existing TIMESTAMP partitioning (when it was allowed).
|
||||
CREATE TABLE t1 (a TIMESTAMP)
|
||||
PARTITION BY HASH (UNIX_TIMESTAMP(a));
|
||||
INSERT INTO t1 VALUES ('2000-01-02 03:04:05');
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2000-01-02 03:04:05
|
||||
FLUSH TABLES;
|
||||
# replacing t1.frm with TO_DAYS(a) which was allowed earlier.
|
||||
# Disable warnings, since the result would differ when running with
|
||||
# --ps-protocol (only for the 'SELECT * FROM t1' statement).
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2000-01-02 03:04:05
|
||||
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
|
||||
/*!50100 PARTITION BY HASH (TO_DAYS(a)) */
|
||||
INSERT INTO t1 VALUES ('2001-02-03 04:05:06');
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2000-01-02 03:04:05
|
||||
2001-02-03 04:05:06
|
||||
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
|
||||
Warnings:
|
||||
Warning 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
|
||||
ALTER TABLE t1
|
||||
PARTITION BY RANGE (TO_DAYS(a))
|
||||
(PARTITION p0 VALUES LESS THAN (10000),
|
||||
PARTITION p1 VALUES LESS THAN (MAXVALUE));
|
||||
ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
|
||||
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
|
||||
/*!50100 PARTITION BY HASH (TO_DAYS(a))
|
||||
PARTITIONS 3 */
|
||||
CREATE TABLE t2 LIKE t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY HASH (TO_DAYS(a))
|
||||
PARTITIONS 3 */
|
||||
Warnings:
|
||||
Warning 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
|
||||
DROP TABLE t2;
|
||||
CREATE TABLE t2 SELECT * FROM t1;
|
||||
DROP TABLE t2;
|
||||
ALTER TABLE t1 PARTITION BY HASH (UNIX_TIMESTAMP(a));
|
||||
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
|
||||
/*!50100 PARTITION BY HASH (UNIX_TIMESTAMP(a)) */
|
||||
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
|
||||
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
|
||||
/*!50100 PARTITION BY HASH (UNIX_TIMESTAMP(a))
|
||||
PARTITIONS 3 */
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2000-01-02 03:04:05
|
||||
2001-02-03 04:05:06
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#49161: Out of memory; restart server and try again (needed 2 bytes)
|
||||
#
|
||||
|
@ -497,7 +618,7 @@ partition by range (a)
|
|||
partitions 2
|
||||
(partition x1 values less than (4.0) tablespace ts1,
|
||||
partition x2 values less than (8) tablespace ts2);
|
||||
ERROR HY000: VALUES value must be of same type as partition function
|
||||
ERROR HY000: VALUES value for partition 'x1' must have type INT
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
|
@ -736,7 +857,7 @@ partition by list (a)
|
|||
partitions 2
|
||||
(partition x1 values in (4.0, 12+8),
|
||||
partition x2 values in (3, 21));
|
||||
ERROR HY000: VALUES value must be of same type as partition function
|
||||
ERROR HY000: VALUES value for partition 'x1' must have type INT
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
|
@ -796,12 +917,12 @@ CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY)
|
|||
PARTITION BY RANGE (a) (
|
||||
PARTITION p VALUES LESS THAN (20080819),
|
||||
PARTITION pmax VALUES LESS THAN MAXVALUE);
|
||||
ERROR HY000: The PARTITION function returns the wrong type
|
||||
ERROR HY000: Field 'a' is of a not allowed type for this type of partitioning
|
||||
ALTER TABLE old
|
||||
PARTITION BY RANGE (a) (
|
||||
PARTITION p VALUES LESS THAN (20080819),
|
||||
PARTITION pmax VALUES LESS THAN MAXVALUE);
|
||||
ERROR HY000: The PARTITION function returns the wrong type
|
||||
ERROR HY000: Field 'a' is of a not allowed type for this type of partitioning
|
||||
CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY)
|
||||
PARTITION BY RANGE (a+0) (
|
||||
PARTITION p VALUES LESS THAN (20080819),
|
||||
|
@ -1075,4 +1196,14 @@ PARTITION p VALUES LESS THAN (1219089600),
|
|||
PARTITION pmax VALUES LESS THAN MAXVALUE);
|
||||
ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
|
||||
DROP TABLE old;
|
||||
#
|
||||
# Bug #56709: Memory leaks at running the 5.1 test suite
|
||||
#
|
||||
CREATE TABLE t1 (a TIMESTAMP NOT NULL PRIMARY KEY);
|
||||
ALTER TABLE t1
|
||||
PARTITION BY RANGE (EXTRACT(DAY FROM a)) (
|
||||
PARTITION p VALUES LESS THAN (18),
|
||||
PARTITION pmax VALUES LESS THAN MAXVALUE);
|
||||
ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -69,31 +69,31 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where
|
||||
explain partitions select * from t1 where a is null or (a >= 5 and a <= 7);
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p2,p3 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p0,p2,p3 ALL NULL NULL NULL NULL 7 Using where
|
||||
explain partitions select * from t1 where a is null;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 3 Using where
|
||||
explain partitions select * from t1 where a is not null;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where
|
||||
explain partitions select * from t1 where a >= 1 and a < 3;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 5 Using where
|
||||
explain partitions select * from t1 where a >= 3 and a <= 5;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p1,p2 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p1,p2 ALL NULL NULL NULL NULL 4 Using where
|
||||
explain partitions select * from t1 where a > 2 and a < 4;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p1 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p1 ALL NULL NULL NULL NULL 2 Using where
|
||||
explain partitions select * from t1 where a > 3 and a <= 6;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p2,p3 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p2,p3 ALL NULL NULL NULL NULL 4 Using where
|
||||
explain partitions select * from t1 where a > 5;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where
|
||||
explain partitions select * from t1 where a >= 1 and a <= 5;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p1,p2 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p0,p1,p2 ALL NULL NULL NULL NULL 7 Using where
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
|
|
|
@ -120,31 +120,31 @@ insert INTO t1 VALUES (110);
|
|||
ERROR HY000: Table has no partition for value 110
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 90;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 0 Using where
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 90;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 0 Using where
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 90;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 0 Using where
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 89;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p90 ALL NULL NULL NULL NULL 7 Using where
|
||||
1 SIMPLE t1 p90 ALL NULL NULL NULL NULL 3 Using where
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 89;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p90 ALL NULL NULL NULL NULL 7 Using where
|
||||
1 SIMPLE t1 p90 ALL NULL NULL NULL NULL 3 Using where
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 89;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 0 Using where
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 100;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 0 Using where
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 100;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 0 Using where
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 100;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 0 Using where
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#50104: Partitioned table with just 1 partion works with fk
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -53,10 +53,10 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 4 Using where
|
||||
explain partitions select * from t1 where a <= '2007-03-07 23:59:59';
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 4 Using where
|
||||
1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 2 Using where
|
||||
explain partitions select * from t1 where a < '2007-03-07 23:59:59';
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 4 Using where
|
||||
1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 2 Using where
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
|
@ -203,13 +203,13 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 pnull system NULL NULL NULL NULL 1
|
||||
explain partitions select * from t1 where a >= 0;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 3 Using where
|
||||
1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 2 Using where
|
||||
explain partitions select * from t1 where a < 0;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
explain partitions select * from t1 where a <= 0;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 pnull,p0 ALL NULL NULL NULL NULL 3 Using where
|
||||
1 SIMPLE t1 pnull,p0 ALL NULL NULL NULL NULL 2 Using where
|
||||
explain partitions select * from t1 where a > 1;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
|
@ -242,16 +242,16 @@ select * from t1 where a > 1;
|
|||
a b
|
||||
explain partitions select * from t1 where a is null;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 6 Using where
|
||||
1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 2 Using where
|
||||
explain partitions select * from t1 where a >= 0;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0_p0sp0,p0_p0sp1,p1_p1sp0,p1_p1sp1 ALL NULL NULL NULL NULL 6 Using where
|
||||
1 SIMPLE t1 p0_p0sp0,p0_p0sp1,p1_p1sp0,p1_p1sp1 ALL NULL NULL NULL NULL 4 Using where
|
||||
explain partitions select * from t1 where a < 0;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 6 Using where
|
||||
1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 2 Using where
|
||||
explain partitions select * from t1 where a <= 0;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1,p0_p0sp0,p0_p0sp1 ALL NULL NULL NULL NULL 6 Using where
|
||||
1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1,p0_p0sp0,p0_p0sp1 ALL NULL NULL NULL NULL 4 Using where
|
||||
explain partitions select * from t1 where a > 1;
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
|
|
|
@ -1929,26 +1929,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||
|
@ -1976,26 +1976,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select
|
||||
|
@ -2026,26 +2026,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -2066,26 +2066,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||
|
@ -2114,26 +2114,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -2158,26 +2158,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -2204,26 +2204,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -2242,26 +2242,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||
|
|
|
@ -1912,26 +1912,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||
|
@ -1959,26 +1959,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select
|
||||
|
@ -2009,26 +2009,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -2049,26 +2049,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||
|
@ -2097,26 +2097,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -2141,26 +2141,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -2187,26 +2187,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -2225,26 +2225,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||
|
|
|
@ -1913,26 +1913,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 0 31 8
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 0 31 8
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 0 31 8
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 0 31 8
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 0 31 8
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 0 31 8
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 0 31 8
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 0 31 8
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||
|
@ -1960,26 +1960,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 0 31 8
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 0 31 8
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 0 31 8
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 0 31 8
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 0 31 8
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 0 31 8
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 0 31 8
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 0 31 8
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select
|
||||
|
@ -2010,26 +2010,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 0 31 8
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 0 31 8
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 0 31 8
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 0 31 8
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 0 31 8
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 0 31 8
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 0 31 8
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 0 31 8
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -2050,26 +2050,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 0 31 8
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 0 31 8
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 0 31 8
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 0 31 8
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 0 31 8
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 0 31 8
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 0 31 8
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 0 31 8
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||
|
@ -2098,26 +2098,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 0 31 8
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 0 31 8
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 0 31 8
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 0 31 8
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 0 31 8
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 0 31 8
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 0 31 8
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 0 31 8
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -2142,26 +2142,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 0 31 8
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 0 31 8
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 0 31 8
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 0 31 8
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 0 31 8
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 0 31 8
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 0 31 8
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 0 31 8
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -2188,26 +2188,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 0 31 8
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 0 31 8
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 0 31 8
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 0 31 8
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 0 31 8
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 0 31 8
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 0 31 8
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 0 31 8
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -2226,26 +2226,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 0 31 8
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 0 31 8
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 0 31 8
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 0 31 8
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 0 31 8
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 0 31 8
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 0 31 8
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 0 31 8
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||
|
|
|
@ -1849,26 +1849,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||
|
@ -1896,26 +1896,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select
|
||||
|
@ -1946,26 +1946,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -1986,26 +1986,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||
|
@ -2034,26 +2034,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -2078,26 +2078,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -2124,26 +2124,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -2162,26 +2162,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||
|
@ -4871,26 +4871,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||
|
@ -4918,26 +4918,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select
|
||||
|
@ -4968,26 +4968,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -5008,26 +5008,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||
|
@ -5056,26 +5056,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -5100,26 +5100,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||
|
@ -5146,26 +5146,26 @@ def @arg09 5 23 1 Y 32896 31 63
|
|||
def @arg10 5 23 1 Y 32896 31 63
|
||||
def @arg11 246 83 6 Y 32896 30 63
|
||||
def @arg12 246 83 6 Y 32896 30 63
|
||||
def @arg13 251 16777216 10 Y 0 31 8
|
||||
def @arg14 251 16777216 19 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 8 Y 0 31 8
|
||||
def @arg13 250 16777215 10 Y 0 31 8
|
||||
def @arg14 250 16777215 19 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 8 Y 0 31 8
|
||||
def @arg17 8 20 4 Y 32928 0 63
|
||||
def @arg18 8 20 1 Y 32896 0 63
|
||||
def @arg19 8 20 1 Y 32896 0 63
|
||||
def @arg20 251 16777216 1 Y 0 31 8
|
||||
def @arg21 251 16777216 10 Y 0 31 8
|
||||
def @arg22 251 16777216 30 Y 0 31 8
|
||||
def @arg23 251 16777216 8 Y 128 31 63
|
||||
def @arg24 251 16777216 8 Y 0 31 8
|
||||
def @arg25 251 16777216 4 Y 128 31 63
|
||||
def @arg26 251 16777216 4 Y 0 31 8
|
||||
def @arg27 251 16777216 10 Y 128 31 63
|
||||
def @arg28 251 16777216 10 Y 0 31 8
|
||||
def @arg29 251 16777216 8 Y 128 31 63
|
||||
def @arg30 251 16777216 8 Y 0 31 8
|
||||
def @arg31 251 16777216 3 Y 0 31 8
|
||||
def @arg32 251 16777216 6 Y 0 31 8
|
||||
def @arg20 250 16777215 1 Y 0 31 8
|
||||
def @arg21 250 16777215 10 Y 0 31 8
|
||||
def @arg22 250 16777215 30 Y 0 31 8
|
||||
def @arg23 250 16777215 8 Y 128 31 63
|
||||
def @arg24 250 16777215 8 Y 0 31 8
|
||||
def @arg25 250 16777215 4 Y 128 31 63
|
||||
def @arg26 250 16777215 4 Y 0 31 8
|
||||
def @arg27 250 16777215 10 Y 128 31 63
|
||||
def @arg28 250 16777215 10 Y 0 31 8
|
||||
def @arg29 250 16777215 8 Y 128 31 63
|
||||
def @arg30 250 16777215 8 Y 0 31 8
|
||||
def @arg31 250 16777215 3 Y 0 31 8
|
||||
def @arg32 250 16777215 6 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
set @my_key= 0 ;
|
||||
|
@ -5184,26 +5184,26 @@ def @arg09 5 23 0 Y 32896 31 63
|
|||
def @arg10 5 23 0 Y 32896 31 63
|
||||
def @arg11 246 83 0 Y 32896 30 63
|
||||
def @arg12 246 83 0 Y 32896 30 63
|
||||
def @arg13 251 16777216 0 Y 0 31 8
|
||||
def @arg14 251 16777216 0 Y 0 31 8
|
||||
def @arg15 251 16777216 19 Y 0 31 8
|
||||
def @arg16 251 16777216 0 Y 0 31 8
|
||||
def @arg13 250 16777215 0 Y 0 31 8
|
||||
def @arg14 250 16777215 0 Y 0 31 8
|
||||
def @arg15 250 16777215 19 Y 0 31 8
|
||||
def @arg16 250 16777215 0 Y 0 31 8
|
||||
def @arg17 8 20 0 Y 32928 0 63
|
||||
def @arg18 8 20 0 Y 32896 0 63
|
||||
def @arg19 8 20 0 Y 32896 0 63
|
||||
def @arg20 251 16777216 0 Y 0 31 8
|
||||
def @arg21 251 16777216 0 Y 0 31 8
|
||||
def @arg22 251 16777216 0 Y 0 31 8
|
||||
def @arg23 251 16777216 0 Y 128 31 63
|
||||
def @arg24 251 16777216 0 Y 0 31 8
|
||||
def @arg25 251 16777216 0 Y 128 31 63
|
||||
def @arg26 251 16777216 0 Y 0 31 8
|
||||
def @arg27 251 16777216 0 Y 128 31 63
|
||||
def @arg28 251 16777216 0 Y 0 31 8
|
||||
def @arg29 251 16777216 0 Y 128 31 63
|
||||
def @arg30 251 16777216 0 Y 0 31 8
|
||||
def @arg31 251 16777216 0 Y 0 31 8
|
||||
def @arg32 251 16777216 0 Y 0 31 8
|
||||
def @arg20 250 16777215 0 Y 0 31 8
|
||||
def @arg21 250 16777215 0 Y 0 31 8
|
||||
def @arg22 250 16777215 0 Y 0 31 8
|
||||
def @arg23 250 16777215 0 Y 128 31 63
|
||||
def @arg24 250 16777215 0 Y 0 31 8
|
||||
def @arg25 250 16777215 0 Y 128 31 63
|
||||
def @arg26 250 16777215 0 Y 0 31 8
|
||||
def @arg27 250 16777215 0 Y 128 31 63
|
||||
def @arg28 250 16777215 0 Y 0 31 8
|
||||
def @arg29 250 16777215 0 Y 128 31 63
|
||||
def @arg30 250 16777215 0 Y 0 31 8
|
||||
def @arg31 250 16777215 0 Y 0 31 8
|
||||
def @arg32 250 16777215 0 Y 0 31 8
|
||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||
|
|
|
@ -466,3 +466,26 @@ SELECT 1 FROM t1 WHERE ROW(a, b) >=
|
|||
ROW('1', (SELECT 1 FROM t1 WHERE a > 1234));
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #54190: Comparison to row subquery produces incorrect result
|
||||
#
|
||||
SELECT ROW(1,2) = (SELECT 1,2 FROM DUAL WHERE 1 = 0);
|
||||
ROW(1,2) = (SELECT 1,2 FROM DUAL WHERE 1 = 0)
|
||||
NULL
|
||||
SELECT ROW(1,2) = (SELECT 1,3 FROM DUAL WHERE 1 = 0);
|
||||
ROW(1,2) = (SELECT 1,3 FROM DUAL WHERE 1 = 0)
|
||||
NULL
|
||||
CREATE TABLE t1 (i INT);
|
||||
INSERT INTO t1 () VALUES (1), (2), (3);
|
||||
SELECT ROW(1,2) = (SELECT 1,2 FROM t1 WHERE 1 = 0);
|
||||
ROW(1,2) = (SELECT 1,2 FROM t1 WHERE 1 = 0)
|
||||
NULL
|
||||
SELECT ROW(1,2) = (SELECT 1,3 FROM t1 WHERE 1 = 0);
|
||||
ROW(1,2) = (SELECT 1,3 FROM t1 WHERE 1 = 0)
|
||||
NULL
|
||||
SELECT i FROM t1 WHERE ROW(1,2) = (SELECT 1,2 FROM DUAL WHERE 1 = 0);
|
||||
i
|
||||
SELECT i FROM t1 WHERE ROW(1,2) = (SELECT 1,3 FROM DUAL WHERE 1 = 0);
|
||||
i
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -4171,9 +4171,10 @@ str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01 00:00:00'
|
|||
set SQL_MODE=TRADITIONAL;
|
||||
select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
|
||||
str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34'
|
||||
0
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '2007-10-00 12:34'
|
||||
Warning 1411 Incorrect datetime value: '2007-10-00 12:34' for function str_to_date
|
||||
select str_to_date('2007-10-01 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
|
||||
str_to_date('2007-10-01 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34'
|
||||
0
|
||||
|
@ -4181,17 +4182,16 @@ Warnings:
|
|||
Warning 1292 Truncated incorrect datetime value: '2007-10-00 12:34'
|
||||
select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-01 12:34';
|
||||
str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-01 12:34'
|
||||
0
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '2007-10-00 12:34:00'
|
||||
Warning 1411 Incorrect datetime value: '2007-10-00 12:34' for function str_to_date
|
||||
select str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01'
|
||||
and '2007/10/20';
|
||||
str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01'
|
||||
and '2007/10/20'
|
||||
0
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2007-10-00' for column '2007/09/01' at row 1
|
||||
Warning 1292 Incorrect datetime value: '2007-10-00' for column '2007/10/20' at row 1
|
||||
Warning 1411 Incorrect datetime value: '2007-10-00' for function str_to_date
|
||||
set SQL_MODE=DEFAULT;
|
||||
select str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20';
|
||||
str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20'
|
||||
|
@ -4430,11 +4430,6 @@ SELECT 1 FROM t1 WHERE a <> 1 AND NOT
|
|||
ROW(1,a) <=> ROW(1,(SELECT 1 FROM t1))
|
||||
INTO @var0;
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
SELECT 1 FROM t1 WHERE a <> 1 AND NOT
|
||||
ROW(a,a) <=> ROW((SELECT 1 FROM t1 WHERE 1=2),(SELECT 1 FROM t1));
|
||||
1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #48458: simple query tries to allocate enormous amount of
|
||||
|
|
|
@ -206,12 +206,11 @@ INSERT INTO t1 (col1) VALUES (STR_TO_DATE('15.10.2004','%d.%m.%Y'));
|
|||
INSERT INTO t1 (col2) VALUES (STR_TO_DATE('15.10.2004 10.15','%d.%m.%Y %H.%i'));
|
||||
INSERT INTO t1 (col3) VALUES (STR_TO_DATE('15.10.2004 10.15','%d.%m.%Y %H.%i'));
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'col1' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '31.10.0000 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('31.0.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect date value: '2004-00-31 15:30:00' for column 'col1' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '31.0.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('0.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect date value: '2004-10-00 15:30:00' for column 'col1' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '0.10.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect date value: '2004-09-31 15:30:00' for column 'col1' at row 1
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
|
@ -221,12 +220,13 @@ ERROR 22007: Incorrect date value: '2003-02-29 15:30:00' for column 'col1' at ro
|
|||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
|
||||
ERROR 22007: Incorrect date value: '0000-00-00' for column 'col1' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '00.00.0000' for function str_to_date
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '31.10.0000 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.0.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2004-00-31 15:30:00' for column 'col2' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '31.0.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('0.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col2' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '0.10.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2004-09-31 15:30:00' for column 'col2' at row 1
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
|
@ -236,13 +236,13 @@ ERROR 22007: Incorrect datetime value: '2003-02-29 15:30:00' for column 'col2' a
|
|||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
|
||||
ERROR 22007: Incorrect datetime value: '0000-00-00' for column 'col2' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '00.00.0000' for function str_to_date
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '0000-10-31 15:30:00' for column 'col3' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '31.10.0000 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.0.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2004-00-31 15:30:00' for column 'col3' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '31.0.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('0.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col3' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '0.10.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2004-09-31 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
|
@ -252,7 +252,7 @@ ERROR 22007: Incorrect datetime value: '2003-02-29 15:30:00' for column 'col3' a
|
|||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
|
||||
ERROR 22007: Incorrect datetime value: '0000-00-00' for column 'col3' at row 1
|
||||
ERROR HY000: Incorrect datetime value: '00.00.0000' for function str_to_date
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (col1 date, col2 datetime, col3 timestamp);
|
||||
INSERT INTO t1 (col1) VALUES (CAST('2004-10-15' AS DATE));
|
||||
|
@ -1108,6 +1108,9 @@ Warnings:
|
|||
Warning 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
Warning 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
Warning 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
Warning 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
Warning 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
Warning 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
drop table t1;
|
||||
create table t1 (col1 char(3), col2 integer);
|
||||
insert into t1 (col1) values (cast(1000 as char(3)));
|
||||
|
|
|
@ -922,7 +922,7 @@ select a, (select a,b,c from t1 where t1.a=t2.a) = ROW(a,2,'a'),(select c from t
|
|||
a (select a,b,c from t1 where t1.a=t2.a) = ROW(a,2,'a') (select c from t1 where a=t2.a)
|
||||
1 1 a
|
||||
2 0 b
|
||||
NULL 0 NULL
|
||||
NULL NULL NULL
|
||||
select a, (select a,b,c from t1 where t1.a=t2.a) = ROW(a,3,'b'),(select c from t1 where a=t2.a) from t2;
|
||||
a (select a,b,c from t1 where t1.a=t2.a) = ROW(a,3,'b') (select c from t1 where a=t2.a)
|
||||
1 0 a
|
||||
|
@ -932,7 +932,7 @@ select a, (select a,b,c from t1 where t1.a=t2.a) = ROW(a,4,'c'),(select c from t
|
|||
a (select a,b,c from t1 where t1.a=t2.a) = ROW(a,4,'c') (select c from t1 where a=t2.a)
|
||||
1 0 a
|
||||
2 0 b
|
||||
NULL 0 NULL
|
||||
NULL NULL NULL
|
||||
drop table t1,t2;
|
||||
create table t1 (a int, b real, c varchar(10));
|
||||
insert into t1 values (1, 1, 'a'), (2,2,'b'), (NULL, 2, 'b');
|
||||
|
|
|
@ -77,6 +77,92 @@ Note 1249 Select 2 was reduced during optimization
|
|||
CREATE VIEW v1 AS SELECT 1 LIKE ( 1 IN ( SELECT 1 ) );
|
||||
CREATE VIEW v2 AS SELECT 1 LIKE '%' ESCAPE ( 1 IN ( SELECT 1 ) );
|
||||
DROP VIEW v1, v2;
|
||||
#
|
||||
# Bug#51070: Query with a NOT IN subquery predicate returns a wrong
|
||||
# result set
|
||||
#
|
||||
CREATE TABLE t1 ( a INT, b INT );
|
||||
INSERT INTO t1 VALUES ( 1, NULL ), ( 2, NULL );
|
||||
CREATE TABLE t2 ( c INT, d INT );
|
||||
INSERT INTO t2 VALUES ( NULL, 3 ), ( NULL, 4 );
|
||||
CREATE TABLE t3 ( e INT, f INT );
|
||||
INSERT INTO t3 VALUES ( NULL, NULL ), ( NULL, NULL );
|
||||
CREATE TABLE t4 ( a INT );
|
||||
INSERT INTO t4 VALUES (1), (2), (3);
|
||||
CREATE TABLE t5 ( a INT );
|
||||
INSERT INTO t5 VALUES (NULL), (2);
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE ( a, b ) NOT IN ( SELECT c, d FROM t2 );
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
x PRIMARY x x x x x x x x
|
||||
x DEPENDENT SUBQUERY x x x x x x x x
|
||||
SELECT * FROM t1 WHERE ( a, b ) NOT IN ( SELECT c, d FROM t2 );
|
||||
a b
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE ( a, b ) NOT IN ( SELECT c, d FROM t2 ) IS NULL;
|
||||
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 t2 ALL NULL NULL NULL NULL 2 Using where
|
||||
SELECT * FROM t1 WHERE ( a, b ) NOT IN ( SELECT c, d FROM t2 ) IS NULL;
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
SELECT * FROM t1 WHERE ( a, b ) IN ( SELECT c, d FROM t2 ) IS NULL;
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
SELECT * FROM t1 WHERE ( a, b ) NOT IN ( SELECT c, d FROM t2 ) IS UNKNOWN;
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
SELECT * FROM t1 WHERE (( a, b ) NOT IN ( SELECT c, d FROM t2 )) IS UNKNOWN;
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
SELECT * FROM t1 WHERE 1 = 1 AND ( a, b ) NOT IN ( SELECT c, d FROM t2 );
|
||||
a b
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE ( a, b ) NOT IN ( SELECT e, f FROM t3 );
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
x PRIMARY x x x x x x x x
|
||||
x DEPENDENT SUBQUERY x x x x x x x x
|
||||
SELECT * FROM t1 WHERE ( a, b ) NOT IN ( SELECT e, f FROM t3 );
|
||||
a b
|
||||
EXPLAIN
|
||||
SELECT * FROM t2 WHERE ( c, d ) NOT IN ( SELECT a, b FROM t1 );
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
x PRIMARY x x x x x x x x
|
||||
x DEPENDENT SUBQUERY x x x x x x x x
|
||||
SELECT * FROM t2 WHERE ( c, d ) NOT IN ( SELECT a, b FROM t1 );
|
||||
c d
|
||||
EXPLAIN
|
||||
SELECT * FROM t3 WHERE ( e, f ) NOT IN ( SELECT c, d FROM t2 );
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
x PRIMARY x x x x x x x x
|
||||
x DEPENDENT SUBQUERY x x x x x x x x
|
||||
SELECT * FROM t3 WHERE ( e, f ) NOT IN ( SELECT c, d FROM t2 );
|
||||
e f
|
||||
EXPLAIN
|
||||
SELECT * FROM t2 WHERE ( c, d ) NOT IN ( SELECT e, f FROM t3 );
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
x PRIMARY x x x x x x x x
|
||||
x DEPENDENT SUBQUERY x x x x x x x x
|
||||
SELECT * FROM t2 WHERE ( c, d ) NOT IN ( SELECT e, f FROM t3 );
|
||||
c d
|
||||
SELECT * FROM t1 WHERE ( a, b ) NOT IN
|
||||
( SELECT c, d FROM t2 WHERE c = 1 AND c <> 1 );
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
SELECT * FROM t1 WHERE b NOT IN ( SELECT c FROM t2 WHERE c = 1 );
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
SELECT * FROM t1 WHERE NULL NOT IN ( SELECT c FROM t2 WHERE c = 1 AND c <> 1 );
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
DROP TABLE t1, t2, t3, t4, t5;
|
||||
#
|
||||
# End of 5.1 tests.
|
||||
#
|
||||
|
|
|
@ -296,4 +296,16 @@ CONVERT_TZ(NOW(), 'UTC', 'Europe/Moscow') IS NULL
|
|||
UPDATE t1 SET t = CONVERT_TZ(t, 'UTC', 'Europe/Moscow');
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #55424: convert_tz crashes when fed invalid data
|
||||
#
|
||||
CREATE TABLE t1 (a SET('x') NOT NULL);
|
||||
INSERT INTO t1 VALUES ('');
|
||||
SELECT CONVERT_TZ(1, a, 1) FROM t1;
|
||||
CONVERT_TZ(1, a, 1)
|
||||
NULL
|
||||
SELECT CONVERT_TZ(1, 1, a) FROM t1;
|
||||
CONVERT_TZ(1, 1, a)
|
||||
NULL
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -472,4 +472,25 @@ SHOW CREATE TRIGGER db1.trg;
|
|||
ERROR 42000: Access denied; you need (at least one of) the TRIGGER privilege(s) for this operation
|
||||
DROP USER 'no_rights'@'localhost';
|
||||
DROP DATABASE db1;
|
||||
DROP DATABASE IF EXISTS mysqltest_db1;
|
||||
CREATE DATABASE mysqltest_db1;
|
||||
USE mysqltest_db1;
|
||||
GRANT ALL ON mysqltest_db1.* TO mysqltest_u1@localhost;
|
||||
CREATE TABLE t1 (
|
||||
a1 int,
|
||||
a2 int
|
||||
);
|
||||
INSERT INTO t1 VALUES (1, 20);
|
||||
CREATE TRIGGER mysqltest_db1.upd_t1
|
||||
BEFORE UPDATE ON t1 FOR EACH ROW SET new.a2 = 200;
|
||||
CREATE TABLE t2 (
|
||||
a1 int
|
||||
);
|
||||
INSERT INTO t2 VALUES (2);
|
||||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysqltest_u1@localhost;
|
||||
UPDATE IGNORE t1, t2 SET t1.a1 = 2, t2.a1 = 3 WHERE t1.a1 = 1 AND t2.a1 = 2;
|
||||
ERROR 42000: TRIGGER command denied to user 'mysqltest_u1'@'localhost' for table 't1'
|
||||
DROP DATABASE mysqltest_db1;
|
||||
DROP USER mysqltest_u1@localhost;
|
||||
USE test;
|
||||
End of 5.1 tests.
|
||||
|
|
|
@ -655,5 +655,30 @@ Note 1003 select `test`.`t1`.`Id` AS `Id`,`test`.`t1`.`AtTime` AS `AtTime` from
|
|||
DROP TABLE t1;
|
||||
SET NAMES latin1;
|
||||
#
|
||||
# Bug#56271: Wrong comparison result with STR_TO_DATE function
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
`year` int(4) NOT NULL,
|
||||
`month` int(2) NOT NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES (2010,3),(2010,4),(2009,8),(2008,9);
|
||||
SELECT *
|
||||
FROM t1
|
||||
WHERE STR_TO_DATE(CONCAT_WS('/01/',`month`,`year`), '%m/%d/%Y') >=
|
||||
STR_TO_DATE('1/1/2010', '%m/%d/%Y');
|
||||
year month
|
||||
2010 3
|
||||
2010 4
|
||||
create table t2(f1 datetime primary key);
|
||||
insert into t2 select STR_TO_DATE(CONCAT_WS('/01/',`month`,`year`), '%m/%d/%Y') from t1;
|
||||
select * from t2 where f1=STR_TO_DATE('4/1/2010', '%m/%d/%Y');
|
||||
f1
|
||||
2010-04-01 00:00:00
|
||||
t2 should be const
|
||||
explain select * from t2 where f1=STR_TO_DATE('4/1/2010', '%m/%d/%Y');
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 const PRIMARY PRIMARY 8 const 1 Using index
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
|
|
@ -1908,4 +1908,16 @@ group by PAY.id + 1;
|
|||
mult v_net_with_discount v_total
|
||||
1.0000 27.18 27.180000
|
||||
DROP TABLE currencies, payments, sub_tasks;
|
||||
#
|
||||
# BUG#52171: distinct aggregates on unsigned decimal fields trigger assertions
|
||||
#
|
||||
CREATE TABLE t1 (a DECIMAL(4,4) UNSIGNED);
|
||||
INSERT INTO t1 VALUES (0);
|
||||
SELECT AVG(DISTINCT a) FROM t1;
|
||||
AVG(DISTINCT a)
|
||||
0.00000000
|
||||
SELECT SUM(DISTINCT a) FROM t1;
|
||||
SUM(DISTINCT a)
|
||||
0.0000
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -503,6 +503,27 @@ f1 f2-f3
|
|||
5 0
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
#
|
||||
# Bug #55779: select does not work properly in mysql server
|
||||
# Version "5.1.42 SUSE MySQL RPM"
|
||||
#
|
||||
CREATE TABLE t1 (a TIMESTAMP, KEY (a));
|
||||
INSERT INTO t1 VALUES ('2000-01-01 00:00:00'), ('2000-01-01 00:00:00'),
|
||||
('2000-01-01 00:00:01'), ('2000-01-01 00:00:01');
|
||||
SELECT a FROM t1 WHERE a >= 20000101000000;
|
||||
a
|
||||
2000-01-01 00:00:00
|
||||
2000-01-01 00:00:00
|
||||
2000-01-01 00:00:01
|
||||
2000-01-01 00:00:01
|
||||
SELECT a FROM t1 WHERE a >= '20000101000000';
|
||||
a
|
||||
2000-01-01 00:00:00
|
||||
2000-01-01 00:00:00
|
||||
2000-01-01 00:00:01
|
||||
2000-01-01 00:00:01
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
||||
Bug#50888 valgrind warnings in Field_timestamp::val_str
|
||||
|
||||
|
|
|
@ -428,6 +428,23 @@ CREATE TRIGGER t_after_insert AFTER INSERT ON t1 FOR EACH ROW SET @bug42188 = 10
|
|||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES (0),(0);
|
||||
# BUG#55615 : should not crash
|
||||
SELECT (@a:=(SELECT @a:=1 FROM t1 LIMIT 1)) AND COUNT(1) FROM t1 GROUP BY @a;
|
||||
(@a:=(SELECT @a:=1 FROM t1 LIMIT 1)) AND COUNT(1)
|
||||
1
|
||||
1
|
||||
# BUG#55564 : should not crash
|
||||
SELECT IF(
|
||||
@v:=LEAST((SELECT 1 FROM t1 t2 LEFT JOIN t1 ON (@v) GROUP BY t1.a), a),
|
||||
count(*), 1)
|
||||
FROM t1 GROUP BY a LIMIT 1;
|
||||
IF(
|
||||
@v:=LEAST((SELECT 1 FROM t1 t2 LEFT JOIN t1 ON (@v) GROUP BY t1.a), a),
|
||||
count(*), 1)
|
||||
1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(f1 INT AUTO_INCREMENT, PRIMARY KEY(f1));
|
||||
|
|
|
@ -31,4 +31,61 @@ SELECT @@global.debug;
|
|||
@@global.debug
|
||||
|
||||
SET GLOBAL debug=@old_debug;
|
||||
#
|
||||
# Bug #56709: Memory leaks at running the 5.1 test suite
|
||||
#
|
||||
SET @old_local_debug = @@debug;
|
||||
SET @@debug='d,foo';
|
||||
SELECT @@debug;
|
||||
@@debug
|
||||
d,foo
|
||||
SET @@debug='';
|
||||
SELECT @@debug;
|
||||
@@debug
|
||||
|
||||
SET @@debug = @old_local_debug;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug#46165 server crash in dbug
|
||||
#
|
||||
SET @old_globaldebug = @@global.debug;
|
||||
SET @old_sessiondebug= @@session.debug;
|
||||
# Test 1 - Bug test case, single connection
|
||||
SET GLOBAL debug= '+O,../../log/bug46165.1.trace';
|
||||
SET SESSION debug= '-d:-t:-i';
|
||||
SET GLOBAL debug= '';
|
||||
SET SESSION debug= '';
|
||||
# Test 2 - Bug test case, two connections
|
||||
# Connection default
|
||||
SET GLOBAL debug= '+O,../../log/bug46165.2.trace';
|
||||
SET SESSION debug= '-d:-t:-i';
|
||||
# Connection con1
|
||||
SET GLOBAL debug= '';
|
||||
# Connection default
|
||||
SET SESSION debug= '';
|
||||
# Connection con1
|
||||
# Connection default
|
||||
SET GLOBAL debug= '';
|
||||
# Test 3 - Active session trace file on disconnect
|
||||
# Connection con1
|
||||
SET GLOBAL debug= '+O,../../log/bug46165.3.trace';
|
||||
SET SESSION debug= '-d:-t:-i';
|
||||
SET GLOBAL debug= '';
|
||||
# Test 4 - Active session trace file on two connections
|
||||
# Connection default
|
||||
SET GLOBAL debug= '+O,../../log/bug46165.4.trace';
|
||||
SET SESSION debug= '-d:-t:-i';
|
||||
# Connection con1
|
||||
SET SESSION debug= '-d:-t:-i';
|
||||
SET GLOBAL debug= '';
|
||||
SET SESSION debug= '';
|
||||
# Connection default
|
||||
SET SESSION debug= '';
|
||||
# Connection con1
|
||||
# Connection default
|
||||
# Test 5 - Different trace files
|
||||
SET SESSION debug= '+O,../../log/bug46165.5.trace';
|
||||
SET SESSION debug= '+O,../../log/bug46165.6.trace';
|
||||
SET SESSION debug= '-O';
|
||||
SET GLOBAL debug= @old_globaldebug;
|
||||
SET SESSION debug= @old_sessiondebug;
|
||||
|
|
|
@ -131,3 +131,14 @@ XA START 'xid1';
|
|||
XA END 'xid1';
|
||||
XA ROLLBACK 'xid1';
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#56448 Assertion failed: ! is_set() with second xa end
|
||||
#
|
||||
XA START 'x';
|
||||
XA END 'x';
|
||||
XA END 'x';
|
||||
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
|
||||
XA PREPARE 'x';
|
||||
XA PREPARE 'x';
|
||||
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
|
||||
XA ROLLBACK 'x';
|
||||
|
|
BIN
mysql-test/std_data/parts/t1TIMESTAMP.frm
Normal file
BIN
mysql-test/std_data/parts/t1TIMESTAMP.frm
Normal file
Binary file not shown.
|
@ -1267,8 +1267,9 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
|
|||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; FLUSH TABLES
|
||||
insert delayed into t1 values (null),(null),(null),(null);
|
||||
insert delayed into t1 values (null),(null),(400),(null);
|
||||
RESET MASTER;
|
||||
insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
|
||||
insert /*! delayed */ into t1 values (null),(null),(400),(null);
|
||||
select * from t1;
|
||||
a
|
||||
207
|
||||
|
|
|
@ -53,10 +53,10 @@ master-bin.000001 # Query # # COMMIT
|
|||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # SAVEPOINT my_savepoint
|
||||
master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # ROLLBACK TO my_savepoint
|
||||
master-bin.000001 # Query # # ROLLBACK TO `my_savepoint`
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
|
@ -84,10 +84,10 @@ master-bin.000001 # Query # # COMMIT
|
|||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # SAVEPOINT my_savepoint
|
||||
master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # ROLLBACK TO my_savepoint
|
||||
master-bin.000001 # Query # # ROLLBACK TO `my_savepoint`
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
|
|
@ -20,12 +20,21 @@ master-bin.000001 # Query # # BEGIN
|
|||
master-bin.000001 # Query # # use `test`; insert delayed into t1 values (300)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; FLUSH TABLES
|
||||
insert delayed into t1 values (null),(null),(null),(null);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
insert delayed into t1 values (null),(null),(400),(null);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
RESET MASTER;
|
||||
insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
|
||||
insert /*! delayed */ into t1 values (null),(null),(400),(null);
|
||||
FLUSH TABLES;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Intvar # # INSERT_ID=301
|
||||
master-bin.000001 # Query # # use `test`; insert /* before delayed */ /* after delayed */ into t1 values (null),(null),(null),(null)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Intvar # # INSERT_ID=305
|
||||
master-bin.000001 # Query # # use `test`; insert /*! */ into t1 values (null),(null),(400),(null)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; FLUSH TABLES
|
||||
select * from t1;
|
||||
a
|
||||
207
|
||||
|
|
|
@ -758,8 +758,9 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
|
|||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; FLUSH TABLES
|
||||
insert delayed into t1 values (null),(null),(null),(null);
|
||||
insert delayed into t1 values (null),(null),(400),(null);
|
||||
RESET MASTER;
|
||||
insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
|
||||
insert /*! delayed */ into t1 values (null),(null),(400),(null);
|
||||
select * from t1;
|
||||
a
|
||||
207
|
||||
|
|
|
@ -51,10 +51,10 @@ show binlog events from <binlog_start>;
|
|||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(3)
|
||||
master-bin.000001 # Query # # SAVEPOINT my_savepoint
|
||||
master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(4)
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # ROLLBACK TO my_savepoint
|
||||
master-bin.000001 # Query # # ROLLBACK TO `my_savepoint`
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
|
@ -79,10 +79,10 @@ show binlog events from <binlog_start>;
|
|||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(5)
|
||||
master-bin.000001 # Query # # SAVEPOINT my_savepoint
|
||||
master-bin.000001 # Query # # SAVEPOINT `my_savepoint`
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(6)
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # ROLLBACK TO my_savepoint
|
||||
master-bin.000001 # Query # # ROLLBACK TO `my_savepoint`
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(7)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
|
|
|
@ -862,65 +862,51 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
|
|||
* Invoke statement so that return value is dicarded: expect no warning.
|
||||
SELECT * FROM data_table LIMIT 1;
|
||||
|
||||
==== Testing INSERT DELAYED unsafeness ====
|
||||
==== Testing INSERT DELAYED safeness after BUG#54579 is fixed ====
|
||||
|
||||
Invoking function func_sidef_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT DELAYED INTO t0 VALUES (1), (2); RETURN 0; END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO t1 SELECT func_sidef_1();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
|
||||
Invoking function func_sidef_2 invoking function func_sidef_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO t2 SELECT func_sidef_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP FUNCTION func_sidef_2;
|
||||
|
||||
Invoking procedure proc_2 invoking function func_sidef_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
CALL proc_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP PROCEDURE proc_2;
|
||||
|
||||
Invoking trigger trig_2 invoking function func_sidef_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO trigger_table_2 VALUES (1);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP TRIGGER trig_2;
|
||||
|
||||
Invoking view view_sidef_2 invoking function func_sidef_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE VIEW view_sidef_2 AS SELECT func_sidef_1();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO t2 SELECT * FROM view_sidef_2;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP VIEW view_sidef_2;
|
||||
|
||||
Invoking prepared statement prep_2 invoking function func_sidef_1 invoking unsafe INSERT DELAYED statement.
|
||||
PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()";
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
EXECUTE prep_2;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP PREPARE prep_2;
|
||||
|
@ -928,49 +914,39 @@ DROP FUNCTION func_sidef_1;
|
|||
|
||||
Invoking procedure proc_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE PROCEDURE proc_1() BEGIN INSERT DELAYED INTO t0 VALUES (1), (2); INSERT INTO ta1 VALUES (47); END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
CALL proc_1();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
|
||||
Invoking function func_sidef_2 invoking procedure proc_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO t2 SELECT func_sidef_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP FUNCTION func_sidef_2;
|
||||
|
||||
Invoking procedure proc_2 invoking procedure proc_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
CALL proc_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP PROCEDURE proc_2;
|
||||
|
||||
Invoking trigger trig_2 invoking procedure proc_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO trigger_table_2 VALUES (1);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP TRIGGER trig_2;
|
||||
|
||||
Invoking prepared statement prep_2 invoking procedure proc_1 invoking unsafe INSERT DELAYED statement.
|
||||
PREPARE prep_2 FROM "CALL proc_1()";
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
EXECUTE prep_2;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP PREPARE prep_2;
|
||||
|
@ -978,49 +954,39 @@ DROP PROCEDURE proc_1;
|
|||
|
||||
Invoking trigger trig_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT DELAYED INTO t0 VALUES (1), (2); END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO trigger_table_1 VALUES (1);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
|
||||
Invoking function func_sidef_2 invoking trigger trig_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO t2 SELECT func_sidef_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP FUNCTION func_sidef_2;
|
||||
|
||||
Invoking procedure proc_2 invoking trigger trig_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
CALL proc_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP PROCEDURE proc_2;
|
||||
|
||||
Invoking trigger trig_2 invoking trigger trig_1 invoking unsafe INSERT DELAYED statement.
|
||||
CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END;
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT INTO trigger_table_2 VALUES (1);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP TRIGGER trig_2;
|
||||
|
||||
Invoking prepared statement prep_2 invoking trigger trig_1 invoking unsafe INSERT DELAYED statement.
|
||||
PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)";
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
EXECUTE prep_2;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP PREPARE prep_2;
|
||||
|
@ -1028,19 +994,15 @@ DROP TRIGGER trig_1;
|
|||
|
||||
Invoking prepared statement prep_1 invoking unsafe INSERT DELAYED statement.
|
||||
PREPARE prep_1 FROM "INSERT DELAYED INTO t0 VALUES (1), (2)";
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
EXECUTE prep_1;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
DROP PREPARE prep_1;
|
||||
|
||||
Invoking unsafe INSERT DELAYED statement.
|
||||
* binlog_format = STATEMENT: expect 1 warnings.
|
||||
* binlog_format = STATEMENT: expect 0 warnings.
|
||||
INSERT DELAYED INTO t0 VALUES (1), (2);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
* SQL_LOG_BIN = 0: expect nothing logged and no warning.
|
||||
* binlog_format = MIXED: expect row events in binlog and no warning.
|
||||
|
||||
|
@ -1798,11 +1760,10 @@ SELECT COUNT(*) FROM mysql.general_log;
|
|||
|
||||
Invoking function func_sidef_1 invoking statement that is unsafe in many ways.
|
||||
CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT DELAYED INTO double_autoinc_table SELECT CONCAT(UUID(), @@hostname, myfunc_int(), NULL) FROM mysql.general_log LIMIT 1; RETURN 0; END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO t1 SELECT func_sidef_1();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1813,11 +1774,10 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
|
|||
|
||||
Invoking function func_sidef_2 invoking function func_sidef_1 invoking statement that is unsafe in many ways.
|
||||
CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO t2 SELECT func_sidef_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1829,11 +1789,10 @@ DROP FUNCTION func_sidef_2;
|
|||
|
||||
Invoking procedure proc_2 invoking function func_sidef_1 invoking statement that is unsafe in many ways.
|
||||
CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
CALL proc_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1845,11 +1804,10 @@ DROP PROCEDURE proc_2;
|
|||
|
||||
Invoking trigger trig_2 invoking function func_sidef_1 invoking statement that is unsafe in many ways.
|
||||
CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO trigger_table_2 VALUES (1);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1863,17 +1821,15 @@ Invoking view view_sidef_2 invoking function func_sidef_1 invoking statement tha
|
|||
CREATE VIEW view_sidef_2 AS SELECT func_sidef_1();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO t2 SELECT * FROM view_sidef_2;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1885,11 +1841,10 @@ DROP VIEW view_sidef_2;
|
|||
|
||||
Invoking prepared statement prep_2 invoking function func_sidef_1 invoking statement that is unsafe in many ways.
|
||||
PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()";
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
EXECUTE prep_2;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1902,11 +1857,10 @@ DROP FUNCTION func_sidef_1;
|
|||
|
||||
Invoking procedure proc_1 invoking statement that is unsafe in many ways.
|
||||
CREATE PROCEDURE proc_1() BEGIN INSERT DELAYED INTO double_autoinc_table SELECT CONCAT(UUID(), @@hostname, myfunc_int(), NULL) FROM mysql.general_log LIMIT 1; INSERT INTO ta1 VALUES (47); END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
CALL proc_1();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1917,11 +1871,10 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
|
|||
|
||||
Invoking function func_sidef_2 invoking procedure proc_1 invoking statement that is unsafe in many ways.
|
||||
CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO t2 SELECT func_sidef_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1933,11 +1886,10 @@ DROP FUNCTION func_sidef_2;
|
|||
|
||||
Invoking procedure proc_2 invoking procedure proc_1 invoking statement that is unsafe in many ways.
|
||||
CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
CALL proc_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1949,11 +1901,10 @@ DROP PROCEDURE proc_2;
|
|||
|
||||
Invoking trigger trig_2 invoking procedure proc_1 invoking statement that is unsafe in many ways.
|
||||
CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO trigger_table_2 VALUES (1);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1965,11 +1916,10 @@ DROP TRIGGER trig_2;
|
|||
|
||||
Invoking prepared statement prep_2 invoking procedure proc_1 invoking statement that is unsafe in many ways.
|
||||
PREPARE prep_2 FROM "CALL proc_1()";
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
EXECUTE prep_2;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1982,11 +1932,10 @@ DROP PROCEDURE proc_1;
|
|||
|
||||
Invoking trigger trig_1 invoking statement that is unsafe in many ways.
|
||||
CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT DELAYED INTO double_autoinc_table SELECT CONCAT(UUID(), @@hostname, myfunc_int(), NULL) FROM mysql.general_log LIMIT 1; END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO trigger_table_1 VALUES (1);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -1997,11 +1946,10 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
|
|||
|
||||
Invoking function func_sidef_2 invoking trigger trig_1 invoking statement that is unsafe in many ways.
|
||||
CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO t2 SELECT func_sidef_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -2013,11 +1961,10 @@ DROP FUNCTION func_sidef_2;
|
|||
|
||||
Invoking procedure proc_2 invoking trigger trig_1 invoking statement that is unsafe in many ways.
|
||||
CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
CALL proc_2();
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -2029,11 +1976,10 @@ DROP PROCEDURE proc_2;
|
|||
|
||||
Invoking trigger trig_2 invoking trigger trig_1 invoking statement that is unsafe in many ways.
|
||||
CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END;
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT INTO trigger_table_2 VALUES (1);
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -2045,11 +1991,10 @@ DROP TRIGGER trig_2;
|
|||
|
||||
Invoking prepared statement prep_2 invoking trigger trig_1 invoking statement that is unsafe in many ways.
|
||||
PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)";
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
EXECUTE prep_2;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -2062,11 +2007,10 @@ DROP TRIGGER trig_1;
|
|||
|
||||
Invoking prepared statement prep_1 invoking statement that is unsafe in many ways.
|
||||
PREPARE prep_1 FROM "INSERT DELAYED INTO double_autoinc_table SELECT CONCAT(UUID(), @@hostname, myfunc_int(), NULL) FROM mysql.general_log LIMIT 1";
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
EXECUTE prep_1;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -2077,11 +2021,10 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
|
|||
DROP PREPARE prep_1;
|
||||
|
||||
Invoking statement that is unsafe in many ways.
|
||||
* binlog_format = STATEMENT: expect 7 warnings.
|
||||
* binlog_format = STATEMENT: expect 6 warnings.
|
||||
INSERT DELAYED INTO double_autoinc_table SELECT CONCAT(UUID(), @@hostname, myfunc_int(), NULL) FROM mysql.general_log LIMIT 1;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses INSERT DELAYED. This is unsafe because the times when rows are inserted cannot be predicted.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave.
|
||||
|
@ -2554,8 +2497,7 @@ func_limit()
|
|||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; INSERT DELAYED INTO t1 VALUES (1), (2)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
|
|
|
@ -179,13 +179,13 @@ while (`SELECT $unsafe_type < 9`) {
|
|||
}
|
||||
|
||||
if (`SELECT $unsafe_type = 3`) {
|
||||
--echo ==== Testing INSERT DELAYED unsafeness ====
|
||||
--echo ==== Testing INSERT DELAYED safeness after BUG#54579 is fixed ====
|
||||
--let $desc_0= unsafe INSERT DELAYED statement
|
||||
--let $stmt_sidef_0= INSERT DELAYED INTO t0 VALUES (1), (2)
|
||||
--let $value_0=
|
||||
--let $sel_sidef_0=
|
||||
--let $sel_retval_0=
|
||||
--let $CRC_ARG_expected_number_of_warnings= 1
|
||||
--let $CRC_ARG_expected_number_of_warnings= 0
|
||||
}
|
||||
|
||||
if (`SELECT $unsafe_type = 4`) {
|
||||
|
@ -227,7 +227,7 @@ while (`SELECT $unsafe_type < 9`) {
|
|||
--let $value_0=
|
||||
--let $sel_sidef_0=
|
||||
--let $sel_retval_0=
|
||||
--let $CRC_ARG_expected_number_of_warnings= 7
|
||||
--let $CRC_ARG_expected_number_of_warnings= 6
|
||||
}
|
||||
|
||||
if (`SELECT $unsafe_type = 8`) {
|
||||
|
|
|
@ -1244,3 +1244,16 @@ t1 CREATE TABLE `t1` (
|
|||
PRIMARY KEY (`c1`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
CREATE TABLE t1(c1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (18446744073709551615);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`c1`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=18446744073709551615 DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -1,110 +0,0 @@
|
|||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
|
||||
TABLE_ID NAME FLAG N_COLS SPACE
|
||||
11 SYS_FOREIGN 0 7 0
|
||||
12 SYS_FOREIGN_COLS 0 7 0
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES;
|
||||
INDEX_ID NAME TABLE_ID TYPE N_FIELDS PAGE_NO SPACE
|
||||
11 ID_IND 11 3 1 302 0
|
||||
12 FOR_IND 11 0 1 303 0
|
||||
13 REF_IND 11 0 1 304 0
|
||||
14 ID_IND 12 3 2 305 0
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS;
|
||||
TABLE_ID NAME POS MTYPE PRTYPE LEN
|
||||
11 ID 0 1 524292 0
|
||||
11 FOR_NAME 1 1 524292 0
|
||||
11 REF_NAME 2 1 524292 0
|
||||
11 N_COLS 3 6 0 4
|
||||
12 ID 0 1 524292 0
|
||||
12 POS 1 6 0 4
|
||||
12 FOR_COL_NAME 2 1 524292 0
|
||||
12 REF_COL_NAME 3 1 524292 0
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS;
|
||||
INDEX_ID NAME POS
|
||||
11 ID 0
|
||||
12 FOR_NAME 0
|
||||
13 REF_NAME 0
|
||||
14 ID 0
|
||||
14 POS 1
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
|
||||
ID FOR_NAME REF_NAME N_COLS TYPE
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
|
||||
ID FOR_COL_NAME REF_COL_NAME POS
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS;
|
||||
TABLE_ID NAME STATS_INITIALIZED NUM_ROWS CLUST_INDEX_SIZE OTHER_INDEX_SIZE MODIFIED_COUNTER AUTOINC MYSQL_HANDLES_OPENED
|
||||
11 SYS_FOREIGN Uninitialized 0 0 0 0 0 0
|
||||
12 SYS_FOREIGN_COLS Uninitialized 0 0 0 0 0 0
|
||||
CREATE TABLE parent (id INT NOT NULL,
|
||||
PRIMARY KEY (id)) ENGINE=INNODB;
|
||||
CREATE TABLE child (id INT, parent_id INT,
|
||||
INDEX par_ind (parent_id),
|
||||
CONSTRAINT constraint_test
|
||||
FOREIGN KEY (parent_id) REFERENCES parent(id)
|
||||
ON DELETE CASCADE) ENGINE=INNODB;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
|
||||
ID FOR_NAME REF_NAME N_COLS TYPE
|
||||
test/constraint_test test/child test/parent 1 1
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
|
||||
ID FOR_COL_NAME REF_COL_NAME POS
|
||||
test/constraint_test parent_id id 0
|
||||
INSERT INTO parent VALUES(1);
|
||||
SELECT name, num_rows, mysql_handles_opened
|
||||
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
|
||||
WHERE name LIKE "%parent";
|
||||
name num_rows mysql_handles_opened
|
||||
test/parent 1 1
|
||||
SELECT NAME, FLAG, N_COLS, SPACE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
|
||||
NAME FLAG N_COLS SPACE
|
||||
SYS_FOREIGN 0 7 0
|
||||
SYS_FOREIGN_COLS 0 7 0
|
||||
test/child 1 5 0
|
||||
test/parent 1 4 0
|
||||
SELECT name, n_fields
|
||||
from INFORMATION_SCHEMA.INNODB_SYS_INDEXES
|
||||
WHERE table_id In (SELECT table_id from
|
||||
INFORMATION_SCHEMA.INNODB_SYS_TABLES
|
||||
WHERE name LIKE "%parent%");
|
||||
name n_fields
|
||||
PRIMARY 1
|
||||
SELECT name, n_fields
|
||||
from INFORMATION_SCHEMA.INNODB_SYS_INDEXES
|
||||
WHERE table_id In (SELECT table_id from
|
||||
INFORMATION_SCHEMA.INNODB_SYS_TABLES
|
||||
WHERE name LIKE "%child%");
|
||||
name n_fields
|
||||
GEN_CLUST_INDEX 0
|
||||
par_ind 1
|
||||
SELECT name, pos, mtype, len
|
||||
from INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
|
||||
WHERE table_id In (SELECT table_id from
|
||||
INFORMATION_SCHEMA.INNODB_SYS_TABLES
|
||||
WHERE name LIKE "%child%");
|
||||
name pos mtype len
|
||||
id 0 6 4
|
||||
parent_id 1 6 4
|
||||
DROP TABLE child;
|
||||
DROP TABLE parent;
|
||||
CREATE TABLE parent (id INT NOT NULL, newid INT NOT NULL,
|
||||
PRIMARY KEY (id, newid)) ENGINE=INNODB;
|
||||
CREATE TABLE child (id INT, parent_id INT,
|
||||
INDEX par_ind (parent_id),
|
||||
CONSTRAINT constraint_test
|
||||
FOREIGN KEY (id, parent_id) REFERENCES parent(id, newid)
|
||||
ON DELETE CASCADE) ENGINE=INNODB;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
|
||||
ID FOR_NAME REF_NAME N_COLS TYPE
|
||||
test/constraint_test test/child test/parent 2 1
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
|
||||
ID FOR_COL_NAME REF_COL_NAME POS
|
||||
test/constraint_test id id 0
|
||||
test/constraint_test parent_id newid 1
|
||||
INSERT INTO parent VALUES(1, 9);
|
||||
SELECT * FROM parent WHERE id IN (SELECT id FROM parent);
|
||||
id newid
|
||||
1 9
|
||||
SELECT name, num_rows, mysql_handles_opened
|
||||
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
|
||||
WHERE name LIKE "%parent";
|
||||
name num_rows mysql_handles_opened
|
||||
test/parent 1 2
|
||||
DROP TABLE child;
|
||||
DROP TABLE parent;
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue