diff --git a/.bzrignore b/.bzrignore index e7a7a1c27dc..759ca4a20bf 100644 --- a/.bzrignore +++ b/.bzrignore @@ -6,6 +6,7 @@ *.bin *.vcproj.cmake cmake_install.cmake +*.cdf *.core *.d *.da diff --git a/CMakeLists.txt b/CMakeLists.txt index cdd0cde8b8d..3703548ebc3 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,21 +139,47 @@ ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D _CRT_SECURE_NO_DEPRECATE") IF(EMBED_MANIFESTS) - # Search for the Manifest tool. CMake will first search it's defaults - # (CMAKE_FRAMEWORK_PATH, CMAKE_APPBUNDLE_PATH, CMAKE_PROGRAM_PATH and - # the system PATH) followed by the listed paths which are the current - # possible defaults and should be updated when necessary. The custom - # manifests are designed to be compatible with all mt versions. + # Search for the tools (mt, makecat, signtool) necessary for embedding + # manifests and signing executables with the MySQL AB authenticode cert. + # + # CMake will first search it's defaults (CMAKE_FRAMEWORK_PATH, + # CMAKE_APPBUNDLE_PATH, CMAKE_PROGRAM_PATH and the system PATH) followed + # by the listed paths which are the current possible defaults and should be + # updated when necessary. + # + # The custom manifests are designed to be compatible with all mt versions. + # The MySQL AB Authenticode certificate is available only internally. + # Others should store a single signing certificate in a local cryptographic + # service provider and alter the signtool command as necessary. FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt PATHS "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin" "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin" "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin") + FIND_PROGRAM(HAVE_CATALOG_TOOL NAMES makecat + PATHS + "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin") + FIND_PROGRAM(HAVE_SIGN_TOOL NAMES signtool + PATHS + "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin" + "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin") + IF(HAVE_MANIFEST_TOOL) - MESSAGE(STATUS "Found Mainfest Tool. Embedding custom manifests.") + MESSAGE(STATUS "Found Mainfest Tool.") ELSE(HAVE_MANIFEST_TOOL) MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.") ENDIF(HAVE_MANIFEST_TOOL) + IF(HAVE_CATALOG_TOOL) + MESSAGE(STATUS "Found Catalog Tool.") + ELSE(HAVE_CATALOG_TOOL) + MESSAGE(FATAL_ERROR "Catalog tool, makecat.exe, can't be found.") + ENDIF(HAVE_CATALOG_TOOL) + IF(HAVE_SIGN_TOOL) + MESSAGE(STATUS "Found Sign Tool. Embedding custom manifests and signing executables.") + ELSE(HAVE_SIGN_TOOL) + MESSAGE(FATAL_ERROR "Sign tool, signtool.exe, can't be found.") + ENDIF(HAVE_SIGN_TOOL) + # Disable automatic manifest generation. STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS}) diff --git a/Makefile.am b/Makefile.am index 186a3ec2453..66daff4bd68 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,6 +20,7 @@ AUTOMAKE_OPTIONS = foreign # These are built from source in the Docs directory EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \ README COPYING EXCEPTIONS-CLIENT CMakeLists.txt + SUBDIRS = . include @docs_dirs@ @zlib_dir@ @yassl_dir@ \ @readline_topdir@ sql-common scripts \ @thread_dirs@ pstack \ @@ -157,8 +158,6 @@ test-bt: @PERL@ ./mysql-test-run.pl --force --comment=funcs1_ps --ps-protocol --suite=funcs_1 -cd mysql-test ; MTR_BUILD_THREAD=auto \ @PERL@ ./mysql-test-run.pl --force --comment=funcs2 --suite=funcs_2 - -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --force --comment=rowlock --suite=row_lock -if [ -d mysql-test/suite/nist ] ; then \ cd mysql-test ; MTR_BUILD_THREAD=auto \ @PERL@ ./mysql-test-run.pl --comment=NIST+normal --force --suite=nist ; \ diff --git a/SSL/Makefile.am b/SSL/Makefile.am index 5fc44d3a247..30a6fc3c995 100644 --- a/SSL/Makefile.am +++ b/SSL/Makefile.am @@ -15,9 +15,7 @@ ## Process this file with automake to create Makefile.in -EXTRA_DIST= NOTES cacert.pem client-cert.pem client-key.pem \ - run-client run-server server-cert.pem \ - server-key.pem +EXTRA_DIST= NOTES run-client run-server # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/client/mysqldump.c b/client/mysqldump.c index 9ccea308a1f..577e439d6a7 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -992,6 +992,21 @@ static int mysql_query_with_error_report(MYSQL *mysql_con, MYSQL_RES **res, return 0; } + +static int switch_character_set_results(MYSQL *mysql, const char *cs_name) +{ + char query_buffer[QUERY_LENGTH]; + size_t query_length; + + query_length= my_snprintf(query_buffer, + sizeof (query_buffer), + "SET SESSION character_set_results = '%s'", + (const char *) cs_name); + + return mysql_real_query(mysql, query_buffer, query_length); +} + + /* Open a new .sql file to dump the table or view into @@ -1671,7 +1686,10 @@ static uint get_table_structure(char *table, char *db, char *table_type, MYSQL_FIELD *field; my_snprintf(buff, sizeof(buff), "show create table %s", result_table); - if (mysql_query_with_error_report(mysql, 0, buff)) + + if (switch_character_set_results(mysql, "binary") || + mysql_query_with_error_report(mysql, &result, buff) || + switch_character_set_results(mysql, default_charset)) DBUG_RETURN(0); if (path) @@ -1702,7 +1720,6 @@ static uint get_table_structure(char *table, char *db, char *table_type, check_io(sql_file); } - result= mysql_store_result(mysql); field= mysql_fetch_field_direct(result, 0); if (strcmp(field->name, "View") == 0) { @@ -1794,7 +1811,14 @@ static uint get_table_structure(char *table, char *db, char *table_type, } row= mysql_fetch_row(result); - fprintf(sql_file, "%s;\n", row[1]); + + fprintf(sql_file, + "SET @saved_cs_client = @@character_set_client;\n" + "SET character_set_client = utf8;\n" + "%s;\n" + "SET character_set_client = @saved_cs_client;\n", + row[1]); + check_io(sql_file); mysql_free_result(result); } diff --git a/cmd-line-utils/libedit/Makefile.am b/cmd-line-utils/libedit/Makefile.am index ae6755f1c5c..b7611193aea 100644 --- a/cmd-line-utils/libedit/Makefile.am +++ b/cmd-line-utils/libedit/Makefile.am @@ -5,8 +5,8 @@ ASRC = $(srcdir)/vi.c $(srcdir)/emacs.c $(srcdir)/common.c AHDR = vi.h emacs.h common.h -INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ - -I$(srcdir)/../.. -I.. +# Make sure to include stuff from this directory first, to get right "config.h" +INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include noinst_LIBRARIES = libedit.a diff --git a/config/ac-macros/large_file.m4 b/config/ac-macros/large_file.m4 index 00c2fdf614e..2639cec5fb7 100644 --- a/config/ac-macros/large_file.m4 +++ b/config/ac-macros/large_file.m4 @@ -127,14 +127,9 @@ AC_DEFUN([MYSQL_SYS_LARGEFILE], hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) ac_cv_sys_largefile_source=1 ;; esac]) - AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, - ac_cv_sys_large_files, - [Large files support on AIX-style hosts.], - [case "$host_os" in - # AIX 4.2 and later - aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*) - ac_cv_sys_large_files=1 ;; - esac]) + + # AIX 4.2 and later -- do nothing, include standards.h instead. + # this goes for both GNU and IBM C and C++ compilers. fi ]) diff --git a/config/ac-macros/misc.m4 b/config/ac-macros/misc.m4 index 09081fb3eac..60c0469e449 100644 --- a/config/ac-macros/misc.m4 +++ b/config/ac-macros/misc.m4 @@ -763,7 +763,6 @@ AC_SUBST(CXX_VERSION) ]) AC_DEFUN([MYSQL_PROG_AR], [ -AC_REQUIRE([MYSQL_CHECK_CXX_VERSION]) case $CXX_VERSION in MIPSpro*) AR=$CXX diff --git a/configure.in b/configure.in index 843837b9348..1dff42cbfb1 100644 --- a/configure.in +++ b/configure.in @@ -8,7 +8,7 @@ AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! # remember to also change ndb version below and update version.c in ndb AM_INIT_AUTOMAKE(mysql, 5.0.48) -AM_CONFIG_HEADER(config.h) +AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 DOT_FRM_VERSION=6 @@ -2898,6 +2898,12 @@ then ndb_opt_subdirs="$ndb_opt_subdirs docs" ndb_bin_am_ldflags="" fi +# building dynamic breaks on AIX. (If you want to try it and get unresolved +# __vec__delete2 and some such, try linking against libhC.) +case "$host_os" in + aix3.* | aix4.0.* | aix4.1.*) ;; + *) ndb_bin_am_ldflags="-static";; +esac AC_SUBST([ndb_bin_am_ldflags]) AC_SUBST([ndb_opt_subdirs]) diff --git a/extra/yassl/taocrypt/src/coding.cpp b/extra/yassl/taocrypt/src/coding.cpp index 68055b3aff4..55fe31831e3 100644 --- a/extra/yassl/taocrypt/src/coding.cpp +++ b/extra/yassl/taocrypt/src/coding.cpp @@ -184,7 +184,7 @@ void Base64Decoder::Decode() { word32 bytes = coded_.size(); word32 plainSz = bytes - ((bytes + (pemLineSz - 1)) / pemLineSz); - plainSz = (plainSz * 3 + 3) / 4; + plainSz = ((plainSz * 3) / 4) + 3; decoded_.New(plainSz); word32 i = 0; diff --git a/include/Makefile.am b/include/Makefile.am index 2cd72052a15..c856b6398fe 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -49,8 +49,11 @@ link_sources: @readline_h_ln_cmd@ @yassl_h_ln_cmd@ -my_config.h: ../config.h - $(CP) ../config.h my_config.h +# We want both "my_config.h" and "config.h" that are identical, as +# MySQL sources assumes the name "my_config.h", and 3rd party sources +# assumes the name "config.h". +my_config.h: config.h + $(CP) config.h my_config.h # These files should not be included in distributions since they are # generated by configure from the .h.in files diff --git a/include/mysql.h b/include/mysql.h index a153d0b51db..b3e0dc45496 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -27,6 +27,10 @@ #ifndef _mysql_h #define _mysql_h +#ifdef _AIX /* large-file support will break without this */ +#include +#endif + #ifdef __CYGWIN__ /* CYGWIN implements a UNIX API */ #undef WIN #undef _WIN diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index 1920a68b21b..439b13af779 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -37,12 +37,7 @@ EXTRA_DIST = $(EXTRA_SCRIPTS) suite GENSCRIPTS = mysql-test-run-shell mysql-test-run install_test_db mtr PRESCRIPTS = mysql-test-run.pl mysql-stress-test.pl test_SCRIPTS = $(GENSCRIPTS) $(PRESCRIPTS) -test_DATA = std_data/client-key.pem \ - std_data/client-cert.pem \ - std_data/cacert.pem \ - std_data/server-cert.pem \ - std_data/server-key.pem -CLEANFILES = $(GENSCRIPTS) $(test_DATA) +CLEANFILES = $(GENSCRIPTS) INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I.. @@ -111,17 +106,6 @@ install-data-local: uninstall-local: @RM@ -f -r $(DESTDIR)$(testdir) -std_data/client-key.pem: $(top_srcdir)/SSL/$(@F) - @RM@ -f $@; @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data -std_data/client-cert.pem: $(top_srcdir)/SSL/$(@F) - @RM@ -f $@; @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data -std_data/cacert.pem: $(top_srcdir)/SSL/$(@F) - @RM@ -f $@; @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data -std_data/server-cert.pem: $(top_srcdir)/SSL/$(@F) - @RM@ -f $@; @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data -std_data/server-key.pem: $(top_srcdir)/SSL/$(@F) - @RM@ -f $@; @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data - # mtr - a shortcut for executing mysql-test-run.pl mtr: $(RM) -f mtr diff --git a/mysql-test/r/federated.result b/mysql-test/r/federated.result index f4750fed201..74fa20af685 100644 --- a/mysql-test/r/federated.result +++ b/mysql-test/r/federated.result @@ -1844,6 +1844,43 @@ C3A4C3B6C3BCC39F D18DD184D184D0B5D0BAD182D0B8D0B2D0BDD183D18E drop table federated.t1; drop table federated.t1; +CREATE TABLE federated.t1 ( +categoryId int(11) NOT NULL AUTO_INCREMENT, +domainId varchar(745) NOT NULL DEFAULT '', +categoryName varchar(255) NOT NULL DEFAULT '', +PRIMARY KEY (categoryId), +UNIQUE KEY idx_unique_category_categoryName (domainId, categoryName), +KEY idx_category_domainId (domainId) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +CREATE TABLE federated.t1 ( +categoryId int(11) NOT NULL AUTO_INCREMENT, +domainId varchar(745) NOT NULL DEFAULT '', +categoryName varchar(255) NOT NULL DEFAULT '', +PRIMARY KEY (categoryId), +UNIQUE KEY idx_unique_category_categoryName (domainId, categoryName), +KEY idx_category_domainId (domainId) +) ENGINE=FEDERATED DEFAULT CHARSET=latin1 +CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1'; +insert into federated.t1 (domainId, categoryName) values ( '1231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231 300', '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 250'); +insert into federated.t1 (domainId, categoryName) values ( '12312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312 301', '12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 250'); +insert into federated.t1 (domainId, categoryName) values ('a', 'b'); +select categoryId from federated.t1 order by domainId, categoryName; +categoryId +1 +2 +3 +select categoryId from federated.t1 where domainId='a' and categoryName='b' order by categoryId; +categoryId +3 +select categoryId from federated.t1 where domainId='a' and categoryName='b' order by categoryId; +categoryId +3 +select categoryId from federated.t1 where domainId<>'a' and categoryName<>'b' order by categoryId; +categoryId +1 +2 +drop table federated.t1; +drop table federated.t1; create table federated.t1 (a int primary key, b varchar(64)) DEFAULT CHARSET=utf8; create table federated.t1 (a int primary key, b varchar(64)) diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result index 56ea72a8ee3..f92ecac329a 100644 --- a/mysql-test/r/func_time.result +++ b/mysql-test/r/func_time.result @@ -840,11 +840,11 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Note 1003 select period_add(_latin1'9602',-(12)) AS `period_add("9602",-12)`,period_diff(199505,_latin1'9404') AS `period_diff(199505,"9404")`,from_days(to_days(_latin1'960101')) AS `from_days(to_days("960101"))`,dayofmonth(_latin1'1997-01-02') AS `dayofmonth("1997-01-02")`,month(_latin1'1997-01-02') AS `month("1997-01-02")`,monthname(_latin1'1972-03-04') AS `monthname("1972-03-04")`,dayofyear(_latin1'0000-00-00') AS `dayofyear("0000-00-00")`,hour(_latin1'1997-03-03 23:03:22') AS `HOUR("1997-03-03 23:03:22")`,minute(_latin1'23:03:22') AS `MINUTE("23:03:22")`,second(230322) AS `SECOND(230322)`,quarter(980303) AS `QUARTER(980303)`,week(_latin1'1998-03-03',0) AS `WEEK("1998-03-03")`,yearweek(_latin1'2000-01-01',1) AS `yearweek("2000-01-01",1)`,week(19950101,1) AS `week(19950101,1)`,year(_latin1'98-02-03') AS `year("98-02-03")`,(weekday(curdate()) - weekday(now())) AS `weekday(curdate())-weekday(now())`,dayname(_latin1'1962-03-03') AS `dayname("1962-03-03")`,unix_timestamp() AS `unix_timestamp()`,sec_to_time((time_to_sec(_latin1'0:30:47') / 6.21)) AS `sec_to_time(time_to_sec("0:30:47")/6.21)`,curtime() AS `curtime()`,utc_time() AS `utc_time()`,curdate() AS `curdate()`,utc_date() AS `utc_date()`,utc_timestamp() AS `utc_timestamp()`,date_format(_latin1'1997-01-02 03:04:05',_latin1'%M %W %D %Y %y %m %d %h %i %s %w') AS `date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w")`,from_unixtime(unix_timestamp(_latin1'1994-03-02 10:11:12')) AS `from_unixtime(unix_timestamp("1994-03-02 10:11:12"))`,(_latin1'1997-12-31 23:59:59' + interval 1 second) AS `"1997-12-31 23:59:59" + INTERVAL 1 SECOND`,(_latin1'1998-01-01 00:00:00' - interval 1 second) AS `"1998-01-01 00:00:00" - INTERVAL 1 SECOND`,(_latin1'1997-12-31' + interval 1 day) AS `INTERVAL 1 DAY + "1997-12-31"`,extract(year from _latin1'1999-01-02 10:11:12') AS `extract(YEAR FROM "1999-01-02 10:11:12")`,(_latin1'1997-12-31 23:59:59' + interval 1 second) AS `date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND)` -SET @TMP=NOW(); +SET @TMP='2007-08-01 12:22:49'; CREATE TABLE t1 (d DATETIME); -INSERT INTO t1 VALUES (NOW()); -INSERT INTO t1 VALUES (NOW()); -INSERT INTO t1 VALUES (NOW()); +INSERT INTO t1 VALUES ('2007-08-01 12:22:59'); +INSERT INTO t1 VALUES ('2007-08-01 12:23:01'); +INSERT INTO t1 VALUES ('2007-08-01 12:23:20'); SELECT count(*) FROM t1 WHERE d>FROM_DAYS(TO_DAYS(@TMP)) AND d<=FROM_DAYS(TO_DAYS(@TMP)+1); count(*) 3 diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index 5b3ca972467..63e25b7aa1e 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -418,7 +418,7 @@ DROP TABLE t1,t2; create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb character set utf8 collate utf8_general_ci; Warnings: -Warning 1071 Specified key was too long; max key length is 765 bytes +Warning 1071 Specified key was too long; max key length is 767 bytes insert into t1 values('aaa'); drop table t1; CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c FLOAT, KEY b(b)) ENGINE = INNODB; @@ -739,6 +739,34 @@ drop table if exists t1; create table t1 (a int) engine=innodb; alter table t1 alter a set default 1; drop table t1; + +Bug#24918 drop table and lock / inconsistent between +perm and temp tables + +Check transactional tables under LOCK TABLES + +drop table if exists t24918, t24918_tmp, t24918_trans, t24918_trans_tmp, +t24918_access; +create table t24918_access (id int); +create table t24918 (id int) engine=myisam; +create temporary table t24918_tmp (id int) engine=myisam; +create table t24918_trans (id int) engine=innodb; +create temporary table t24918_trans_tmp (id int) engine=innodb; +lock table t24918 write, t24918_tmp write, t24918_trans write, t24918_trans_tmp write; +drop table t24918; +select * from t24918_access; +ERROR HY000: Table 't24918_access' was not locked with LOCK TABLES +drop table t24918_trans; +select * from t24918_access; +ERROR HY000: Table 't24918_access' was not locked with LOCK TABLES +drop table t24918_trans_tmp; +select * from t24918_access; +ERROR HY000: Table 't24918_access' was not locked with LOCK TABLES +drop table t24918_tmp; +select * from t24918_access; +ERROR HY000: Table 't24918_access' was not locked with LOCK TABLES +unlock tables; +drop table t24918_access; CREATE TABLE t1 (a int, b int, PRIMARY KEY (a), KEY bkey (b)) ENGINE=InnoDB; INSERT INTO t1 VALUES (1,2),(3,2),(2,2),(4,2),(5,2),(6,2),(7,2),(8,2); INSERT INTO t1 SELECT a + 8, 2 FROM t1; @@ -1007,4 +1035,16 @@ CALL p1(); CALL p1(); DROP PROCEDURE p1; DROP TABLE t1; +create table t1(a text) engine=innodb default charset=utf8; +insert into t1 values('aaa'); +alter table t1 add index(a(1024)); +Warnings: +Warning 1071 Specified key was too long; max key length is 767 bytes +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` text, + KEY `a` (`a`(255)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 +drop table t1; End of 5.0 tests diff --git a/mysql-test/r/mysqlbinlog.result b/mysql-test/r/mysqlbinlog.result index 1ba198dfd75..d16a4c39a11 100644 --- a/mysql-test/r/mysqlbinlog.result +++ b/mysql-test/r/mysqlbinlog.result @@ -318,4 +318,11 @@ INSERT INTO t1 VALUES ('0123456789'); flush logs; DROP TABLE t1; # Query thread_id=REMOVED exec_time=REMOVED error_code=REMOVED +flush logs; +create table t1(a int); +insert into t1 values(connection_id()); +flush logs; +drop table t1; +1 +drop table t1; End of 5.0 tests diff --git a/mysql-test/r/mysqldump-max.result b/mysql-test/r/mysqldump-max.result index 9ae3e368e28..261c7a7f197 100644 --- a/mysql-test/r/mysqldump-max.result +++ b/mysql-test/r/mysqldump-max.result @@ -93,55 +93,73 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; INSERT DELAYED IGNORE INTO `t1` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t1` ENABLE KEYS */; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t2` DISABLE KEYS */; INSERT DELAYED IGNORE INTO `t2` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t2` ENABLE KEYS */; DROP TABLE IF EXISTS `t3`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t3` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=MEMORY DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t3` DISABLE KEYS */; INSERT DELAYED IGNORE INTO `t3` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t3` ENABLE KEYS */; DROP TABLE IF EXISTS `t4`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t4` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=MEMORY DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t4` DISABLE KEYS */; INSERT DELAYED IGNORE INTO `t4` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t4` ENABLE KEYS */; DROP TABLE IF EXISTS `t5`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t5` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=ARCHIVE DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t5` DISABLE KEYS */; INSERT DELAYED IGNORE INTO `t5` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t5` ENABLE KEYS */; DROP TABLE IF EXISTS `t6`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t6` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t6` DISABLE KEYS */; INSERT IGNORE INTO `t6` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); @@ -172,55 +190,73 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; INSERT DELAYED INTO `t1` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t1` ENABLE KEYS */; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t2` DISABLE KEYS */; INSERT DELAYED INTO `t2` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t2` ENABLE KEYS */; DROP TABLE IF EXISTS `t3`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t3` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=MEMORY DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t3` DISABLE KEYS */; INSERT DELAYED INTO `t3` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t3` ENABLE KEYS */; DROP TABLE IF EXISTS `t4`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t4` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=MEMORY DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t4` DISABLE KEYS */; INSERT DELAYED INTO `t4` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t4` ENABLE KEYS */; DROP TABLE IF EXISTS `t5`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t5` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=ARCHIVE DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t5` DISABLE KEYS */; INSERT DELAYED INTO `t5` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); /*!40000 ALTER TABLE `t5` ENABLE KEYS */; DROP TABLE IF EXISTS `t6`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t6` ( `id` int(8) default NULL, `name` varchar(32) default NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t6` DISABLE KEYS */; INSERT INTO `t6` VALUES (1,'first value'),(2,'first value'),(3,'first value'),(4,'first value'),(5,'first value'); diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index 7178cbb5d49..42c437857b7 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -28,9 +28,12 @@ DROP TABLE t1; CREATE TABLE t1 (a decimal(64, 20)); INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"), ("0987654321098765432109876543210987654321"); +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` decimal(64,20) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; INSERT INTO `t1` VALUES ('1234567890123456789012345678901234567890.00000000000000000000'),('987654321098765432109876543210987654321.00000000000000000000'); DROP TABLE t1; # @@ -40,9 +43,12 @@ CREATE TABLE t1 (a double); INSERT INTO t1 VALUES ('-9e999999'); Warnings: Warning 1264 Out of range value adjusted for column 'a' at row 1 +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; INSERT INTO `t1` VALUES (RES); DROP TABLE t1; # @@ -58,15 +64,21 @@ INSERT INTO t1 VALUES ('1.2345', 2.3456); INSERT INTO t1 VALUES ("1.2345", 2.3456); ERROR 42S22: Unknown column '1.2345' in 'field list' SET SQL_MODE=@OLD_SQL_MODE; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` decimal(10,5) default NULL, `b` float default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; INSERT INTO `t1` VALUES ('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456); +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` decimal(10,5) default NULL, `b` float default NULL ); +SET character_set_client = @saved_cs_client; INSERT INTO `t1` VALUES ('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456); /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; @@ -80,10 +92,13 @@ INSERT INTO `t1` VALUES ('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` decimal(10,5) default NULL, `b` float default NULL ); +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -106,10 +121,13 @@ UNLOCK TABLES; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` decimal(10,5) default NULL, `b` float default NULL ); +SET character_set_client = @saved_cs_client; INSERT INTO `t1` VALUES ('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456); /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -185,9 +203,12 @@ INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5'), (NULL); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` varchar(255) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=koi8r; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -218,9 +239,12 @@ INSERT INTO t1 VALUES (1), (2); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL40' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) TYPE=MyISAM; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -241,9 +265,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) TYPE=MyISAM; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -262,9 +289,12 @@ DROP TABLE t1; # Bug #2592 'mysqldump doesn't quote "tricky" names correctly' # create table ```a` (i int); +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE ```a` ( `i` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; drop table ```a`; # # Bug #2591 "mysqldump quotes names inconsistently" @@ -282,9 +312,12 @@ create table t1(a int); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -307,9 +340,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,ANSI' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS "t1"; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE "t1" ( "a" int(11) default NULL ); +SET character_set_client = @saved_cs_client; LOCK TABLES "t1" WRITE; /*!40000 ALTER TABLE "t1" DISABLE KEYS */; @@ -335,9 +371,12 @@ set global sql_mode='ANSI_QUOTES'; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -360,9 +399,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,ANSI' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS "t1"; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE "t1" ( "a" int(11) default NULL ); +SET character_set_client = @saved_cs_client; LOCK TABLES "t1" WRITE; /*!40000 ALTER TABLE "t1" DISABLE KEYS */; @@ -392,9 +434,12 @@ insert into t1 values (1),(2),(3); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -483,9 +528,12 @@ INSERT INTO t1 VALUES (_latin1 ' /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` char(10) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -516,9 +564,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` char(10) default NULL ) TYPE=MyISAM; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -539,9 +590,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` char(10) default NULL ) TYPE=MyISAM; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -562,9 +616,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` char(10) default NULL ) TYPE=MyISAM; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -598,9 +655,12 @@ INSERT INTO t2 VALUES (4),(5),(6); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t2` WRITE; /*!40000 ALTER TABLE `t2` DISABLE KEYS */; @@ -636,9 +696,12 @@ INSERT INTO `t1` VALUES (0x602010000280100005E71A); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `b` blob ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -674,9 +737,12 @@ INSERT INTO t1 VALUES (4),(5),(6); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -705,9 +771,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; INSERT DELAYED IGNORE INTO `t1` VALUES (1),(2),(3),(4),(5),(6); @@ -1071,6 +1140,8 @@ insert into t1 (F_8d3bba7425e7c98c50f52ca1b52d3735) values (1); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `F_c4ca4238a0b923820dcc509a6f75849b` int(11) default NULL, `F_c81e728d9d4c2f636f067f89cc14862c` int(11) default NULL, @@ -1403,6 +1474,7 @@ CREATE TABLE `t1` ( `F_6faa8040da20ef399b63a72d0e4ab575` int(11) default NULL, `F_fe73f687e5bc5280214e0486b273a5f9` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -1443,9 +1515,12 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -1484,13 +1559,19 @@ INSERT INTO t2 VALUES (1), (2); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; @@ -1513,13 +1594,19 @@ CREATE TABLE `t2` ( /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; @@ -1719,17 +1806,26 @@ create table t3(a int); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t3`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t3` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; @@ -1759,9 +1855,12 @@ mysqldump: Got error: 1064: You have an error in your SQL syntax; check the manu /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -1792,12 +1891,15 @@ insert into t1 values (0815, 4711, 2006); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,ANSI' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS "t1"; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE "t1" ( "a b" int(11) NOT NULL default '0', "c""d" int(11) NOT NULL default '0', "e`f" int(11) NOT NULL default '0', PRIMARY KEY ("a b","c""d","e`f") ); +SET character_set_client = @saved_cs_client; LOCK TABLES "t1" WRITE; /*!40000 ALTER TABLE "t1" DISABLE KEYS */; @@ -1823,12 +1925,15 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a b` int(11) NOT NULL default '0', `c"d` int(11) NOT NULL default '0', `e``f` int(11) NOT NULL default '0', PRIMARY KEY (`a b`,`c"d`,`e``f`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -1874,10 +1979,13 @@ create view v2 as select * from t2 where a like 'a%' with check option; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` varchar(30) default NULL, KEY `a` (`a`(5)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t2` WRITE; /*!40000 ALTER TABLE `t2` DISABLE KEYS */; @@ -1955,9 +2063,12 @@ create view v1 as select * from t1; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2012,10 +2123,13 @@ create view v2 as select * from t2 where a like 'a%' with check option; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` varchar(30) default NULL, KEY `a` (`a`(5)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t2` WRITE; /*!40000 ALTER TABLE `t2` DISABLE KEYS */; @@ -2064,9 +2178,12 @@ INSERT INTO t1 VALUES ('\''); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` char(10) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2107,11 +2224,14 @@ select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL, `b` int(11) default NULL, `c` varchar(30) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2227,10 +2347,13 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL, `b` bigint(20) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2264,9 +2387,12 @@ end */;; DELIMITER ; /*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t2` WRITE; /*!40000 ALTER TABLE `t2` DISABLE KEYS */; @@ -2311,10 +2437,13 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL, `b` bigint(20) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2322,9 +2451,12 @@ INSERT INTO `t1` VALUES (1,NULL),(2,NULL),(4,NULL),(11,NULL); /*!40000 ALTER TABLE `t1` ENABLE KEYS */; UNLOCK TABLES; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t2` WRITE; /*!40000 ALTER TABLE `t2` DISABLE KEYS */; @@ -2448,9 +2580,12 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `id` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2538,10 +2673,13 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `d` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, UNIQUE KEY `d` (`d`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2572,10 +2710,13 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `d` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, UNIQUE KEY `d` (`d`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2622,9 +2763,12 @@ a2 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,ANSI' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS "t1 test"; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE "t1 test" ( "a1" int(11) default NULL ); +SET character_set_client = @saved_cs_client; LOCK TABLES "t1 test" WRITE; /*!40000 ALTER TABLE "t1 test" DISABLE KEYS */; @@ -2642,9 +2786,12 @@ INSERT INTO `t2 test` SET a2 = NEW.a1; END */;; DELIMITER ; /*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/; DROP TABLE IF EXISTS "t2 test"; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE "t2 test" ( "a2" int(11) default NULL ); +SET character_set_client = @saved_cs_client; LOCK TABLES "t2 test" WRITE; /*!40000 ALTER TABLE "t2 test" DISABLE KEYS */; @@ -2693,11 +2840,14 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL, `b` varchar(32) default NULL, `c` varchar(32) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2785,9 +2935,12 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET l USE `test`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2833,10 +2986,13 @@ insert into t1 values ('',''); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` binary(1) default NULL, `b` blob ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -2865,10 +3021,13 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` binary(1) default NULL, `b` blob ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -3023,9 +3182,12 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_test_db` /*!40100 DEFAULT CH USE `mysqldump_test_db`; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `id` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -3070,11 +3232,14 @@ create view nasishnasifu as select mysqldump_tables.basetable.id from mysqldump_ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_tables` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `mysqldump_tables`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `basetable` ( `id` bigint(20) unsigned NOT NULL auto_increment, `tag` varchar(64) default NULL, UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_views` /*!40100 DEFAULT CHARACTER SET latin1 */; @@ -3142,10 +3307,13 @@ mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need the SU mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation (1227) grant REPLICATION CLIENT on *.* to mysqltest_1@localhost; CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=537; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL, `b` varchar(34) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; drop table t1; drop user mysqltest_1@localhost; # @@ -3234,22 +3402,31 @@ CREATE TABLE t1 (a int) ENGINE=merge UNION=(t2, t3); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t2`,`t3`); +SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `t2`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t2` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t2` WRITE; /*!40000 ALTER TABLE `t2` DISABLE KEYS */; /*!40000 ALTER TABLE `t2` ENABLE KEYS */; UNLOCK TABLES; DROP TABLE IF EXISTS `t3`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t3` ( `a` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; +SET character_set_client = @saved_cs_client; LOCK TABLES `t3` WRITE; /*!40000 ALTER TABLE `t3` DISABLE KEYS */; @@ -3325,10 +3502,13 @@ drop database mysqldump_test_db; # CREATE TABLE t1 (c1 INT, c2 LONGBLOB); INSERT INTO t1 SET c1=11, c2=REPEAT('q',509); +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `c1` int(11) default NULL, `c2` longblob ); +SET character_set_client = @saved_cs_client; INSERT INTO `t1` VALUES (11,0x7171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171); DROP TABLE t1; # diff --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result index 3f10eed7ad7..9c6c29eea47 100644 --- a/mysql-test/r/openssl_1.result +++ b/mysql-test/r/openssl_1.result @@ -77,9 +77,12 @@ INSERT INTO t1 VALUES (1), (2); /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ); +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -108,9 +111,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ); +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; @@ -139,9 +145,12 @@ UNLOCK TABLES; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `t1`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; CREATE TABLE `t1` ( `a` int(11) default NULL ); +SET character_set_client = @saved_cs_client; LOCK TABLES `t1` WRITE; /*!40000 ALTER TABLE `t1` DISABLE KEYS */; diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index e4cdd4f183b..7e5dc7e61c1 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -1088,6 +1088,26 @@ DROP TABLE t1; DROP VIEW v1; DROP PROCEDURE p1; DROP FUNCTION f1; +set names koi8r; +DROP DATABASE IF EXISTS mysqltest1; +CREATE DATABASE mysqltest1; +use mysqltest1; +CREATE TABLE t1(колонка1 INT); + +---> Dumping mysqltest1 to show_check.mysqltest1.sql + + +DROP DATABASE mysqltest1; + + +---> Restoring mysqltest1... +SHOW CREATE TABLE mysqltest1.t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `колонка1` int(11) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +DROP DATABASE mysqltest1; +use test; flush status; show variables like "log_queries_not_using_indexes"; Variable_name Value diff --git a/mysql-test/r/sp-prelocking.result b/mysql-test/r/sp-prelocking.result index c19bd1abd26..186b2c05d34 100644 --- a/mysql-test/r/sp-prelocking.result +++ b/mysql-test/r/sp-prelocking.result @@ -289,4 +289,34 @@ create table t1 select f_bug22427() as i; ERROR 42S01: Table 't1' already exists drop table t1; drop function f_bug22427; +# +# Bug #29929 LOCK TABLES does not pre-lock tables used in triggers of the locked tables +# +DROP table IF EXISTS t1,t2; +CREATE TABLE t1 (c1 INT); +CREATE TABLE t2 (c2 INT); +INSERT INTO t1 VALUES (1); +INSERT INTO t2 VALUES (2); +CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW +BEGIN +UPDATE t2 SET c2= c2 + 1; +END// +# Take a table lock on t1. +# This should pre-lock t2 through the trigger. +LOCK TABLE t1 WRITE; +INSERT INTO t1 VALUES (3); +UNLOCK TABLES; +LOCK TABLE t1 READ; +INSERT INTO t2 values(4); +ERROR HY000: Table 't2' was not locked with LOCK TABLES +UNLOCK TABLES; +SELECT * FROM t1; +c1 +1 +3 +SELECT * FROM t2; +c2 +3 +DROP TRIGGER t1_ai; +DROP TABLE t1, t2; End of 5.0 tests diff --git a/mysql-test/r/ssl_8k_key.result b/mysql-test/r/ssl_8k_key.result new file mode 100644 index 00000000000..b33a1d2854f --- /dev/null +++ b/mysql-test/r/ssl_8k_key.result @@ -0,0 +1,2 @@ +Variable_name Value +Ssl_cipher DHE-RSA-AES256-SHA diff --git a/SSL/cacert.pem b/mysql-test/std_data/cacert.pem similarity index 100% rename from SSL/cacert.pem rename to mysql-test/std_data/cacert.pem diff --git a/SSL/client-cert.pem b/mysql-test/std_data/client-cert.pem similarity index 100% rename from SSL/client-cert.pem rename to mysql-test/std_data/client-cert.pem diff --git a/SSL/client-key.pem b/mysql-test/std_data/client-key.pem similarity index 100% rename from SSL/client-key.pem rename to mysql-test/std_data/client-key.pem diff --git a/SSL/server-cert.pem b/mysql-test/std_data/server-cert.pem similarity index 100% rename from SSL/server-cert.pem rename to mysql-test/std_data/server-cert.pem diff --git a/SSL/server-key.pem b/mysql-test/std_data/server-key.pem similarity index 100% rename from SSL/server-key.pem rename to mysql-test/std_data/server-key.pem diff --git a/mysql-test/std_data/server8k-cert.pem b/mysql-test/std_data/server8k-cert.pem new file mode 100644 index 00000000000..a0750f9e69e --- /dev/null +++ b/mysql-test/std_data/server8k-cert.pem @@ -0,0 +1,51 @@ +-----BEGIN CERTIFICATE----- +MIIJHDCCBQQCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV +BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw +CQYDVQQDEwJDQTAeFw0wNzA3MTMwNzU2MjVaFw0xMDA0MDgwNzU2MjVaMFoxCzAJ +BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRkwFwYDVQQKFBBNeVNRTCAgIAog +ICAgIEFCMQ0wCwYDVQQLEwRUZXN0MQ8wDQYDVQQDEwZzZXJ2ZXIwggQiMA0GCSqG +SIb3DQEBAQUAA4IEDwAwggQKAoIEAQDUFlh/3mwov5YaICFXOdJXgHV/uDkTjXB6 +9oxlipshQaYPX8LDT5vhI3gPciS1Z1sRE2dTcC4Mk2K4LDUIjp3WkeTfFAHZPV3E +Y+3OH/ftH4N6SEIBTKE4EY6ah0nJtU98M0JhxOh5zHje6zQp1SkBnhEOQYexYRqj +OtGloZ9RyF0iFAXcyu2Ap14u37l5Yla0cyPzvZqP4mFYlcXwaRfAacJmqMM1vuQv +Fx1JITUTBugMF3VGZ1F0tw63EIUH/FW/WWncPqvG18na40qlv9ZkBw0FhZeKS8cK +JIY5y4J30jn/eV8p1lTO7K+ASTuGZWmdRDgjUG0Y9OGuKsPPoaE6ml0HTnMBsBSQ +fXUq9XkwGt8DTgPioAKHBHjLbILEy4FMYWrlTZlPTzNqyhayec/2T15oDladNSt7 +JpDLpX70UECXFhdEGxsGxtXdKbIBvNm2yT4X2nxW9ItsECjSSgD+94TgGoa8QKDw +rpmgq+Wqpm54CZ1vN1oqyMUw1sjNEX/iLByHAjSALby2Kffk5cl5mnsR6d/k4jsi +c3Qsciwkd+rQt/8VMhS2ns3nkez/BK3FvQA2Ms8xJhFLfszVrBhnjcFRTNT2+/KM +lr1oT5Q1XZKL7qVXTpabPL51JlVBL5CSHl1QRkffsqfqcgJkcHBq+kKjUiFs4lad +hTrvNBCXYa5+NkA2QqIfdOpNwl62/gdE7/7zU1uh40vkVKyzL+APkLPywPEXBOpQ +yIDNkgoXmS10+JMD44K7uZyUmxZL7W7Xbi30NuEFrVOzoUmVXhapPbpQnkQHxn8n +tqKPYXdBcvXcCKyJ6i79H2Vk9fM6rBYiwNcE7QyWqfd2QMjzr76veF04sXkPR+tG +5Y1lrF9Zp3vabFXQg2RJuGA3rV6MR2GFNXuChIYu410vhIhPNtmdKEVoIVZsFsug ++dtn0PDCFrR8VEd/sshp0naNa9Ad1lY+marJkOJOVpPgCs2yJDPAUB/YdvSJ4avW +6ZdvNTwhBL8fEJMS2DSqkaa6A3+i/SqITpU8ToJxsMGagBsLieXgvJALFysSRfR/ +2dmEu9/J0PPc28inHXwjiLb99VKlkuEz8wX9UkuoqFl0pLa8jrlM8hzdPQ9QHb3k +9c5knfgPCYkOIWwGXH+NwANHdQRK7CmGAFV24k9+P3q0g5ikabVHr+4ZQ3WPd+1H +K0+Msbb/vv53vFJWa+pYeNeFcwNCyW2kJBTMiI6qmlL4IWCcX+QDzpRLalbAWWHj +l5Zk39QEaCL024DYK948IDXCqDg6utEs7YnMdaIF0meYMKjehZFp0fVQ8e8Od+rp +bbjdj/w60wMgBpSOeYxVrs3QKNZd/if4Az3LggoVHB09SjXKiWpvAgMBAAEwDQYJ +KoZIhvcNAQEEBQADggQBABncOBW0wQwJdEB6W3d9CrhFp40q1OM54GPfX0/0aUfP +aOQPxS1uCKcFhxAmR4OT9RiJx+0bhDctekkuMkj5yy3u0a/4PxHIhnVxXTyB0/Hj +N1gLz6cQricunl6Q4Ldi54gR5/KUehKLBWnqsfxhgzWBHosvhlJC0xh/uio7JTqz +ns60djyL7R4wGbSqiGdhT9L2HfpJo3dmmWLDxe02jaHkbL1Z6NQMxrRgs3+gctp/ +Wd5UxNl4BHbNsSbzaK9V9gXUcj4TjZGGSqVki0+pEZ3dmksGZdoW9cSKtzKvgUQ6 +vhhqO4dcopxkY2zYeVOpspgTm0XLZSbNPXv5rSFwa4cpWSfD7u8o8KhHvkkSMahw +cMuH17W4voHHFDtWP8Oq9rA7uE/4/LKCl0JmJl2RWM+G6PMH8w4X4auHPssgRvb/ +Ge1AvgqQJrvi7zWx3XYKKJ0ISBy7fi5Jo/wYgLagRYcG3mwdm1+gAdw+77C/ZGmG +FbWFIPB1+Mc6azhhk9m/vqP7o/Wuncc99mp2zPMzdAEzuzp/IJ9UJNat0edA7jiC +bQ7JSRJ1DSzdJZSWWHdardLNKipPfrEHVm7f5QvL5DQLnGpt+rCWL361KsGtvETC +o+Ph7+kDJsJLokUYfs/BEZopzspNPy/NQ2ECwQp7T4Yq/PBE6Ce/dFaoZysMUOrG +TcALtJW6It98dRmTJPiqjlrlHNTrfoV3Aiy+tK4rpyGuApSHc+1Y+t7YvWotRlQ4 +GEboBqR8evjDPJ1xAaUZqwLkebf3mlpl4MzHM9uNWBkQdJilkQs/IrAaApG3Ayt0 +nIymNHmDslBEdrRGmT4aNWAWYvVYzyKDy3H0fzYdWwuA9goJUL4tj3eMJa8pgEU/ +rG3HfflVi+xuwm1UnLXPSIE8hixgV8ebnwcCnEjlUBvwpl7f5Ub40jKcdycdGvVu +gcTUzuRl1+Ikfk/MXKPbdi4A5Pjtz6AG4Ez9q5j7X77JqskTI5Z/f1RPiKwFBJHg +cN4+BPnEuSWGcjiNDOfQxhk5exlWRf/gpEhnQpGHe3a7tZgfxHUb/pWU9BYpf8OH +vtV3WSDXlUqsEEH6/bmvj8lmFWJLmeZv+qLy1wHxcXR9/GJ6TwCF8niQIl3MrBAL +sKPLft1drmpqdIQpZQIJxtN/AQuD9mxEdW7XA6rkvFySKcswJpS1QjkSWpafCBWE +wu+SPxZL8oFrnNMTU3JloUjcRp70FkNXLLm/Dy+MjW2qFBtIoBgNptVGp94L1uZS +amd2XJMcOQ+X9fcH3wAdM3IHGn3NiLf6eTW92JNNA0IN6aNtyVaJKmFJ1JfXOl9r +ujr4SorRSesaerjIcuzW1u1YE5RlgeI4kizV2/D5kYc= +-----END CERTIFICATE----- diff --git a/mysql-test/std_data/server8k-key.pem b/mysql-test/std_data/server8k-key.pem new file mode 100644 index 00000000000..608593a5096 --- /dev/null +++ b/mysql-test/std_data/server8k-key.pem @@ -0,0 +1,99 @@ +-----BEGIN RSA PRIVATE KEY----- +MIISKQIBAAKCBAEA1BZYf95sKL+WGiAhVznSV4B1f7g5E41wevaMZYqbIUGmD1/C +w0+b4SN4D3IktWdbERNnU3AuDJNiuCw1CI6d1pHk3xQB2T1dxGPtzh/37R+DekhC +AUyhOBGOmodJybVPfDNCYcToecx43us0KdUpAZ4RDkGHsWEaozrRpaGfUchdIhQF +3MrtgKdeLt+5eWJWtHMj872aj+JhWJXF8GkXwGnCZqjDNb7kLxcdSSE1EwboDBd1 +RmdRdLcOtxCFB/xVv1lp3D6rxtfJ2uNKpb/WZAcNBYWXikvHCiSGOcuCd9I5/3lf +KdZUzuyvgEk7hmVpnUQ4I1BtGPThrirDz6GhOppdB05zAbAUkH11KvV5MBrfA04D +4qAChwR4y2yCxMuBTGFq5U2ZT08zasoWsnnP9k9eaA5WnTUreyaQy6V+9FBAlxYX +RBsbBsbV3SmyAbzZtsk+F9p8VvSLbBAo0koA/veE4BqGvECg8K6ZoKvlqqZueAmd +bzdaKsjFMNbIzRF/4iwchwI0gC28tin35OXJeZp7Eenf5OI7InN0LHIsJHfq0Lf/ +FTIUtp7N55Hs/wStxb0ANjLPMSYRS37M1awYZ43BUUzU9vvyjJa9aE+UNV2Si+6l +V06Wmzy+dSZVQS+Qkh5dUEZH37Kn6nICZHBwavpCo1IhbOJWnYU67zQQl2GufjZA +NkKiH3TqTcJetv4HRO/+81NboeNL5FSssy/gD5Cz8sDxFwTqUMiAzZIKF5ktdPiT +A+OCu7mclJsWS+1u124t9DbhBa1Ts6FJlV4WqT26UJ5EB8Z/J7aij2F3QXL13Ais +ieou/R9lZPXzOqwWIsDXBO0Mlqn3dkDI86++r3hdOLF5D0frRuWNZaxfWad72mxV +0INkSbhgN61ejEdhhTV7goSGLuNdL4SITzbZnShFaCFWbBbLoPnbZ9Dwwha0fFRH +f7LIadJ2jWvQHdZWPpmqyZDiTlaT4ArNsiQzwFAf2Hb0ieGr1umXbzU8IQS/HxCT +Etg0qpGmugN/ov0qiE6VPE6CcbDBmoAbC4nl4LyQCxcrEkX0f9nZhLvfydDz3NvI +px18I4i2/fVSpZLhM/MF/VJLqKhZdKS2vI65TPIc3T0PUB295PXOZJ34DwmJDiFs +Blx/jcADR3UESuwphgBVduJPfj96tIOYpGm1R6/uGUN1j3ftRytPjLG2/77+d7xS +VmvqWHjXhXMDQsltpCQUzIiOqppS+CFgnF/kA86US2pWwFlh45eWZN/UBGgi9NuA +2CvePCA1wqg4OrrRLO2JzHWiBdJnmDCo3oWRadH1UPHvDnfq6W243Y/8OtMDIAaU +jnmMVa7N0CjWXf4n+AM9y4IKFRwdPUo1yolqbwIDAQABAoIEAQDI3u0tFoWMRoCs +99d8HLiaxYED2YC9gw2QeKjal198LQhRsVnu0ByMLKLOxkX8RgrbbmxDe5Exufob +A0urciAOFJoXqoRhs5x2oEqgGmkf/ePx0jQptOFREFfnBdGeKIpC0O3DWdLxYPbt +8wixwkEXVhVDUk9pcdXf2ZqsbBpQRBvpZdtzlgNCAcLTVHP/gmMqf48CkIauVjPq +ydfybibfx4sm3hodclH+Q78p/zicb8MhiKo7ZymgCKz4N743pQe1tsLrpbPeHY0C +MpoFyF8O2Bq+KxwvELxQX+19GcHVKJhj3hmCr4wde9BxCWtGTBCusekVkVvy8iQ5 +aCmTIrtonMEVZXjJlXK0sw5hBKOmKx0jrSVC5FfgdxzNVlW4fCJXLEEpMsjMc+/3 +6bV7jqGn4N5CYaopNS2ccxdaucE3NjcmofahO6bqUTJHSPFecfYmCA42W2m+ldjj +HZ78JLkyw03nT1hjPjbwHf5FTem1KfKg4EJrDprowMT7D8KZb0SW+z59pFoDOM5u +Heu6sOSUtvpvKfozdw2ZAI58dhpW4/jTfCEtewRhPqE3/V7g3haTnQFxU8gm/a4N +uefZTCjFE16QWNuvnUrJWw/DlvOBY8GjpQCWY0mDeBHPNOI0Xg9oRTgOCrKSLUya +YSbg6BmhSKwKsYQU834jrQb3fXFlXZVIxlcNePOWMhHFFNAHucHF822Nr7u/3FOT +twcbBIOXCGfDT6ed8d4dNum1L7k9Blju16CWkfuciL8PGXY4mGAmF4nZMXGZgK8B +Cz9cxhtvFLe8gz5615DtBAsuVm7Q4AAHiULAMg6t6auyxCb8pXbAL0Ec5X4zS3+f +I2riODYiyHCh/qTtjawOzUZZEtjZRMSDi+jk8wjjDdkFU8McOaYoPyqT3TDy2v6m +NiPJs8GWQ2NCNo9CNoGbEIIFFP5iSz18XLFAOF+2dN/KHHl9nKyi7kOhYbbzoNku +2wQV40yVsrS4E/hd/7+2IB2Muduxiu7NxCUSUXsw6p0hZTYMpIoduEfRSk1al0lS +862GD8JgJ4RhJ0uIOTDJS52MQmO8zFIL86emdjjV1CzVvadYSQLTX7ZgR0i8g46A +y0muCFAC8EJpnEtHzqtQ/z22zB8TCJShFuUK9KF6K8nOlbc6ShcUXU2J6r1sc8aT +Dx0yzRXfCL15fpCJBP49EYaKhArTNmFRa2GaLiJP0OYkTrrwVOGuS6x2+kRVoP/8 +BcNMZ5x8mXP1LgotHCztgMKX30Hn5CLxbH8QfcWKemGva1jBmhCWxS17Gh3Ld9T3 +/WKkBa6JDq83rlO84x/iF3mB3tYkZPfcYtYURn5wwm/BmVV/9G1VwAatJdxmfCSy +5JwC9WDBAoICAQD7xStPk3lq+qYHAtLZidujmzSNv7XG+E8UC9yvMRFuBwSM5ZE4 +YGD2LDev2nghB+7OSR8KJIkxeaNjP91Zf3s8wjCuxLg/cLGI6mf6uWy9+zypFg3i +J+ylDKa6NBuqYyY75W7Pj63xvGQlw5kX5+mB3ulQbActT4cUiVdEkyDytzubqLzY +s15QGFrL9gqLow+C+7LKQKdeXq8OavFV1PWkMDAJUki6cIir9m+f5Mqr2cQCLKgx +38aX8c9UWJv6pI5zQQuBjpaBOwz07WnyTXiFpc71x/8i85uLGDM0e3VO5ZPGeRBj +jZ0ucHatOHJ3i/nPRG16rsPR+q97QiDHoLF0quHEG+ND+rwTBzNGIwzYRE16p1o3 +UdzFk1RzlDCfOX7QgszCwK6mf8TbCK9f/FxJ5e6TCkt3iHXSrlLS4op6k9nEpKFH +KHf4nPtCy9GriP+A8+dA6K1s+DgejoIojBMBTsnl4TEf+m8BaenTXGuU7KYyc8dR +JqmpmDggDRT/ImHRhXirY7lIIYXnI7tRjN5gmnKpEiHScT1r848zpQ4gWH1Dx/ks +mKT6NZ8nF45saQCYbKEYc0RH9Kw0O7vr1kVtNPc2dEZtVgt4bC5fnl7xX1/YTk3m ++h1qfzbku/+MX5rRjHLR2l8a71UltlnnnpP5NKBBgtxll6aCIkk6CdH8YQKCAgEA +16aBaVa0cOZmiOQwPQkpuXIbV7msz1ttWEAHElCy6waniOCON89PYFCb7F0NjV3Q +i+pGaRgG1iZGbjjHwyqTrHhMloFm+IsSWZqOZzrHgSJgA4bgTJFgp+5b31sQXGfJ +14QQSqMJLC61/M+CnrNtiuI3IVHx6BFRxI42uE7PfTyUMaFhL9F0/SLl0Mw0oMPj +S5kmarduuKpRn1tN9WO+ywEvYwopvH3e9PBssZzPpttlLiE/Wulb0iEtlVXYB9DS +Vzc94N2dzFMIvWUDF9BQ+IBMRzXRm15Psy6LfzoK+9S6w38Dx3BVV8ykSMKeW1UR +ZwTajjdnIBLdE3onD5XMmrSOPw/WtV5zXEYY4DObhIPoN2iD8GJP0IubPb6fonH5 +VHmuVZoXrroFEe7rdt2wgmBdPPl6fqvBKVhjJOpYQctrFLgWh63bXZKaBWqbQM9W +fECq8We1VN3fzqwfwJQit3z5R/DjQNk8eQx7SnnkOzAY6ZgpysHCwaoPOnPVuiYF +ZU0+X3iwfsdeefWmGEDIzoZk6nYaljs61lOhhEoWHngZHDkMOp5kg0n9f8BUP02+ +WJ4QhwzZ73hr4FPBuPHHXECw9TCAgCBHBFrnrXg5QalDhRXz4F+3tCY7UUpD/ikZ +L6Daxm5zGJ5u3rXs6WwKy2EHVVS9zfqs4Q259pQdWM8CggIAcIKpGzOVM+h033c0 +kIBZxeAq+Rlt+0+lzxiJ80RjPJ8oOmqwndf8HKaf8BcaTfCEmGz20QqIwLJSAJ1e +posgoINLTB6fE8Kho8TU2KeaX7/xWMKBS8p5pzxjGZ0Fq/wI7wVVoq3blsaQnout +U5CQujfKXeUYw/fhLp09gWiadbzKh4I9ej2V7QclNDZsegBRg0BForqH0NVRN4k0 +9h1n9IqQPOonlCGMAgTr1zFgHLIBNNOOClOtJOOruk6qzbRR8FFl+eyld3TTEnUy +PlS+gkMZnJ5WduEUZnFXGKH/R1Wy1yPs3gA/+KvLbRdnl+LWrPgwUH3fBmwXlWZ0 +zaETDEb9Ay1PP2bCO2KhWDt7lv3W/fPhjg0oMqbnO4tCuzTvZfC93l5K7h708skL +zkIxX9i/57fXB8DUnmTGoHUaWzLNQ2IqrGj6TACjDDOXLCfZvl/AvTH9pk+6jHU0 +1zfZmmECOpeK43Z/ussA8jI/5Vpn3u38aVh0w1RB6JjQBD/yJLaXuUekWgaZFzTR +ldz014jNqp5uvONcBmzeVr7w9CV3PR4VTQed2i6yQ770J6A44uTQjOOd5OYDOohj +Lz4e4nGj9BK8Eko8cAEwLAzS8tyjMT+08n5dPOVCu68DwVBMGE7CVONYUuoXS/YU +cTxddiU9ZGk9Yq0FfOwjeys+SqECggIAdn3M2b6Egwx2Bn2ra74fKQBjub4SEBWi +bT0xJYUl6jHL2E/alRvZ94gTRLqUebq0nkxpx9El4IFDbcjRKpG4dqnbG0+a7rIr +sQRVfq8zc+cZbparpCa1P1CfNojo4n080KiF8xzGK3q3EGRM1zqr1AYcWLiX/PWX +QjMKKhdTtvKUUvjjV8z1RSnpsOKjgDpiJ+XM0BJeSiV7l94pZc4axZyvFvI8oI9g +9KEueCE7j+k5HTGziBZ1F26Xh1iVzSWWjcmSvH3I+L4fLUHVgz45X3HPd8lAlOgr +Tr8icxPHeTwYKtcdknZMzmNpWXlmXbTOTRbDqCUVCvCSfOM/lzauJ8tR5aCkTx/I +r0js3jQ9HYEFFXzeEjVSubob4L9fI3kQkLQTcIGsxZr8si/fPX7uP5UHZjuGbRee +mUMxptUFDZHiEo5cAs0qna2x54v+JoxGbxtxUhez8R/Am+TDxaMfuEZ5Cmh31egH +bFPJYtC68TKqXZ/4RqpUgukYWPvQ0emWSWU6AmdkQyT06nppeyYNsDz0MkgWr7l3 +yNBHDVNP+Anxcip+Z68kd2cuXQWmxOnIzxR67FnJXeWDEM20whRHgI8jLHYsBTq3 +CtOQPSaz/zosGXJIgF7Xp6riKPZvibW3Ww49Z47EuyBCtyirNk7hV4LG7sITUJyO +ZVKPfcdAoM0CggIBANz3EBZGyt3af2UjFFKbazV01KcHF8OxqdQzsLqHCXWb98V6 +PggQnrF76U7DvqOWho9djDBPrbQU55HG5nXq+eZKPwhsOdwQ8bxOhaVxQcATZOI7 +FtJYnjM1/+zMzzS0iPR5DA2pbB3AKH2Z+wODmF23CK2XTwoJyPKxvlyGKrIqq3gN +kOmocNu2Qm5bJf+D/hYPm5Ust2wzD52NnvJU536bZ0ZMo1/kaK2idqSAzqo4TkR1 +j9U0fdW2rIBDo/qFmBBdJhYVjYLj4qR8CEEoIjshD4Nztf1xRM5C8irE/gJcT5+r +4bPJJ5TjAtHxPiQqZruSprSEUbMsPqBap64ow0SmbNNWSgyaz2ha1rG0p52NBzH4 +XM52LBqS9QHPHvB0ooYfBTfPpDM3CePuuNyzjPAw86ncUo38FKXuc2oViJJ6C5I7 +v2sKhLK5gu3uPBB2ludDEXSpWBqiraynolOT/o52r+taYp9YY2WU3GrhOiV/A1FV +Nl118xiF6FOFpEeTbhHvy27A8kZEKXgeSs+f4aC0XG9kLVD1CiCbQiqHTDcDS4nV +O1N1eQxhP81X+YKE4Lgufh07REqYVwtCj2lQcMp73WDyfBLKTEFlmHusoqmT5JCH +X0BWNjk5Dn1g5h63/lQb+EjNRILBhDFYhrDRDQtw5p0/7IY3AcNKDUHv+XGn +-----END RSA PRIVATE KEY----- diff --git a/mysql-test/suite/funcs_1/datadict/datadict_master.inc b/mysql-test/suite/funcs_1/datadict/datadict_master.inc index 03d3eeb3777..2c8ceb4e68e 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_master.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_master.inc @@ -437,19 +437,23 @@ eval SELECT * # check also with a 'simple' user CREATE USER user_3212@localhost; GRANT ALL ON db_datadict.* TO user_3212@localhost; +# OBN: The following line was added following the fix to bug 28181 +# where queries to information_schema will fail if exporting to +# a file without having the FILE attribute +GRANT FILE ON *.* TO user_3212@localhost; + --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (u3212,localhost,user_3212,,db_datadict); --source suite/funcs_1/include/show_connection.inc # no db given --> db_datadict.schema does not exist ---error 1045 +--error 1146 eval SELECT * INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user.file' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM schemata LIMIT 0, 5; -# FIXME 3.2.1.2: why do we get different error numbers with and without OUTFILE ? --error 1146 eval SELECT * FROM schemata LIMIT 0, 5; @@ -460,8 +464,6 @@ eval SELECT * LINES TERMINATED BY '\n' FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; -# The above will fail with access error as long as -# BUBG#28181 - a regression introduced in 5.0.42 is not fixed eval SELECT * FROM information_schema.schemata @@ -469,14 +471,11 @@ eval SELECT * USE information_schema; -# no db given --> db_datadict.schema does not exist eval SELECT * INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user_2.file' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM schemata LIMIT 0, 5; -# The above will fail with access error as long as -# BUBG#28181 - a regression introduced in 5.0.42 is not fixed eval SELECT * FROM schemata LIMIT 0, 5; @@ -487,8 +486,6 @@ eval SELECT * LINES TERMINATED BY '\n' FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; -# The above will fail with access error as long as -# BUBG#28181 - a regression introduced in 5.0.42 is not fixed eval SELECT * FROM information_schema.schemata diff --git a/mysql-test/suite/funcs_1/r/innodb__datadict.result b/mysql-test/suite/funcs_1/r/innodb__datadict.result index 675f30da14a..bbaef83ea59 100644 --- a/mysql-test/suite/funcs_1/r/innodb__datadict.result +++ b/mysql-test/suite/funcs_1/r/innodb__datadict.result @@ -4859,6 +4859,7 @@ INTO OUTFILE '../tmp/out.innodb.db.file' WHERE schema_name LIKE 'db_%'; CREATE USER user_3212@localhost; GRANT ALL ON db_datadict.* TO user_3212@localhost; +GRANT FILE ON *.* TO user_3212@localhost; connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK); user_3212@localhost db_datadict @@ -4867,7 +4868,7 @@ INTO OUTFILE '../tmp/out.innodb.user.file' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM schemata LIMIT 0, 5; -ERROR 28000: Access denied for user 'user_3212'@'localhost' (using password: NO) +ERROR 42S02: Table 'db_datadict.schemata' doesn't exist SELECT * FROM schemata LIMIT 0, 5; ERROR 42S02: Table 'db_datadict.schemata' doesn't exist diff --git a/mysql-test/suite/funcs_1/r/innodb_func_view.result b/mysql-test/suite/funcs_1/r/innodb_func_view.result index 5fac88b8f14..f901bcf8246 100644 --- a/mysql-test/suite/funcs_1/r/innodb_func_view.result +++ b/mysql-test/suite/funcs_1/r/innodb_func_view.result @@ -2400,16 +2400,10 @@ my_time, id FROM t1_values WHERE select_id = 89 OR select_id IS NULL; CAST(my_time AS UNSIGNED INTEGER) my_time id NULL NULL 1 -18446744073709550778 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1105 Cast to unsigned converted negative integer to it's positive complement -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +18446744073701165657 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as unsigned) AS `CAST(my_time AS UNSIGNED INTEGER)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -2418,16 +2412,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 89 OR select_id IS NULL); CAST(my_time AS UNSIGNED INTEGER) my_time id NULL NULL 1 -18446744073709550778 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1105 Cast to unsigned converted negative integer to it's positive complement -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +18446744073701165657 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 DROP VIEW v1; @@ -2438,16 +2426,10 @@ my_timestamp, id FROM t1_values WHERE select_id = 88 OR select_id IS NULL; CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as unsigned) AS `CAST(my_timestamp AS UNSIGNED INTEGER)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` @@ -2456,16 +2438,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 88 OR select_id IS NULL); CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2476,15 +2452,10 @@ my_date, id FROM t1_values WHERE select_id = 87 OR select_id IS NULL; CAST(my_date AS UNSIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as unsigned) AS `CAST(my_date AS UNSIGNED INTEGER)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` @@ -2493,15 +2464,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 87 OR select_id IS NULL); CAST(my_date AS UNSIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 DROP VIEW v1; @@ -2512,15 +2478,10 @@ my_datetime, id FROM t1_values WHERE select_id = 86 OR select_id IS NULL; CAST(my_datetime AS UNSIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as unsigned) AS `CAST(my_datetime AS UNSIGNED INTEGER)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` @@ -2529,15 +2490,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 86 OR select_id IS NULL); CAST(my_datetime AS UNSIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2780,15 +2736,10 @@ my_time, id FROM t1_values WHERE select_id = 78 OR select_id IS NULL; CAST(my_time AS SIGNED INTEGER) my_time id NULL NULL 1 --838 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +-8385959 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as signed) AS `CAST(my_time AS SIGNED INTEGER)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -2797,15 +2748,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 78 OR select_id IS NULL); CAST(my_time AS SIGNED INTEGER) my_time id NULL NULL 1 --838 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +-8385959 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 DROP VIEW v1; @@ -2816,16 +2762,10 @@ my_timestamp, id FROM t1_values WHERE select_id = 77 OR select_id IS NULL; CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as signed) AS `CAST(my_timestamp AS SIGNED INTEGER)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` @@ -2834,16 +2774,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 77 OR select_id IS NULL); CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2854,15 +2788,10 @@ my_date, id FROM t1_values WHERE select_id = 76 OR select_id IS NULL; CAST(my_date AS SIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as signed) AS `CAST(my_date AS SIGNED INTEGER)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` @@ -2871,15 +2800,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 76 OR select_id IS NULL); CAST(my_date AS SIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 DROP VIEW v1; @@ -2890,15 +2814,10 @@ my_datetime, id FROM t1_values WHERE select_id = 75 OR select_id IS NULL; CAST(my_datetime AS SIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as signed) AS `CAST(my_datetime AS SIGNED INTEGER)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` @@ -2907,15 +2826,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 75 OR select_id IS NULL); CAST(my_datetime AS SIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2926,8 +2840,8 @@ my_decimal, id FROM t1_values WHERE select_id = 74 OR select_id IS NULL; CAST(my_decimal AS SIGNED INTEGER) my_decimal id NULL NULL 1 --10000000000000000 -9999999999999999999999999999999999.999999999999999999999999999999 2 -10000000000000000 9999999999999999999999999999999999.999999999999999999999999999999 3 +-9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2 +9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3 0 0.000000000000000000000000000000 4 -1 -1.000000000000000000000000000000 5 Warnings: @@ -2941,8 +2855,8 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 74 OR select_id IS NULL); CAST(my_decimal AS SIGNED INTEGER) my_decimal id NULL NULL 1 --10000000000000000 -9999999999999999999999999999999999.999999999999999999999999999999 2 -10000000000000000 9999999999999999999999999999999999.999999999999999999999999999999 3 +-9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2 +9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3 0 0.000000000000000000000000000000 4 -1 -1.000000000000000000000000000000 5 Warnings: @@ -3115,12 +3029,12 @@ Warning 1292 Truncated incorrect INTEGER value: ' --- DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL(37,2)), my_year, id FROM t1_values; -SELECT CAST(my_year AS DECIMAL), +SELECT CAST(my_year AS DECIMAL(37,2)), my_year, id FROM t1_values WHERE select_id = 68 OR select_id IS NULL; -CAST(my_year AS DECIMAL) my_year id +CAST(my_year AS DECIMAL(37,2)) my_year id NULL NULL 1 1901.00 1901 2 2155.00 2155 3 @@ -3128,11 +3042,11 @@ NULL NULL 1 2005.00 2005 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as decimal) AS `CAST(my_year AS DECIMAL)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as decimal(37,2)) AS `CAST(my_year AS DECIMAL(37,2))`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 68 OR select_id IS NULL); -CAST(my_year AS DECIMAL) my_year id +CAST(my_year AS DECIMAL(37,2)) my_year id NULL NULL 1 1901.00 1901 2 2155.00 2155 3 @@ -3141,12 +3055,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_time AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_time AS DECIMAL(37,2)), my_time, id FROM t1_values; -SELECT CAST(my_time AS DECIMAL), +SELECT CAST(my_time AS DECIMAL(37,2)), my_time, id FROM t1_values WHERE select_id = 67 OR select_id IS NULL; -CAST(my_time AS DECIMAL) my_time id +CAST(my_time AS DECIMAL(37,2)) my_time id NULL NULL 1 -8385959.00 -838:59:59 2 8385959.00 838:59:59 3 @@ -3154,11 +3068,11 @@ NULL NULL 1 100000.00 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as decimal) AS `CAST(my_time AS DECIMAL)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as decimal(37,2)) AS `CAST(my_time AS DECIMAL(37,2))`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 67 OR select_id IS NULL); -CAST(my_time AS DECIMAL) my_time id +CAST(my_time AS DECIMAL(37,2)) my_time id NULL NULL 1 -8385959.00 -838:59:59 2 8385959.00 838:59:59 3 @@ -3167,12 +3081,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DECIMAL(37,2)), my_timestamp, id FROM t1_values; -SELECT CAST(my_timestamp AS DECIMAL), +SELECT CAST(my_timestamp AS DECIMAL(37,2)), my_timestamp, id FROM t1_values WHERE select_id = 66 OR select_id IS NULL; -CAST(my_timestamp AS DECIMAL) my_timestamp id +CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id 0.00 0000-00-00 00:00:00 1 19700101030001.00 1970-01-01 03:00:01 2 20380101025959.00 2038-01-01 02:59:59 3 @@ -3180,11 +3094,11 @@ CAST(my_timestamp AS DECIMAL) my_timestamp id 20050628100000.00 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as decimal) AS `CAST(my_timestamp AS DECIMAL)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as decimal(37,2)) AS `CAST(my_timestamp AS DECIMAL(37,2))`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 66 OR select_id IS NULL); -CAST(my_timestamp AS DECIMAL) my_timestamp id +CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id 0.00 0000-00-00 00:00:00 1 19700101030001.00 1970-01-01 03:00:01 2 20380101025959.00 2038-01-01 02:59:59 3 @@ -3193,12 +3107,12 @@ CAST(my_timestamp AS DECIMAL) my_timestamp id DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_date AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_date AS DECIMAL(37,2)), my_date, id FROM t1_values; -SELECT CAST(my_date AS DECIMAL), +SELECT CAST(my_date AS DECIMAL(37,2)), my_date, id FROM t1_values WHERE select_id = 65 OR select_id IS NULL; -CAST(my_date AS DECIMAL) my_date id +CAST(my_date AS DECIMAL(37,2)) my_date id NULL NULL 1 10101.00 0001-01-01 2 99991231.00 9999-12-31 3 @@ -3206,11 +3120,11 @@ NULL NULL 1 20050628.00 2005-06-28 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as decimal) AS `CAST(my_date AS DECIMAL)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as decimal(37,2)) AS `CAST(my_date AS DECIMAL(37,2))`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 65 OR select_id IS NULL); -CAST(my_date AS DECIMAL) my_date id +CAST(my_date AS DECIMAL(37,2)) my_date id NULL NULL 1 10101.00 0001-01-01 2 99991231.00 9999-12-31 3 @@ -3219,12 +3133,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_datetime AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_datetime AS DECIMAL(37,2)), my_datetime, id FROM t1_values; -SELECT CAST(my_datetime AS DECIMAL), +SELECT CAST(my_datetime AS DECIMAL(37,2)), my_datetime, id FROM t1_values WHERE select_id = 64 OR select_id IS NULL; -CAST(my_datetime AS DECIMAL) my_datetime id +CAST(my_datetime AS DECIMAL(37,2)) my_datetime id NULL NULL 1 10101000000.00 0001-01-01 00:00:00 2 99991231235959.00 9999-12-31 23:59:59 3 @@ -3232,11 +3146,11 @@ NULL NULL 1 20050628100000.00 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as decimal) AS `CAST(my_datetime AS DECIMAL)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as decimal(37,2)) AS `CAST(my_datetime AS DECIMAL(37,2))`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 64 OR select_id IS NULL); -CAST(my_datetime AS DECIMAL) my_datetime id +CAST(my_datetime AS DECIMAL(37,2)) my_datetime id NULL NULL 1 10101000000.00 0001-01-01 00:00:00 2 99991231235959.00 9999-12-31 23:59:59 3 @@ -3245,12 +3159,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_decimal AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_decimal AS DECIMAL(37,2)), my_decimal, id FROM t1_values; -SELECT CAST(my_decimal AS DECIMAL), +SELECT CAST(my_decimal AS DECIMAL(37,2)), my_decimal, id FROM t1_values WHERE select_id = 63 OR select_id IS NULL; -CAST(my_decimal AS DECIMAL) my_decimal id +CAST(my_decimal AS DECIMAL(37,2)) my_decimal id NULL NULL 1 -10000000000000000000000000000000000.00 -9999999999999999999999999999999999.999999999999999999999999999999 2 10000000000000000000000000000000000.00 9999999999999999999999999999999999.999999999999999999999999999999 3 @@ -3258,11 +3172,11 @@ NULL NULL 1 -1.00 -1.000000000000000000000000000000 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as decimal) AS `CAST(my_decimal AS DECIMAL)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as decimal(37,2)) AS `CAST(my_decimal AS DECIMAL(37,2))`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 63 OR select_id IS NULL); -CAST(my_decimal AS DECIMAL) my_decimal id +CAST(my_decimal AS DECIMAL(37,2)) my_decimal id NULL NULL 1 -10000000000000000000000000000000000.00 -9999999999999999999999999999999999.999999999999999999999999999999 2 10000000000000000000000000000000000.00 9999999999999999999999999999999999.999999999999999999999999999999 3 @@ -3271,12 +3185,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_bigint AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_bigint AS DECIMAL(37,2)), my_bigint, id FROM t1_values; -SELECT CAST(my_bigint AS DECIMAL), +SELECT CAST(my_bigint AS DECIMAL(37,2)), my_bigint, id FROM t1_values WHERE select_id = 62 OR select_id IS NULL; -CAST(my_bigint AS DECIMAL) my_bigint id +CAST(my_bigint AS DECIMAL(37,2)) my_bigint id NULL NULL 1 -9223372036854775808.00 -9223372036854775808 2 9223372036854775807.00 9223372036854775807 3 @@ -3284,11 +3198,11 @@ NULL NULL 1 -1.00 -1 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as decimal) AS `CAST(my_bigint AS DECIMAL)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as decimal(37,2)) AS `CAST(my_bigint AS DECIMAL(37,2))`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 62 OR select_id IS NULL); -CAST(my_bigint AS DECIMAL) my_bigint id +CAST(my_bigint AS DECIMAL(37,2)) my_bigint id NULL NULL 1 -9223372036854775808.00 -9223372036854775808 2 9223372036854775807.00 9223372036854775807 3 @@ -3297,12 +3211,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DECIMAL(37,2)), my_varbinary_1000, id FROM t1_values; -SELECT CAST(my_varbinary_1000 AS DECIMAL), +SELECT CAST(my_varbinary_1000 AS DECIMAL(37,2)), my_varbinary_1000, id FROM t1_values WHERE select_id = 61 OR select_id IS NULL; -CAST(my_varbinary_1000 AS DECIMAL) my_varbinary_1000 id +CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3315,11 +3229,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Error 1366 Incorrect decimal value: '' for column '' at row -1 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal) AS `CAST(my_varbinary_1000 AS DECIMAL)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 61 OR select_id IS NULL); -CAST(my_varbinary_1000 AS DECIMAL) my_varbinary_1000 id +CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3333,12 +3247,12 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DECIMAL(37,2)), my_binary_30, id FROM t1_values; -SELECT CAST(my_binary_30 AS DECIMAL), +SELECT CAST(my_binary_30 AS DECIMAL(37,2)), my_binary_30, id FROM t1_values WHERE select_id = 60 OR select_id IS NULL; -CAST(my_binary_30 AS DECIMAL) my_binary_30 id +CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3356,11 +3270,11 @@ Warning 1292 Truncated incorrect DECIMAL value: '-1' Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333' SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as decimal) AS `CAST(my_binary_30 AS DECIMAL)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as decimal(37,2)) AS `CAST(my_binary_30 AS DECIMAL(37,2))`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 60 OR select_id IS NULL); -CAST(my_binary_30 AS DECIMAL) my_binary_30 id +CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3379,12 +3293,12 @@ Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333' DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DECIMAL(37,2)), my_varchar_1000, id FROM t1_values; -SELECT CAST(my_varchar_1000 AS DECIMAL), +SELECT CAST(my_varchar_1000 AS DECIMAL(37,2)), my_varchar_1000, id FROM t1_values WHERE select_id = 59 OR select_id IS NULL; -CAST(my_varchar_1000 AS DECIMAL) my_varchar_1000 id +CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3397,11 +3311,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Error 1366 Incorrect decimal value: '' for column '' at row -1 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal) AS `CAST(my_varchar_1000 AS DECIMAL)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 59 OR select_id IS NULL); -CAST(my_varchar_1000 AS DECIMAL) my_varchar_1000 id +CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3415,12 +3329,12 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DECIMAL(37,2)), my_char_30, id FROM t1_values; -SELECT CAST(my_char_30 AS DECIMAL), +SELECT CAST(my_char_30 AS DECIMAL(37,2)), my_char_30, id FROM t1_values WHERE select_id = 58 OR select_id IS NULL; -CAST(my_char_30 AS DECIMAL) my_char_30 id +CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3436,11 +3350,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Warning 1292 Truncated incorrect DECIMAL value: ' ---ДжЭъ@╣*$-- ' SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as decimal) AS `CAST(my_char_30 AS DECIMAL)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as decimal(37,2)) AS `CAST(my_char_30 AS DECIMAL(37,2))`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 58 OR select_id IS NULL); -CAST(my_char_30 AS DECIMAL) my_char_30 id +CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result index a2bb203b294..56f20781995 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result @@ -237,7 +237,7 @@ create table t1 (f1 integer) engine = innodb; use test; CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3 for each row set @ret_trg6_2 = 5; -ERROR HY000: Trigger in wrong schema +ERROR 42S02: Table 'trig_db.tb3' doesn't exist use trig_db; CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3 for each row set @ret_trg6_3 = 18; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_08.result b/mysql-test/suite/funcs_1/r/innodb_trig_08.result index 0f2d54f01ba..bb087d5882e 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_08.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_08.result @@ -484,9 +484,8 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 -SET @counter1 = @counter1 + 1; -END' at line 3 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; +END' at line 4 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_09.result b/mysql-test/suite/funcs_1/r/innodb_trig_09.result index 54b191e401e..685de95db51 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_09.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_09.result @@ -194,7 +194,7 @@ a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL where f122='Test 3.5.9.4'; Warnings: -Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'f136' at row 11 +Warning 1048 Column 'f136' cannot be null select f118, f121, f122, f136, f151, f163 from tb3 where f122 like 'Test 3.5.9.4-trig'; f118 f121 f122 f136 f151 f163 diff --git a/mysql-test/suite/funcs_1/r/innodb_views.result b/mysql-test/suite/funcs_1/r/innodb_views.result index 63d1c8a3131..3bb56a82612 100644 --- a/mysql-test/suite/funcs_1/r/innodb_views.result +++ b/mysql-test/suite/funcs_1/r/innodb_views.result @@ -10202,7 +10202,8 @@ SHOW FIELDS FROM v1; ERROR 42S02: Table 'test.v1' doesn't exist CHECK TABLE v1; Table Op Msg_type Msg_text -test.v1 check error Table 'test.v1' doesn't exist +test.v1 check Error Table 'test.v1' doesn't exist +test.v1 check error Corrupt DESCRIBE v1; ERROR 42S02: Table 'test.v1' doesn't exist EXPLAIN SELECT * FROM v1; diff --git a/mysql-test/suite/funcs_1/r/memory__datadict.result b/mysql-test/suite/funcs_1/r/memory__datadict.result index 1dea8a5f4a9..fda7cc6e76e 100644 --- a/mysql-test/suite/funcs_1/r/memory__datadict.result +++ b/mysql-test/suite/funcs_1/r/memory__datadict.result @@ -4842,6 +4842,7 @@ INTO OUTFILE '../tmp/out.memory.db.file' WHERE schema_name LIKE 'db_%'; CREATE USER user_3212@localhost; GRANT ALL ON db_datadict.* TO user_3212@localhost; +GRANT FILE ON *.* TO user_3212@localhost; connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK); user_3212@localhost db_datadict @@ -4850,7 +4851,7 @@ INTO OUTFILE '../tmp/out.memory.user.file' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM schemata LIMIT 0, 5; -ERROR 28000: Access denied for user 'user_3212'@'localhost' (using password: NO) +ERROR 42S02: Table 'db_datadict.schemata' doesn't exist SELECT * FROM schemata LIMIT 0, 5; ERROR 42S02: Table 'db_datadict.schemata' doesn't exist diff --git a/mysql-test/suite/funcs_1/r/memory_func_view.result b/mysql-test/suite/funcs_1/r/memory_func_view.result index 08e49d1bf6f..552b549a1a0 100644 --- a/mysql-test/suite/funcs_1/r/memory_func_view.result +++ b/mysql-test/suite/funcs_1/r/memory_func_view.result @@ -2400,16 +2400,10 @@ my_time, id FROM t1_values WHERE select_id = 89 OR select_id IS NULL; CAST(my_time AS UNSIGNED INTEGER) my_time id NULL NULL 1 -18446744073709550778 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1105 Cast to unsigned converted negative integer to it's positive complement -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +18446744073701165657 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as unsigned) AS `CAST(my_time AS UNSIGNED INTEGER)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -2418,16 +2412,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 89 OR select_id IS NULL); CAST(my_time AS UNSIGNED INTEGER) my_time id NULL NULL 1 -18446744073709550778 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1105 Cast to unsigned converted negative integer to it's positive complement -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +18446744073701165657 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 DROP VIEW v1; @@ -2438,16 +2426,10 @@ my_timestamp, id FROM t1_values WHERE select_id = 88 OR select_id IS NULL; CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as unsigned) AS `CAST(my_timestamp AS UNSIGNED INTEGER)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` @@ -2456,16 +2438,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 88 OR select_id IS NULL); CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2476,15 +2452,10 @@ my_date, id FROM t1_values WHERE select_id = 87 OR select_id IS NULL; CAST(my_date AS UNSIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as unsigned) AS `CAST(my_date AS UNSIGNED INTEGER)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` @@ -2493,15 +2464,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 87 OR select_id IS NULL); CAST(my_date AS UNSIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 DROP VIEW v1; @@ -2512,15 +2478,10 @@ my_datetime, id FROM t1_values WHERE select_id = 86 OR select_id IS NULL; CAST(my_datetime AS UNSIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as unsigned) AS `CAST(my_datetime AS UNSIGNED INTEGER)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` @@ -2529,15 +2490,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 86 OR select_id IS NULL); CAST(my_datetime AS UNSIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2780,15 +2736,10 @@ my_time, id FROM t1_values WHERE select_id = 78 OR select_id IS NULL; CAST(my_time AS SIGNED INTEGER) my_time id NULL NULL 1 --838 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +-8385959 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as signed) AS `CAST(my_time AS SIGNED INTEGER)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -2797,15 +2748,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 78 OR select_id IS NULL); CAST(my_time AS SIGNED INTEGER) my_time id NULL NULL 1 --838 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +-8385959 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 DROP VIEW v1; @@ -2816,16 +2762,10 @@ my_timestamp, id FROM t1_values WHERE select_id = 77 OR select_id IS NULL; CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as signed) AS `CAST(my_timestamp AS SIGNED INTEGER)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` @@ -2834,16 +2774,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 77 OR select_id IS NULL); CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2854,15 +2788,10 @@ my_date, id FROM t1_values WHERE select_id = 76 OR select_id IS NULL; CAST(my_date AS SIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as signed) AS `CAST(my_date AS SIGNED INTEGER)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` @@ -2871,15 +2800,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 76 OR select_id IS NULL); CAST(my_date AS SIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 DROP VIEW v1; @@ -2890,15 +2814,10 @@ my_datetime, id FROM t1_values WHERE select_id = 75 OR select_id IS NULL; CAST(my_datetime AS SIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as signed) AS `CAST(my_datetime AS SIGNED INTEGER)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` @@ -2907,15 +2826,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 75 OR select_id IS NULL); CAST(my_datetime AS SIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2926,8 +2840,8 @@ my_decimal, id FROM t1_values WHERE select_id = 74 OR select_id IS NULL; CAST(my_decimal AS SIGNED INTEGER) my_decimal id NULL NULL 1 --10000000000000000 -9999999999999999999999999999999999.999999999999999999999999999999 2 -10000000000000000 9999999999999999999999999999999999.999999999999999999999999999999 3 +-9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2 +9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3 0 0.000000000000000000000000000000 4 -1 -1.000000000000000000000000000000 5 Warnings: @@ -2941,8 +2855,8 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 74 OR select_id IS NULL); CAST(my_decimal AS SIGNED INTEGER) my_decimal id NULL NULL 1 --10000000000000000 -9999999999999999999999999999999999.999999999999999999999999999999 2 -10000000000000000 9999999999999999999999999999999999.999999999999999999999999999999 3 +-9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2 +9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3 0 0.000000000000000000000000000000 4 -1 -1.000000000000000000000000000000 5 Warnings: @@ -3115,12 +3029,12 @@ Warning 1292 Truncated incorrect INTEGER value: ' --- DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL(37,2)), my_year, id FROM t1_values; -SELECT CAST(my_year AS DECIMAL), +SELECT CAST(my_year AS DECIMAL(37,2)), my_year, id FROM t1_values WHERE select_id = 68 OR select_id IS NULL; -CAST(my_year AS DECIMAL) my_year id +CAST(my_year AS DECIMAL(37,2)) my_year id NULL NULL 1 1901.00 1901 2 2155.00 2155 3 @@ -3128,11 +3042,11 @@ NULL NULL 1 2005.00 2005 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as decimal) AS `CAST(my_year AS DECIMAL)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as decimal(37,2)) AS `CAST(my_year AS DECIMAL(37,2))`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 68 OR select_id IS NULL); -CAST(my_year AS DECIMAL) my_year id +CAST(my_year AS DECIMAL(37,2)) my_year id NULL NULL 1 1901.00 1901 2 2155.00 2155 3 @@ -3141,12 +3055,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_time AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_time AS DECIMAL(37,2)), my_time, id FROM t1_values; -SELECT CAST(my_time AS DECIMAL), +SELECT CAST(my_time AS DECIMAL(37,2)), my_time, id FROM t1_values WHERE select_id = 67 OR select_id IS NULL; -CAST(my_time AS DECIMAL) my_time id +CAST(my_time AS DECIMAL(37,2)) my_time id NULL NULL 1 -8385959.00 -838:59:59 2 8385959.00 838:59:59 3 @@ -3154,11 +3068,11 @@ NULL NULL 1 100000.00 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as decimal) AS `CAST(my_time AS DECIMAL)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as decimal(37,2)) AS `CAST(my_time AS DECIMAL(37,2))`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 67 OR select_id IS NULL); -CAST(my_time AS DECIMAL) my_time id +CAST(my_time AS DECIMAL(37,2)) my_time id NULL NULL 1 -8385959.00 -838:59:59 2 8385959.00 838:59:59 3 @@ -3167,12 +3081,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DECIMAL(37,2)), my_timestamp, id FROM t1_values; -SELECT CAST(my_timestamp AS DECIMAL), +SELECT CAST(my_timestamp AS DECIMAL(37,2)), my_timestamp, id FROM t1_values WHERE select_id = 66 OR select_id IS NULL; -CAST(my_timestamp AS DECIMAL) my_timestamp id +CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id 0.00 0000-00-00 00:00:00 1 19700101030001.00 1970-01-01 03:00:01 2 20380101025959.00 2038-01-01 02:59:59 3 @@ -3180,11 +3094,11 @@ CAST(my_timestamp AS DECIMAL) my_timestamp id 20050628100000.00 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as decimal) AS `CAST(my_timestamp AS DECIMAL)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as decimal(37,2)) AS `CAST(my_timestamp AS DECIMAL(37,2))`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 66 OR select_id IS NULL); -CAST(my_timestamp AS DECIMAL) my_timestamp id +CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id 0.00 0000-00-00 00:00:00 1 19700101030001.00 1970-01-01 03:00:01 2 20380101025959.00 2038-01-01 02:59:59 3 @@ -3193,12 +3107,12 @@ CAST(my_timestamp AS DECIMAL) my_timestamp id DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_date AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_date AS DECIMAL(37,2)), my_date, id FROM t1_values; -SELECT CAST(my_date AS DECIMAL), +SELECT CAST(my_date AS DECIMAL(37,2)), my_date, id FROM t1_values WHERE select_id = 65 OR select_id IS NULL; -CAST(my_date AS DECIMAL) my_date id +CAST(my_date AS DECIMAL(37,2)) my_date id NULL NULL 1 10101.00 0001-01-01 2 99991231.00 9999-12-31 3 @@ -3206,11 +3120,11 @@ NULL NULL 1 20050628.00 2005-06-28 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as decimal) AS `CAST(my_date AS DECIMAL)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as decimal(37,2)) AS `CAST(my_date AS DECIMAL(37,2))`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 65 OR select_id IS NULL); -CAST(my_date AS DECIMAL) my_date id +CAST(my_date AS DECIMAL(37,2)) my_date id NULL NULL 1 10101.00 0001-01-01 2 99991231.00 9999-12-31 3 @@ -3219,12 +3133,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_datetime AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_datetime AS DECIMAL(37,2)), my_datetime, id FROM t1_values; -SELECT CAST(my_datetime AS DECIMAL), +SELECT CAST(my_datetime AS DECIMAL(37,2)), my_datetime, id FROM t1_values WHERE select_id = 64 OR select_id IS NULL; -CAST(my_datetime AS DECIMAL) my_datetime id +CAST(my_datetime AS DECIMAL(37,2)) my_datetime id NULL NULL 1 10101000000.00 0001-01-01 00:00:00 2 99991231235959.00 9999-12-31 23:59:59 3 @@ -3232,11 +3146,11 @@ NULL NULL 1 20050628100000.00 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as decimal) AS `CAST(my_datetime AS DECIMAL)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as decimal(37,2)) AS `CAST(my_datetime AS DECIMAL(37,2))`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 64 OR select_id IS NULL); -CAST(my_datetime AS DECIMAL) my_datetime id +CAST(my_datetime AS DECIMAL(37,2)) my_datetime id NULL NULL 1 10101000000.00 0001-01-01 00:00:00 2 99991231235959.00 9999-12-31 23:59:59 3 @@ -3245,12 +3159,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_decimal AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_decimal AS DECIMAL(37,2)), my_decimal, id FROM t1_values; -SELECT CAST(my_decimal AS DECIMAL), +SELECT CAST(my_decimal AS DECIMAL(37,2)), my_decimal, id FROM t1_values WHERE select_id = 63 OR select_id IS NULL; -CAST(my_decimal AS DECIMAL) my_decimal id +CAST(my_decimal AS DECIMAL(37,2)) my_decimal id NULL NULL 1 -10000000000000000000000000000000000.00 -9999999999999999999999999999999999.999999999999999999999999999999 2 10000000000000000000000000000000000.00 9999999999999999999999999999999999.999999999999999999999999999999 3 @@ -3258,11 +3172,11 @@ NULL NULL 1 -1.00 -1.000000000000000000000000000000 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as decimal) AS `CAST(my_decimal AS DECIMAL)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as decimal(37,2)) AS `CAST(my_decimal AS DECIMAL(37,2))`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 63 OR select_id IS NULL); -CAST(my_decimal AS DECIMAL) my_decimal id +CAST(my_decimal AS DECIMAL(37,2)) my_decimal id NULL NULL 1 -10000000000000000000000000000000000.00 -9999999999999999999999999999999999.999999999999999999999999999999 2 10000000000000000000000000000000000.00 9999999999999999999999999999999999.999999999999999999999999999999 3 @@ -3271,12 +3185,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_bigint AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_bigint AS DECIMAL(37,2)), my_bigint, id FROM t1_values; -SELECT CAST(my_bigint AS DECIMAL), +SELECT CAST(my_bigint AS DECIMAL(37,2)), my_bigint, id FROM t1_values WHERE select_id = 62 OR select_id IS NULL; -CAST(my_bigint AS DECIMAL) my_bigint id +CAST(my_bigint AS DECIMAL(37,2)) my_bigint id NULL NULL 1 -9223372036854775808.00 -9223372036854775808 2 9223372036854775807.00 9223372036854775807 3 @@ -3284,11 +3198,11 @@ NULL NULL 1 -1.00 -1 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as decimal) AS `CAST(my_bigint AS DECIMAL)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as decimal(37,2)) AS `CAST(my_bigint AS DECIMAL(37,2))`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 62 OR select_id IS NULL); -CAST(my_bigint AS DECIMAL) my_bigint id +CAST(my_bigint AS DECIMAL(37,2)) my_bigint id NULL NULL 1 -9223372036854775808.00 -9223372036854775808 2 9223372036854775807.00 9223372036854775807 3 @@ -3297,12 +3211,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DECIMAL(37,2)), my_varbinary_1000, id FROM t1_values; -SELECT CAST(my_varbinary_1000 AS DECIMAL), +SELECT CAST(my_varbinary_1000 AS DECIMAL(37,2)), my_varbinary_1000, id FROM t1_values WHERE select_id = 61 OR select_id IS NULL; -CAST(my_varbinary_1000 AS DECIMAL) my_varbinary_1000 id +CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3315,11 +3229,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Error 1366 Incorrect decimal value: '' for column '' at row -1 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal) AS `CAST(my_varbinary_1000 AS DECIMAL)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 61 OR select_id IS NULL); -CAST(my_varbinary_1000 AS DECIMAL) my_varbinary_1000 id +CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3333,12 +3247,12 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DECIMAL(37,2)), my_binary_30, id FROM t1_values; -SELECT CAST(my_binary_30 AS DECIMAL), +SELECT CAST(my_binary_30 AS DECIMAL(37,2)), my_binary_30, id FROM t1_values WHERE select_id = 60 OR select_id IS NULL; -CAST(my_binary_30 AS DECIMAL) my_binary_30 id +CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3356,11 +3270,11 @@ Warning 1292 Truncated incorrect DECIMAL value: '-1' Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333' SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as decimal) AS `CAST(my_binary_30 AS DECIMAL)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as decimal(37,2)) AS `CAST(my_binary_30 AS DECIMAL(37,2))`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 60 OR select_id IS NULL); -CAST(my_binary_30 AS DECIMAL) my_binary_30 id +CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3379,12 +3293,12 @@ Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333' DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DECIMAL(37,2)), my_varchar_1000, id FROM t1_values; -SELECT CAST(my_varchar_1000 AS DECIMAL), +SELECT CAST(my_varchar_1000 AS DECIMAL(37,2)), my_varchar_1000, id FROM t1_values WHERE select_id = 59 OR select_id IS NULL; -CAST(my_varchar_1000 AS DECIMAL) my_varchar_1000 id +CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3397,11 +3311,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Error 1366 Incorrect decimal value: '' for column '' at row -1 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal) AS `CAST(my_varchar_1000 AS DECIMAL)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 59 OR select_id IS NULL); -CAST(my_varchar_1000 AS DECIMAL) my_varchar_1000 id +CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3415,12 +3329,12 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DECIMAL(37,2)), my_char_30, id FROM t1_values; -SELECT CAST(my_char_30 AS DECIMAL), +SELECT CAST(my_char_30 AS DECIMAL(37,2)), my_char_30, id FROM t1_values WHERE select_id = 58 OR select_id IS NULL; -CAST(my_char_30 AS DECIMAL) my_char_30 id +CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3436,11 +3350,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Warning 1292 Truncated incorrect DECIMAL value: ' ---ДжЭъ@╣*$-- ' SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as decimal) AS `CAST(my_char_30 AS DECIMAL)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as decimal(37,2)) AS `CAST(my_char_30 AS DECIMAL(37,2))`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 58 OR select_id IS NULL); -CAST(my_char_30 AS DECIMAL) my_char_30 id +CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0102.result b/mysql-test/suite/funcs_1/r/memory_trig_0102.result index 0a640201d76..e7fec297ca7 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_0102.result @@ -233,7 +233,7 @@ create table t1 (f1 integer) engine = memory; use test; CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3 for each row set @ret_trg6_2 = 5; -ERROR HY000: Trigger in wrong schema +ERROR 42S02: Table 'trig_db.tb3' doesn't exist use trig_db; CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3 for each row set @ret_trg6_3 = 18; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_08.result b/mysql-test/suite/funcs_1/r/memory_trig_08.result index 9a14845d0eb..a842bbc3ac7 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_08.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_08.result @@ -480,9 +480,8 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 -SET @counter1 = @counter1 + 1; -END' at line 3 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; +END' at line 4 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_09.result b/mysql-test/suite/funcs_1/r/memory_trig_09.result index c1b9ec6d33f..3dbe64958e3 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_09.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_09.result @@ -190,7 +190,7 @@ a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL where f122='Test 3.5.9.4'; Warnings: -Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'f136' at row 11 +Warning 1048 Column 'f136' cannot be null select f118, f121, f122, f136, f151, f163 from tb3 where f122 like 'Test 3.5.9.4-trig'; f118 f121 f122 f136 f151 f163 diff --git a/mysql-test/suite/funcs_1/r/memory_views.result b/mysql-test/suite/funcs_1/r/memory_views.result index 516eef24439..69dee081446 100644 --- a/mysql-test/suite/funcs_1/r/memory_views.result +++ b/mysql-test/suite/funcs_1/r/memory_views.result @@ -10207,7 +10207,8 @@ SHOW FIELDS FROM v1; ERROR 42S02: Table 'test.v1' doesn't exist CHECK TABLE v1; Table Op Msg_type Msg_text -test.v1 check error Table 'test.v1' doesn't exist +test.v1 check Error Table 'test.v1' doesn't exist +test.v1 check error Corrupt DESCRIBE v1; ERROR 42S02: Table 'test.v1' doesn't exist EXPLAIN SELECT * FROM v1; diff --git a/mysql-test/suite/funcs_1/r/myisam__datadict.result b/mysql-test/suite/funcs_1/r/myisam__datadict.result index e9082e7aee7..b95d51f3801 100644 --- a/mysql-test/suite/funcs_1/r/myisam__datadict.result +++ b/mysql-test/suite/funcs_1/r/myisam__datadict.result @@ -4912,6 +4912,7 @@ INTO OUTFILE '../tmp/out.myisam.db.file' WHERE schema_name LIKE 'db_%'; CREATE USER user_3212@localhost; GRANT ALL ON db_datadict.* TO user_3212@localhost; +GRANT FILE ON *.* TO user_3212@localhost; connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK); user_3212@localhost db_datadict @@ -4920,7 +4921,7 @@ INTO OUTFILE '../tmp/out.myisam.user.file' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM schemata LIMIT 0, 5; -ERROR 28000: Access denied for user 'user_3212'@'localhost' (using password: NO) +ERROR 42S02: Table 'db_datadict.schemata' doesn't exist SELECT * FROM schemata LIMIT 0, 5; ERROR 42S02: Table 'db_datadict.schemata' doesn't exist diff --git a/mysql-test/suite/funcs_1/r/myisam_func_view.result b/mysql-test/suite/funcs_1/r/myisam_func_view.result index 4f8a1b23bc0..94cba9796a2 100644 --- a/mysql-test/suite/funcs_1/r/myisam_func_view.result +++ b/mysql-test/suite/funcs_1/r/myisam_func_view.result @@ -2400,16 +2400,10 @@ my_time, id FROM t1_values WHERE select_id = 89 OR select_id IS NULL; CAST(my_time AS UNSIGNED INTEGER) my_time id NULL NULL 1 -18446744073709550778 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1105 Cast to unsigned converted negative integer to it's positive complement -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +18446744073701165657 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as unsigned) AS `CAST(my_time AS UNSIGNED INTEGER)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -2418,16 +2412,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 89 OR select_id IS NULL); CAST(my_time AS UNSIGNED INTEGER) my_time id NULL NULL 1 -18446744073709550778 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1105 Cast to unsigned converted negative integer to it's positive complement -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +18446744073701165657 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 DROP VIEW v1; @@ -2438,16 +2426,10 @@ my_timestamp, id FROM t1_values WHERE select_id = 88 OR select_id IS NULL; CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as unsigned) AS `CAST(my_timestamp AS UNSIGNED INTEGER)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` @@ -2456,16 +2438,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 88 OR select_id IS NULL); CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2476,15 +2452,10 @@ my_date, id FROM t1_values WHERE select_id = 87 OR select_id IS NULL; CAST(my_date AS UNSIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as unsigned) AS `CAST(my_date AS UNSIGNED INTEGER)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` @@ -2493,15 +2464,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 87 OR select_id IS NULL); CAST(my_date AS UNSIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 DROP VIEW v1; @@ -2512,15 +2478,10 @@ my_datetime, id FROM t1_values WHERE select_id = 86 OR select_id IS NULL; CAST(my_datetime AS UNSIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as unsigned) AS `CAST(my_datetime AS UNSIGNED INTEGER)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` @@ -2529,15 +2490,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 86 OR select_id IS NULL); CAST(my_datetime AS UNSIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2780,15 +2736,10 @@ my_time, id FROM t1_values WHERE select_id = 78 OR select_id IS NULL; CAST(my_time AS SIGNED INTEGER) my_time id NULL NULL 1 --838 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +-8385959 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as signed) AS `CAST(my_time AS SIGNED INTEGER)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -2797,15 +2748,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 78 OR select_id IS NULL); CAST(my_time AS SIGNED INTEGER) my_time id NULL NULL 1 --838 -838:59:59 2 -838 838:59:59 3 -13 13:00:00 4 -10 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '-838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '838:59:59' -Warning 1292 Truncated incorrect INTEGER value: '13:00:00' -Warning 1292 Truncated incorrect INTEGER value: '10:00:00' +-8385959 -838:59:59 2 +8385959 838:59:59 3 +130000 13:00:00 4 +100000 10:00:00 5 DROP VIEW v1; @@ -2816,16 +2762,10 @@ my_timestamp, id FROM t1_values WHERE select_id = 77 OR select_id IS NULL; CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as signed) AS `CAST(my_timestamp AS SIGNED INTEGER)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` @@ -2834,16 +2774,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 77 OR select_id IS NULL); CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id 0 0000-00-00 00:00:00 1 -1970 1970-01-01 03:00:01 2 -2038 2038-01-01 02:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01' -Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +19700101030001 1970-01-01 03:00:01 2 +20380101025959 2038-01-01 02:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2854,15 +2788,10 @@ my_date, id FROM t1_values WHERE select_id = 76 OR select_id IS NULL; CAST(my_date AS SIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as signed) AS `CAST(my_date AS SIGNED INTEGER)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` @@ -2871,15 +2800,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 76 OR select_id IS NULL); CAST(my_date AS SIGNED INTEGER) my_date id NULL NULL 1 -1 0001-01-01 2 -9999 9999-12-31 3 -2004 2004-02-29 4 -2005 2005-06-28 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28' +10101 0001-01-01 2 +99991231 9999-12-31 3 +20040229 2004-02-29 4 +20050628 2005-06-28 5 DROP VIEW v1; @@ -2890,15 +2814,10 @@ my_datetime, id FROM t1_values WHERE select_id = 75 OR select_id IS NULL; CAST(my_datetime AS SIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as signed) AS `CAST(my_datetime AS SIGNED INTEGER)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` @@ -2907,15 +2826,10 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 75 OR select_id IS NULL); CAST(my_datetime AS SIGNED INTEGER) my_datetime id NULL NULL 1 -1 0001-01-01 00:00:00 2 -9999 9999-12-31 23:59:59 3 -2004 2004-02-29 23:59:59 4 -2005 2005-06-28 10:00:00 5 -Warnings: -Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00' -Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59' -Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00' +10101000000 0001-01-01 00:00:00 2 +99991231235959 9999-12-31 23:59:59 3 +20040229235959 2004-02-29 23:59:59 4 +20050628100000 2005-06-28 10:00:00 5 DROP VIEW v1; @@ -2926,8 +2840,8 @@ my_decimal, id FROM t1_values WHERE select_id = 74 OR select_id IS NULL; CAST(my_decimal AS SIGNED INTEGER) my_decimal id NULL NULL 1 --10000000000000000 -9999999999999999999999999999999999.999999999999999999999999999999 2 -10000000000000000 9999999999999999999999999999999999.999999999999999999999999999999 3 +-9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2 +9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3 0 0.000000000000000000000000000000 4 -1 -1.000000000000000000000000000000 5 Warnings: @@ -2941,8 +2855,8 @@ WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 74 OR select_id IS NULL); CAST(my_decimal AS SIGNED INTEGER) my_decimal id NULL NULL 1 --10000000000000000 -9999999999999999999999999999999999.999999999999999999999999999999 2 -10000000000000000 9999999999999999999999999999999999.999999999999999999999999999999 3 +-9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2 +9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3 0 0.000000000000000000000000000000 4 -1 -1.000000000000000000000000000000 5 Warnings: @@ -3115,12 +3029,12 @@ Warning 1292 Truncated incorrect INTEGER value: ' --- DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL(37,2)), my_year, id FROM t1_values; -SELECT CAST(my_year AS DECIMAL), +SELECT CAST(my_year AS DECIMAL(37,2)), my_year, id FROM t1_values WHERE select_id = 68 OR select_id IS NULL; -CAST(my_year AS DECIMAL) my_year id +CAST(my_year AS DECIMAL(37,2)) my_year id NULL NULL 1 1901.00 1901 2 2155.00 2155 3 @@ -3128,11 +3042,11 @@ NULL NULL 1 2005.00 2005 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as decimal) AS `CAST(my_year AS DECIMAL)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as decimal(37,2)) AS `CAST(my_year AS DECIMAL(37,2))`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 68 OR select_id IS NULL); -CAST(my_year AS DECIMAL) my_year id +CAST(my_year AS DECIMAL(37,2)) my_year id NULL NULL 1 1901.00 1901 2 2155.00 2155 3 @@ -3141,12 +3055,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_time AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_time AS DECIMAL(37,2)), my_time, id FROM t1_values; -SELECT CAST(my_time AS DECIMAL), +SELECT CAST(my_time AS DECIMAL(37,2)), my_time, id FROM t1_values WHERE select_id = 67 OR select_id IS NULL; -CAST(my_time AS DECIMAL) my_time id +CAST(my_time AS DECIMAL(37,2)) my_time id NULL NULL 1 -8385959.00 -838:59:59 2 8385959.00 838:59:59 3 @@ -3154,11 +3068,11 @@ NULL NULL 1 100000.00 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as decimal) AS `CAST(my_time AS DECIMAL)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as decimal(37,2)) AS `CAST(my_time AS DECIMAL(37,2))`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 67 OR select_id IS NULL); -CAST(my_time AS DECIMAL) my_time id +CAST(my_time AS DECIMAL(37,2)) my_time id NULL NULL 1 -8385959.00 -838:59:59 2 8385959.00 838:59:59 3 @@ -3167,12 +3081,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DECIMAL(37,2)), my_timestamp, id FROM t1_values; -SELECT CAST(my_timestamp AS DECIMAL), +SELECT CAST(my_timestamp AS DECIMAL(37,2)), my_timestamp, id FROM t1_values WHERE select_id = 66 OR select_id IS NULL; -CAST(my_timestamp AS DECIMAL) my_timestamp id +CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id 0.00 0000-00-00 00:00:00 1 19700101030001.00 1970-01-01 03:00:01 2 20380101025959.00 2038-01-01 02:59:59 3 @@ -3180,11 +3094,11 @@ CAST(my_timestamp AS DECIMAL) my_timestamp id 20050628100000.00 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as decimal) AS `CAST(my_timestamp AS DECIMAL)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as decimal(37,2)) AS `CAST(my_timestamp AS DECIMAL(37,2))`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 66 OR select_id IS NULL); -CAST(my_timestamp AS DECIMAL) my_timestamp id +CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id 0.00 0000-00-00 00:00:00 1 19700101030001.00 1970-01-01 03:00:01 2 20380101025959.00 2038-01-01 02:59:59 3 @@ -3193,12 +3107,12 @@ CAST(my_timestamp AS DECIMAL) my_timestamp id DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_date AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_date AS DECIMAL(37,2)), my_date, id FROM t1_values; -SELECT CAST(my_date AS DECIMAL), +SELECT CAST(my_date AS DECIMAL(37,2)), my_date, id FROM t1_values WHERE select_id = 65 OR select_id IS NULL; -CAST(my_date AS DECIMAL) my_date id +CAST(my_date AS DECIMAL(37,2)) my_date id NULL NULL 1 10101.00 0001-01-01 2 99991231.00 9999-12-31 3 @@ -3206,11 +3120,11 @@ NULL NULL 1 20050628.00 2005-06-28 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as decimal) AS `CAST(my_date AS DECIMAL)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as decimal(37,2)) AS `CAST(my_date AS DECIMAL(37,2))`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 65 OR select_id IS NULL); -CAST(my_date AS DECIMAL) my_date id +CAST(my_date AS DECIMAL(37,2)) my_date id NULL NULL 1 10101.00 0001-01-01 2 99991231.00 9999-12-31 3 @@ -3219,12 +3133,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_datetime AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_datetime AS DECIMAL(37,2)), my_datetime, id FROM t1_values; -SELECT CAST(my_datetime AS DECIMAL), +SELECT CAST(my_datetime AS DECIMAL(37,2)), my_datetime, id FROM t1_values WHERE select_id = 64 OR select_id IS NULL; -CAST(my_datetime AS DECIMAL) my_datetime id +CAST(my_datetime AS DECIMAL(37,2)) my_datetime id NULL NULL 1 10101000000.00 0001-01-01 00:00:00 2 99991231235959.00 9999-12-31 23:59:59 3 @@ -3232,11 +3146,11 @@ NULL NULL 1 20050628100000.00 2005-06-28 10:00:00 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as decimal) AS `CAST(my_datetime AS DECIMAL)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as decimal(37,2)) AS `CAST(my_datetime AS DECIMAL(37,2))`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 64 OR select_id IS NULL); -CAST(my_datetime AS DECIMAL) my_datetime id +CAST(my_datetime AS DECIMAL(37,2)) my_datetime id NULL NULL 1 10101000000.00 0001-01-01 00:00:00 2 99991231235959.00 9999-12-31 23:59:59 3 @@ -3245,12 +3159,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_decimal AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_decimal AS DECIMAL(37,2)), my_decimal, id FROM t1_values; -SELECT CAST(my_decimal AS DECIMAL), +SELECT CAST(my_decimal AS DECIMAL(37,2)), my_decimal, id FROM t1_values WHERE select_id = 63 OR select_id IS NULL; -CAST(my_decimal AS DECIMAL) my_decimal id +CAST(my_decimal AS DECIMAL(37,2)) my_decimal id NULL NULL 1 -10000000000000000000000000000000000.00 -9999999999999999999999999999999999.999999999999999999999999999999 2 10000000000000000000000000000000000.00 9999999999999999999999999999999999.999999999999999999999999999999 3 @@ -3258,11 +3172,11 @@ NULL NULL 1 -1.00 -1.000000000000000000000000000000 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as decimal) AS `CAST(my_decimal AS DECIMAL)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as decimal(37,2)) AS `CAST(my_decimal AS DECIMAL(37,2))`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 63 OR select_id IS NULL); -CAST(my_decimal AS DECIMAL) my_decimal id +CAST(my_decimal AS DECIMAL(37,2)) my_decimal id NULL NULL 1 -10000000000000000000000000000000000.00 -9999999999999999999999999999999999.999999999999999999999999999999 2 10000000000000000000000000000000000.00 9999999999999999999999999999999999.999999999999999999999999999999 3 @@ -3271,12 +3185,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_bigint AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_bigint AS DECIMAL(37,2)), my_bigint, id FROM t1_values; -SELECT CAST(my_bigint AS DECIMAL), +SELECT CAST(my_bigint AS DECIMAL(37,2)), my_bigint, id FROM t1_values WHERE select_id = 62 OR select_id IS NULL; -CAST(my_bigint AS DECIMAL) my_bigint id +CAST(my_bigint AS DECIMAL(37,2)) my_bigint id NULL NULL 1 -9223372036854775808.00 -9223372036854775808 2 9223372036854775807.00 9223372036854775807 3 @@ -3284,11 +3198,11 @@ NULL NULL 1 -1.00 -1 5 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as decimal) AS `CAST(my_bigint AS DECIMAL)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as decimal(37,2)) AS `CAST(my_bigint AS DECIMAL(37,2))`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 62 OR select_id IS NULL); -CAST(my_bigint AS DECIMAL) my_bigint id +CAST(my_bigint AS DECIMAL(37,2)) my_bigint id NULL NULL 1 -9223372036854775808.00 -9223372036854775808 2 9223372036854775807.00 9223372036854775807 3 @@ -3297,12 +3211,12 @@ NULL NULL 1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DECIMAL(37,2)), my_varbinary_1000, id FROM t1_values; -SELECT CAST(my_varbinary_1000 AS DECIMAL), +SELECT CAST(my_varbinary_1000 AS DECIMAL(37,2)), my_varbinary_1000, id FROM t1_values WHERE select_id = 61 OR select_id IS NULL; -CAST(my_varbinary_1000 AS DECIMAL) my_varbinary_1000 id +CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3315,11 +3229,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Error 1366 Incorrect decimal value: '' for column '' at row -1 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal) AS `CAST(my_varbinary_1000 AS DECIMAL)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 61 OR select_id IS NULL); -CAST(my_varbinary_1000 AS DECIMAL) my_varbinary_1000 id +CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3333,12 +3247,12 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DECIMAL(37,2)), my_binary_30, id FROM t1_values; -SELECT CAST(my_binary_30 AS DECIMAL), +SELECT CAST(my_binary_30 AS DECIMAL(37,2)), my_binary_30, id FROM t1_values WHERE select_id = 60 OR select_id IS NULL; -CAST(my_binary_30 AS DECIMAL) my_binary_30 id +CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3356,11 +3270,11 @@ Warning 1292 Truncated incorrect DECIMAL value: '-1' Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333' SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as decimal) AS `CAST(my_binary_30 AS DECIMAL)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as decimal(37,2)) AS `CAST(my_binary_30 AS DECIMAL(37,2))`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 60 OR select_id IS NULL); -CAST(my_binary_30 AS DECIMAL) my_binary_30 id +CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3379,12 +3293,12 @@ Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333' DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DECIMAL(37,2)), my_varchar_1000, id FROM t1_values; -SELECT CAST(my_varchar_1000 AS DECIMAL), +SELECT CAST(my_varchar_1000 AS DECIMAL(37,2)), my_varchar_1000, id FROM t1_values WHERE select_id = 59 OR select_id IS NULL; -CAST(my_varchar_1000 AS DECIMAL) my_varchar_1000 id +CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3397,11 +3311,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Error 1366 Incorrect decimal value: '' for column '' at row -1 SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal) AS `CAST(my_varchar_1000 AS DECIMAL)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 59 OR select_id IS NULL); -CAST(my_varchar_1000 AS DECIMAL) my_varchar_1000 id +CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id NULL NULL 1 0.00 2 0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3 @@ -3415,12 +3329,12 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 DROP VIEW v1; -CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DECIMAL), +CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DECIMAL(37,2)), my_char_30, id FROM t1_values; -SELECT CAST(my_char_30 AS DECIMAL), +SELECT CAST(my_char_30 AS DECIMAL(37,2)), my_char_30, id FROM t1_values WHERE select_id = 58 OR select_id IS NULL; -CAST(my_char_30 AS DECIMAL) my_char_30 id +CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 @@ -3436,11 +3350,11 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1 Warning 1292 Truncated incorrect DECIMAL value: ' ---ДжЭъ@╣*$-- ' SHOW CREATE VIEW v1; View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as decimal) AS `CAST(my_char_30 AS DECIMAL)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as decimal(37,2)) AS `CAST(my_char_30 AS DECIMAL(37,2))`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 58 OR select_id IS NULL); -CAST(my_char_30 AS DECIMAL) my_char_30 id +CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id NULL NULL 1 0.00 2 0.00 <--------30 characters-------> 3 diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result index 4bbee8aa133..6dd56a1e912 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result @@ -237,7 +237,7 @@ create table t1 (f1 integer) engine = myisam; use test; CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3 for each row set @ret_trg6_2 = 5; -ERROR HY000: Trigger in wrong schema +ERROR 42S02: Table 'trig_db.tb3' doesn't exist use trig_db; CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3 for each row set @ret_trg6_3 = 18; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_08.result b/mysql-test/suite/funcs_1/r/myisam_trig_08.result index ec8e12ff32d..8a13e91d71d 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_08.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_08.result @@ -484,9 +484,8 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 -SET @counter1 = @counter1 + 1; -END' at line 3 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; +END' at line 4 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_09.result b/mysql-test/suite/funcs_1/r/myisam_trig_09.result index 9643aa567e3..b7a5933e2f7 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_09.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_09.result @@ -194,7 +194,7 @@ a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL where f122='Test 3.5.9.4'; Warnings: -Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'f136' at row 11 +Warning 1048 Column 'f136' cannot be null select f118, f121, f122, f136, f151, f163 from tb3 where f122 like 'Test 3.5.9.4-trig'; f118 f121 f122 f136 f151 f163 diff --git a/mysql-test/suite/funcs_1/r/myisam_views.result b/mysql-test/suite/funcs_1/r/myisam_views.result index 1dbebbccb29..83af04dcd2c 100644 --- a/mysql-test/suite/funcs_1/r/myisam_views.result +++ b/mysql-test/suite/funcs_1/r/myisam_views.result @@ -10224,7 +10224,8 @@ SHOW FIELDS FROM v1; ERROR 42S02: Table 'test.v1' doesn't exist CHECK TABLE v1; Table Op Msg_type Msg_text -test.v1 check error Table 'test.v1' doesn't exist +test.v1 check Error Table 'test.v1' doesn't exist +test.v1 check error Corrupt DESCRIBE v1; ERROR 42S02: Table 'test.v1' doesn't exist EXPLAIN SELECT * FROM v1; diff --git a/mysql-test/suite/funcs_1/triggers/triggers_0102.inc b/mysql-test/suite/funcs_1/triggers/triggers_0102.inc index 26a5dab3370..b11455c07d3 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_0102.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_0102.inc @@ -265,7 +265,7 @@ let $message= Testcase 3.5.1.8:; # Can't create a trigger in a different database use test; - --error 1435 + --error 1146 CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3 for each row set @ret_trg6_2 = 5; diff --git a/mysql-test/suite/funcs_1/views/func_view.inc b/mysql-test/suite/funcs_1/views/func_view.inc index 4479db22e70..c477eafc610 100644 --- a/mysql-test/suite/funcs_1/views/func_view.inc +++ b/mysql-test/suite/funcs_1/views/func_view.inc @@ -609,7 +609,8 @@ let $col_type= my_year; # 1.1.6. CAST --> DECIMAL -let $target_type= DECIMAL; +# Set the following to (37,2) since the default was changed to (10,0) - OBN +let $target_type= DECIMAL(37,2); # let $col_type= my_char_30; --source suite/funcs_1/views/fv_cast.inc diff --git a/mysql-test/suite/row_lock/include/row_lock.inc b/mysql-test/suite/row_lock/include/row_lock.inc deleted file mode 100644 index 8572bc0246e..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock.inc +++ /dev/null @@ -1,83 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -eval $indext2; -COMMIT; -SELECT @@global.tx_isolation; - -# Both transaction are able to update the tables -eval EXPLAIN $select; -eval $select; - ---echo connection root1; -CONNECTION root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t1,t2 SET t1.i=223,t2.i=223 WHERE t1.i=123 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -UPDATE t1,t2 SET t1.i=226,t2.i=226 WHERE t1.i=126 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t1,t2 SET t1.i=224,t2.i=224 WHERE t1.i=124 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection default; -CONNECTION default; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -DISCONNECT root1; ---echo connection default; -CONNECTION default; -DROP TABLE t1, t2; - diff --git a/mysql-test/suite/row_lock/include/row_lock_big_tab.inc b/mysql-test/suite/row_lock/include/row_lock_big_tab.inc deleted file mode 100644 index f0823067eac..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock_big_tab.inc +++ /dev/null @@ -1,94 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -eval $indext2; -DELIMITER |; -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO - INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); - SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN - DECLARE res int DEFAULT 0; - SELECT count(*)/2 INTO res FROM t1; - RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO - INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); - SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN - DECLARE res int DEFAULT 0; - SELECT count(*)/2 INTO res FROM t2; - RETURN res; -END; -| -DELIMITER ;| -CALL fill_t1 (10); -CALL fill_t2 (10); -COMMIT; -SELECT @@global.tx_isolation; -# With the two separate selects (without join) the differs from -# that select with join. - -# Both transaction are able to update the tables -eval EXPLAIN $select; -eval $select; - ---echo connection root1; -CONNECTION root1; -SELECT k from t1 WHERE k < half_t1(); -SELECT k from t1 WHERE k >= half_t1(); -UPDATE t1,t2 SET t1.i=1111,t2.i=2222 WHERE t1.k < half_t1() AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t1,t2 SET t1.i=3333,t2.i=4444 WHERE t1.k >= half_t1() AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection default; -CONNECTION default; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -DISCONNECT root1; ---echo connection default; -CONNECTION default; -DROP VIEW IF EXISTS v1; -DROP TABLE t1, t2; -#DROP VIEW v1; - diff --git a/mysql-test/suite/row_lock/include/row_lock_big_tab_1.inc b/mysql-test/suite/row_lock/include/row_lock_big_tab_1.inc deleted file mode 100644 index 8535c016819..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock_big_tab_1.inc +++ /dev/null @@ -1,93 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -eval $indext2; -DELIMITER |; -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO - INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); - SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN - DECLARE res int DEFAULT 0; - SELECT MOD(k,2) INTO res FROM t1; - RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO - INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); - SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN - DECLARE res int DEFAULT 0; - SELECT MOD(k,2) INTO res FROM t2; - RETURN res; -END; -| -DELIMITER ;| -eval CALL fill_t1 ($nbrows); -eval CALL fill_t2 ($nbrows); -COMMIT; -SELECT @@global.tx_isolation; -# With the two separate selects (without join) the differs from -# that select with join. - -# Both transaction are able to update the tables -eval EXPLAIN $select; -eval $select; - ---echo connection root1; -CONNECTION root1; -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 1 AND t1.k = t2.k LOCK IN SHARE MODE; -UPDATE t1,t2 SET t1.i=1111,t2.i=2222 WHERE t1.k % 2 = 1 AND t1.k = t2.k; -SELECT * FROM t1 WHERE k < 20 ORDER BY t1.k; -SELECT * FROM t2 WHERE k < 20 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t1,t2 SET t1.i=3333,t2.i=4444 WHERE t1.k % 2 = 0 AND t1.k = t2.k; -SELECT * FROM t1 WHERE k < 20 ORDER BY t1.k; -SELECT * FROM t2 WHERE k < 20 ORDER BY t2.k; - -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection default; -CONNECTION default; -SELECT * FROM t1 WHERE k < 40 ORDER BY t1.k; -SELECT * FROM t2 WHERE k < 40 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM t1 WHERE k < 40 ORDER BY t1.k; -SELECT * FROM t2 WHERE k < 40 ORDER BY t2.k; -DISCONNECT root1; ---echo connection default; -CONNECTION default; -DROP TABLE t1, t2; - - diff --git a/mysql-test/suite/row_lock/include/row_lock_big_tab_2.inc b/mysql-test/suite/row_lock/include/row_lock_big_tab_2.inc deleted file mode 100644 index 050f2a54016..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock_big_tab_2.inc +++ /dev/null @@ -1,93 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -eval $indext2; -DELIMITER |; -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO - INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); - SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN - DECLARE res int DEFAULT 0; - SELECT MOD(k,2) INTO res FROM t1; - RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO - INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); - SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN - DECLARE res int DEFAULT 0; - SELECT MOD(k,2) INTO res FROM t2; - RETURN res; -END; -| -DELIMITER ;| -eval CALL fill_t1 ($nbrows); -eval CALL fill_t2 ($nbrows); -COMMIT; -SELECT @@global.tx_isolation; -# With the two separate selects (without join) the differs from -# that select with join. - -# Both transaction are able to update the tables -eval EXPLAIN $select; -eval $select; - ---echo connection root1; -CONNECTION root1; -#SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 1 AND t1.k = t2.k FOR UPDATE; -DELETE FROM t1 WHERE t1.k % 2 = 1; -SELECT * FROM t1 WHERE k < 20 ORDER BY t1.k; -SELECT * FROM t2 WHERE k < 20 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t1,t2 SET t1.i=3333,t2.i=4444 WHERE t1.k % 2 = 0 AND t1.k = t2.k; -SELECT * FROM t1 WHERE k < 20 ORDER BY t1.k; -SELECT * FROM t2 WHERE k < 20 ORDER BY t2.k; - -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection default; -CONNECTION default; -SELECT * FROM t1 WHERE k < 40 ORDER BY t1.k; -SELECT * FROM t2 WHERE k < 40 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM t1 WHERE k < 40 ORDER BY t1.k; -SELECT * FROM t2 WHERE k < 40 ORDER BY t2.k; -DISCONNECT root1; ---echo connection default; -CONNECTION default; -DROP TABLE t1, t2; - - diff --git a/mysql-test/suite/row_lock/include/row_lock_trig.inc b/mysql-test/suite/row_lock/include/row_lock_trig.inc deleted file mode 100644 index 384f00f243e..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock_trig.inc +++ /dev/null @@ -1,96 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -eval $indext2; -DELIMITER |; - -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 - FOR EACH ROW BEGIN - UPDATE t1 SET l = NEW.i WHERE i = OLD.i; - END; -| - -DELIMITER ;| - -COMMIT; -SELECT @@global.tx_isolation; -# With the two separate selects (without join) the differs from -# that select with join. - -# Both transaction are able to update the tables -eval EXPLAIN $select; -eval $select; ---echo connection root1; -CONNECTION root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t2 SET t2.i=223 WHERE t2.i=123; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -UPDATE t2 SET t2.i=226 WHERE t2.i=126; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t2 SET t2.i=224 WHERE t2.i=124; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection default; -CONNECTION default; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -DISCONNECT root1; ---echo connection default; -CONNECTION default; -DROP TABLE t1, t2; -#DROP VIEW v1; - diff --git a/mysql-test/suite/row_lock/include/row_lock_view.inc b/mysql-test/suite/row_lock/include/row_lock_view.inc deleted file mode 100644 index fbed8f64d3a..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock_view.inc +++ /dev/null @@ -1,89 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -eval $indext2; -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -# With the two separate selects (without join) the differs from -# that select with join. - -# Both transaction are able to update the tables -eval EXPLAIN $select; -eval $select; - ---echo connection root1; -CONNECTION root1; -UPDATE v1 SET i=325 where i=125; -SELECT * FROM v1 ORDER BY i,l; -SELECT * FROM t1 ORDER BY t1.k; - ---echo connection default; -CONNECTION default; -UPDATE v1 SET i=323 where i=123; -SELECT * FROM v1 ORDER BY i,l; -SELECT * FROM t1 ORDER BY t1.k; - ---echo connection root1; -CONNECTION root1; -UPDATE v1 SET i=326 where i=126; -SELECT * FROM v1 ORDER BY i,l; -SELECT * FROM t1 ORDER BY t1.k; - ---echo connection default; -CONNECTION default; -UPDATE v1 SET i=324 where i=124; -SELECT * FROM v1 ORDER BY i,l; -SELECT * FROM t1 ORDER BY t1.k; - ---echo connection root1; -CONNECTION root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection default; -CONNECTION default; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -DISCONNECT root1; ---echo connection default; -CONNECTION default; -DROP VIEW IF EXISTS v1; -DROP TABLE t1, t2; -#DROP VIEW v1; - diff --git a/mysql-test/suite/row_lock/include/row_lock_view_mix.inc b/mysql-test/suite/row_lock/include/row_lock_view_mix.inc deleted file mode 100644 index 9e8cf3d34fc..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock_view_mix.inc +++ /dev/null @@ -1,92 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -eval $indext2; -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -# With the two separate selects (without join) the differs from -# that select with join. - -# Both transaction are able to update the tables -eval EXPLAIN $select; -eval $select; - ---echo connection root1; -CONNECTION root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -#UPDATE v1 SET i=325 where i=125; -#SELECT * FROM v1 ORDER BY i,l; -#SELECT * FROM t1 ORDER BY t1.k; - ---echo connection default; -CONNECTION default; -UPDATE v1 SET i=323 where i=123; -SELECT * FROM v1 ORDER BY i,l; -SELECT * FROM t1 ORDER BY t1.k; - ---echo connection root1; -CONNECTION root1; -UPDATE t1,t2 SET t1.i=226,t2.i=226 WHERE t1.i=126 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE v1 SET i=324 where i=124; -SELECT * FROM v1 ORDER BY i,l; -SELECT * FROM t1 ORDER BY t1.k; - ---echo connection root1; -CONNECTION root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection default; -CONNECTION default; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -DISCONNECT root1; ---echo connection default; -CONNECTION default; -DROP VIEW IF EXISTS v1; -DROP TABLE t1, t2; -#DROP VIEW v1; - diff --git a/mysql-test/suite/row_lock/include/row_lock_view_storedp.inc b/mysql-test/suite/row_lock/include/row_lock_view_storedp.inc deleted file mode 100644 index 479392098be..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock_view_storedp.inc +++ /dev/null @@ -1,126 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -DROP PROCEDURE IF EXISTS stp_t; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; -CONNECT (root2, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -INSERT INTO t1 VALUES (5,127,5,127); -INSERT INTO t1 VALUES (6,128,6,128); -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -INSERT INTO t2 VALUES (5,127,5,127); -INSERT INTO t2 VALUES (6,128,6,128); -eval $indext2; -CREATE VIEW v1 AS SELECT t1.i from t1; -DELIMITER |; - -CREATE PROCEDURE stp_t (IN p1 int, IN p2 int) MODIFIES SQL DATA - BEGIN - UPDATE t2 SET i = p2 WHERE i = p1; - UPDATE v1 SET i = p2 WHERE i = p1; - SELECT * FROM v1 ORDER BY i; - SELECT * FROM t1 ORDER BY t1.k; - SELECT * FROM t2 ORDER BY t2.k; - END; -| - -DELIMITER ;| - -COMMIT; -SELECT @@global.tx_isolation; -eval EXPLAIN $select; -eval $select; ---echo connection root1; -CONNECTION root1; -CALL stp_t (125, 225); - ---echo connection root2; -CONNECTION root2; -CALL stp_t (127, 227); - ---echo connection default; -CONNECTION default; -CALL stp_t (123, 223); - ---echo connection root1; -CONNECTION root1; -CALL stp_t (126, 226); - ---echo connection root2; -CONNECTION root2; -CALL stp_t (128, 228); - ---echo connection default; -CONNECTION default; -CALL stp_t (124, 224); - ---echo connection root1; -CONNECTION root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root2; -CONNECTION root2; -DELETE FROM t1 WHERE t1.i=228; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection root1; -CONNECTION root1; -COMMIT; - ---echo connection default; -CONNECTION default; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -DISCONNECT root1; - ---echo connection root2; -CONNECTION root2; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -DISCONNECT root2; - ---echo connection default; -CONNECTION default; ---disable_warnings -DROP VIEW v1; -DROP PROCEDURE stp_t; -DROP TABLE t1, t2; ---enable_warnings diff --git a/mysql-test/suite/row_lock/include/row_lock_view_trig.inc b/mysql-test/suite/row_lock/include/row_lock_view_trig.inc deleted file mode 100644 index 785eb1b66a9..00000000000 --- a/mysql-test/suite/row_lock/include/row_lock_view_trig.inc +++ /dev/null @@ -1,99 +0,0 @@ ---disable_warnings -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; ---enable_warnings -SET autocommit=0; -# Create additional connections used through test -CONNECT (root1, localhost, root,,); -SET autocommit=0; ---echo connection default; -CONNECTION default; -eval CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -eval $indext1; -eval CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=$engine; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -eval $indext2; -CREATE VIEW v1 AS SELECT t1.i from t1; -DELIMITER |; - -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 - FOR EACH ROW BEGIN - UPDATE v1 SET i = NEW.i WHERE i = OLD.i; - END; -| - -DELIMITER ;| - -COMMIT; -SELECT @@global.tx_isolation; -eval EXPLAIN $select; -eval $select; ---echo connection root1; -CONNECTION root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t2 SET t2.i=223 WHERE t2.i=123; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -UPDATE t2 SET t2.i=226 WHERE t2.i=126; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -UPDATE t2 SET t2.i=224 WHERE t2.i=124; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection default; -CONNECTION default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -COMMIT; - ---echo connection root1; -CONNECTION root1; -ROLLBACK; - ---echo connection default; -CONNECTION default; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; - ---echo connection root1; -CONNECTION root1; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -DISCONNECT root1; ---echo connection default; -CONNECTION default; -DROP TABLE t1, t2; -DROP VIEW v1; - diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_1.result b/mysql-test/suite/row_lock/r/innodb_row_lock_1.result deleted file mode 100644 index 54ed4350ba9..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_1.result +++ /dev/null @@ -1,142 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 4 Using where; Using index -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 2 Using where; Using index -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE t1,t2 SET t1.i=223,t2.i=223 WHERE t1.i=123 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t1,t2 SET t1.i=226,t2.i=226 WHERE t1.i=126 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE t1,t2 SET t1.i=224,t2.i=224 WHERE t1.i=124 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP TABLE t1, t2; -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_2.result b/mysql-test/suite/row_lock/r/innodb_row_lock_2.result deleted file mode 100644 index 56154e64489..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_2.result +++ /dev/null @@ -1,32 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_3.result b/mysql-test/suite/row_lock/r/innodb_row_lock_3.result deleted file mode 100644 index a89c55973d2..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_3.result +++ /dev/null @@ -1,32 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_4.result b/mysql-test/suite/row_lock/r/innodb_row_lock_4.result deleted file mode 100644 index 310d24a456a..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_4.result +++ /dev/null @@ -1,142 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 4 Using where; Using index -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 2 Using where; Using index -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE t1,t2 SET t1.i=223,t2.i=223 WHERE t1.i=123 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t1,t2 SET t1.i=226,t2.i=226 WHERE t1.i=126 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE t1,t2 SET t1.i=224,t2.i=224 WHERE t1.i=124 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP TABLE t1, t2; -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_5.result b/mysql-test/suite/row_lock/r/innodb_row_lock_5.result deleted file mode 100644 index ace5fddfad5..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_5.result +++ /dev/null @@ -1,32 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1 ignore index (ixi),t2 IGNORE INDEX (ixi) WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i,t2.i FROM t1 ignore index (ixi),t2 IGNORE INDEX (ixi) WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab.result b/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab.result deleted file mode 100644 index 8f00c3a0bb7..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab.result +++ /dev/null @@ -1,97 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -CREATE INDEX ixi ON t2 (i); -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT count(*)/2 INTO res FROM t1; -RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT count(*)/2 INTO res FROM t2; -RETURN res; -END; -| -CALL fill_t1 (10); -CALL fill_t2 (10); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < half_t1() AND t2.i=t1.i LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 10 Using where; Using index -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 1 Using where; Using index -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < half_t1() AND t2.i=t1.i LOCK IN SHARE MODE; -i i -connection root1; -SELECT k from t1 WHERE k < half_t1(); -k -0 -1 -2 -3 -4 -SELECT k from t1 WHERE k >= half_t1(); -k -5 -6 -7 -8 -9 -UPDATE t1,t2 SET t1.i=1111,t2.i=2222 WHERE t1.k < half_t1() AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -0 1111 0 100 -1 1111 1 101 -2 1111 2 102 -3 1111 3 103 -4 1111 4 104 -5 105 5 105 -6 106 6 106 -7 107 7 107 -8 108 8 108 -9 109 9 109 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -0 2222 0 100 -1 2222 1 101 -2 2222 2 102 -3 2222 3 103 -4 2222 4 104 -5 105 5 105 -6 106 6 106 -7 107 7 107 -8 108 8 108 -9 109 9 109 -connection default; -UPDATE t1,t2 SET t1.i=3333,t2.i=4444 WHERE t1.k >= half_t1() AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_1.result b/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_1.result deleted file mode 100644 index 0b12f149193..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_1.result +++ /dev/null @@ -1,145 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -CREATE INDEX ixi ON t2 (i); -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT MOD(k,2) INTO res FROM t1; -RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT MOD(k,2) INTO res FROM t2; -RETURN res; -END; -| -CALL fill_t1 (40); -CALL fill_t2 (40); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 0 AND t1.k = t2.k LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index PRIMARY ixi 5 NULL 40 Using where; Using index -1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.k 1 -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 0 AND t1.k = t2.k LOCK IN SHARE MODE; -i i -100 100 -102 102 -104 104 -106 106 -108 108 -110 110 -112 112 -114 114 -116 116 -118 118 -120 120 -122 122 -124 124 -126 126 -128 128 -130 130 -132 132 -134 134 -136 136 -138 138 -connection root1; -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 1 AND t1.k = t2.k LOCK IN SHARE MODE; -i i -101 101 -103 103 -105 105 -107 107 -109 109 -111 111 -113 113 -115 115 -117 117 -119 119 -121 121 -123 123 -125 125 -127 127 -129 129 -131 131 -133 133 -135 135 -137 137 -139 139 -UPDATE t1,t2 SET t1.i=1111,t2.i=2222 WHERE t1.k % 2 = 1 AND t1.k = t2.k; -SELECT * FROM t1 WHERE k < 20 ORDER BY t1.k; -k i j l -0 100 0 100 -1 1111 1 101 -2 102 2 102 -3 1111 3 103 -4 104 4 104 -5 1111 5 105 -6 106 6 106 -7 1111 7 107 -8 108 8 108 -9 1111 9 109 -10 110 10 110 -11 1111 11 111 -12 112 12 112 -13 1111 13 113 -14 114 14 114 -15 1111 15 115 -16 116 16 116 -17 1111 17 117 -18 118 18 118 -19 1111 19 119 -SELECT * FROM t2 WHERE k < 20 ORDER BY t2.k; -k i j l -0 100 0 100 -1 2222 1 101 -2 102 2 102 -3 2222 3 103 -4 104 4 104 -5 2222 5 105 -6 106 6 106 -7 2222 7 107 -8 108 8 108 -9 2222 9 109 -10 110 10 110 -11 2222 11 111 -12 112 12 112 -13 2222 13 113 -14 114 14 114 -15 2222 15 115 -16 116 16 116 -17 2222 17 117 -18 118 18 118 -19 2222 19 119 -connection default; -UPDATE t1,t2 SET t1.i=3333,t2.i=4444 WHERE t1.k % 2 = 0 AND t1.k = t2.k; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_2.result b/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_2.result deleted file mode 100644 index cc9f297f9fb..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_2.result +++ /dev/null @@ -1,113 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -CREATE INDEX ixi ON t2 (i); -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT MOD(k,2) INTO res FROM t1; -RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT MOD(k,2) INTO res FROM t2; -RETURN res; -END; -| -CALL fill_t1 (40); -CALL fill_t2 (40); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 0 AND t1.k = t2.k LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index PRIMARY ixi 5 NULL 40 Using where; Using index -1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.k 1 -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 0 AND t1.k = t2.k LOCK IN SHARE MODE; -i i -100 100 -102 102 -104 104 -106 106 -108 108 -110 110 -112 112 -114 114 -116 116 -118 118 -120 120 -122 122 -124 124 -126 126 -128 128 -130 130 -132 132 -134 134 -136 136 -138 138 -connection root1; -DELETE FROM t1 WHERE t1.k % 2 = 1; -SELECT * FROM t1 WHERE k < 20 ORDER BY t1.k; -k i j l -0 100 0 100 -2 102 2 102 -4 104 4 104 -6 106 6 106 -8 108 8 108 -10 110 10 110 -12 112 12 112 -14 114 14 114 -16 116 16 116 -18 118 18 118 -SELECT * FROM t2 WHERE k < 20 ORDER BY t2.k; -k i j l -0 100 0 100 -1 101 1 101 -2 102 2 102 -3 103 3 103 -4 104 4 104 -5 105 5 105 -6 106 6 106 -7 107 7 107 -8 108 8 108 -9 109 9 109 -10 110 10 110 -11 111 11 111 -12 112 12 112 -13 113 13 113 -14 114 14 114 -15 115 15 115 -16 116 16 116 -17 117 17 117 -18 118 18 118 -19 119 19 119 -connection default; -UPDATE t1,t2 SET t1.i=3333,t2.i=4444 WHERE t1.k % 2 = 0 AND t1.k = t2.k; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_trig_1.result b/mysql-test/suite/row_lock/r/innodb_row_lock_trig_1.result deleted file mode 100644 index dd43e5752e5..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_trig_1.result +++ /dev/null @@ -1,151 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 -FOR EACH ROW BEGIN -UPDATE t1 SET l = NEW.i WHERE i = OLD.i; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 4 Using where; Using index -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 225 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE t2 SET t2.i=223 WHERE t2.i=123; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t2 SET t2.i=226 WHERE t2.i=126; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 225 -4 126 4 226 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE t2 SET t2.i=224 WHERE t2.i=124; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 224 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 225 -4 126 4 226 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 224 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 224 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 224 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP TABLE t1, t2; -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_trig_2.result b/mysql-test/suite/row_lock/r/innodb_row_lock_trig_2.result deleted file mode 100644 index cb3a5c692e9..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_trig_2.result +++ /dev/null @@ -1,37 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t2 (i); -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 -FOR EACH ROW BEGIN -UPDATE t1 SET l = NEW.i WHERE i = OLD.i; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_view_1.result b/mysql-test/suite/row_lock/r/innodb_row_lock_view_1.result deleted file mode 100644 index 834cb669833..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_view_1.result +++ /dev/null @@ -1,34 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 4 Using where; Using index -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 2 Using where; Using index -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -i i -123 123 -124 124 -connection root1; -UPDATE v1 SET i=325 where i=125; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_view_2.result b/mysql-test/suite/row_lock/r/innodb_row_lock_view_2.result deleted file mode 100644 index 440138d4cd1..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_view_2.result +++ /dev/null @@ -1,40 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 4 Using where; Using index -1 SIMPLE t2 index NULL PRIMARY 4 NULL 4 Using index -SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -i -123 -124 -123 -124 -123 -124 -123 -124 -connection root1; -UPDATE v1 SET i=325 where i=125; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_view_mix_1.result b/mysql-test/suite/row_lock/r/innodb_row_lock_view_mix_1.result deleted file mode 100644 index 230873b67a0..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_view_mix_1.result +++ /dev/null @@ -1,48 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 4 Using where; Using index -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 2 Using where; Using index -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE v1 SET i=323 where i=123; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_view_mix_2.result b/mysql-test/suite/row_lock/r/innodb_row_lock_view_mix_2.result deleted file mode 100644 index d792d573f8e..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_view_mix_2.result +++ /dev/null @@ -1,40 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 4 Using where; Using index -1 SIMPLE t2 index NULL PRIMARY 4 NULL 4 Using index -SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -i -123 -124 -123 -124 -123 -124 -123 -124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_view_storedp_1.result b/mysql-test/suite/row_lock/r/innodb_row_lock_view_storedp_1.result deleted file mode 100644 index 77b9a4dd964..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_view_storedp_1.result +++ /dev/null @@ -1,312 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -INSERT INTO t1 VALUES (5,127,5,127); -INSERT INTO t1 VALUES (6,128,6,128); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -INSERT INTO t2 VALUES (5,127,5,127); -INSERT INTO t2 VALUES (6,128,6,128); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i from t1; -CREATE PROCEDURE stp_t (IN p1 int, IN p2 int) MODIFIES SQL DATA -BEGIN -UPDATE t2 SET i = p2 WHERE i = p1; -UPDATE v1 SET i = p2 WHERE i = p1; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 6 Using where; Using index -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -CALL stp_t (125, 225); -i -123 -124 -126 -127 -128 -225 -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root2; -CALL stp_t (127, 227); -i -123 -124 -125 -126 -128 -227 -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 128 6 128 -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 128 6 128 -connection default; -CALL stp_t (123, 223); -i -124 -125 -126 -127 -128 -223 -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root1; -CALL stp_t (126, 226); -i -123 -124 -127 -128 -225 -226 -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -5 127 5 127 -6 128 6 128 -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -5 127 5 127 -6 128 6 128 -connection root2; -CALL stp_t (128, 228); -i -123 -124 -125 -126 -227 -228 -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 228 6 128 -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 228 6 128 -connection default; -CALL stp_t (124, 224); -i -125 -126 -127 -128 -223 -224 -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -5 127 5 127 -6 128 6 128 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -5 127 5 127 -6 128 6 128 -connection root2; -DELETE FROM t1 WHERE t1.i=228; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 228 6 128 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -COMMIT; -connection root1; -ROLLBACK; -connection root1; -COMMIT; -connection default; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -127 -128 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root1; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -127 -128 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root2; -SELECT * FROM v1 ORDER BY i; -i -123 -124 -125 -126 -227 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 228 6 128 -connection default; -DROP TABLE t1, t2; -DROP VIEW v1; -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_view_storedp_2.result b/mysql-test/suite/row_lock/r/innodb_row_lock_view_storedp_2.result deleted file mode 100644 index 73d8a3f4bea..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_view_storedp_2.result +++ /dev/null @@ -1,47 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -INSERT INTO t1 VALUES (5,127,5,127); -INSERT INTO t1 VALUES (6,128,6,128); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -INSERT INTO t2 VALUES (5,127,5,127); -INSERT INTO t2 VALUES (6,128,6,128); -#CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i from t1; -CREATE PROCEDURE stp_t (IN p1 int, IN p2 int) MODIFIES SQL DATA -BEGIN -UPDATE t2 SET i = p2 WHERE i = p1; -UPDATE v1 SET i = p2 WHERE i = p1; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -CALL stp_t (125, 225); diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_view_trig_1.result b/mysql-test/suite/row_lock/r/innodb_row_lock_view_trig_1.result deleted file mode 100644 index 90383a9489f..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_view_trig_1.result +++ /dev/null @@ -1,183 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i from t1; -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 -FOR EACH ROW BEGIN -UPDATE v1 SET i = NEW.i WHERE i = OLD.i; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index ixi ixi 5 NULL 4 Using where; Using index -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; -SELECT * FROM v1 ORDER BY i; -i -123 -124 -126 -225 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE t2 SET t2.i=223 WHERE t2.i=123; -SELECT * FROM v1 ORDER BY i; -i -124 -125 -126 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t2 SET t2.i=226 WHERE t2.i=126; -SELECT * FROM v1 ORDER BY i; -i -123 -124 -225 -226 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE t2 SET t2.i=224 WHERE t2.i=124; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -223 -224 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP TABLE t1, t2; -DROP VIEW v1; -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/r/innodb_row_lock_view_trig_2.result b/mysql-test/suite/row_lock/r/innodb_row_lock_view_trig_2.result deleted file mode 100644 index 55793558b21..00000000000 --- a/mysql-test/suite/row_lock/r/innodb_row_lock_view_trig_2.result +++ /dev/null @@ -1,38 +0,0 @@ -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i from t1; -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 -FOR EACH ROW BEGIN -UPDATE v1 SET i = NEW.i WHERE i = OLD.i; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_1.result b/mysql-test/suite/row_lock/r/ndb_row_lock_1.result deleted file mode 100644 index 248c7d5ea1f..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_1.result +++ /dev/null @@ -1,139 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 1 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE t1,t2 SET t1.i=223,t2.i=223 WHERE t1.i=123 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t1,t2 SET t1.i=226,t2.i=226 WHERE t1.i=126 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE t1,t2 SET t1.i=224,t2.i=224 WHERE t1.i=124 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP TABLE t1, t2; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_2.result b/mysql-test/suite/row_lock/r/ndb_row_lock_2.result deleted file mode 100644 index 109d99dd036..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_2.result +++ /dev/null @@ -1,31 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_3.result b/mysql-test/suite/row_lock/r/ndb_row_lock_3.result deleted file mode 100644 index c936ea209ff..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_3.result +++ /dev/null @@ -1,30 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_4.result b/mysql-test/suite/row_lock/r/ndb_row_lock_4.result deleted file mode 100644 index 875c783bd81..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_4.result +++ /dev/null @@ -1,139 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 1 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE t1,t2 SET t1.i=223,t2.i=223 WHERE t1.i=123 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t1,t2 SET t1.i=226,t2.i=226 WHERE t1.i=126 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE t1,t2 SET t1.i=224,t2.i=224 WHERE t1.i=124 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP TABLE t1, t2; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_5.result b/mysql-test/suite/row_lock/r/ndb_row_lock_5.result deleted file mode 100644 index 0d94f8abf72..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_5.result +++ /dev/null @@ -1,30 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1 ignore index (ixi),t2 IGNORE INDEX (ixi) WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i,t2.i FROM t1 ignore index (ixi),t2 IGNORE INDEX (ixi) WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab.result b/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab.result deleted file mode 100644 index 94b67c63d94..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab.result +++ /dev/null @@ -1,177 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -CREATE INDEX ixi ON t2 (i); -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT count(*)/2 INTO res FROM t1; -RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT count(*)/2 INTO res FROM t2; -RETURN res; -END; -| -CALL fill_t1 (10); -CALL fill_t2 (10); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < half_t1() AND t2.i=t1.i LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 1 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < half_t1() AND t2.i=t1.i LOCK IN SHARE MODE; -i i -connection root1; -SELECT k from t1 WHERE k < half_t1(); -k -0 -3 -1 -2 -4 -SELECT k from t1 WHERE k >= half_t1(); -k -6 -7 -9 -5 -8 -UPDATE t1,t2 SET t1.i=1111,t2.i=2222 WHERE t1.k < half_t1() AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -0 1111 0 100 -1 1111 1 101 -2 1111 2 102 -3 1111 3 103 -4 1111 4 104 -5 105 5 105 -6 106 6 106 -7 107 7 107 -8 108 8 108 -9 109 9 109 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -0 2222 0 100 -1 2222 1 101 -2 2222 2 102 -3 2222 3 103 -4 2222 4 104 -5 105 5 105 -6 106 6 106 -7 107 7 107 -8 108 8 108 -9 109 9 109 -connection default; -UPDATE t1,t2 SET t1.i=3333,t2.i=4444 WHERE t1.k >= half_t1() AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -0 100 0 100 -1 101 1 101 -2 102 2 102 -3 103 3 103 -4 104 4 104 -5 3333 5 105 -6 3333 6 106 -7 3333 7 107 -8 3333 8 108 -9 3333 9 109 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -0 100 0 100 -1 101 1 101 -2 102 2 102 -3 103 3 103 -4 104 4 104 -5 4444 5 105 -6 4444 6 106 -7 4444 7 107 -8 4444 8 108 -9 4444 9 109 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -0 100 0 100 -1 101 1 101 -2 102 2 102 -3 103 3 103 -4 104 4 104 -5 3333 5 105 -6 3333 6 106 -7 3333 7 107 -8 3333 8 108 -9 3333 9 109 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -0 100 0 100 -1 101 1 101 -2 102 2 102 -3 103 3 103 -4 104 4 104 -5 4444 5 105 -6 4444 6 106 -7 4444 7 107 -8 4444 8 108 -9 4444 9 109 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -0 100 0 100 -1 101 1 101 -2 102 2 102 -3 103 3 103 -4 104 4 104 -5 3333 5 105 -6 3333 6 106 -7 3333 7 107 -8 3333 8 108 -9 3333 9 109 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -0 100 0 100 -1 101 1 101 -2 102 2 102 -3 103 3 103 -4 104 4 104 -5 4444 5 105 -6 4444 6 106 -7 4444 7 107 -8 4444 8 108 -9 4444 9 109 -connection default; -DROP VIEW IF EXISTS v1; -Warnings: -Note 1051 Unknown table 'test.v1' -DROP TABLE t1, t2; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab_1.result b/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab_1.result deleted file mode 100644 index 9803895e1a7..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab_1.result +++ /dev/null @@ -1,357 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -CREATE INDEX ixi ON t2 (i); -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT MOD(k,2) INTO res FROM t1; -RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT MOD(k,2) INTO res FROM t2; -RETURN res; -END; -| -CALL fill_t1 (200); -CALL fill_t2 (200); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < t1.k % 2 = 0 AND t2.k=t1.k LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 200 Using where -1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.k 1 -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < t1.k % 2 = 0 AND t2.k=t1.k LOCK IN SHARE MODE; -i i -135 135 -119 119 -211 211 -184 184 -232 232 -105 105 -188 188 -216 216 -255 255 -154 154 -197 197 -279 279 -218 218 -127 127 -203 203 -281 281 -194 194 -161 161 -276 276 -122 122 -139 139 -183 183 -114 114 -247 247 -144 144 -148 148 -174 174 -267 267 -142 142 -168 168 -226 226 -258 258 -231 231 -146 146 -253 253 -189 189 -230 230 -290 290 -178 178 -158 158 -130 130 -214 214 -133 133 -229 229 -294 294 -295 295 -108 108 -112 112 -297 297 -151 151 -251 251 -270 270 -291 291 -159 159 -132 132 -121 121 -244 244 -272 272 -293 293 -186 186 -111 111 -166 166 -201 201 -175 175 -180 180 -209 209 -192 192 -246 246 -195 195 -107 107 -233 233 -239 239 -103 103 -109 109 -128 128 -266 266 -143 143 -160 160 -187 187 -243 243 -273 273 -259 259 -110 110 -176 176 -141 141 -170 170 -215 215 -191 191 -200 200 -271 271 -162 162 -260 260 -106 106 -150 150 -126 126 -147 147 -155 155 -193 193 -207 207 -287 287 -235 235 -252 252 -129 129 -205 205 -268 268 -278 278 -116 116 -137 137 -199 199 -217 217 -234 234 -190 190 -236 236 -257 257 -100 100 -210 210 -212 212 -264 264 -221 221 -241 241 -256 256 -262 262 -265 265 -269 269 -277 277 -173 173 -177 177 -208 208 -219 219 -285 285 -101 101 -164 164 -113 113 -125 125 -202 202 -140 140 -156 156 -282 282 -181 181 -206 206 -299 299 -102 102 -145 145 -227 227 -196 196 -138 138 -198 198 -204 204 -237 237 -171 171 -284 284 -263 263 -292 292 -104 104 -149 149 -250 250 -296 296 -228 228 -280 280 -242 242 -248 248 -185 185 -220 220 -245 245 -275 275 -118 118 -120 120 -152 152 -153 153 -157 157 -182 182 -179 179 -254 254 -288 288 -172 172 -283 283 -286 286 -115 115 -238 238 -289 289 -131 131 -223 223 -134 134 -136 136 -222 222 -225 225 -261 261 -274 274 -123 123 -163 163 -224 224 -117 117 -298 298 -169 169 -124 124 -167 167 -240 240 -249 249 -165 165 -213 213 -connection root1; -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 1 AND t1.k = t2.k LOCK IN SHARE MODE; -i i -209 209 -195 195 -107 107 -233 233 -239 239 -103 103 -109 109 -143 143 -187 187 -243 243 -273 273 -259 259 -141 141 -215 215 -191 191 -271 271 -147 147 -155 155 -193 193 -207 207 -287 287 -235 235 -129 129 -205 205 -137 137 -199 199 -217 217 -257 257 -221 221 -241 241 -265 265 -269 269 -277 277 -173 173 -177 177 -135 135 -119 119 -211 211 -105 105 -255 255 -197 197 -279 279 -127 127 -203 203 -281 281 -161 161 -139 139 -183 183 -247 247 -267 267 -231 231 -253 253 -189 189 -133 133 -229 229 -295 295 -297 297 -151 151 -251 251 -291 291 -159 159 -121 121 -293 293 -111 111 -201 201 -175 175 -185 185 -245 245 -275 275 -153 153 -157 157 -179 179 -283 283 -115 115 -289 289 -131 131 -223 223 -225 225 -261 261 -123 123 -163 163 -117 117 -169 169 -167 167 -249 249 -165 165 -213 213 -219 219 -285 285 -101 101 -113 113 -125 125 -181 181 -299 299 -145 145 -227 227 -237 237 -171 171 -263 263 -149 149 -UPDATE t1,t2 SET t1.i=1111,t2.i=2222 WHERE t1.k % 2 = 1 AND t1.k = t2.k; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab_2.result b/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab_2.result deleted file mode 100644 index adb89b03480..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_big_tab_2.result +++ /dev/null @@ -1,255 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -CREATE INDEX ixi ON t2 (i); -CREATE PROCEDURE fill_t1 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t1() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT MOD(k,2) INTO res FROM t1; -RETURN res; -END; -| -CREATE PROCEDURE fill_t2 (IN upb int) -BEGIN -DECLARE cnt int DEFAULT 0; -WHILE cnt < upb DO -INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100); -SET cnt= cnt+1; -END WHILE; -END; -| -CREATE FUNCTION half_t2() RETURNS int -BEGIN -DECLARE res int DEFAULT 0; -SELECT MOD(k,2) INTO res FROM t2; -RETURN res; -END; -| -CALL fill_t1 (200); -CALL fill_t2 (200); -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < t1.k % 2 = 0 AND t2.k=t1.k LOCK IN SHARE MODE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 200 Using where -1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.k 1 -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < t1.k % 2 = 0 AND t2.k=t1.k LOCK IN SHARE MODE; -i i -135 135 -119 119 -211 211 -184 184 -232 232 -105 105 -188 188 -216 216 -255 255 -154 154 -197 197 -279 279 -218 218 -127 127 -203 203 -281 281 -194 194 -161 161 -276 276 -122 122 -139 139 -183 183 -114 114 -247 247 -144 144 -148 148 -174 174 -267 267 -142 142 -168 168 -226 226 -258 258 -231 231 -146 146 -253 253 -189 189 -230 230 -290 290 -178 178 -158 158 -130 130 -214 214 -133 133 -229 229 -294 294 -295 295 -108 108 -112 112 -297 297 -151 151 -251 251 -270 270 -291 291 -159 159 -132 132 -121 121 -244 244 -272 272 -293 293 -186 186 -111 111 -166 166 -201 201 -175 175 -180 180 -209 209 -192 192 -246 246 -195 195 -107 107 -233 233 -239 239 -103 103 -109 109 -128 128 -266 266 -143 143 -160 160 -187 187 -243 243 -273 273 -259 259 -110 110 -176 176 -141 141 -170 170 -215 215 -191 191 -200 200 -271 271 -162 162 -260 260 -106 106 -150 150 -126 126 -147 147 -155 155 -193 193 -207 207 -287 287 -235 235 -252 252 -129 129 -205 205 -268 268 -278 278 -116 116 -137 137 -199 199 -217 217 -234 234 -190 190 -236 236 -257 257 -100 100 -210 210 -212 212 -264 264 -221 221 -241 241 -256 256 -262 262 -265 265 -269 269 -277 277 -173 173 -177 177 -208 208 -219 219 -285 285 -101 101 -164 164 -113 113 -125 125 -202 202 -140 140 -156 156 -282 282 -181 181 -206 206 -299 299 -102 102 -145 145 -227 227 -196 196 -138 138 -198 198 -204 204 -237 237 -171 171 -284 284 -263 263 -292 292 -104 104 -149 149 -250 250 -296 296 -228 228 -280 280 -242 242 -248 248 -185 185 -220 220 -245 245 -275 275 -118 118 -120 120 -152 152 -153 153 -157 157 -182 182 -179 179 -254 254 -288 288 -172 172 -283 283 -286 286 -115 115 -238 238 -289 289 -131 131 -223 223 -134 134 -136 136 -222 222 -225 225 -261 261 -274 274 -123 123 -163 163 -224 224 -117 117 -298 298 -169 169 -124 124 -167 167 -240 240 -249 249 -165 165 -213 213 -connection root1; -DELETE FROM t1 WHERE t1.k % 2 = 1; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_trig_1.result b/mysql-test/suite/row_lock/r/ndb_row_lock_trig_1.result deleted file mode 100644 index eb69fd2e306..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_trig_1.result +++ /dev/null @@ -1,148 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 -FOR EACH ROW BEGIN -UPDATE t1 SET l = NEW.i WHERE i = OLD.i; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 225 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE t2 SET t2.i=223 WHERE t2.i=123; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t2 SET t2.i=226 WHERE t2.i=126; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 225 -4 126 4 226 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE t2 SET t2.i=224 WHERE t2.i=124; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 224 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 225 -4 126 4 226 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 224 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 224 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 223 -2 124 2 224 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP TABLE t1, t2; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_trig_2.result b/mysql-test/suite/row_lock/r/ndb_row_lock_trig_2.result deleted file mode 100644 index bedb75da93a..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_trig_2.result +++ /dev/null @@ -1,35 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t2 (i); -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 -FOR EACH ROW BEGIN -UPDATE t1 SET l = NEW.i WHERE i = OLD.i; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_view_1.result b/mysql-test/suite/row_lock/r/ndb_row_lock_view_1.result deleted file mode 100644 index 279f2626c73..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_view_1.result +++ /dev/null @@ -1,194 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 1 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -i i -123 123 -124 124 -connection root1; -UPDATE v1 SET i=325 where i=125; -SELECT * FROM v1 ORDER BY i,l; -i l -123 123 -123 124 -123 125 -123 126 -124 123 -124 124 -124 125 -124 126 -126 123 -126 124 -126 125 -126 126 -325 123 -325 124 -325 125 -325 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 325 3 125 -4 126 4 126 -connection default; -UPDATE v1 SET i=323 where i=123; -SELECT * FROM v1 ORDER BY i,l; -i l -124 123 -124 124 -124 125 -124 126 -125 123 -125 124 -125 125 -125 126 -126 123 -126 124 -126 125 -126 126 -323 123 -323 124 -323 125 -323 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE v1 SET i=326 where i=126; -SELECT * FROM v1 ORDER BY i,l; -i l -123 123 -123 124 -123 125 -123 126 -124 123 -124 124 -124 125 -124 126 -325 123 -325 124 -325 125 -325 126 -326 123 -326 124 -326 125 -326 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 325 3 125 -4 326 4 126 -connection default; -UPDATE v1 SET i=324 where i=124; -SELECT * FROM v1 ORDER BY i,l; -i l -125 123 -125 124 -125 125 -125 126 -126 123 -126 124 -126 125 -126 126 -323 123 -323 124 -323 125 -323 126 -324 123 -324 124 -324 125 -324 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 325 3 125 -4 326 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP VIEW IF EXISTS v1; -DROP TABLE t1, t2; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_view_2.result b/mysql-test/suite/row_lock/r/ndb_row_lock_view_2.result deleted file mode 100644 index 9e74e93b0cc..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_view_2.result +++ /dev/null @@ -1,200 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 4 -SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -i -123 -124 -123 -124 -123 -124 -123 -124 -connection root1; -UPDATE v1 SET i=325 where i=125; -SELECT * FROM v1 ORDER BY i,l; -i l -123 123 -123 124 -123 125 -123 126 -124 123 -124 124 -124 125 -124 126 -126 123 -126 124 -126 125 -126 126 -325 123 -325 124 -325 125 -325 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 325 3 125 -4 126 4 126 -connection default; -UPDATE v1 SET i=323 where i=123; -SELECT * FROM v1 ORDER BY i,l; -i l -124 123 -124 124 -124 125 -124 126 -125 123 -125 124 -125 125 -125 126 -126 123 -126 124 -126 125 -126 126 -323 123 -323 124 -323 125 -323 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE v1 SET i=326 where i=126; -SELECT * FROM v1 ORDER BY i,l; -i l -123 123 -123 124 -123 125 -123 126 -124 123 -124 124 -124 125 -124 126 -325 123 -325 124 -325 125 -325 126 -326 123 -326 124 -326 125 -326 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 325 3 125 -4 326 4 126 -connection default; -UPDATE v1 SET i=324 where i=124; -SELECT * FROM v1 ORDER BY i,l; -i l -125 123 -125 124 -125 125 -125 126 -126 123 -126 124 -126 125 -126 126 -323 123 -323 124 -323 125 -323 126 -324 123 -324 124 -324 125 -324 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 325 3 125 -4 326 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP VIEW IF EXISTS v1; -DROP TABLE t1, t2; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_view_mix_1.result b/mysql-test/suite/row_lock/r/ndb_row_lock_view_mix_1.result deleted file mode 100644 index b5b1c519702..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_view_mix_1.result +++ /dev/null @@ -1,169 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -1 SIMPLE t2 ref ixi ixi 5 test.t1.i 1 Using where -SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -i i -123 123 -124 124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE v1 SET i=323 where i=123; -SELECT * FROM v1 ORDER BY i,l; -i l -124 123 -124 124 -124 125 -124 126 -125 123 -125 124 -125 125 -125 126 -126 123 -126 124 -126 125 -126 126 -323 123 -323 124 -323 125 -323 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t1,t2 SET t1.i=226,t2.i=226 WHERE t1.i=126 AND t2.i=t1.i; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE v1 SET i=324 where i=124; -SELECT * FROM v1 ORDER BY i,l; -i l -125 123 -125 124 -125 125 -125 126 -126 123 -126 124 -126 125 -126 126 -323 123 -323 124 -323 125 -323 126 -324 123 -324 124 -324 125 -324 126 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 323 1 123 -2 324 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP VIEW IF EXISTS v1; -DROP TABLE t1, t2; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_view_mix_2.result b/mysql-test/suite/row_lock/r/ndb_row_lock_view_mix_2.result deleted file mode 100644 index d92f9ad9664..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_view_mix_2.result +++ /dev/null @@ -1,38 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i, t2.l from t1,t2; -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 4 -SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -i -123 -124 -123 -124 -123 -124 -123 -124 -connection root1; -UPDATE t1,t2 SET t1.i=225,t2.i=225 WHERE t1.i=125 AND t2.i=t1.i; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_view_storedp_1.result b/mysql-test/suite/row_lock/r/ndb_row_lock_view_storedp_1.result deleted file mode 100644 index e2a2a6e7deb..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_view_storedp_1.result +++ /dev/null @@ -1,309 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -DROP PROCEDURE IF EXISTS stp_t; -SET autocommit=0; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -INSERT INTO t1 VALUES (5,127,5,127); -INSERT INTO t1 VALUES (6,128,6,128); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -INSERT INTO t2 VALUES (5,127,5,127); -INSERT INTO t2 VALUES (6,128,6,128); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i from t1; -CREATE PROCEDURE stp_t (IN p1 int, IN p2 int) MODIFIES SQL DATA -BEGIN -UPDATE t2 SET i = p2 WHERE i = p1; -UPDATE v1 SET i = p2 WHERE i = p1; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -CALL stp_t (125, 225); -i -123 -124 -126 -127 -128 -225 -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root2; -CALL stp_t (127, 227); -i -123 -124 -125 -126 -128 -227 -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 128 6 128 -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 128 6 128 -connection default; -CALL stp_t (123, 223); -i -124 -125 -126 -127 -128 -223 -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root1; -CALL stp_t (126, 226); -i -123 -124 -127 -128 -225 -226 -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -5 127 5 127 -6 128 6 128 -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -5 127 5 127 -6 128 6 128 -connection root2; -CALL stp_t (128, 228); -i -123 -124 -125 -126 -227 -228 -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 228 6 128 -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 228 6 128 -connection default; -CALL stp_t (124, 224); -i -125 -126 -127 -128 -223 -224 -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -5 127 5 127 -6 128 6 128 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -5 127 5 127 -6 128 6 128 -connection root2; -DELETE FROM t1 WHERE t1.i=228; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 228 6 128 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -COMMIT; -connection root1; -ROLLBACK; -connection root1; -COMMIT; -connection default; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -127 -128 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root1; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -127 -128 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 127 5 127 -6 128 6 128 -connection root2; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -223 -227 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -5 227 5 127 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -5 227 5 127 -6 228 6 128 -connection default; -DROP VIEW v1; -DROP PROCEDURE stp_t; -DROP TABLE t1, t2; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_view_storedp_2.result b/mysql-test/suite/row_lock/r/ndb_row_lock_view_storedp_2.result deleted file mode 100644 index 6dbd5f834ed..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_view_storedp_2.result +++ /dev/null @@ -1,46 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -DROP PROCEDURE IF EXISTS stp_t; -SET autocommit=0; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -INSERT INTO t1 VALUES (5,127,5,127); -INSERT INTO t1 VALUES (6,128,6,128); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -INSERT INTO t2 VALUES (5,127,5,127); -INSERT INTO t2 VALUES (6,128,6,128); -#CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i from t1; -CREATE PROCEDURE stp_t (IN p1 int, IN p2 int) MODIFIES SQL DATA -BEGIN -UPDATE t2 SET i = p2 WHERE i = p1; -UPDATE v1 SET i = p2 WHERE i = p1; -SELECT * FROM v1 ORDER BY i; -SELECT * FROM t1 ORDER BY t1.k; -SELECT * FROM t2 ORDER BY t2.k; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -CALL stp_t (125, 225); diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_view_trig_1.result b/mysql-test/suite/row_lock/r/ndb_row_lock_view_trig_1.result deleted file mode 100644 index f5c745ca41c..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_view_trig_1.result +++ /dev/null @@ -1,180 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i from t1; -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 -FOR EACH ROW BEGIN -UPDATE v1 SET i = NEW.i WHERE i = OLD.i; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range ixi ixi 5 NULL 10 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; -SELECT * FROM v1 ORDER BY i; -i -123 -124 -126 -225 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 126 4 126 -connection default; -UPDATE t2 SET t2.i=223 WHERE t2.i=123; -SELECT * FROM v1 ORDER BY i; -i -124 -125 -126 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 124 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -UPDATE t2 SET t2.i=226 WHERE t2.i=126; -SELECT * FROM v1 ORDER BY i; -i -123 -124 -225 -226 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -UPDATE t2 SET t2.i=224 WHERE t2.i=124; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -223 -224 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -DELETE FROM t1 WHERE t1.i=226; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 123 1 123 -2 124 2 124 -3 225 3 125 -4 226 4 126 -connection default; -DELETE FROM t1 WHERE t1.i=224; -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -COMMIT; -connection root1; -ROLLBACK; -connection default; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection root1; -SELECT * FROM v1 ORDER BY i; -i -125 -126 -223 -SELECT * FROM t1 ORDER BY t1.k; -k i j l -1 223 1 123 -3 125 3 125 -4 126 4 126 -SELECT * FROM t2 ORDER BY t2.k; -k i j l -1 223 1 123 -2 224 2 124 -3 125 3 125 -4 126 4 126 -connection default; -DROP TABLE t1, t2; -DROP VIEW v1; diff --git a/mysql-test/suite/row_lock/r/ndb_row_lock_view_trig_2.result b/mysql-test/suite/row_lock/r/ndb_row_lock_view_trig_2.result deleted file mode 100644 index d6a38753c1d..00000000000 --- a/mysql-test/suite/row_lock/r/ndb_row_lock_view_trig_2.result +++ /dev/null @@ -1,36 +0,0 @@ -DROP TABLE IF EXISTS t1, t2; -DROP VIEW IF EXISTS v1; -SET autocommit=0; -SET autocommit=0; -connection default; -CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t1 VALUES (1,123,1,123); -INSERT INTO t1 VALUES (2,124,2,124); -INSERT INTO t1 VALUES (3,125,3,125); -INSERT INTO t1 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t1 (i); -CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=NDB; -INSERT INTO t2 VALUES (1,123,1,123); -INSERT INTO t2 VALUES (2,124,2,124); -INSERT INTO t2 VALUES (3,125,3,125); -INSERT INTO t2 VALUES (4,126,4,126); -#CREATE INDEX ixi ON t2 (i); -CREATE VIEW v1 AS SELECT t1.i from t1; -CREATE TRIGGER trig_t2 AFTER UPDATE ON t2 -FOR EACH ROW BEGIN -UPDATE v1 SET i = NEW.i WHERE i = OLD.i; -END; -| -COMMIT; -SELECT @@global.tx_isolation; -@@global.tx_isolation -REPEATABLE-READ -EXPLAIN SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where -SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -i -123 -124 -connection root1; -UPDATE t2 SET t2.i=225 WHERE t2.i=125; diff --git a/mysql-test/suite/row_lock/readme.txt b/mysql-test/suite/row_lock/readme.txt deleted file mode 100644 index b43f04ecda4..00000000000 --- a/mysql-test/suite/row_lock/readme.txt +++ /dev/null @@ -1,9 +0,0 @@ -All row lock test with InnoDB have to be executed with the options - ---innodb_lock_wait_timeout=1 ---innodb_locks_unsafe_for_binlog - -for example - -perl mysql-test-run.pl --mysqld=--innodb_lock_wait_timeout=2 --mysqld=--innodb_locks_unsafe_for_binlog --suite=row_lock innodb_row_lock_2 - diff --git a/mysql-test/suite/row_lock/summary_of_sel_test.txt b/mysql-test/suite/row_lock/summary_of_sel_test.txt deleted file mode 100644 index 0fa332e957a..00000000000 --- a/mysql-test/suite/row_lock/summary_of_sel_test.txt +++ /dev/null @@ -1,36 +0,0 @@ -Test plan: -Create 2 tables with a primary key and 3 integer columns. Both get the same rows (1,123,1,123),(2,124,2,124),(3,125,3,125),(4,126,4,126). The second and third column may get an index to have cases with, without and mutilple index. Create views on the tables. Create an update trigger. Create a stored procedure updating the table. Create a stored function updating the table and deliver the key as result. - -The test isself consists of 2 sessions (transactions) running in "parallel" (same user "root") accessing and locking the same tables on basis of a row lock. Expected is that both sessions(transactions) can update the table successfully. - -First session -execute an explain to every select and one of the following selects on the first half of table t1: -- select ... where ... for update; -- select ... where ... lock in share mode; -- select ... where ... for update; -- select ... where ... lock in share mode; -- select ... ignore index ... where ... for update; -- select ... ignore index ... where ... lock in share mode; -- select ... where (select...) ... for update; -- select ... where (select...) ... lock in share mode; -- (select ... where) union (select ... where) for update; -- (select ... where) union (select ... where) lock in...; -- select ... where ... for update; -- select ... where ... lock in ...; -- select ... where ... for update; -- select ... where ... lock in ...; -Then executes -- update -- delete -- trigger accessing table t1 -- stored procedure accessing table t1 -- stored function accessing table t1 - -Second session -executes the same on the last half of table t1 - -call of mysqld with option ---innodb_locks_unsafe_for_binlog - -As the tests above work with small tables (<10 rows) there must be at least one test with a big table (>1000 rows) doing a table scan. - diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_1.test b/mysql-test/suite/row_lock/t/innodb_row_lock_1.test deleted file mode 100644 index e0440fe2669..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_1.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_2.test b/mysql-test/suite/row_lock/t/innodb_row_lock_2.test deleted file mode 100644 index 5cb3ea9f2d9..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_2.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_3.test b/mysql-test/suite/row_lock/t/innodb_row_lock_3.test deleted file mode 100644 index 11f4dc423d6..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_3.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_4.test b/mysql-test/suite/row_lock/t/innodb_row_lock_4.test deleted file mode 100644 index 0a8ca9c13a0..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_4.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_5.test b/mysql-test/suite/row_lock/t/innodb_row_lock_5.test deleted file mode 100644 index 7e411d31649..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_5.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i,t2.i FROM t1 ignore index (ixi),t2 IGNORE INDEX (ixi) WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab.test b/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab.test deleted file mode 100644 index 0c5b8b41bd5..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < half_t1() AND t2.i=t1.i LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_big_tab.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab_1.test b/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab_1.test deleted file mode 100644 index a12a07d82a9..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab_1.test +++ /dev/null @@ -1,10 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $nbrows= 40; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 0 AND t1.k = t2.k LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_big_tab_1.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab_2.test b/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab_2.test deleted file mode 100644 index 49e834eb2ce..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_big_tab_2.test +++ /dev/null @@ -1,10 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $nbrows= 40; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 0 AND t1.k = t2.k LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_big_tab_2.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_trig_1.test b/mysql-test/suite/row_lock/t/innodb_row_lock_trig_1.test deleted file mode 100644 index 225513d3f87..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_trig_1.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_trig.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_trig_2.test b/mysql-test/suite/row_lock/t/innodb_row_lock_trig_2.test deleted file mode 100644 index 88dee5f23f8..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_trig_2.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_trig.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_view_1.test b/mysql-test/suite/row_lock/t/innodb_row_lock_view_1.test deleted file mode 100644 index d6381e1da5b..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_view_1.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_view_2.test b/mysql-test/suite/row_lock/t/innodb_row_lock_view_2.test deleted file mode 100644 index ee45e683669..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_view_2.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_view_mix_1.test b/mysql-test/suite/row_lock/t/innodb_row_lock_view_mix_1.test deleted file mode 100644 index 49cba88dd23..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_view_mix_1.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_mix.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_view_mix_2.test b/mysql-test/suite/row_lock/t/innodb_row_lock_view_mix_2.test deleted file mode 100644 index b07f3a3378a..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_view_mix_2.test +++ /dev/null @@ -1,10 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -#let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $select= SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_mix.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_view_storedp_1.test b/mysql-test/suite/row_lock/t/innodb_row_lock_view_storedp_1.test deleted file mode 100644 index d507ff3296f..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_view_storedp_1.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_storedp.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_view_storedp_2.test b/mysql-test/suite/row_lock/t/innodb_row_lock_view_storedp_2.test deleted file mode 100644 index a1bfb16055e..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_view_storedp_2.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_storedp.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_view_trig_1.test b/mysql-test/suite/row_lock/t/innodb_row_lock_view_trig_1.test deleted file mode 100644 index 24c76532d17..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_view_trig_1.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_trig.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/innodb_row_lock_view_trig_2.test b/mysql-test/suite/row_lock/t/innodb_row_lock_view_trig_2.test deleted file mode 100644 index a8a67d77979..00000000000 --- a/mysql-test/suite/row_lock/t/innodb_row_lock_view_trig_2.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_innodb.inc -SELECT @@global.innodb_table_locks into @table_locks; -SET @@global.innodb_table_locks= OFF; -let $engine= InnoDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_trig.inc -SET @@global.innodb_table_locks= @table_locks; diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_1.test b/mysql-test/suite/row_lock/t/ndb_row_lock_1.test deleted file mode 100644 index 6ac2e829008..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_1.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_2.test b/mysql-test/suite/row_lock/t/ndb_row_lock_2.test deleted file mode 100644 index 994ecba96b0..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_2.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_3.test b/mysql-test/suite/row_lock/t/ndb_row_lock_3.test deleted file mode 100644 index 2de43c61c2a..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_3.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_4.test b/mysql-test/suite/row_lock/t/ndb_row_lock_4.test deleted file mode 100644 index 72b20488c74..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_4.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_5.test b/mysql-test/suite/row_lock/t/ndb_row_lock_5.test deleted file mode 100644 index 045f127a4ef..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_5.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i,t2.i FROM t1 ignore index (ixi),t2 IGNORE INDEX (ixi) WHERE t1.i<125 AND t2.i=t1.i LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab.test b/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab.test deleted file mode 100644 index bf2df104e03..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < half_t1() AND t2.i=t1.i LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_big_tab.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab_1.test b/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab_1.test deleted file mode 100644 index 4d32991d379..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab_1.test +++ /dev/null @@ -1,7 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $nbrows= 200; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < t1.k % 2 = 0 AND t2.k=t1.k LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_big_tab_1.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab_2.test b/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab_2.test deleted file mode 100644 index 894a83fc1b0..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_big_tab_2.test +++ /dev/null @@ -1,7 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $nbrows= 200; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i < t1.k % 2 = 0 AND t2.k=t1.k LOCK IN SHARE MODE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_big_tab_2.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_trig_1.test b/mysql-test/suite/row_lock/t/ndb_row_lock_trig_1.test deleted file mode 100644 index a5586a6101e..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_trig_1.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_trig.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_trig_2.test b/mysql-test/suite/row_lock/t/ndb_row_lock_trig_2.test deleted file mode 100644 index 7af13697ccc..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_trig_2.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_trig.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_view_1.test b/mysql-test/suite/row_lock/t/ndb_row_lock_view_1.test deleted file mode 100644 index a1aaf5ab441..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_view_1.test +++ /dev/null @@ -1,7 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view.inc - diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_view_2.test b/mysql-test/suite/row_lock/t/ndb_row_lock_view_2.test deleted file mode 100644 index b8feef693e7..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_view_2.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_view_mix_1.test b/mysql-test/suite/row_lock/t/ndb_row_lock_view_mix_1.test deleted file mode 100644 index a97626048d3..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_view_mix_1.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i,t2.i FROM t1,t2 WHERE t1.i<125 AND t2.i=t1.i FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_mix.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_view_mix_2.test b/mysql-test/suite/row_lock/t/ndb_row_lock_view_mix_2.test deleted file mode 100644 index e7a9a715785..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_view_mix_2.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT v1.i FROM v1 WHERE v1.i<125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_mix.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_view_storedp_1.test b/mysql-test/suite/row_lock/t/ndb_row_lock_view_storedp_1.test deleted file mode 100644 index f57bcb3dd1b..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_view_storedp_1.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_storedp.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_view_storedp_2.test b/mysql-test/suite/row_lock/t/ndb_row_lock_view_storedp_2.test deleted file mode 100644 index b0aaa38fb93..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_view_storedp_2.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_storedp.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_view_trig_1.test b/mysql-test/suite/row_lock/t/ndb_row_lock_view_trig_1.test deleted file mode 100644 index 9c4128d78bf..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_view_trig_1.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= CREATE INDEX ixi ON t1 (i); -let $indext2= CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_trig.inc diff --git a/mysql-test/suite/row_lock/t/ndb_row_lock_view_trig_2.test b/mysql-test/suite/row_lock/t/ndb_row_lock_view_trig_2.test deleted file mode 100644 index 38c9472fb3d..00000000000 --- a/mysql-test/suite/row_lock/t/ndb_row_lock_view_trig_2.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_ndb.inc -let $engine= NDB; -let $select= SELECT t1.i FROM t1 WHERE t1.i< 125 FOR UPDATE; -let $indext1= #CREATE INDEX ixi ON t1 (i); -let $indext2= #CREATE INDEX ixi ON t2 (i); ---source suite/row_lock/include/row_lock_view_trig.inc diff --git a/mysql-test/t/federated.test b/mysql-test/t/federated.test index a3750cb572d..63809373822 100644 --- a/mysql-test/t/federated.test +++ b/mysql-test/t/federated.test @@ -1578,6 +1578,46 @@ drop table federated.t1; connection slave; drop table federated.t1; +# +# Bug#26909: Specified key was too long; max key length is 255 bytes +# when creating a table +# +connection slave; +CREATE TABLE federated.t1 ( + categoryId int(11) NOT NULL AUTO_INCREMENT, + domainId varchar(745) NOT NULL DEFAULT '', + categoryName varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (categoryId), + UNIQUE KEY idx_unique_category_categoryName (domainId, categoryName), + KEY idx_category_domainId (domainId) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +connection master; +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t1 ( + categoryId int(11) NOT NULL AUTO_INCREMENT, + domainId varchar(745) NOT NULL DEFAULT '', + categoryName varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (categoryId), + UNIQUE KEY idx_unique_category_categoryName (domainId, categoryName), + KEY idx_category_domainId (domainId) + ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 + CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1'; + + +insert into federated.t1 (domainId, categoryName) values ( '1231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231 300', '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 250'); +insert into federated.t1 (domainId, categoryName) values ( '12312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312 301', '12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 250'); +insert into federated.t1 (domainId, categoryName) values ('a', 'b'); + +select categoryId from federated.t1 order by domainId, categoryName; +select categoryId from federated.t1 where domainId='a' and categoryName='b' order by categoryId; +select categoryId from federated.t1 where domainId='a' and categoryName='b' order by categoryId; +select categoryId from federated.t1 where domainId<>'a' and categoryName<>'b' order by categoryId; + +drop table federated.t1; + +connection slave; +drop table federated.t1; # # BUG#21019 Federated Engine does not support REPLACE/INSERT IGNORE/UPDATE IGNORE diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test index da909dc578f..4f35a681228 100644 --- a/mysql-test/t/func_time.test +++ b/mysql-test/t/func_time.test @@ -423,11 +423,11 @@ select strcmp(concat(utc_date(),' ',utc_time()),utc_timestamp())=0; explain extended select period_add("9602",-12),period_diff(199505,"9404"),from_days(to_days("960101")),dayofmonth("1997-01-02"), month("1997-01-02"), monthname("1972-03-04"),dayofyear("0000-00-00"),HOUR("1997-03-03 23:03:22"),MINUTE("23:03:22"),SECOND(230322),QUARTER(980303),WEEK("1998-03-03"),yearweek("2000-01-01",1),week(19950101,1),year("98-02-03"),weekday(curdate())-weekday(now()),dayname("1962-03-03"),unix_timestamp(),sec_to_time(time_to_sec("0:30:47")/6.21),curtime(),utc_time(),curdate(),utc_date(),utc_timestamp(),date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w"),from_unixtime(unix_timestamp("1994-03-02 10:11:12")),"1997-12-31 23:59:59" + INTERVAL 1 SECOND,"1998-01-01 00:00:00" - INTERVAL 1 SECOND,INTERVAL 1 DAY + "1997-12-31", extract(YEAR FROM "1999-01-02 10:11:12"),date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND); -SET @TMP=NOW(); +SET @TMP='2007-08-01 12:22:49'; CREATE TABLE t1 (d DATETIME); -INSERT INTO t1 VALUES (NOW()); -INSERT INTO t1 VALUES (NOW()); -INSERT INTO t1 VALUES (NOW()); +INSERT INTO t1 VALUES ('2007-08-01 12:22:59'); +INSERT INTO t1 VALUES ('2007-08-01 12:23:01'); +INSERT INTO t1 VALUES ('2007-08-01 12:23:20'); SELECT count(*) FROM t1 WHERE d>FROM_DAYS(TO_DAYS(@TMP)) AND d<=FROM_DAYS(TO_DAYS(@TMP)+1); DROP TABLE t1; diff --git a/mysql-test/t/innodb_mysql.test b/mysql-test/t/innodb_mysql.test index 63431e10bbf..adcfec68d3e 100644 --- a/mysql-test/t/innodb_mysql.test +++ b/mysql-test/t/innodb_mysql.test @@ -756,6 +756,39 @@ create table t1 (a int) engine=innodb; alter table t1 alter a set default 1; drop table t1; + +--echo +--echo Bug#24918 drop table and lock / inconsistent between +--echo perm and temp tables +--echo +--echo Check transactional tables under LOCK TABLES +--echo +--disable_warnings +drop table if exists t24918, t24918_tmp, t24918_trans, t24918_trans_tmp, +t24918_access; +--enable_warnings +create table t24918_access (id int); +create table t24918 (id int) engine=myisam; +create temporary table t24918_tmp (id int) engine=myisam; +create table t24918_trans (id int) engine=innodb; +create temporary table t24918_trans_tmp (id int) engine=innodb; + +lock table t24918 write, t24918_tmp write, t24918_trans write, t24918_trans_tmp write; +drop table t24918; +--error ER_TABLE_NOT_LOCKED +select * from t24918_access; +drop table t24918_trans; +--error ER_TABLE_NOT_LOCKED +select * from t24918_access; +drop table t24918_trans_tmp; +--error ER_TABLE_NOT_LOCKED +select * from t24918_access; +drop table t24918_tmp; +--error ER_TABLE_NOT_LOCKED +select * from t24918_access; +unlock tables; + +drop table t24918_access; # # Bug #28591: MySQL need not sort the records in case of ORDER BY # primary_key on InnoDB table @@ -840,5 +873,13 @@ DISCONNECT con2; DROP PROCEDURE p1; DROP TABLE t1; +# +# Bug #28125: ERROR 2013 when adding index. +# +create table t1(a text) engine=innodb default charset=utf8; +insert into t1 values('aaa'); +alter table t1 add index(a(1024)); +show create table t1; +drop table t1; --echo End of 5.0 tests diff --git a/mysql-test/t/mysqlbinlog.test b/mysql-test/t/mysqlbinlog.test index bd90dcfb930..451eef17108 100644 --- a/mysql-test/t/mysqlbinlog.test +++ b/mysql-test/t/mysqlbinlog.test @@ -216,4 +216,25 @@ flush logs; DROP TABLE t1; --exec $MYSQL_BINLOG --hexdump --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000011 | grep 'Query' | sed 's/[0-9]\{1,\}/REMOVED/g' +# +# Bug #29928: incorrect connection_id() restoring from mysqlbinlog out +# +flush logs; +create table t1(a int); +insert into t1 values(connection_id()); +let $a= `select a from t1`; +flush logs; +--exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000013 > $MYSQLTEST_VARDIR/tmp/bug29928.sql +drop table t1; +connect (con1, localhost, root, , test); +connection con1; +--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug29928.sql +--remove_file $MYSQLTEST_VARDIR/tmp/bug29928.sql +let $b= `select a from t1`; +disconnect con1; +connection default; +let $c= `select $a=$b`; +--echo $c +drop table t1; + --echo End of 5.0 tests diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test index a58d81a414b..4d470ee4233 100644 --- a/mysql-test/t/show_check.test +++ b/mysql-test/t/show_check.test @@ -559,6 +559,10 @@ show status like 'slow_queries'; # FROM I_S. # +# +# Part 1: check that meta-data specifies not-binary character set. +# + # Ensure that all needed objects are dropped. --disable_warnings @@ -766,6 +770,59 @@ DROP VIEW v1; DROP PROCEDURE p1; DROP FUNCTION f1; +# +# Part 2: check that table with non-latin1 characters are dumped/restored +# correctly. +# + +# Ensure that all needed objects are dropped. + +set names koi8r; + +--disable_warnings +DROP DATABASE IF EXISTS mysqltest1; +--enable_warnings + +# Create objects. + +CREATE DATABASE mysqltest1; + +use mysqltest1; + +CREATE TABLE t1(колонка1 INT); + +# Check: +# - Dump mysqltest1; + +--echo +--echo ---> Dumping mysqltest1 to show_check.mysqltest1.sql + +--exec $MYSQL_DUMP --default-character-set=latin1 --character-sets-dir=$CHARSETSDIR --databases mysqltest1 > $MYSQLTEST_VARDIR/tmp/show_check.mysqltest1.sql + +# - Clean mysqltest1; + +--echo +--echo + +DROP DATABASE mysqltest1; + +# - Restore mysqltest1; + +--echo +--echo + +--echo ---> Restoring mysqltest1... +--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/show_check.mysqltest1.sql + +# - Check definition of the table. + +SHOW CREATE TABLE mysqltest1.t1; + +# Cleanup. + +DROP DATABASE mysqltest1; +use test; + # # Bug #28808: log_queries_not_using_indexes variable dynamic change is ignored # diff --git a/mysql-test/t/sp-prelocking.test b/mysql-test/t/sp-prelocking.test index 60e97260839..966c59a5789 100644 --- a/mysql-test/t/sp-prelocking.test +++ b/mysql-test/t/sp-prelocking.test @@ -356,4 +356,35 @@ create table t1 select f_bug22427() as i; drop table t1; drop function f_bug22427; +--echo # +--echo # Bug #29929 LOCK TABLES does not pre-lock tables used in triggers of the locked tables +--echo # +--disable_warnings +DROP table IF EXISTS t1,t2; +--enable_warnings +CREATE TABLE t1 (c1 INT); +CREATE TABLE t2 (c2 INT); +INSERT INTO t1 VALUES (1); +INSERT INTO t2 VALUES (2); +DELIMITER //; +CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW +BEGIN +UPDATE t2 SET c2= c2 + 1; +END// +DELIMITER ;// +--echo # Take a table lock on t1. +--echo # This should pre-lock t2 through the trigger. +LOCK TABLE t1 WRITE; +INSERT INTO t1 VALUES (3); +UNLOCK TABLES; +LOCK TABLE t1 READ; +--error ER_TABLE_NOT_LOCKED +INSERT INTO t2 values(4); +UNLOCK TABLES; +SELECT * FROM t1; +SELECT * FROM t2; +DROP TRIGGER t1_ai; +DROP TABLE t1, t2; + --echo End of 5.0 tests + diff --git a/mysql-test/t/ssl_8k_key.test b/mysql-test/t/ssl_8k_key.test new file mode 100644 index 00000000000..b4203e68445 --- /dev/null +++ b/mysql-test/t/ssl_8k_key.test @@ -0,0 +1,6 @@ +-- source include/have_ssl.inc +# +# Bug#29784 YaSSL assertion failure when reading 8k key. +# +--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + diff --git a/ndb/src/common/util/File.cpp b/ndb/src/common/util/File.cpp index a75fa5ae463..fe0fdfd1c91 100644 --- a/ndb/src/common/util/File.cpp +++ b/ndb/src/common/util/File.cpp @@ -50,7 +50,7 @@ File_class::size(FILE* f) MY_STAT s; // Note that my_fstat behaves *differently* than my_stat. ARGGGHH! - if(my_fstat(::fileno(f), &s, MYF(0))) + if(my_fstat(fileno(f), &s, MYF(0))) return 0; return s.st_size; @@ -196,7 +196,7 @@ File_class::flush() const { #if defined NDB_OSE || defined NDB_SOFTOSE ::fflush(m_file); - return ::fsync(::fileno(m_file)); + return ::fsync(fileno(m_file)); #else return ::fflush(m_file);; #endif diff --git a/ndb/src/mgmclient/Makefile.am b/ndb/src/mgmclient/Makefile.am index 99540160341..e1287532a07 100644 --- a/ndb/src/mgmclient/Makefile.am +++ b/ndb/src/mgmclient/Makefile.am @@ -36,6 +36,7 @@ INCLUDES += -I$(top_srcdir)/ndb/include/mgmapi \ LDADD_LOC = $(noinst_LTLIBRARIES) \ ../common/portlib/libportlib.la \ @readline_link@ \ + $(top_builddir)/ndb/src/libndbclient.la \ $(top_builddir)/dbug/libdbug.a \ $(top_builddir)/mysys/libmysys.a \ $(top_builddir)/strings/libmystrings.a \ diff --git a/ndb/src/mgmsrv/Makefile.am b/ndb/src/mgmsrv/Makefile.am index 88622c08e53..3d1845957e6 100644 --- a/ndb/src/mgmsrv/Makefile.am +++ b/ndb/src/mgmsrv/Makefile.am @@ -38,7 +38,7 @@ INCLUDES_LOC = -I$(top_srcdir)/ndb/src/ndbapi \ -I$(top_srcdir)/ndb/src/common/mgmcommon \ -I$(top_srcdir)/ndb/src/mgmclient -LDADD_LOC = $(top_builddir)/ndb/src/mgmclient/CommandInterpreter.o \ +LDADD_LOC = $(top_builddir)/ndb/src/mgmclient/CommandInterpreter.lo \ $(top_builddir)/ndb/src/libndbclient.la \ $(top_builddir)/dbug/libdbug.a \ $(top_builddir)/mysys/libmysys.a \ diff --git a/ndb/test/ndbapi/benchronja.cpp b/ndb/test/ndbapi/benchronja.cpp index 4973e6e2487..73ee324a888 100644 --- a/ndb/test/ndbapi/benchronja.cpp +++ b/ndb/test/ndbapi/benchronja.cpp @@ -41,7 +41,14 @@ #define MAXSTRLEN 16 #define MAXATTR 64 #define MAXTABLES 64 -#define MAXTHREADS 256 +#define NDB_MAXTHREADS 256 +/* + NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a + #define from on AIX (IBM compiler). We explicitly + #undef it here lest someone use it by habit and get really funny + results. K&R says we may #undef non-existent symbols, so let's go. +*/ +#undef MAXTHREADS #define MAXATTRSIZE 8000 #define START_TIMER NdbTimer timer; timer.doStart(); #define STOP_TIMER timer.doStop(); @@ -56,18 +63,18 @@ struct ThreadNdb Ndb* NdbRef; }; -static NdbThread* threadLife[MAXTHREADS]; +static NdbThread* threadLife[NDB_MAXTHREADS]; static unsigned int tNoOfThreads; static unsigned int tNoOfOpsPerExecute; static unsigned int tNoOfRecords; static unsigned int tNoOfOperations; -static int ThreadReady[MAXTHREADS]; -static int ThreadStart[MAXTHREADS]; +static int ThreadReady[NDB_MAXTHREADS]; +static int ThreadStart[NDB_MAXTHREADS]; NDB_COMMAND(benchronja, "benchronja", "benchronja", "benchronja", 65535){ ndb_init(); - ThreadNdb tabThread[MAXTHREADS]; + ThreadNdb tabThread[NDB_MAXTHREADS]; int i = 0 ; int cont = 0 ; Ndb* pMyNdb = NULL ; //( "TEST_DB" ); @@ -84,7 +91,7 @@ NDB_COMMAND(benchronja, "benchronja", "benchronja", "benchronja", 65535){ { if (strcmp(argv[i], "-t") == 0){ tNoOfThreads = atoi(argv[i+1]); - if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)) goto error_input; + if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)) goto error_input; }else if (strcmp(argv[i], "-o") == 0){ tNoOfOperations = atoi(argv[i+1]); if (tNoOfOperations < 1) goto error_input; diff --git a/ndb/test/ndbapi/flexAsynch.cpp b/ndb/test/ndbapi/flexAsynch.cpp index 20a157fc2f3..1f52315482f 100644 --- a/ndb/test/ndbapi/flexAsynch.cpp +++ b/ndb/test/ndbapi/flexAsynch.cpp @@ -35,7 +35,14 @@ #define MAXSTRLEN 16 #define MAXATTR 64 #define MAXTABLES 64 -#define MAXTHREADS 128 +#define NDB_MAXTHREADS 128 +/* + NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a + #define from on AIX (IBM compiler). We explicitly + #undef it here lest someone use it by habit and get really funny + results. K&R says we may #undef non-existent symbols, so let's go. +*/ +#undef MAXTHREADS #define MAXPAR 1024 #define MAXATTRSIZE 1000 #define PKSIZE 2 @@ -76,10 +83,10 @@ struct ThreadNdb int ThreadNo; }; -static NdbThread* threadLife[MAXTHREADS]; +static NdbThread* threadLife[NDB_MAXTHREADS]; static int tNodeId; -static int ThreadReady[MAXTHREADS]; -static StartType ThreadStart[MAXTHREADS]; +static int ThreadReady[NDB_MAXTHREADS]; +static StartType ThreadStart[NDB_MAXTHREADS]; static char tableName[MAXTABLES][MAXSTRLEN+1]; static char attrName[MAXATTR][MAXSTRLEN+1]; @@ -160,7 +167,7 @@ NDB_COMMAND(flexAsynch, "flexAsynch", "flexAsynch", "flexAsynch", 65535) return NDBT_ProgramExit(NDBT_WRONGARGS); } - pThreadData = new ThreadNdb[MAXTHREADS]; + pThreadData = new ThreadNdb[NDB_MAXTHREADS]; ndbout << endl << "FLEXASYNCH - Starting normal mode" << endl; ndbout << "Perform benchmark of insert, update and delete transactions"; @@ -844,7 +851,7 @@ readArguments(int argc, const char** argv){ while (argc > 1){ if (strcmp(argv[i], "-t") == 0){ tNoOfThreads = atoi(argv[i+1]); - if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)){ + if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)){ ndbout_c("Invalid no of threads"); return -1; } diff --git a/ndb/test/ndbapi/flexHammer.cpp b/ndb/test/ndbapi/flexHammer.cpp index 9abac905f5a..3847bc38b35 100644 --- a/ndb/test/ndbapi/flexHammer.cpp +++ b/ndb/test/ndbapi/flexHammer.cpp @@ -69,7 +69,14 @@ ErrorData * flexHammerErrorData; #define MAXSTRLEN 16 #define MAXATTR 64 #define MAXTABLES 64 -#define MAXTHREADS 256 +#define NDB_MAXTHREADS 256 +/* + NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a + #define from on AIX (IBM compiler). We explicitly + #undef it here lest someone use it by habit and get really funny + results. K&R says we may #undef non-existent symbols, so let's go. +*/ +#undef MAXTHREADS #define MAXATTRSIZE 100 // Max number of retries if something fails #define MaxNoOfAttemptsC 10 @@ -122,8 +129,8 @@ static int tAttributeSize; static int tNoOfOperations; static int tNoOfRecords; static int tNoOfLoops; -static ReadyType ThreadReady[MAXTHREADS]; -static StartType ThreadStart[MAXTHREADS]; +static ReadyType ThreadReady[NDB_MAXTHREADS]; +static StartType ThreadStart[NDB_MAXTHREADS]; static char tableName[MAXTABLES][MAXSTRLEN]; static char attrName[MAXATTR][MAXSTRLEN]; static int theSimpleFlag = 0; @@ -643,7 +650,7 @@ readArguments (int argc, const char** argv) while (argc > 1) { if (strcmp(argv[i], "-t") == 0) { tNoOfThreads = atoi(argv[i+1]); - if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)) + if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)) return(1); } else if (strcmp(argv[i], "-o") == 0) { diff --git a/ndb/test/ndbapi/flexScan.cpp b/ndb/test/ndbapi/flexScan.cpp index cbea90f44f4..4e3def7fb91 100644 --- a/ndb/test/ndbapi/flexScan.cpp +++ b/ndb/test/ndbapi/flexScan.cpp @@ -68,7 +68,14 @@ #define MAXSTRLEN 16 #define MAXATTR 64 #define MAXTABLES 64 -#define MAXTHREADS 256 +#define NDB_MAXTHREADS 256 +/* + NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a + #define from on AIX (IBM compiler). We explicitly + #undef it here lest someone use it by habit and get really funny + results. K&R says we may #undef non-existent symbols, so let's go. +*/ +#undef MAXTHREADS #define MAXATTRSIZE 64 enum StartType { @@ -860,7 +867,7 @@ static int readArguments(int argc, const char** argv) if (strcmp(argv[i], "-t") == 0) { if (argv[i + 1] != NULL) { tNoOfThreads = atoi(argv[i + 1]); - if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)) { + if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)) { retValue = -1; } // if } // if diff --git a/ndb/test/ndbapi/flexTT.cpp b/ndb/test/ndbapi/flexTT.cpp index 71d5b6c096e..4373102f77e 100644 --- a/ndb/test/ndbapi/flexTT.cpp +++ b/ndb/test/ndbapi/flexTT.cpp @@ -35,7 +35,14 @@ #define MAXSTRLEN 16 #define MAXATTR 64 #define MAXTABLES 64 -#define MAXTHREADS 128 +#define NDB_MAXTHREADS 128 +/* + NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a + #define from on AIX (IBM compiler). We explicitly + #undef it here lest someone use it by habit and get really funny + results. K&R says we may #undef non-existent symbols, so let's go. +*/ +#undef MAXTHREADS #define MAXPAR 1024 #define MAXATTRSIZE 1000 #define PKSIZE 1 @@ -101,10 +108,10 @@ static void input_error(); ErrorData * flexTTErrorData; -static NdbThread* threadLife[MAXTHREADS]; +static NdbThread* threadLife[NDB_MAXTHREADS]; static int tNodeId; -static int ThreadReady[MAXTHREADS]; -static StartType ThreadStart[MAXTHREADS]; +static int ThreadReady[NDB_MAXTHREADS]; +static StartType ThreadStart[NDB_MAXTHREADS]; static char tableName[1][MAXSTRLEN+1]; static char attrName[5][MAXSTRLEN+1]; @@ -184,7 +191,7 @@ NDB_COMMAND(flexTT, "flexTT", "flexTT", "flexTT", 65535) return NDBT_ProgramExit(NDBT_WRONGARGS); } - pThreadData = new ThreadNdb[MAXTHREADS]; + pThreadData = new ThreadNdb[NDB_MAXTHREADS]; ndbout << endl << "FLEXTT - Starting normal mode" << endl; ndbout << "Perform TimesTen benchmark" << endl; @@ -798,7 +805,7 @@ readArguments(int argc, const char** argv){ while (argc > 1){ if (strcmp(argv[i], "-t") == 0){ tNoOfThreads = atoi(argv[i+1]); - if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)){ + if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)){ ndbout_c("Invalid no of threads"); return -1; } diff --git a/ndb/test/ndbapi/flexTimedAsynch.cpp b/ndb/test/ndbapi/flexTimedAsynch.cpp index cc44ab8b237..b6301e59df2 100644 --- a/ndb/test/ndbapi/flexTimedAsynch.cpp +++ b/ndb/test/ndbapi/flexTimedAsynch.cpp @@ -57,7 +57,14 @@ #define MAXSTRLEN 16 #define MAXATTR 64 #define MAXTABLES 64 -#define MAXTHREADS 256 +#define NDB_MAXTHREADS 256 +/* + NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a + #define from on AIX (IBM compiler). We explicitly + #undef it here lest someone use it by habit and get really funny + results. K&R says we may #undef non-existent symbols, so let's go. +*/ +#undef MAXTHREADS #define MAXATTRSIZE 1000 #define PKSIZE 1 @@ -95,10 +102,10 @@ static int failed = 0 ; // lame global variable that keeps track of failed trans // incremented in executeCallback() and reset in main() /************************************************************* < epaulsa */ -static NdbThread* threadLife[MAXTHREADS]; +static NdbThread* threadLife[NDB_MAXTHREADS]; static int tNodeId; -static int ThreadReady[MAXTHREADS]; -static StartType ThreadStart[MAXTHREADS]; +static int ThreadReady[NDB_MAXTHREADS]; +static StartType ThreadStart[NDB_MAXTHREADS]; static char tableName[MAXTABLES][MAXSTRLEN+1]; static char attrName[MAXATTR][MAXSTRLEN+1]; static int *getAttrValueTable; @@ -174,7 +181,7 @@ void deleteAttributeSpace(){ NDB_COMMAND(flexTimedAsynch, "flexTimedAsynch", "flexTimedAsynch [-tpoilcas]", "flexTimedAsynch", 65535) { ndb_init(); - ThreadNdb tabThread[MAXTHREADS]; + ThreadNdb tabThread[NDB_MAXTHREADS]; int tLoops=0; int returnValue; //NdbOut flexTimedAsynchNdbOut; @@ -615,8 +622,8 @@ void readArguments(int argc, const char** argv) if (strcmp(argv[i], "-t") == 0) { tNoOfThreads = atoi(argv[i+1]); - // if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)) - if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)) + // if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)) + if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)) exit(-1); } else if (strcmp(argv[i], "-i") == 0) @@ -628,7 +635,7 @@ void readArguments(int argc, const char** argv) else if (strcmp(argv[i], "-p") == 0) { tNoOfTransInBatch = atoi(argv[i+1]); - //if ((tNoOfTransInBatch < 1) || (tNoOfTransInBatch > MAXTHREADS)) + //if ((tNoOfTransInBatch < 1) || (tNoOfTransInBatch > NDB_MAXTHREADS)) if ((tNoOfTransInBatch < 1) || (tNoOfTransInBatch > 10000)) exit(-1); } diff --git a/ndb/test/ndbapi/initronja.cpp b/ndb/test/ndbapi/initronja.cpp index 63bbc374c62..f48b1c86da3 100644 --- a/ndb/test/ndbapi/initronja.cpp +++ b/ndb/test/ndbapi/initronja.cpp @@ -29,7 +29,14 @@ #define MAXSTRLEN 16 #define MAXATTR 64 #define MAXTABLES 64 -#define MAXTHREADS 256 +#define NDB_MAXTHREADS 256 +/* + NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a + #define from on AIX (IBM compiler). We explicitly + #undef it here lest someone use it by habit and get really funny + results. K&R says we may #undef non-existent symbols, so let's go. +*/ +#undef MAXTHREADS #define MAXATTRSIZE 8000 static unsigned int tNoOfRecords; diff --git a/ndb/test/ndbapi/testOperations.cpp b/ndb/test/ndbapi/testOperations.cpp index 1f610cade4a..21151ab5c7f 100644 --- a/ndb/test/ndbapi/testOperations.cpp +++ b/ndb/test/ndbapi/testOperations.cpp @@ -97,11 +97,6 @@ OperationTestCase matrix[] = { result = NDBT_FAILED; \ break; } -#define C3(b) if (!(b)) { \ - g_err << "ERR: "<< step->getName() \ - << " failed on line " << __LINE__ << endl; \ - abort(); return NDBT_FAILED; } - #define C3(b) if (!(b)) { \ g_err << "ERR: failed on line " << __LINE__ << endl; \ return NDBT_FAILED; } diff --git a/ndb/test/ndbapi/testScanFilter.cpp b/ndb/test/ndbapi/testScanFilter.cpp index 5098d83745b..81aa6b82fa0 100644 --- a/ndb/test/ndbapi/testScanFilter.cpp +++ b/ndb/test/ndbapi/testScanFilter.cpp @@ -49,7 +49,15 @@ const char COL_LEN = 7; * there are six columns, 'i', 'j', 'k', 'l', 'm', 'n', and each on is equal to 1 or 1, * Since each tuple should be unique in this case, then TUPLE_NUM = 2 power 6 = 64 */ -const int TUPLE_NUM = (int)pow(2, COL_LEN-1); +#ifdef _AIX +/* + IBM xlC_r breaks on the initialization with pow(): + "The expression must be an integral constant expression." +*/ +const int TUPLE_NUM = 64; +#else +const int TUPLE_NUM = (int)pow(2, COL_LEN-1); +#endif /* * the recursive level of random scan filter, can @@ -479,7 +487,7 @@ int get_column_id(char ch) */ bool check_col_equal_one(int tuple_no, int col_id) { - int i = (int)pow(2, 6 - col_id); + int i = (int)pow((double)2, (double)(6 - col_id)); int j = tuple_no / i; if(j % 2) return true; diff --git a/ndb/test/odbc/SQL99_test/SQL99_test.cpp b/ndb/test/odbc/SQL99_test/SQL99_test.cpp index 039a77f4d53..fb77220773d 100644 --- a/ndb/test/odbc/SQL99_test/SQL99_test.cpp +++ b/ndb/test/odbc/SQL99_test/SQL99_test.cpp @@ -27,7 +27,14 @@ using namespace std; // #define MAXROW 64 #define DEFROW 8 -#define MAXTHREADS 24 +/* + NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a + #define from on AIX (IBM compiler). We explicitly + #undef it here lest someone use it by habit and get really funny + results. K&R says we may #undef non-existent symbols, so let's go. +*/ +#undef MAXTHREADS +#define NDB_MAXTHREADS 24 #define DEFTHREADS 2 #define MAXTABLES 16 @@ -83,7 +90,7 @@ int main(int argc, char* argv[]){ char* szTableNames = (char*)malloc(sizeof(char)*nNoOfTables*MAX_TABLE_NAME) ; memset(szTableNames, 0, sizeof(char)*nNoOfTables*MAX_TABLE_NAME) ; - UintPtr pThreadHandles[MAXTHREADS] = { NULL } ; + UintPtr pThreadHandles[NDB_MAXTHREADS] = { NULL } ; AssignTableNames(szTableNames, nNoOfTables) ; @@ -313,7 +320,7 @@ void ParseArguments(int argc, const char** argv){ if (strcmp(argv[i], "-t") == 0) { nNoOfThreads = atoi(argv[i+1]); - if ((nNoOfThreads < 1) || (nNoOfThreads > MAXTHREADS)) + if ((nNoOfThreads < 1) || (nNoOfThreads > NDB_MAXTHREADS)) nNoOfThreads = DEFTHREADS ; } else if (strcmp(argv[i], "-c") == 0) diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 9584721682f..a87bb03526d 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -257,7 +257,7 @@ if [ $BASE_SYSTEM = "netware" ] ; then rm -f $BASE/lib/*.la fi -copyfileto $BASE/include config.h include/* +copyfileto $BASE/include include/* rm -f $BASE/include/Makefile* $BASE/include/*.in $BASE/include/config-win.h if [ $BASE_SYSTEM != "netware" ] ; then @@ -318,7 +318,7 @@ if [ $BASE_SYSTEM != "netware" ] ; then copyfileto $BASE/bin scripts/* $BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ \ ./bin \@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ \ - @HOSTNAME@ \@pkgdatadir\@ ./support-files \ + @HOSTNAME@ \@pkgdatadir\@ ./share \ < scripts/mysql_install_db.sh > $BASE/scripts/mysql_install_db $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \ \@sbindir\@ ./bin \@libexecdir\@ ./bin \ diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index 934d245db15..a66129af1d3 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -18,26 +18,68 @@ # # All unrecognized arguments to this script are passed to mysqld. -in_rpm=0 -windows=0 +basedir="" +ldata="" +srcdir="" + +args="" defaults="" +mysqld_opt="" user="" -case "$1" in - --no-defaults|--defaults-file=*|--defaults-extra-file=*) - defaults="$1"; shift - ;; -esac +force=0 +in_rpm=0 +ip_only=0 +windows=0 + +usage() +{ + cat <&1` if [ $? -ne 0 ] @@ -244,39 +305,35 @@ then fi fi -if test "$ip_only" = "1" +if test "$ip_only" -eq 1 then - ip=`echo "$resolved" | awk '/ /{print $6}'` - hostname=$ip + hostname=`echo "$resolved" | awk '/ /{print $6}'` fi # Create database directories mysql & test -if test ! -d $ldata; then - mkdir $ldata; - chmod 700 $ldata ; -fi -if test ! -d $ldata/mysql; then - mkdir $ldata/mysql; - chmod 700 $ldata/mysql ; -fi -if test ! -d $ldata/test; then - mkdir $ldata/test; - chmod 700 $ldata/test ; -fi -if test -w / -a ! -z "$user"; then - chown $user $ldata $ldata/mysql $ldata/test; -fi +for dir in $ldata $ldata/mysql $ldata/test +do + if test ! -d $dir + then + mkdir -p $dir + chmod 700 $dir + fi + if test -w / -a ! -z "$user" + then + chown $user $dir + fi +done -if test -n "$user"; then +if test -n "$user" +then args="$args --user=$user" fi # Peform the install of system tables mysqld_bootstrap="${MYSQLD_BOOTSTRAP-$mysqld}" mysqld_install_cmd_line="$mysqld_bootstrap $defaults $mysqld_opt --bootstrap \ ---basedir=$basedir --datadir=$ldata --skip-innodb \ ---skip-bdb --skip-ndbcluster $args --max_allowed_packet=8M \ ---net_buffer_length=16K" + --basedir=$basedir --datadir=$ldata --skip-innodb --skip-bdb \ + --skip-ndbcluster $args --max_allowed_packet=8M --net_buffer_length=16K" # Pipe mysql_system_tables.sql to "mysqld --bootstrap" s_echo "Installing MySQL system tables..." @@ -284,23 +341,20 @@ if `(echo "use mysql;"; cat $create_system_tables $fill_system_tables) | $mysqld then s_echo "OK" - if test -n "$fill_help_tables" + s_echo "Filling help tables..." + # Pipe fill_help_tables.sql to "mysqld --bootstrap" + if `(echo "use mysql;"; cat $fill_help_tables) | $mysqld_install_cmd_line` then - s_echo "Filling help tables..." - # Pipe fill_help_tables.sql to "mysqld --bootstrap" - if `(echo "use mysql;"; cat $fill_help_tables) | $mysqld_install_cmd_line` - then - # Fill suceeded - s_echo "OK" - else - echo "" - echo "WARNING: HELP FILES ARE NOT COMPLETELY INSTALLED!" - echo "The \"HELP\" command might not work properly" - echo "" - fi + # Fill suceeded + s_echo "OK" + else + echo + echo "WARNING: HELP FILES ARE NOT COMPLETELY INSTALLED!" + echo "The \"HELP\" command might not work properly" + echo fi - s_echo "" + s_echo s_echo "To start mysqld at boot time you have to copy" s_echo "support-files/mysql.server to the right place for your system" s_echo @@ -319,7 +373,7 @@ then echo "$bindir/mysqladmin -u root -h $hostname password 'new-password'" echo "See the manual for more instructions." - if test "$in_rpm" = "0" + if test "$in_rpm" -eq 0 then echo "You can start the MySQL daemon with:" echo "cd @prefix@ ; $bindir/mysqld_safe &" diff --git a/scripts/mysql_setpermission.sh b/scripts/mysql_setpermission.sh index 9699cd28047..1f5509f9955 100644 --- a/scripts/mysql_setpermission.sh +++ b/scripts/mysql_setpermission.sh @@ -19,13 +19,14 @@ ## 1.3 Applied patch provided by Martin Mokrejs ## (General code cleanup, use the GRANT statement instead of updating ## the privilege tables directly, added option to revoke privileges) +## 1.4 Remove option 6 which attempted to erroneously grant global privileges #### TODO # # empty ... suggestions ... mail them to me ... -$version="1.3"; +$version="1.4"; use DBI; use Getopt::Long; @@ -103,13 +104,9 @@ sub q1 { # first question ... print " existing database and host combination (user can do\n"; print " SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,\n"; print " LOCK TABLES,CREATE TEMPORARY TABLES)\n"; - print " 6. Create/append database administrative privileges for an\n"; - print " existing database and host combination (user can do\n"; - print " SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,\n"; - print " CREATE TEMPORARY TABLES,SHOW DATABASES,PROCESS)\n"; - print " 7. Create/append full privileges for an existing database\n"; + print " 6. Create/append full privileges for an existing database\n"; print " and host combination (user has FULL privilege)\n"; - print " 8. Remove all privileges for for an existing database and\n"; + print " 7. Remove all privileges for for an existing database and\n"; print " host combination.\n"; print " (user will have all permission fields set to N)\n"; print " 0. exit this program\n"; @@ -117,10 +114,10 @@ sub q1 { # first question ... while () { $answer = $_; chomp($answer); - if ($answer =~ /^[12345678]$/) { + if ($answer =~ /^[1234567]$/) { if ($answer == 1) { setpwd(); - } elsif ($answer =~ /^[2345678]$/) { + } elsif ($answer =~ /^[234567]$/) { addall($answer); } else { print "Sorry, something went wrong. With such option number you should not get here.\n\n"; @@ -233,7 +230,7 @@ sub addall { } } - if ( ( !$todo ) or not ( $todo =~ m/^[2-8]$/ ) ) { + if ( ( !$todo ) or not ( $todo =~ m/^[2-7]$/ ) ) { print STDERR "Sorry, select option $todo isn't known inside the program .. See ya\n"; quit(); } @@ -256,12 +253,9 @@ sub addall { # user privileges: SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES $sth = $dbh->do("GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES ON $db.* TO $user@\"$host\" IDENTIFIED BY \'$pass\'") || die $dbh->errstr; } elsif ($todo == 6) { - # admin privileges: GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES,SHOW DATABASES,PROCESS - $sth = $dbh->do("GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES,SHOW DATABASES,PROCESS ON $db.* TO $user@\"$host\" IDENTIFIED BY \'$pass\'") || die $dbh->errstr; - } elsif ($todo == 7) { # all privileges $sth = $dbh->do("GRANT ALL ON $db.* TO \'$user\'\@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; - } elsif ($todo == 8) { + } elsif ($todo == 7) { # all privileges set to N $sth = $dbh->do("REVOKE ALL ON *.* FROM \'$user\'\@\'$host\'") || die $dbh->errstr; } diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index 0cbeb97184f..b0553f622f8 100755 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -138,6 +138,10 @@ ADD_CUSTOM_COMMAND( ) ADD_DEPENDENCIES(mysqld${MYSQLD_EXE_SUFFIX} gen_lex_hash) +# Remove the auto-generated files as part of 'Clean Solution' +SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES + "lex_hash.h;message.rc;message.h;sql_yacc.h;sql_yacc.cc") + ADD_LIBRARY(udf_example MODULE udf_example.c udf_example.def) ADD_DEPENDENCIES(udf_example strings) TARGET_LINK_LIBRARIES(udf_example wsock32) diff --git a/sql/ha_federated.h b/sql/ha_federated.h index ef7072f8c70..dc4f976c578 100644 --- a/sql/ha_federated.h +++ b/sql/ha_federated.h @@ -37,6 +37,7 @@ #define FEDERATED_QUERY_BUFFER_SIZE STRING_BUFFER_USUAL_SIZE * 5 #define FEDERATED_RECORDS_IN_RANGE 2 +#define FEDERATED_MAX_KEY_LENGTH 3500 // Same as innodb #define FEDERATED_INFO " SHOW TABLE STATUS LIKE " #define FEDERATED_INFO_LEN sizeof(FEDERATED_INFO) #define FEDERATED_SELECT "SELECT " @@ -230,7 +231,8 @@ public: uint max_supported_record_length() const { return HA_MAX_REC_LENGTH; } uint max_supported_keys() const { return MAX_KEY; } uint max_supported_key_parts() const { return MAX_REF_PARTS; } - uint max_supported_key_length() const { return MAX_KEY_LENGTH; } + uint max_supported_key_length() const { return FEDERATED_MAX_KEY_LENGTH; } + uint max_supported_key_part_length() const { return FEDERATED_MAX_KEY_LENGTH; } /* Called in test_quick_select to determine if indexes should be used. Normally, we need to know number of blocks . For federated we need to diff --git a/sql/handler.h b/sql/handler.h index c44d7c7f846..74c09d2d9ee 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -537,6 +537,29 @@ class handler :public Sql_alloc */ virtual int rnd_init(bool scan) =0; virtual int rnd_end() { return 0; } + /** + Is not invoked for non-transactional temporary tables. + + Tells the storage engine that we intend to read or write data + from the table. This call is prefixed with a call to handler::store_lock() + and is invoked only for those handler instances that stored the lock. + + Calls to rnd_init/index_init are prefixed with this call. When table + IO is complete, we call external_lock(F_UNLCK). + A storage engine writer should expect that each call to + ::external_lock(F_[RD|WR]LOCK is followed by a call to + ::external_lock(F_UNLCK). If it is not, it is a bug in MySQL. + + The name and signature originate from the first implementation + in MyISAM, which would call fcntl to set/clear an advisory + lock on the data file in this method. + + @param lock_type F_RDLCK, F_WRLCK, F_UNLCK + + @return non-0 in case of failure, 0 in case of success. + When lock_type is F_UNLCK, the return value is ignored. + */ + virtual int external_lock(THD *thd, int lock_type) { return 0; } public: const handlerton *ht; /* storage engine of this handler */ @@ -577,6 +600,7 @@ public: uint raid_type,raid_chunks; FT_INFO *ft_handler; enum {NONE=0, INDEX, RND} inited; + bool locked; bool auto_increment_column_changed; bool implicit_emptied; /* Can be !=0 only if HEAP */ const COND *pushed_cond; @@ -589,10 +613,11 @@ public: create_time(0), check_time(0), update_time(0), key_used_on_scan(MAX_KEY), active_index(MAX_KEY), ref_length(sizeof(my_off_t)), block_size(0), - raid_type(0), ft_handler(0), inited(NONE), implicit_emptied(0), + raid_type(0), ft_handler(0), inited(NONE), + locked(FALSE), implicit_emptied(0), pushed_cond(NULL) {} - virtual ~handler(void) { /* TODO: DBUG_ASSERT(inited == NONE); */ } + virtual ~handler(void) { DBUG_ASSERT(locked == FALSE); /* TODO: DBUG_ASSERT(inited == NONE); */ } virtual handler *clone(MEM_ROOT *mem_root); int ha_open(const char *name, int mode, int test_if_locked); void adjust_next_insert_id_after_explicit_value(ulonglong nr); @@ -626,6 +651,12 @@ public: virtual const char *index_type(uint key_number) { DBUG_ASSERT(0); return "";} + int ha_external_lock(THD *thd, int lock_type) + { + DBUG_ENTER("ha_external_lock"); + locked= lock_type != F_UNLCK; + DBUG_RETURN(external_lock(thd, lock_type)); + } int ha_index_init(uint idx) { DBUG_ENTER("ha_index_init"); @@ -718,7 +749,6 @@ public: virtual int extra_opt(enum ha_extra_function operation, ulong cache_size) { return extra(operation); } virtual int reset() { return extra(HA_EXTRA_RESET); } - virtual int external_lock(THD *thd, int lock_type) { return 0; } virtual void unlock_row() {} virtual int start_stmt(THD *thd, thr_lock_type lock_type) {return 0;} /* @@ -866,6 +896,9 @@ public: /* lock_count() can be more than one if the table is a MERGE */ virtual uint lock_count(void) const { return 1; } + /** + Is not invoked for non-transactional temporary tables. + */ virtual THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to, enum thr_lock_type lock_type)=0; diff --git a/sql/item_create.cc b/sql/item_create.cc index 50db1c37371..3713fc9e380 100644 --- a/sql/item_create.cc +++ b/sql/item_create.cc @@ -70,7 +70,9 @@ Item *create_func_ceiling(Item* a) Item *create_func_connection_id(void) { - current_thd->lex->safe_to_cache_query= 0; + THD *thd= current_thd; + thd->lex->safe_to_cache_query= 0; + thd->thread_specific_used= TRUE; return new Item_func_connection_id(); } diff --git a/sql/item_func.cc b/sql/item_func.cc index e05f0a45083..4b32281b457 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -649,16 +649,7 @@ bool Item_func_connection_id::fix_fields(THD *thd, Item **ref) { if (Item_int_func::fix_fields(thd, ref)) return TRUE; - - /* - To replicate CONNECTION_ID() properly we should use - pseudo_thread_id on slave, which contains the value of thread_id - on master. - */ - value= ((thd->slave_thread) ? - thd->variables.pseudo_thread_id : - thd->thread_id); - + value= thd->variables.pseudo_thread_id; return FALSE; } diff --git a/sql/lock.cc b/sql/lock.cc index 93358e56701..f730ac56d35 100644 --- a/sql/lock.cc +++ b/sql/lock.cc @@ -151,7 +151,8 @@ MYSQL_LOCK *mysql_lock_tables(THD *thd, TABLE **tables, uint count, } thd->proc_info="System lock"; - if (lock_external(thd, tables, count)) + if (sql_lock->table_count && lock_external(thd, sql_lock->table, + sql_lock->table_count)) { /* Clear the lock type of all lock data to avoid reusage. */ reset_lock_data(sql_lock); @@ -246,12 +247,12 @@ static int lock_external(THD *thd, TABLE **tables, uint count) (*tables)->reginfo.lock_type <= TL_READ_NO_INSERT)) lock_type=F_RDLCK; - if ((error=(*tables)->file->external_lock(thd,lock_type))) + if ((error= (*tables)->file->ha_external_lock(thd,lock_type))) { print_lock_error(error, (*tables)->file->table_type()); for (; i-- ; tables--) { - (*tables)->file->external_lock(thd, F_UNLCK); + (*tables)->file->ha_external_lock(thd, F_UNLCK); (*tables)->current_lock=F_UNLCK; } DBUG_RETURN(error); @@ -353,10 +354,28 @@ void mysql_unlock_read_tables(THD *thd, MYSQL_LOCK *sql_lock) } +/** + Try to find the table in the list of locked tables. + In case of success, unlock the table and remove it from this list. -void mysql_lock_remove(THD *thd, MYSQL_LOCK *locked,TABLE *table) + @note This function has a legacy side effect: the table is + unlocked even if it is not found in the locked list. + It's not clear if this side effect is intentional or still + desirable. It might lead to unmatched calls to + unlock_external(). Moreover, a discrepancy can be left + unnoticed by the storage engine, because in + unlock_external() we call handler::external_lock(F_UNLCK) only + if table->current_lock is not F_UNLCK. + + @param always_unlock specify explicitly if the legacy side + effect is desired. +*/ + +void mysql_lock_remove(THD *thd, MYSQL_LOCK *locked,TABLE *table, + bool always_unlock) { - mysql_unlock_some_tables(thd, &table,1); + if (always_unlock == TRUE) + mysql_unlock_some_tables(thd, &table, /* table count */ 1); if (locked) { reg1 uint i; @@ -370,6 +389,10 @@ void mysql_lock_remove(THD *thd, MYSQL_LOCK *locked,TABLE *table) DBUG_ASSERT(table->lock_position == i); + /* Unlock if not yet unlocked */ + if (always_unlock == FALSE) + mysql_unlock_some_tables(thd, &table, /* table count */ 1); + /* Decrement table_count in advance, making below expressions easier */ old_tables= --locked->table_count; @@ -623,7 +646,7 @@ static int unlock_external(THD *thd, TABLE **table,uint count) if ((*table)->current_lock != F_UNLCK) { (*table)->current_lock = F_UNLCK; - if ((error=(*table)->file->external_lock(thd, F_UNLCK))) + if ((error= (*table)->file->ha_external_lock(thd, F_UNLCK))) { error_code=error; print_lock_error(error_code, (*table)->file->table_type()); diff --git a/sql/log_event.cc b/sql/log_event.cc index c37df31ae00..1ef765f607f 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -1303,8 +1303,9 @@ Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg, ulong query_length, bool using_trans, bool suppress_use, THD::killed_state killed_status_arg) :Log_event(thd_arg, - ((thd_arg->tmp_table_used ? LOG_EVENT_THREAD_SPECIFIC_F : 0) - | (suppress_use ? LOG_EVENT_SUPPRESS_USE_F : 0)), + ((thd_arg->tmp_table_used || thd_arg->thread_specific_used) ? + LOG_EVENT_THREAD_SPECIFIC_F : 0) | + (suppress_use ? LOG_EVENT_SUPPRESS_USE_F : 0), using_trans), data_buf(0), query(query_arg), catalog(thd_arg->catalog), db(thd_arg->db), q_len((uint32) query_length), @@ -2689,8 +2690,10 @@ Load_log_event::Load_log_event(THD *thd_arg, sql_exchange *ex, List &fields_arg, enum enum_duplicates handle_dup, bool ignore, bool using_trans) - :Log_event(thd_arg, !thd_arg->tmp_table_used ? - 0 : LOG_EVENT_THREAD_SPECIFIC_F, using_trans), + :Log_event(thd_arg, + (thd_arg->tmp_table_used || thd_arg->thread_specific_used) ? + LOG_EVENT_THREAD_SPECIFIC_F : 0, + using_trans), thread_id(thd_arg->thread_id), slave_proxy_id(thd_arg->variables.pseudo_thread_id), num_fields(0),fields(0), diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index d14aab57489..ca6aa8ecab0 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -1452,7 +1452,8 @@ MYSQL_LOCK *mysql_lock_tables(THD *thd, TABLE **table, uint count, void mysql_unlock_tables(THD *thd, MYSQL_LOCK *sql_lock); void mysql_unlock_read_tables(THD *thd, MYSQL_LOCK *sql_lock); void mysql_unlock_some_tables(THD *thd, TABLE **table,uint count); -void mysql_lock_remove(THD *thd, MYSQL_LOCK *locked,TABLE *table); +void mysql_lock_remove(THD *thd, MYSQL_LOCK *locked,TABLE *table, + bool always_unlock); void mysql_lock_abort(THD *thd, TABLE *table); bool mysql_lock_abort_for_thread(THD *thd, TABLE *table); MYSQL_LOCK *mysql_lock_merge(MYSQL_LOCK *a,MYSQL_LOCK *b); diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 61980fa1887..9eb3d157dcf 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -6181,7 +6181,8 @@ The minimum value for this variable is 4096.", (gptr*) &opt_date_time_formats[MYSQL_TIMESTAMP_TIME], 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"tmp_table_size", OPT_TMP_TABLE_SIZE, - "If an in-memory temporary table exceeds this size, MySQL will automatically convert it to an on-disk MyISAM table.", + "If an internal in-memory temporary table exceeds this size, MySQL will" + " automatically convert it to an on-disk MyISAM table.", (gptr*) &global_system_variables.tmp_table_size, (gptr*) &max_system_variables.tmp_table_size, 0, GET_ULL, REQUIRED_ARG, 32*1024*1024L, 1024, MAX_MEM_TABLE_SIZE, 0, 1, 0}, diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 247f0eada49..d978c8882ac 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -972,7 +972,7 @@ QUICK_RANGE_SELECT::~QUICK_RANGE_SELECT() DBUG_PRINT("info", ("Freeing separate handler 0x%lx (free: %d)", (long) file, free_file)); file->reset(); - file->external_lock(current_thd, F_UNLCK); + file->ha_external_lock(current_thd, F_UNLCK); file->close(); } } @@ -1142,7 +1142,7 @@ int QUICK_RANGE_SELECT::init_ror_merged_scan(bool reuse_handler) /* Caller will free the memory */ goto failure; /* purecov: inspected */ } - if (file->external_lock(thd, F_RDLCK)) + if (file->ha_external_lock(thd, F_RDLCK)) goto failure; if (!head->no_keyread) { @@ -1152,7 +1152,7 @@ int QUICK_RANGE_SELECT::init_ror_merged_scan(bool reuse_handler) if (file->extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY) || init() || reset()) { - file->external_lock(thd, F_UNLCK); + file->ha_external_lock(thd, F_UNLCK); file->close(); goto failure; } diff --git a/sql/sp.cc b/sql/sp.cc index c0e7d5e2271..75d6fa4618f 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -273,7 +273,7 @@ db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp) if ((ret= db_find_routine_aux(thd, type, name, table)) != SP_OK) goto done; - if (table->s->fields != MYSQL_PROC_FIELD_COUNT) + if (table->s->fields < MYSQL_PROC_FIELD_COUNT) { ret= SP_GET_FIELD_FAILED; goto done; @@ -523,7 +523,7 @@ db_create_routine(THD *thd, int type, sp_head *sp) strxmov(definer, thd->lex->definer->user.str, "@", thd->lex->definer->host.str, NullS); - if (table->s->fields != MYSQL_PROC_FIELD_COUNT) + if (table->s->fields < MYSQL_PROC_FIELD_COUNT) { ret= SP_GET_FIELD_FAILED; goto done; diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 7098f8ece55..1c01248c283 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -1037,6 +1037,31 @@ TABLE **find_temporary_table(THD *thd, const char *db, const char *table_name) return 0; // Not a temporary table } + +/** + Drop a temporary table. + + Try to locate the table in the list of thd->temporary_tables. + If the table is found: + - if the table is in thd->locked_tables, unlock it and + remove it from the list of locked tables. Currently only transactional + temporary tables are present in the locked_tables list. + - Close the temporary table, remove its .FRM + - remove the table from the list of temporary tables + + This function is used to drop user temporary tables, as well as + internal tables created in CREATE TEMPORARY TABLE ... SELECT + or ALTER TABLE. Even though part of the work done by this function + is redundant when the table is internal, as long as we + link both internal and user temporary tables into the same + thd->temporary_tables list, it's impossible to tell here whether + we're dealing with an internal or a user temporary table. + + @retval TRUE the table was not found in the list of temporary tables + of this thread + @retval FALSE the table was found and dropped successfully. +*/ + bool close_temporary_table(THD *thd, const char *db, const char *table_name) { TABLE *table,**prev; @@ -1045,6 +1070,11 @@ bool close_temporary_table(THD *thd, const char *db, const char *table_name) return 1; table= *prev; *prev= table->next; + /* + If LOCK TABLES list is not empty and contains this table, + unlock the table and remove the table from this list. + */ + mysql_lock_remove(thd, thd->locked_tables, table, FALSE); close_temporary(table, 1); if (thd->slave_thread) --slave_open_temp_tables; @@ -1120,7 +1150,7 @@ TABLE *unlink_open_table(THD *thd, TABLE *list, TABLE *find) !memcmp(list->s->table_cache_key, key, key_length)) { if (thd->locked_tables) - mysql_lock_remove(thd, thd->locked_tables,list); + mysql_lock_remove(thd, thd->locked_tables, list, TRUE); VOID(hash_delete(&open_cache,(byte*) list)); // Close table } else @@ -1151,6 +1181,8 @@ TABLE *unlink_open_table(THD *thd, TABLE *list, TABLE *find) dropped is already unlocked. In the former case it will also remove lock on the table. But one should not rely on this behaviour as it may change in future. + Currently, however, this function is never called for a + table that was locked with LOCK TABLES. */ void drop_open_table(THD *thd, TABLE *table, const char *db_name, @@ -2099,7 +2131,7 @@ bool close_data_tables(THD *thd,const char *db, const char *table_name) if (!strcmp(table->s->table_name, table_name) && !strcmp(table->s->db, db)) { - mysql_lock_remove(thd, thd->locked_tables,table); + mysql_lock_remove(thd, thd->locked_tables, table, TRUE); table->file->close(); table->db_stat=0; } @@ -2239,7 +2271,7 @@ void close_old_data_files(THD *thd, TABLE *table, bool morph_locks, instances of this table. */ mysql_lock_abort(thd, table); - mysql_lock_remove(thd, thd->locked_tables, table); + mysql_lock_remove(thd, thd->locked_tables, table, TRUE); /* We want to protect the table from concurrent DDL operations (like RENAME TABLE) until we will re-open and re-lock it. @@ -2343,7 +2375,7 @@ bool drop_locked_tables(THD *thd,const char *db, const char *table_name) if (!strcmp(table->s->table_name, table_name) && !strcmp(table->s->db, db)) { - mysql_lock_remove(thd, thd->locked_tables,table); + mysql_lock_remove(thd, thd->locked_tables, table, TRUE); VOID(hash_delete(&open_cache,(byte*) table)); found=1; } diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 2209dc157e3..b67f63778dc 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -198,7 +198,7 @@ THD::THD() count_cuted_fields= CHECK_FIELD_IGNORE; killed= NOT_KILLED; db_length= col_access=0; - query_error= tmp_table_used= 0; + query_error= tmp_table_used= thread_specific_used= 0; next_insert_id=last_insert_id=0; hash_clear(&handler_tables_hash); tmp_table=0; diff --git a/sql/sql_class.h b/sql/sql_class.h index 1488c0c59c4..4fac86dc405 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -995,13 +995,25 @@ enum prelocked_mode_type {NON_PRELOCKED= 0, PRELOCKED= 1, class Open_tables_state { public: - /* - open_tables - list of regular tables in use by this thread - temporary_tables - list of temp tables in use by this thread - handler_tables - list of tables that were opened with HANDLER OPEN - and are still in use by this thread + /** + List of regular tables in use by this thread. Contains temporary and + base tables that were opened with @see open_tables(). */ - TABLE *open_tables, *temporary_tables, *handler_tables, *derived_tables; + TABLE *open_tables; + /** + List of temporary tables used by this thread. Contains user-level + temporary tables, created with CREATE TEMPORARY TABLE, and + internal temporary tables, created, e.g., to resolve a SELECT, + or for an intermediate table used in ALTER. + XXX Why are internal temporary tables added to this list? + */ + TABLE *temporary_tables; + /** + List of tables that were opened with HANDLER OPEN and are + still in use by this thread. + */ + TABLE *handler_tables; + TABLE *derived_tables; /* During a MySQL session, one can lock tables in two modes: automatic or manual. In automatic mode all necessary tables are locked just before @@ -1483,6 +1495,9 @@ public: bool in_lock_tables; bool query_error, bootstrap, cleanup_done; bool tmp_table_used; + + /** is set if some thread specific value(s) used in a statement. */ + bool thread_specific_used; bool charset_is_system_charset, charset_is_collation_connection; bool charset_is_character_set_filesystem; bool enable_slow_log; /* enable slow log for current statement */ diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index c37d77345b6..a62d8b383a5 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -2035,12 +2035,129 @@ void st_select_lex_unit::set_limit(SELECT_LEX *sl) /** - Update the parsed tree with information about triggers that - may be fired when executing this statement. + @brief Set the initial purpose of this TABLE_LIST object in the list of used + tables. + + We need to track this information on table-by-table basis, since when this + table becomes an element of the pre-locked list, it's impossible to identify + which SQL sub-statement it has been originally used in. + + E.g.: + + User request: SELECT * FROM t1 WHERE f1(); + FUNCTION f1(): DELETE FROM t2; RETURN 1; + BEFORE DELETE trigger on t2: INSERT INTO t3 VALUES (old.a); + + For this user request, the pre-locked list will contain t1, t2, t3 + table elements, each needed for different DML. + + The trigger event map is updated to reflect INSERT, UPDATE, DELETE, + REPLACE, LOAD DATA, CREATE TABLE .. SELECT, CREATE TABLE .. + REPLACE SELECT statements, and additionally ON DUPLICATE KEY UPDATE + clause. */ void st_lex::set_trg_event_type_for_tables() { + uint8 new_trg_event_map= 0; + + /* + Some auxiliary operations + (e.g. GRANT processing) create TABLE_LIST instances outside + the parser. Additionally, some commands (e.g. OPTIMIZE) change + the lock type for a table only after parsing is done. Luckily, + these do not fire triggers and do not need to pre-load them. + For these TABLE_LISTs set_trg_event_type is never called, and + trg_event_map is always empty. That means that the pre-locking + algorithm will ignore triggers defined on these tables, if + any, and the execution will either fail with an assert in + sql_trigger.cc or with an error that a used table was not + pre-locked, in case of a production build. + + TODO: this usage pattern creates unnecessary module dependencies + and should be rewritten to go through the parser. + Table list instances created outside the parser in most cases + refer to mysql.* system tables. It is not allowed to have + a trigger on a system table, but keeping track of + initialization provides extra safety in case this limitation + is circumvented. + */ + + switch (sql_command) { + case SQLCOM_LOCK_TABLES: + /* + On a LOCK TABLE, all triggers must be pre-loaded for this TABLE_LIST + when opening an associated TABLE. + */ + new_trg_event_map= static_cast + (1 << static_cast(TRG_EVENT_INSERT)) | + static_cast + (1 << static_cast(TRG_EVENT_UPDATE)) | + static_cast + (1 << static_cast(TRG_EVENT_DELETE)); + break; + /* + Basic INSERT. If there is an additional ON DUPLIATE KEY UPDATE + clause, it will be handled later in this method. + */ + case SQLCOM_INSERT: /* fall through */ + case SQLCOM_INSERT_SELECT: + /* + LOAD DATA ... INFILE is expected to fire BEFORE/AFTER INSERT + triggers. + If the statement also has REPLACE clause, it will be + handled later in this method. + */ + case SQLCOM_LOAD: /* fall through */ + /* + REPLACE is semantically equivalent to INSERT. In case + of a primary or unique key conflict, it deletes the old + record and inserts a new one. So we also may need to + fire ON DELETE triggers. This functionality is handled + later in this method. + */ + case SQLCOM_REPLACE: /* fall through */ + case SQLCOM_REPLACE_SELECT: + /* + CREATE TABLE ... SELECT defaults to INSERT if the table or + view already exists. REPLACE option of CREATE TABLE ... + REPLACE SELECT is handled later in this method. + */ + case SQLCOM_CREATE_TABLE: + new_trg_event_map|= static_cast + (1 << static_cast(TRG_EVENT_INSERT)); + break; + /* Basic update and multi-update */ + case SQLCOM_UPDATE: /* fall through */ + case SQLCOM_UPDATE_MULTI: + new_trg_event_map|= static_cast + (1 << static_cast(TRG_EVENT_UPDATE)); + break; + /* Basic delete and multi-delete */ + case SQLCOM_DELETE: /* fall through */ + case SQLCOM_DELETE_MULTI: + new_trg_event_map|= static_cast + (1 << static_cast(TRG_EVENT_DELETE)); + break; + default: + break; + } + + switch (duplicates) { + case DUP_UPDATE: + new_trg_event_map|= static_cast + (1 << static_cast(TRG_EVENT_UPDATE)); + break; + case DUP_REPLACE: + new_trg_event_map|= static_cast + (1 << static_cast(TRG_EVENT_DELETE)); + break; + case DUP_ERROR: + default: + break; + } + + /* Do not iterate over sub-selects, only the tables in the outermost SELECT_LEX can be modified, if any. @@ -2049,7 +2166,17 @@ void st_lex::set_trg_event_type_for_tables() while (tables) { - tables->set_trg_event_type(this); + /* + This is a fast check to filter out statements that do + not change data, or tables on the right side, in case of + INSERT .. SELECT, CREATE TABLE .. SELECT and so on. + Here we also filter out OPTIMIZE statement and non-updateable + views, for which lock_type is TL_UNLOCK or TL_READ after + parsing. + */ + if (static_cast(tables->lock_type) >= + static_cast(TL_WRITE_ALLOW_WRITE)) + tables->trg_event_map= new_trg_event_map; tables= tables->next_local; } } diff --git a/sql/sql_table.cc b/sql/sql_table.cc index d83100aa439..18c58d3a36a 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1357,6 +1357,8 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, length); push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_TOO_LONG_KEY, warn_buff); + /* Align key length to multibyte char boundary */ + length-= length % sql_field->charset->mbmaxlen; } else { @@ -1387,8 +1389,6 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, if (length > file->max_key_part_length() && key->type != Key::FULLTEXT) { length= file->max_key_part_length(); - /* Align key length to multibyte char boundary */ - length-= length % sql_field->charset->mbmaxlen; if (key->type == Key::MULTIPLE) { /* not a critical problem */ @@ -1397,6 +1397,8 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, length); push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_TOO_LONG_KEY, warn_buff); + /* Align key length to multibyte char boundary */ + length-= length % sql_field->charset->mbmaxlen; } else { @@ -3811,7 +3813,7 @@ view_err: The following function call will free the new_table pointer, in close_temporary_table(), so we can safely directly jump to err */ - close_temporary_table(thd,new_db,tmp_name); + close_temporary_table(thd, new_db, tmp_name); goto err; } /* Close lock if this is a transactional table */ @@ -4084,7 +4086,7 @@ copy_data_between_tables(TABLE *from,TABLE *to, if (!(copy= new Copy_field[to->s->fields])) DBUG_RETURN(-1); /* purecov: inspected */ - if (to->file->external_lock(thd, F_WRLCK)) + if (to->file->ha_external_lock(thd, F_WRLCK)) DBUG_RETURN(-1); /* We need external lock before we can disable/enable keys */ @@ -4235,7 +4237,7 @@ copy_data_between_tables(TABLE *from,TABLE *to, free_io_cache(from); *copied= found_count; *deleted=delete_count; - if (to->file->external_lock(thd,F_UNLCK)) + if (to->file->ha_external_lock(thd,F_UNLCK)) error=1; DBUG_RETURN(error > 0 ? -1 : 0); } diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index b0e59d0f8dc..638da3b1bb0 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -5567,7 +5567,7 @@ join_table: so that [INNER | CROSS] JOIN is properly nested as other left-associative joins. */ - table_ref %prec TABLE_REF_PRIORITY normal_join table_ref + table_ref normal_join table_ref %prec TABLE_REF_PRIORITY { MYSQL_YYABORT_UNLESS($1 && ($$=$3)); } | table_ref STRAIGHT_JOIN table_factor { MYSQL_YYABORT_UNLESS($1 && ($$=$3)); $3->straight=1; } diff --git a/sql/table.cc b/sql/table.cc index 18a395d69af..a393f1a676b 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -1780,135 +1780,6 @@ void st_table::reset_item_list(List *item_list) const } } - -/** - Set the initial purpose of this TABLE_LIST object in the list of - used tables. We need to track this information on table-by- - table basis, since when this table becomes an element of the - pre-locked list, it's impossible to identify which SQL - sub-statement it has been originally used in. - - E.g.: - - User request: SELECT * FROM t1 WHERE f1(); - FUNCTION f1(): DELETE FROM t2; RETURN 1; - BEFORE DELETE trigger on t2: INSERT INTO t3 VALUES (old.a); - - For this user request, the pre-locked list will contain t1, t2, t3 - table elements, each needed for different DML. - - This method is called immediately after parsing for tables - of the table list of the top-level select lex. - - The trigger event map is updated to reflect INSERT, UPDATE, DELETE, - REPLACE, LOAD DATA, CREATE TABLE .. SELECT, CREATE TABLE .. - REPLACE SELECT statements, and additionally ON DUPLICATE KEY UPDATE - clause. -*/ - -void -TABLE_LIST::set_trg_event_type(const st_lex *lex) -{ - enum trg_event_type trg_event; - - /* - Some auxiliary operations - (e.g. GRANT processing) create TABLE_LIST instances outside - the parser. Additionally, some commands (e.g. OPTIMIZE) change - the lock type for a table only after parsing is done. Luckily, - these do not fire triggers and do not need to pre-load them. - For these TABLE_LISTs set_trg_event_type is never called, and - trg_event_map is always empty. That means that the pre-locking - algorithm will ignore triggers defined on these tables, if - any, and the execution will either fail with an assert in - sql_trigger.cc or with an error that a used table was not - pre-locked, in case of a production build. - - TODO: this usage pattern creates unnecessary module dependencies - and should be rewritten to go through the parser. - Table list instances created outside the parser in most cases - refer to mysql.* system tables. It is not allowed to have - a trigger on a system table, but keeping track of - initialization provides extra safety in case this limitation - is circumvented. - */ - - /* - This is a fast check to filter out statements that do - not change data, or tables on the right side, in case of - INSERT .. SELECT, CREATE TABLE .. SELECT and so on. - Here we also filter out OPTIMIZE statement and non-updateable - views, for which lock_type is TL_UNLOCK or TL_READ after - parsing. - */ - if (static_cast(lock_type) < static_cast(TL_WRITE_ALLOW_WRITE)) - return; - - switch (lex->sql_command) { - /* - Basic INSERT. If there is an additional ON DUPLIATE KEY UPDATE - clause, it will be handled later in this method. - */ - case SQLCOM_INSERT: /* fall through */ - case SQLCOM_INSERT_SELECT: - /* - LOAD DATA ... INFILE is expected to fire BEFORE/AFTER INSERT - triggers. - If the statement also has REPLACE clause, it will be - handled later in this method. - */ - case SQLCOM_LOAD: /* fall through */ - /* - REPLACE is semantically equivalent to INSERT. In case - of a primary or unique key conflict, it deletes the old - record and inserts a new one. So we also may need to - fire ON DELETE triggers. This functionality is handled - later in this method. - */ - case SQLCOM_REPLACE: /* fall through */ - case SQLCOM_REPLACE_SELECT: - /* - CREATE TABLE ... SELECT defaults to INSERT if the table or - view already exists. REPLACE option of CREATE TABLE ... - REPLACE SELECT is handled later in this method. - */ - case SQLCOM_CREATE_TABLE: - trg_event= TRG_EVENT_INSERT; - break; - /* Basic update and multi-update */ - case SQLCOM_UPDATE: /* fall through */ - case SQLCOM_UPDATE_MULTI: - trg_event= TRG_EVENT_UPDATE; - break; - /* Basic delete and multi-delete */ - case SQLCOM_DELETE: /* fall through */ - case SQLCOM_DELETE_MULTI: - trg_event= TRG_EVENT_DELETE; - break; - default: - /* - OK to return, since value of 'duplicates' is irrelevant - for non-updating commands. - */ - return; - } - trg_event_map|= static_cast(1 << static_cast(trg_event)); - - switch (lex->duplicates) { - case DUP_UPDATE: - trg_event= TRG_EVENT_UPDATE; - break; - case DUP_REPLACE: - trg_event= TRG_EVENT_DELETE; - break; - case DUP_ERROR: - default: - return; - } - trg_event_map|= static_cast(1 << static_cast(trg_event)); -} - - /* calculate md5 of query diff --git a/sql/table.h b/sql/table.h index f8f7d7f06b7..f411ce489c4 100644 --- a/sql/table.h +++ b/sql/table.h @@ -770,7 +770,6 @@ struct TABLE_LIST void reinit_before_use(THD *thd); Item_subselect *containing_subselect(); - void set_trg_event_type(const st_lex *lex); private: bool prep_check_option(THD *thd, uint8 check_opt_type); bool prep_where(THD *thd, Item **conds, bool no_where_clause); diff --git a/win/README b/win/README index 118d619226a..d13f37965c1 100644 --- a/win/README +++ b/win/README @@ -51,7 +51,8 @@ The options right now are DISABLE_GRANT_OPTIONS Disables the use of --init-file and --skip-grant-tables options of mysqld.exe EMBED_MANIFESTS Embed custom manifests into final exes, otherwise VS - default will be used. + default will be used. (Note - This option should only be + used by MySQL AB.) So the command line could look like: diff --git a/win/create_manifest.js b/win/create_manifest.js index 8569bd508ff..dec8f6e62e2 100755 --- a/win/create_manifest.js +++ b/win/create_manifest.js @@ -56,7 +56,7 @@ try manifest_xml+= "\t