mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 03:47:17 +02:00
Automatic merge with 5.5
This commit is contained in:
commit
1999be8d4e
760 changed files with 47844 additions and 5283 deletions
|
|
@ -35,7 +35,7 @@ DELIMITER /*!*/;
|
|||
# at 4
|
||||
<#>ROLLBACK/*!*/;
|
||||
# at 102
|
||||
<#>use test/*!*/;
|
||||
<#>use `test`/*!*/;
|
||||
SET TIMESTAMP=1196959712/*!*/;
|
||||
<#>SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
SET @@session.sql_mode=0/*!*/;
|
||||
|
|
|
|||
|
|
@ -96,3 +96,21 @@ master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
|
|||
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
|
||||
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
|
||||
CREATE TABLE t1(id int);
|
||||
DROP TABLE /* comment */ t1;
|
||||
CREATE TABLE t1(id int);
|
||||
DROP TABLE IF EXISTS /* comment */ t1;
|
||||
CREATE TABLE t1(id int);
|
||||
DROP TABLE /**/ t1;
|
||||
CREATE TABLE t1(id int);
|
||||
DROP TABLE IF EXISTS /* */ t1;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE /* comment */ `t1` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS /* comment */ `t1` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE /**/ `t1` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS /* */ `t1` /* generated by server */
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ DELIMITER /*!*/;
|
|||
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
|
||||
ROLLBACK/*!*/;
|
||||
# at #
|
||||
use new_test1/*!*/;
|
||||
use `new_test1`/*!*/;
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=#/*!*/;
|
||||
|
|
@ -72,7 +72,7 @@ COMMIT
|
|||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
use test2/*!*/;
|
||||
use `test2`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
CREATE TABLE t2 (a INT)
|
||||
/*!*/;
|
||||
|
|
@ -115,7 +115,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
COMMIT
|
||||
/*!*/;
|
||||
# at #
|
||||
use new_test3/*!*/;
|
||||
use `new_test3`/*!*/;
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
CREATE TABLE t3 (a INT)
|
||||
|
|
@ -229,7 +229,7 @@ DELIMITER /*!*/;
|
|||
#010909 4:46:40 server id # end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
|
||||
ROLLBACK/*!*/;
|
||||
# at #
|
||||
use new_test1/*!*/;
|
||||
use `new_test1`/*!*/;
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=#/*!*/;
|
||||
|
|
@ -266,7 +266,7 @@ COMMIT
|
|||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
use test2/*!*/;
|
||||
use `test2`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
CREATE TABLE t2 (a INT)
|
||||
/*!*/;
|
||||
|
|
@ -309,7 +309,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
COMMIT
|
||||
/*!*/;
|
||||
# at #
|
||||
use new_test3/*!*/;
|
||||
use `new_test3`/*!*/;
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
CREATE TABLE t3 (a INT)
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||
BEGIN
|
||||
/*!*/;
|
||||
SET @`v`:=_ucs2 0x006100620063 COLLATE `ucs2_general_ci`/*!*/;
|
||||
use test/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=10000/*!*/;
|
||||
insert into t2 values (@v)
|
||||
/*!*/;
|
||||
|
|
|
|||
|
|
@ -698,7 +698,7 @@ master-bin.000001 # Query # # BEGIN
|
|||
master-bin.000001 # Intvar # # INSERT_ID=10
|
||||
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
|
||||
master-bin.000001 # Intvar # # INSERT_ID=10
|
||||
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t4` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @b) SET `b`= @b + bug27417(2) ;file_id=#
|
||||
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t4` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @`b`) SET `b`= @b + bug27417(2) ;file_id=#
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
/* the output must denote there is the query */;
|
||||
drop trigger trg_del_t2;
|
||||
|
|
@ -950,7 +950,7 @@ master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci
|
|||
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
|
||||
master-bin.000001 # Intvar # # INSERT_ID=10
|
||||
master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci
|
||||
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t4` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @b) SET `b`= @b + bug27417(2) ;file_id=#
|
||||
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t4` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @`b`) SET `b`= @b + bug27417(2) ;file_id=#
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
drop trigger trg_del_t2;
|
||||
drop table t1,t2,t3,t4,t5;
|
||||
|
|
|
|||
|
|
@ -113,3 +113,18 @@ if($fixed_bug_25705)
|
|||
--source include/show_binlog_events.inc
|
||||
|
||||
enable_warnings;
|
||||
|
||||
# Drop comments in binlog
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
CREATE TABLE t1(id int);
|
||||
DROP TABLE /* comment */ t1;
|
||||
CREATE TABLE t1(id int);
|
||||
DROP TABLE IF EXISTS /* comment */ t1;
|
||||
|
||||
CREATE TABLE t1(id int);
|
||||
DROP TABLE /**/ t1;
|
||||
CREATE TABLE t1(id int);
|
||||
DROP TABLE IF EXISTS /* */ t1;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,13 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NULL, c2 TIME NULL);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 VALUES(NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
INSERT INTO t1 VALUES(NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
|
|
|
|||
|
|
@ -25,7 +25,15 @@ INSERT INTO t3 VALUES('2008-02-29 13:13:13');
|
|||
DROP TABLE t3;
|
||||
CREATE TABLE t3(c1 TIME NOT NULL);
|
||||
INSERT INTO t3 VALUES('1000-01-01 00:00:00');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t3 VALUES('1999-12-31 23:59:59');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t3 VALUES('2000-01-01 00:00:00');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t3 VALUES('2008-02-29 13:13:13');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
DROP TABLE t3;
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ utf8_persian_ci utf8 208 # #
|
|||
utf8_esperanto_ci utf8 209 # #
|
||||
utf8_hungarian_ci utf8 210 # #
|
||||
utf8_sinhala_ci utf8 211 # #
|
||||
utf8_croatian_ci utf8 213 # #
|
||||
utf8_general_mysql500_ci utf8 223 # #
|
||||
ucs2_general_ci ucs2 35 Yes # #
|
||||
ucs2_bin ucs2 90 # #
|
||||
|
|
@ -100,6 +101,7 @@ ucs2_persian_ci ucs2 144 # #
|
|||
ucs2_esperanto_ci ucs2 145 # #
|
||||
ucs2_hungarian_ci ucs2 146 # #
|
||||
ucs2_sinhala_ci ucs2 147 # #
|
||||
ucs2_croatian_ci ucs2 149 # #
|
||||
ucs2_general_mysql500_ci ucs2 159 # #
|
||||
cp866_general_ci cp866 36 Yes # #
|
||||
cp866_bin cp866 68 # #
|
||||
|
|
@ -137,6 +139,7 @@ utf8mb4_persian_ci utf8mb4 240 # #
|
|||
utf8mb4_esperanto_ci utf8mb4 241 # #
|
||||
utf8mb4_hungarian_ci utf8mb4 242 # #
|
||||
utf8mb4_sinhala_ci utf8mb4 243 # #
|
||||
utf8mb4_croatian_ci utf8mb4 245 # #
|
||||
cp1251_bulgarian_ci cp1251 14 # #
|
||||
cp1251_ukrainian_ci cp1251 23 # #
|
||||
cp1251_bin cp1251 50 # #
|
||||
|
|
@ -164,6 +167,7 @@ utf16_persian_ci utf16 117 # #
|
|||
utf16_esperanto_ci utf16 118 # #
|
||||
utf16_hungarian_ci utf16 119 # #
|
||||
utf16_sinhala_ci utf16 120 # #
|
||||
utf16_croatian_ci utf16 215 # #
|
||||
cp1256_general_ci cp1256 57 Yes # #
|
||||
cp1256_bin cp1256 67 # #
|
||||
cp1257_lithuanian_ci cp1257 29 # #
|
||||
|
|
@ -191,6 +195,7 @@ utf32_persian_ci utf32 176 # #
|
|||
utf32_esperanto_ci utf32 177 # #
|
||||
utf32_hungarian_ci utf32 178 # #
|
||||
utf32_sinhala_ci utf32 179 # #
|
||||
utf32_croatian_ci utf32 214 # #
|
||||
binary binary 63 Yes # #
|
||||
geostd8_general_ci geostd8 92 Yes # #
|
||||
geostd8_bin geostd8 93 # #
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ utf8_persian_ci utf8 208 # #
|
|||
utf8_esperanto_ci utf8 209 # #
|
||||
utf8_hungarian_ci utf8 210 # #
|
||||
utf8_sinhala_ci utf8 211 # #
|
||||
utf8_croatian_ci utf8 213 # #
|
||||
utf8_general_mysql500_ci utf8 223 # #
|
||||
ucs2_general_ci ucs2 35 Yes # #
|
||||
ucs2_bin ucs2 90 # #
|
||||
|
|
@ -100,6 +101,7 @@ ucs2_persian_ci ucs2 144 # #
|
|||
ucs2_esperanto_ci ucs2 145 # #
|
||||
ucs2_hungarian_ci ucs2 146 # #
|
||||
ucs2_sinhala_ci ucs2 147 # #
|
||||
ucs2_croatian_ci ucs2 149 # #
|
||||
ucs2_general_mysql500_ci ucs2 159 # #
|
||||
cp866_general_ci cp866 36 Yes # #
|
||||
cp866_bin cp866 68 # #
|
||||
|
|
@ -137,6 +139,7 @@ utf8mb4_persian_ci utf8mb4 240 # #
|
|||
utf8mb4_esperanto_ci utf8mb4 241 # #
|
||||
utf8mb4_hungarian_ci utf8mb4 242 # #
|
||||
utf8mb4_sinhala_ci utf8mb4 243 # #
|
||||
utf8mb4_croatian_ci utf8mb4 245 # #
|
||||
cp1251_bulgarian_ci cp1251 14 # #
|
||||
cp1251_ukrainian_ci cp1251 23 # #
|
||||
cp1251_bin cp1251 50 # #
|
||||
|
|
@ -164,6 +167,7 @@ utf16_persian_ci utf16 117 # #
|
|||
utf16_esperanto_ci utf16 118 # #
|
||||
utf16_hungarian_ci utf16 119 # #
|
||||
utf16_sinhala_ci utf16 120 # #
|
||||
utf16_croatian_ci utf16 215 # #
|
||||
cp1256_general_ci cp1256 57 Yes # #
|
||||
cp1256_bin cp1256 67 # #
|
||||
cp1257_lithuanian_ci cp1257 29 # #
|
||||
|
|
@ -191,6 +195,7 @@ utf32_persian_ci utf32 176 # #
|
|||
utf32_esperanto_ci utf32 177 # #
|
||||
utf32_hungarian_ci utf32 178 # #
|
||||
utf32_sinhala_ci utf32 179 # #
|
||||
utf32_croatian_ci utf32 214 # #
|
||||
binary binary 63 Yes # #
|
||||
geostd8_general_ci geostd8 92 Yes # #
|
||||
geostd8_bin geostd8 93 # #
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ mysql
|
|||
performance_schema
|
||||
test
|
||||
USE DATABASE nond6;
|
||||
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 'DATABASE nond6' at line 1
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DATABASE nond6' at line 1
|
||||
DROP DATABASE d6;
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
|
|
|
|||
|
|
@ -33,10 +33,20 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL PRIMARY KEY);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'2 02:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'3 03:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'4 04:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
SELECT * FROM t1 ORDER BY c1;
|
||||
c1
|
||||
09:09:33
|
||||
|
|
@ -47,8 +57,6 @@ c1
|
|||
DELETE FROM t1 WHERE c1 <= ADDTIME(NOW(),'2 02:01:01');
|
||||
SELECT * FROM t1 ORDER BY c1;
|
||||
c1
|
||||
12:10:34
|
||||
13:10:34
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(c1 DATETIME NOT NULL PRIMARY KEY);
|
||||
SET TIMESTAMP=1171346973;
|
||||
|
|
|
|||
|
|
@ -66,12 +66,42 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, c3 TIME NULL, PRIMARY KEY(c1), UNIQUE(c2));
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'4 04:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'3 03:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'3 03:01:01'),ADDTIME(NOW(),'1 01:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'4 04:01:01'),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
SELECT * FROM t1;
|
||||
c1 c2 c3
|
||||
09:09:33 13:10:34 15:10:34
|
||||
|
|
|
|||
|
|
@ -29,8 +29,15 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL PRIMARY KEY);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
10:10:34
|
||||
|
|
|
|||
|
|
@ -28,7 +28,11 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL PRIMARY KEY);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
ERROR 23000: Duplicate entry '09:09:33' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
|
|
|
|||
|
|
@ -28,7 +28,11 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL PRIMARY KEY);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
ERROR 23000: Duplicate entry '09:09:33' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
|
|
|
|||
|
|
@ -29,8 +29,15 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NULL UNIQUE);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
10:10:34
|
||||
|
|
|
|||
|
|
@ -28,7 +28,11 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NULL UNIQUE);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
ERROR 23000: Duplicate entry '09:09:33' for key 'c1'
|
||||
SELECT * FROM t1;
|
||||
|
|
|
|||
|
|
@ -28,8 +28,14 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NULL UNIQUE);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT IGNORE INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
09:09:33
|
||||
|
|
|
|||
|
|
@ -61,11 +61,40 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NOT NULL, c3 TIME NOT NULL, PRIMARY KEY(c1,c2,c3));
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'1 01:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'),c2=ADDTIME(NOW(),'2 02:01:01'),c3=ADDTIME(NOW(),'2 02:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01')) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'),c2=ADDTIME(NOW(),'2 02:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
SELECT * FROM t1;
|
||||
c1 c2 c3
|
||||
09:09:33 10:10:34 09:09:33
|
||||
|
|
|
|||
|
|
@ -52,9 +52,25 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NOT NULL, c3 TIME NOT NULL, PRIMARY KEY(c1,c2,c3));
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'1 01:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
ERROR 23000: Duplicate entry '09:09:33-09:09:33-09:09:33' for key 'PRIMARY'
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
|
|
|
|||
|
|
@ -52,9 +52,25 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NOT NULL, c3 TIME NOT NULL, PRIMARY KEY(c1,c2,c3));
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'1 01:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
ERROR 23000: Duplicate entry '09:09:33-09:09:33-09:09:33' for key 'PRIMARY'
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
|
|
|
|||
|
|
@ -61,11 +61,40 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NULL, c2 TIME NULL, c3 TIME NULL, UNIQUE(c1,c2,c3));
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'1 01:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'),c2=ADDTIME(NOW(),'2 02:01:01'),c3=ADDTIME(NOW(),'2 02:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01')) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'),c2=ADDTIME(NOW(),'2 02:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
SELECT * FROM t1;
|
||||
c1 c2 c3
|
||||
09:09:33 10:10:34 09:09:33
|
||||
|
|
|
|||
|
|
@ -52,9 +52,25 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NULL, c2 TIME NULL, c3 TIME NULL, UNIQUE(c1,c2,c3));
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'1 01:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
ERROR 23000: Duplicate entry '09:09:33-09:09:33-09:09:33' for key 'c1'
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
|
|
|
|||
|
|
@ -56,11 +56,35 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NULL, c2 TIME NULL, c3 TIME NULL, UNIQUE(c1,c2,c3));
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'1 01:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT IGNORE INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT IGNORE INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
SELECT * FROM t1;
|
||||
c1 c2 c3
|
||||
09:09:33 09:09:33 09:09:33
|
||||
|
|
|
|||
|
|
@ -61,11 +61,40 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NOT NULL, c3 TIME NOT NULL, PRIMARY KEY(c1,c2,c3));
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'1 01:01:01'),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),NOW(),NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'),c2=ADDTIME(NOW(),'2 02:01:01'),c3=ADDTIME(NOW(),'2 02:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),ADDTIME(NOW(),'1 01:01:01')) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'),c2=ADDTIME(NOW(),'2 02:01:01');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
Note 1265 Data truncated for column 'c3' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c2' at row 1
|
||||
SELECT * FROM t1;
|
||||
c1 c2 c3
|
||||
09:09:33 10:10:34 09:09:33
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ INSERT INTO t4 (c1) VALUES(0);
|
|||
INSERT INTO t4 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('9');
|
||||
SELECT COUNT(c1) AS total_rows FROM t4;
|
||||
total_rows
|
||||
|
|
@ -26,7 +26,7 @@ INSERT INTO t4 (c1) VALUES(0);
|
|||
INSERT INTO t4 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('9');
|
||||
SELECT COUNT(c1) AS total_rows FROM t4;
|
||||
total_rows
|
||||
|
|
@ -45,7 +45,7 @@ INSERT INTO t4 (c1) VALUES(0);
|
|||
INSERT INTO t4 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('9');
|
||||
SELECT COUNT(c1) AS total_rows FROM t4;
|
||||
total_rows
|
||||
|
|
@ -64,7 +64,7 @@ INSERT INTO t4 (c1) VALUES(0);
|
|||
INSERT INTO t4 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('9');
|
||||
SELECT COUNT(c1) AS total_rows FROM t4;
|
||||
total_rows
|
||||
|
|
@ -83,7 +83,7 @@ INSERT INTO t4 (c1) VALUES(0);
|
|||
INSERT INTO t4 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('9');
|
||||
SELECT COUNT(c1) AS total_rows FROM t4;
|
||||
total_rows
|
||||
|
|
@ -102,7 +102,7 @@ INSERT INTO t4 (c1) VALUES(0);
|
|||
INSERT INTO t4 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect integer value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t4 (c1) VALUES('9');
|
||||
SELECT COUNT(c1) AS total_rows FROM t4;
|
||||
total_rows
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ INSERT INTO t5 (c1) VALUES(0);
|
|||
INSERT INTO t5 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t5 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect decimal value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect decimal value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t5 (c1) VALUES(999999);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
SELECT COUNT(c1) AS total_rows FROM t5;
|
||||
|
|
@ -27,7 +27,7 @@ INSERT INTO t5 (c1) VALUES(0);
|
|||
INSERT INTO t5 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t5 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect decimal value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect decimal value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t5 (c1) VALUES(999999);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
SELECT COUNT(c1) AS total_rows FROM t5;
|
||||
|
|
@ -47,7 +47,7 @@ INSERT INTO t5 (c1) VALUES(0);
|
|||
INSERT INTO t5 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t5 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect decimal value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect decimal value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t5 (c1) VALUES(999999);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
SELECT COUNT(c1) AS total_rows FROM t5;
|
||||
|
|
@ -67,7 +67,7 @@ INSERT INTO t5 (c1) VALUES(0);
|
|||
INSERT INTO t5 (c1) VALUES(-1);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
INSERT INTO t5 (c1) VALUES('x');
|
||||
ERROR HY000: Incorrect decimal value: 'x' for column 'c1' at row 1
|
||||
ERROR 22007: Incorrect decimal value: 'x' for column 'c1' at row 1
|
||||
INSERT INTO t5 (c1) VALUES(999999);
|
||||
ERROR 22003: Out of range value for column 'c1' at row 1
|
||||
SELECT COUNT(c1) AS total_rows FROM t5;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -13,13 +13,10 @@ SELECT c1 FROM t1 WHERE c1 > ALL (SELECT c1 FROM t2);
|
|||
c1
|
||||
SELECT c1 FROM t1 WHERE c1 >= ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
100
|
||||
SELECT c1 FROM t1 WHERE c1 = ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
SELECT c1 FROM t1 WHERE c1 <= ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
1
|
||||
2
|
||||
SELECT c1 FROM t1 WHERE c1 <> ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
DROP TABLE t1;
|
||||
|
|
@ -37,13 +34,10 @@ SELECT c1 FROM t1 WHERE c1 > ALL (SELECT c1 FROM t2);
|
|||
c1
|
||||
SELECT c1 FROM t1 WHERE c1 >= ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
100
|
||||
SELECT c1 FROM t1 WHERE c1 = ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
SELECT c1 FROM t1 WHERE c1 <= ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
1
|
||||
2
|
||||
SELECT c1 FROM t1 WHERE c1 <> ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
DROP TABLE t1;
|
||||
|
|
@ -61,13 +55,10 @@ SELECT c1 FROM t1 WHERE c1 > ALL (SELECT c1 FROM t2);
|
|||
c1
|
||||
SELECT c1 FROM t1 WHERE c1 >= ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
100
|
||||
SELECT c1 FROM t1 WHERE c1 = ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
SELECT c1 FROM t1 WHERE c1 <= ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
1
|
||||
2
|
||||
SELECT c1 FROM t1 WHERE c1 <> ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
DROP TABLE t1;
|
||||
|
|
@ -85,13 +76,10 @@ SELECT c1 FROM t1 WHERE c1 > ALL (SELECT c1 FROM t2);
|
|||
c1
|
||||
SELECT c1 FROM t1 WHERE c1 >= ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
100
|
||||
SELECT c1 FROM t1 WHERE c1 = ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
SELECT c1 FROM t1 WHERE c1 <= ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
1
|
||||
2
|
||||
SELECT c1 FROM t1 WHERE c1 <> ALL (SELECT c1 FROM t2);
|
||||
c1
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ INSERT INTO t2 VALUES (2,'abcde');
|
|||
SELECT * FROM t1 WHERE c2 IN (SELECT c2 FROM t2 ORDER BY c1 LIMIT 1)
|
||||
--error 1241
|
||||
SELECT (SELECT c1, c2 FROM t2) FROM t1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
ERROR 42000: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2);
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2);
|
||||
|
|
@ -30,7 +30,7 @@ INSERT INTO t2 VALUES (2,'abcde');
|
|||
SELECT * FROM t1 WHERE c2 IN (SELECT c2 FROM t2 ORDER BY c1 LIMIT 1)
|
||||
--error 1241
|
||||
SELECT (SELECT c1, c2 FROM t2) FROM t1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
ERROR 42000: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2);
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2);
|
||||
|
|
@ -49,7 +49,7 @@ INSERT INTO t2 VALUES (2,'abcde');
|
|||
SELECT * FROM t1 WHERE c2 IN (SELECT c2 FROM t2 ORDER BY c1 LIMIT 1)
|
||||
--error 1241
|
||||
SELECT (SELECT c1, c2 FROM t2) FROM t1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
ERROR 42000: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2);
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2);
|
||||
|
|
@ -68,7 +68,7 @@ INSERT INTO t2 VALUES (2,'abcde');
|
|||
SELECT * FROM t1 WHERE c2 IN (SELECT c2 FROM t2 ORDER BY c1 LIMIT 1)
|
||||
--error 1241
|
||||
SELECT (SELECT c1, c2 FROM t2) FROM t1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
ERROR 42000: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
SELECT * FROM t1 WHERE c1 = (SELECT c1 FROM t2);
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
UPDATE t1 SET c2 = (SELECT MAX(c1) FROM t2);
|
||||
|
|
|
|||
|
|
@ -39,10 +39,20 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1(c1 TIME NOT NULL);
|
||||
SET TIMESTAMP=1171346973;
|
||||
INSERT INTO t1 (c1) VALUES(NOW());
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'2 02:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'3 03:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'4 04:01:01'));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
SELECT * FROM t1 ORDER BY c1;
|
||||
c1
|
||||
09:09:33
|
||||
|
|
@ -54,10 +64,10 @@ UPDATE t1 SET c1 = NOW() WHERE c1 >= ADDTIME(NOW(),'2 02:01:01');
|
|||
SELECT * FROM t1 ORDER BY c1;
|
||||
c1
|
||||
09:09:33
|
||||
09:09:33
|
||||
09:09:33
|
||||
09:09:33
|
||||
10:10:34
|
||||
11:10:34
|
||||
12:10:34
|
||||
13:10:34
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(c1 DATETIME NOT NULL);
|
||||
SET TIMESTAMP=1171346973;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -497,10 +497,10 @@ c2
|
|||
00:13:13
|
||||
00:51:51
|
||||
01:01:01
|
||||
02:02:02
|
||||
03:03:00
|
||||
08:08:08
|
||||
100:04:04
|
||||
11:11:11
|
||||
11:11:27
|
||||
125:00:00
|
||||
125:05:00
|
||||
|
|
@ -644,7 +644,7 @@ c1 c2
|
|||
-838:59:59 -838:59:59
|
||||
00:04:00 00:04:00
|
||||
00:54:54 00:54:54
|
||||
11:11:11 11:11:11
|
||||
02:02:02 02:02:02
|
||||
12:34:56 NULL
|
||||
SELECT * FROM t2;
|
||||
c1 c2
|
||||
|
|
|
|||
|
|
@ -2,7 +2,13 @@ DROP TABLE IF EXISTS t1,t2,t3,t4;
|
|||
CREATE TABLE t1(c1 YEAR NOT NULL,c2 YEAR, PRIMARY KEY(c1));
|
||||
CREATE TABLE t2(c1 YEAR NOT NULL, c2 YEAR, UNIQUE INDEX idx(c1,c2));
|
||||
CREATE TABLE t3(c1 YEAR(2) NOT NULL,c2 YEAR(2), PRIMARY KEY(c1));
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
CREATE TABLE t4(c1 YEAR(2), c2 YEAR(2), UNIQUE INDEX idx(c1,c2));
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
INSERT INTO t1 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
|
||||
INSERT INTO t2 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
|
||||
INSERT INTO t3 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
|
||||
|
|
|
|||
|
|
@ -1013,7 +1013,7 @@ ROUND(c1,c2) TRUNCATE(c1,c2)
|
|||
1.133000 1.132000
|
||||
DROP TABLE t5;
|
||||
CREATE TABLE t7(c1 DECIMAL(66,0));
|
||||
ERROR 42000: Too big precision 66 specified for column 'c1'. Maximum is 65.
|
||||
ERROR 42000: Too big precision 66 specified for 'c1'. Maximum is 65.
|
||||
CREATE TABLE t7(c1 DECIMAL(5,10));
|
||||
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'c1').
|
||||
DROP TABLE t1,t2;
|
||||
|
|
|
|||
|
|
@ -5316,12 +5316,20 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 -128 26 27 28 29 30
|
||||
SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -128 1 2 3 4 5
|
||||
|
|
@ -11010,12 +11018,20 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 -32768 26 27 28 29 30
|
||||
SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -32768 1 2 3 4 5
|
||||
|
|
@ -16809,12 +16825,20 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 -8388608 26 27 28 29 30
|
||||
SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -8388608 1 2 3 4 5
|
||||
|
|
@ -22713,12 +22737,20 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 -2147483648 26 27 28 29 30
|
||||
SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -2147483648 1 2 3 4 5
|
||||
|
|
@ -28627,12 +28659,20 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 -2147483648 26 27 28 29 30
|
||||
SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -2147483648 1 2 3 4 5
|
||||
|
|
@ -32275,8 +32315,6 @@ total_rows min_value max(c1)
|
|||
23 0 18446744073709551615
|
||||
SELECT * FROM t2 WHERE c2 = -9223372036854775809;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warnings:
|
||||
SELECT c1,c6 FROM t2;
|
||||
c1 c6
|
||||
0 0
|
||||
|
|
@ -34112,20 +34150,12 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 -9223372036854775808 31 32 33 34 35
|
||||
SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
|
|
@ -34149,14 +34179,10 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 27 28 29 30 31
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
|
|
@ -34180,14 +34206,10 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 27 28 29 30 31
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
|
|
@ -34211,38 +34233,22 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 27 28 29 30 31
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
|
|
@ -34266,14 +34272,10 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 27 28 29 30 31
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
|
|
@ -34285,13 +34287,9 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
105 NULL 102 103 104 105 106
|
||||
|
|
@ -34348,14 +34346,10 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 22 23 24 25 26
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
|
|
@ -34379,14 +34373,10 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 22 23 24 25 26
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
|
|
@ -34410,38 +34400,22 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 22 23 24 25 26
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
|
|
@ -34465,14 +34439,10 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 22 23 24 25 26
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
|
|
@ -34484,13 +34454,9 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
105 NULL 102 103 104 105 106
|
||||
|
|
@ -34611,12 +34577,20 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 -9223372036854775808 31 32 33 34 35
|
||||
SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
|
|
@ -34733,14 +34707,10 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 27 28 29 30 31
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
|
|
@ -34752,13 +34722,9 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
105 NULL 102 103 104 105 106
|
||||
|
|
@ -34908,14 +34874,10 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
0 124 22 23 24 25 26
|
||||
18446744073709551615 9223372036854775807 36 37 38 39 40
|
||||
18446744073709551615 9223372036854775807 26 27 28 29 30
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
0 -9223372036854775808 1 2 3 4 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
|
|
@ -34927,13 +34889,9 @@ c1 c2 c3 c4 c5 c6 c7
|
|||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC LIMIT 2;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
0 -9223372036854775808 31 32 33 34 35
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC;
|
||||
c1 c2 c3 c4 c5 c6 c7
|
||||
105 NULL 102 103 104 105 106
|
||||
|
|
|
|||
|
|
@ -40,12 +40,12 @@ INSERT INTO t4 VALUES('10.22.22','10.22.22','2009-01-26'),(1234567,1234567,'2009
|
|||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c1' at row 1
|
||||
Warning 1265 Data truncated for column 'c2' at row 1
|
||||
Warning 1264 Out of range value for column 'c1' at row 2
|
||||
Warning 1264 Out of range value for column 'c2' at row 2
|
||||
Warning 1264 Out of range value for column 'c1' at row 3
|
||||
Warning 1264 Out of range value for column 'c2' at row 3
|
||||
Warning 1264 Out of range value for column 'c1' at row 4
|
||||
Warning 1264 Out of range value for column 'c2' at row 4
|
||||
Warning 1265 Data truncated for column 'c1' at row 2
|
||||
Warning 1265 Data truncated for column 'c2' at row 2
|
||||
Warning 1265 Data truncated for column 'c1' at row 3
|
||||
Warning 1265 Data truncated for column 'c2' at row 3
|
||||
Warning 1265 Data truncated for column 'c1' at row 4
|
||||
Warning 1265 Data truncated for column 'c2' at row 4
|
||||
Warning 1265 Data truncated for column 'c1' at row 6
|
||||
Warning 1265 Data truncated for column 'c2' at row 6
|
||||
INSERT INTO t1 VALUES('8:29:45',NULL,'2009-02-01');
|
||||
|
|
@ -135,6 +135,8 @@ c1 c2 c3
|
|||
-838:59:59 -838:59:59 2009-01-08
|
||||
00:00:00 00:00:00 2009-01-09
|
||||
00:00:00 00:00:00 2009-01-27
|
||||
00:00:00 00:00:00 2009-01-28
|
||||
00:00:00 00:00:00 2009-01-29
|
||||
00:00:10 00:00:10 2009-01-26
|
||||
00:00:11 00:00:11 2009-01-20
|
||||
00:00:12 00:00:12 2009-01-13
|
||||
|
|
@ -160,8 +162,6 @@ c1 c2 c3
|
|||
491:22:33 491:22:33 2009-01-04
|
||||
825:23:00 825:23:00 2009-01-05
|
||||
838:59:59 838:59:59 2009-01-10
|
||||
838:59:59 838:59:59 2009-01-28
|
||||
838:59:59 838:59:59 2009-01-29
|
||||
SELECT * FROM t1;
|
||||
c1 c2 c3
|
||||
-838:59:59 -838:59:59 2009-01-21
|
||||
|
|
@ -1650,8 +1650,10 @@ SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2 LIMIT 2;
|
|||
c1 c2 c3
|
||||
SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 LIMIT 2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2;
|
||||
c1 c2 c3
|
||||
SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 LIMIT 2;
|
||||
|
|
@ -1723,8 +1725,10 @@ SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2 DESC LIMIT 2;
|
|||
c1 c2 c3
|
||||
SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 DESC;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 DESC LIMIT 2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 DESC;
|
||||
c1 c2 c3
|
||||
SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 DESC LIMIT 2;
|
||||
|
|
@ -3218,8 +3222,10 @@ SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 LIMIT 2;
|
|||
c1 c2 c3
|
||||
SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 LIMIT 2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2;
|
||||
c1 c2 c3
|
||||
SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 LIMIT 2;
|
||||
|
|
@ -3287,8 +3293,10 @@ SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC LIMIT
|
|||
c1 c2 c3
|
||||
SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC LIMIT 2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC;
|
||||
c1 c2 c3
|
||||
SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC LIMIT 2;
|
||||
|
|
@ -4814,8 +4822,10 @@ SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 LIMIT 2;
|
|||
c1 c2 c3
|
||||
SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 LIMIT 2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2;
|
||||
c1 c2 c3
|
||||
SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 LIMIT 2;
|
||||
|
|
@ -4887,8 +4897,10 @@ SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC LIMIT
|
|||
c1 c2 c3
|
||||
SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC LIMIT 2;
|
||||
c1 c2 c3
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC;
|
||||
c1 c2 c3
|
||||
SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC LIMIT 2;
|
||||
|
|
@ -5008,28 +5020,24 @@ c1 MIN(c2)
|
|||
838:59:59 838:59:59
|
||||
SELECT CAST(235959.123456 AS TIME);
|
||||
CAST(235959.123456 AS TIME)
|
||||
23:59:59.123456
|
||||
23:59:59
|
||||
SELECT CAST(0.235959123456e+6 AS TIME);
|
||||
CAST(0.235959123456e+6 AS TIME)
|
||||
23:59:59.123456
|
||||
23:59:59
|
||||
SELECT CAST(235959123456e-6 AS TIME);
|
||||
CAST(235959123456e-6 AS TIME)
|
||||
23:59:59.123456
|
||||
23:59:59
|
||||
SELECT CAST(235959.1234567 AS TIME);
|
||||
CAST(235959.1234567 AS TIME)
|
||||
23:59:59.123456
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '235959.1234567'
|
||||
23:59:59
|
||||
SELECT CAST(0.2359591234567e6 AS TIME);
|
||||
CAST(0.2359591234567e6 AS TIME)
|
||||
23:59:59.123456
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '235959.1234567'
|
||||
23:59:59
|
||||
SELECT CAST(0.2359591234567e+30 AS TIME);
|
||||
CAST(0.2359591234567e+30 AS TIME)
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '2.359591234567e29'
|
||||
Warning 1292 Incorrect datetime value: '2.359591234567e29'
|
||||
select cast('100:55:50' as time) < cast('24:00:00' as time);
|
||||
cast('100:55:50' as time) < cast('24:00:00' as time)
|
||||
0
|
||||
|
|
@ -5077,7 +5085,6 @@ c1 c2 c3
|
|||
INSERT INTO t2(c1,c2) VALUES('12:34:56.78','12:34:56.78') ON DUPLICATE KEY UPDATE c1='12:34:56.79',c2='12:34:57.78';
|
||||
SELECT * FROM t2 WHERE c1='12:34:56.79' AND c2='12:34:57.78' /* 1 row */;
|
||||
c1 c2 c3
|
||||
12:34:56 12:34:57 2009-01-01
|
||||
SELECT * FROM t1 WHERE c1='10:22:35' AND c2='33 9:23' /* no rows */;
|
||||
c1 c2 c3
|
||||
INSERT INTO t1(c1,c2) VALUES('10:22:34','34 9:23') ON DUPLICATE KEY UPDATE c1='10:22:35',c2='33 9:23';
|
||||
|
|
@ -5137,8 +5144,8 @@ c1 c2 c3
|
|||
09:36:00 09:36:00 2009-01-25
|
||||
00:00:10 00:00:10 2009-01-26
|
||||
00:00:00 00:00:00 2009-01-27
|
||||
838:59:59 838:59:59 2009-01-28
|
||||
838:59:59 838:59:59 2009-01-29
|
||||
00:00:00 00:00:00 2009-01-28
|
||||
00:00:00 00:00:00 2009-01-29
|
||||
262:22:00 262:22:00 2009-01-30
|
||||
00:00:12 00:00:12 2009-01-31
|
||||
08:29:45 NULL 2009-02-01
|
||||
|
|
@ -5146,15 +5153,39 @@ c1 c2 c3
|
|||
TRUNCATE TABLE t5;
|
||||
INSERT INTO t5 SELECT * FROM t4 WHERE c1 >='12colon34colon56';
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: '12colon34colon56' for column 'c1' at row 1
|
||||
Warning 1292 Truncated incorrect time value: '12colon34colon56'
|
||||
SELECT * FROM t5;
|
||||
c1 c2 c3
|
||||
12:34:56 12:34:56 2009-01-01
|
||||
10:22:33 10:22:33 2009-01-02
|
||||
01:23:00 01:23:00 2009-01-03
|
||||
491:22:33 491:22:33 2009-01-04
|
||||
825:23:00 825:23:00 2009-01-05
|
||||
10:00:00 10:00:00 2009-01-06
|
||||
00:00:45 00:00:45 2009-01-07
|
||||
00:00:00 00:00:00 2009-01-09
|
||||
838:59:59 838:59:59 2009-01-10
|
||||
838:59:59 838:59:59 2009-01-28
|
||||
838:59:59 838:59:59 2009-01-29
|
||||
10:11:12 10:11:12 2009-01-11
|
||||
11:11:12 11:11:12 2009-01-12
|
||||
00:00:12 00:00:12 2009-01-13
|
||||
00:12:34 00:12:34 2009-01-14
|
||||
12:34:58 12:34:58 2009-01-15
|
||||
12:35:56 12:35:56 2009-01-16
|
||||
11:11:27 11:11:27 2009-01-17
|
||||
08:03:02 08:03:02 2009-01-18
|
||||
00:11:12 00:11:12 2009-01-19
|
||||
00:00:11 00:00:11 2009-01-20
|
||||
00:12:30 00:12:30 2009-01-23
|
||||
09:00:45 09:00:45 2009-01-24
|
||||
09:36:00 09:36:00 2009-01-25
|
||||
00:00:10 00:00:10 2009-01-26
|
||||
00:00:00 00:00:00 2009-01-27
|
||||
00:00:00 00:00:00 2009-01-28
|
||||
00:00:00 00:00:00 2009-01-29
|
||||
262:22:00 262:22:00 2009-01-30
|
||||
00:00:12 00:00:12 2009-01-31
|
||||
08:29:45 NULL 2009-02-01
|
||||
00:00:00 07:23:55 NULL
|
||||
TRUNCATE TABLE t5;
|
||||
DROP TABLE t5;
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
|
|
|
|||
|
|
@ -3235,9 +3235,21 @@ c1 c2 c3 c4
|
|||
1999 1999 1998-12-30 1998-12-30 11:30:45
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
CREATE TABLE t1(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1), UNIQUE INDEX(c2));
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
CREATE TABLE t2(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1,c2));
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
CREATE TABLE t3(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, UNIQUE INDEX idx(c1,c2));
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
CREATE TABLE t4(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME);
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
INSERT INTO t1 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45');
|
||||
INSERT INTO t2 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45');
|
||||
INSERT INTO t3 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45');
|
||||
|
|
|
|||
|
|
@ -55941,7 +55941,7 @@ SELECT 0 + (101010101010101010101010101010<<0);
|
|||
0 + (101010101010101010101010101010<<0)
|
||||
9223372036854775807
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(0));
|
||||
CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0));
|
||||
INSERT INTO t1 VALUES (b'101010101010101010101010101010');
|
||||
|
|
@ -56712,7 +56712,7 @@ SELECT 0 + (101010101010101010101010101010<<1);
|
|||
0 + (101010101010101010101010101010<<1)
|
||||
18446744073709551614
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(1));
|
||||
CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1));
|
||||
set @v1=1;
|
||||
|
|
@ -57532,7 +57532,7 @@ SELECT 0 + (101010101010101010101010101010<<2);
|
|||
0 + (101010101010101010101010101010<<2)
|
||||
18446744073709551612
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(2));
|
||||
CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2));
|
||||
set @v1=2;
|
||||
|
|
@ -58375,7 +58375,7 @@ SELECT 0 + (101010101010101010101010101010<<4);
|
|||
0 + (101010101010101010101010101010<<4)
|
||||
18446744073709551600
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(4));
|
||||
CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4));
|
||||
set @v1=4;
|
||||
|
|
@ -59296,7 +59296,7 @@ SELECT 0 + (101010101010101010101010101010<<8);
|
|||
0 + (101010101010101010101010101010<<8)
|
||||
18446744073709551360
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(8));
|
||||
CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8));
|
||||
set @v1=8;
|
||||
|
|
@ -60503,7 +60503,7 @@ SELECT 0 + (101010101010101010101010101010<<16);
|
|||
0 + (101010101010101010101010101010<<16)
|
||||
18446744073709486080
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(16));
|
||||
CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16));
|
||||
set @v1=16;
|
||||
|
|
@ -61915,7 +61915,7 @@ SELECT 0 + (101010101010101010101010101010<<32);
|
|||
0 + (101010101010101010101010101010<<32)
|
||||
18446744069414584320
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(32));
|
||||
CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32));
|
||||
set @v1=32;
|
||||
|
|
@ -63988,7 +63988,7 @@ SELECT 0 + (101010101010101010101010101010<<64);
|
|||
0 + (101010101010101010101010101010<<64)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(64));
|
||||
CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64));
|
||||
set @v1=64;
|
||||
|
|
@ -67165,7 +67165,7 @@ SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<0)
|
|||
0 + (1010101010101010101010101010101010101010101010101010101010101010<<0)
|
||||
9223372036854775807
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(0));
|
||||
CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0));
|
||||
INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010');
|
||||
|
|
@ -67933,7 +67933,7 @@ SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<1)
|
|||
0 + (1010101010101010101010101010101010101010101010101010101010101010<<1)
|
||||
18446744073709551614
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(1));
|
||||
CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1));
|
||||
set @v1=1;
|
||||
|
|
@ -68750,7 +68750,7 @@ SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<2)
|
|||
0 + (1010101010101010101010101010101010101010101010101010101010101010<<2)
|
||||
18446744073709551612
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(2));
|
||||
CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2));
|
||||
set @v1=2;
|
||||
|
|
@ -69590,7 +69590,7 @@ SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<4)
|
|||
0 + (1010101010101010101010101010101010101010101010101010101010101010<<4)
|
||||
18446744073709551600
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(4));
|
||||
CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4));
|
||||
set @v1=4;
|
||||
|
|
@ -70508,7 +70508,7 @@ SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<8)
|
|||
0 + (1010101010101010101010101010101010101010101010101010101010101010<<8)
|
||||
18446744073709551360
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(8));
|
||||
CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8));
|
||||
set @v1=8;
|
||||
|
|
@ -71712,7 +71712,7 @@ SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<16
|
|||
0 + (1010101010101010101010101010101010101010101010101010101010101010<<16)
|
||||
18446744073709486080
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(16));
|
||||
CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16));
|
||||
set @v1=16;
|
||||
|
|
@ -73121,7 +73121,7 @@ SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<32
|
|||
0 + (1010101010101010101010101010101010101010101010101010101010101010<<32)
|
||||
18446744069414584320
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(32));
|
||||
CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32));
|
||||
set @v1=32;
|
||||
|
|
@ -75197,7 +75197,7 @@ SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<64
|
|||
0 + (1010101010101010101010101010101010101010101010101010101010101010<<64)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(64));
|
||||
CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64));
|
||||
set @v1=64;
|
||||
|
|
@ -78374,7 +78374,7 @@ SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<0
|
|||
0 + (10101010101010101010101010101010101010101010101010101010101010101<<0)
|
||||
9223372036854775807
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(0));
|
||||
CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0));
|
||||
INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101');
|
||||
|
|
@ -79142,7 +79142,7 @@ SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<1
|
|||
0 + (10101010101010101010101010101010101010101010101010101010101010101<<1)
|
||||
18446744073709551614
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(1));
|
||||
CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1));
|
||||
set @v1=1;
|
||||
|
|
@ -79959,7 +79959,7 @@ SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<2
|
|||
0 + (10101010101010101010101010101010101010101010101010101010101010101<<2)
|
||||
18446744073709551612
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(2));
|
||||
CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2));
|
||||
set @v1=2;
|
||||
|
|
@ -80799,7 +80799,7 @@ SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<4
|
|||
0 + (10101010101010101010101010101010101010101010101010101010101010101<<4)
|
||||
18446744073709551600
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(4));
|
||||
CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4));
|
||||
set @v1=4;
|
||||
|
|
@ -81717,7 +81717,7 @@ SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<8
|
|||
0 + (10101010101010101010101010101010101010101010101010101010101010101<<8)
|
||||
18446744073709551360
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(8));
|
||||
CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8));
|
||||
set @v1=8;
|
||||
|
|
@ -82921,7 +82921,7 @@ SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<1
|
|||
0 + (10101010101010101010101010101010101010101010101010101010101010101<<16)
|
||||
18446744073709486080
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(16));
|
||||
CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16));
|
||||
set @v1=16;
|
||||
|
|
@ -84330,7 +84330,7 @@ SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<3
|
|||
0 + (10101010101010101010101010101010101010101010101010101010101010101<<32)
|
||||
18446744069414584320
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(32));
|
||||
CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32));
|
||||
set @v1=32;
|
||||
|
|
@ -86406,7 +86406,7 @@ SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<6
|
|||
0 + (10101010101010101010101010101010101010101010101010101010101010101<<64)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to INT. Value truncated.
|
||||
CREATE TABLE t1(c1 BIT(64));
|
||||
CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64));
|
||||
set @v1=64;
|
||||
|
|
|
|||
|
|
@ -71,13 +71,6 @@ Warning 1265 Data truncated for column 'c2' at row 1
|
|||
SELECT count(*) FROM t1 WHERE c2='10:45:15' OR c2='2009-01-32' OR c2='2009-02-30' OR c2='2009-04-31' OR c2='2009-06-31' OR c2='2009-09-31' /* returns 0 */;
|
||||
count(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Incorrect date value: '10:45:15' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect date value: '2009-01-32' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect date value: '10:45:15' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect date value: '2009-01-32' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect date value: '10:45:15' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect date value: '2009-01-32' for column 'c2' at row 1
|
||||
UPDATE t1 SET c2='2009-11-31' WHERE c2='2001-01-16';
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 1
|
||||
|
|
@ -108,8 +101,7 @@ c1 c2 c3
|
|||
2001-01-16 0000-00-00 12
|
||||
2001-01-17 0000-00-00 13
|
||||
Warnings:
|
||||
Warning 1292 Incorrect date value: '0000-00-00' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect date value: '0000-00-00' for column 'c2' at row 1
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
UPDATE t1 SET c2='0000-00-00' WHERE c2='2001-01-18';
|
||||
ERROR 22007: Incorrect date value: '0000-00-00' for column 'c2' at row 1
|
||||
SET SQL_MODE=DEFAULT;
|
||||
|
|
@ -774,20 +766,17 @@ c1 c2 c3
|
|||
INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7);
|
||||
UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09';
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
Warning 1265 Data truncated for column 'c1' at row 1
|
||||
Warning 1265 Data truncated for column 'c2' at row 1
|
||||
UPDATE t1 SET c2='2001-01-11 23:59:60' WHERE c1='2001-01-11';
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
Warning 1265 Data truncated for column 'c2' at row 1
|
||||
SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59';
|
||||
count(*)
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' for column 'c1' at row 1
|
||||
Warning 1292 Incorrect datetime value: '2009-01-10 23:60:59' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' for column 'c1' at row 1
|
||||
Warning 1292 Truncated incorrect datetime value: '2001-01-09 24:59:59'
|
||||
Warning 1292 Truncated incorrect datetime value: '2009-01-10 23:60:59'
|
||||
Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59'
|
||||
Warning 1292 Incorrect datetime value: '2009-01-10 23:60:59'
|
||||
SELECT count(*) FROM t1 WHERE c2='2001-01-11 23:59:60' /* returns 0 */;
|
||||
count(*)
|
||||
0
|
||||
|
|
@ -806,8 +795,7 @@ c1 c2 c3
|
|||
2001-01-11 00:00:00 0000-00-00 00:00:00 7
|
||||
2001-01-17 00:00:00 0000-00-00 00:00:00 8
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
UPDATE t1 SET c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35';
|
||||
ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
|
||||
SET SQL_MODE=DEFAULT;
|
||||
|
|
@ -949,15 +937,13 @@ c1 c2 c3
|
|||
2003-01-01 01:02:03 2002-01-09 01:30:30 10
|
||||
UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2 LIMIT 2;
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:50' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40'
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:50'
|
||||
SELECT * FROM t1 WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2;
|
||||
c1 c2 c3
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:50' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40'
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:50'
|
||||
UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC LIMIT 2;
|
||||
SELECT * FROM t1 WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC;
|
||||
c1 c2 c3
|
||||
|
|
@ -1389,17 +1375,13 @@ SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:
|
|||
count(*)
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' for column 'c1' at row 1
|
||||
Warning 1292 Incorrect datetime value: '2009-01-10 23:60:59' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' for column 'c1' at row 1
|
||||
Warning 1292 Truncated incorrect datetime value: '2001-01-09 24:59:59'
|
||||
Warning 1292 Truncated incorrect datetime value: '2009-01-10 23:60:59'
|
||||
Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59'
|
||||
Warning 1292 Incorrect datetime value: '2009-01-10 23:60:59'
|
||||
SELECT count(*) FROM t1 WHERE c1='2001-01-11 23:59:59' AND c2='2001-01-11 23:59:60';
|
||||
count(*)
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' for column 'c2' at row 1
|
||||
Warning 1292 Truncated incorrect datetime value: '2001-01-11 23:59:60'
|
||||
Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60'
|
||||
SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
|
||||
c1 c2 c3
|
||||
0000-00-00 00:00:00 0000-00-00 00:00:00 6
|
||||
|
|
@ -1412,8 +1394,7 @@ c1 c2 c3
|
|||
2001-01-11 23:59:59 0000-00-00 00:00:00 7
|
||||
2001-01-17 00:00:00 0000-00-00 00:00:00 8
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
|
||||
Warning 1265 Data truncated for column 'c2' at row 1
|
||||
UPDATE t1 SET c1='1972-01-01 07:35',c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35';
|
||||
ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1
|
||||
SET SQL_MODE=DEFAULT;
|
||||
|
|
@ -1552,15 +1533,13 @@ c1 c2 c3
|
|||
2003-01-01 01:02:03 2002-01-09 01:30:30 10
|
||||
UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2 LIMIT 2;
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:50' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40'
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:50'
|
||||
SELECT * FROM t1 WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2;
|
||||
c1 c2 c3
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:50' for column 'c2' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:40'
|
||||
Warning 1292 Incorrect datetime value: '20020109 01:30:50'
|
||||
UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC LIMIT 2;
|
||||
SELECT * FROM t1 WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC;
|
||||
c1 c2 c3
|
||||
|
|
|
|||
|
|
@ -56,6 +56,8 @@ Warning 1264 Out of range value for column 'c2' at row 3
|
|||
SELECT COUNT(*) FROM t1 WHERE c1=4294967296 AND c2=2147483648 /* no rows */;
|
||||
COUNT(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t1 WHERE c1=4294967295 AND c2=2147483647;
|
||||
c1 c2 c3
|
||||
4294967295 2147483647 10
|
||||
|
|
@ -1150,6 +1152,8 @@ Warning 1264 Out of range value for column 'c2' at row 3
|
|||
SELECT COUNT(*) FROM t1 WHERE c1=256 AND c2=128 /* no rows */;
|
||||
COUNT(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t1 WHERE c1=255 AND c2=127;
|
||||
c1 c2 c3
|
||||
255 127 10
|
||||
|
|
@ -1922,6 +1926,8 @@ Warning 1264 Out of range value for column 'c2' at row 3
|
|||
SELECT COUNT(*) FROM t1 WHERE c1=65536 AND c2=32768 /* no rows */;
|
||||
COUNT(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t1 WHERE c1=65535 AND c2=32767;
|
||||
c1 c2 c3
|
||||
65535 32767 10
|
||||
|
|
@ -2669,6 +2675,8 @@ Warning 1264 Out of range value for column 'c2' at row 3
|
|||
SELECT COUNT(*) FROM t1 WHERE c1=16777216 AND c2=8388608 /* no rows */;
|
||||
COUNT(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t1 WHERE c1=16777215 AND c2=8388607;
|
||||
c1 c2 c3
|
||||
16777215 8388607 10
|
||||
|
|
@ -3416,6 +3424,8 @@ Warning 1264 Out of range value for column 'c2' at row 3
|
|||
SELECT COUNT(*) FROM t1 WHERE c1=18446744073709551616 AND c2=9223372036854775808 /* no rows */;
|
||||
COUNT(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 1
|
||||
SELECT * FROM t1 WHERE c1=18446744073709551615 AND c2=9223372036854775807;
|
||||
c1 c2 c3
|
||||
18446744073709551615 9223372036854775807 10
|
||||
|
|
|
|||
|
|
@ -793,10 +793,10 @@ c2
|
|||
00:09:09
|
||||
00:11:11
|
||||
00:11:11
|
||||
00:11:11
|
||||
00:13:13
|
||||
00:51:51
|
||||
01:01:01
|
||||
02:02:02
|
||||
03:03:00
|
||||
08:08:08
|
||||
100:04:04
|
||||
|
|
@ -1122,7 +1122,7 @@ c2
|
|||
838:59:59
|
||||
NULL
|
||||
UPDATE t4 SET c1=11:11:11 WHERE c2=NULL;
|
||||
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 ':11:11 WHERE c2=NULL' at line 1
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':11:11 WHERE c2=NULL' at line 1
|
||||
SELECT c1 FROM t4;
|
||||
c1
|
||||
00:00:01
|
||||
|
|
@ -1262,7 +1262,7 @@ c1 c2
|
|||
838:59:59 838:59:59
|
||||
UPDATE t1 SET c1=c1+1,c2=c2-1 WHERE c1 IN (222222,8385955,1500000) ORDER BY c1;
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c2' at row 2
|
||||
Warning 1265 Data truncated for column 'c2' at row 2
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
-12:12:12 12:12:12
|
||||
|
|
@ -1332,7 +1332,7 @@ c1 c2
|
|||
00:51:51 02:22:22
|
||||
00:54:54 00:54:54
|
||||
01:01:01 02:22:22
|
||||
02:02:02 02:22:22
|
||||
02:02:02 02:02:02
|
||||
03:03:00 02:22:22
|
||||
08:08:08 00:00:00
|
||||
100:04:04 100:04:04
|
||||
|
|
@ -1374,7 +1374,7 @@ c1 c2
|
|||
00:51:51 00:51:51
|
||||
00:54:54 00:11:11
|
||||
01:01:01 01:01:01
|
||||
02:02:02 02:02:02
|
||||
02:02:02 00:11:11
|
||||
03:03:00 03:03:00
|
||||
08:08:08 08:08:08
|
||||
11:11:11 00:11:11
|
||||
|
|
|
|||
|
|
@ -2,7 +2,13 @@ DROP TABLE IF EXISTS t1,t2,t3,t4;
|
|||
CREATE TABLE t1(c1 YEAR NOT NULL,c2 YEAR, PRIMARY KEY(c1));
|
||||
CREATE TABLE t2(c1 YEAR NOT NULL, c2 YEAR, UNIQUE INDEX idx(c1,c2));
|
||||
CREATE TABLE t3(c1 YEAR(2) NOT NULL,c2 YEAR(2), PRIMARY KEY(c1));
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
CREATE TABLE t4(c1 YEAR(2), c2 YEAR(2), UNIQUE INDEX idx(c1,c2));
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
INSERT INTO t1 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
|
||||
INSERT INTO t2 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
|
||||
INSERT INTO t3 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ f107 year(4) not null default 2000,
|
|||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = innodb;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/innodb_tb2.txt'
|
||||
into table tb2;
|
||||
DROP DATABASE IF EXISTS test1;
|
||||
|
|
@ -112,6 +114,8 @@ f107 year(4) not null default 2000,
|
|||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = innodb;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/innodb_tb2.txt'
|
||||
into table tb2;
|
||||
USE test;
|
||||
|
|
|
|||
|
|
@ -132,6 +132,8 @@ f107 year(4) not null default 2000,
|
|||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = innodb;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/innodb_tb2.txt'
|
||||
into table tb2;
|
||||
drop table if exists tb3 ;
|
||||
|
|
@ -262,6 +264,8 @@ f239 varchar(20000) binary,
|
|||
f240 varchar(2000),
|
||||
f241 char(100)
|
||||
) engine = innodb;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/innodb_tb4.txt'
|
||||
into table tb4;
|
||||
USE test1;
|
||||
|
|
@ -319,6 +323,8 @@ f107 year(4) not null default 2000,
|
|||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = innodb;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/innodb_tb2.txt'
|
||||
into table tb2;
|
||||
USE test;
|
||||
|
|
|
|||
|
|
@ -128,6 +128,8 @@ f107 year(4) not null default 2000,
|
|||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = memory;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/memory_tb2.txt'
|
||||
into table tb2 ;
|
||||
drop table if exists tb3;
|
||||
|
|
@ -251,6 +253,8 @@ f238 varchar(25000) binary,
|
|||
f239 varbinary(0),
|
||||
f240 varchar(1200)
|
||||
) engine = memory;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/memory_tb4.txt'
|
||||
into table tb4;
|
||||
USE test1;
|
||||
|
|
@ -308,6 +312,8 @@ f107 year(4) not null default 2000,
|
|||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = memory;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/memory_tb2.txt'
|
||||
into table tb2 ;
|
||||
USE test;
|
||||
|
|
|
|||
|
|
@ -144,6 +144,8 @@ f115 VARBINARY(27) null ,
|
|||
f116 VARBINARY(64) null,
|
||||
f117 VARBINARY(192) null
|
||||
) engine = myisam;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/myisam_tb2.txt'
|
||||
into table tb2;
|
||||
drop table if exists tb3 ;
|
||||
|
|
@ -283,6 +285,8 @@ f240 varchar(120),
|
|||
f241 char(100),
|
||||
f242 bit(30)
|
||||
) engine = myisam;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/myisam_tb4.txt'
|
||||
into table tb4;
|
||||
USE test1;
|
||||
|
|
@ -348,6 +352,8 @@ f115 VARBINARY(27) null ,
|
|||
f116 VARBINARY(64) null,
|
||||
f117 VARBINARY(192) null
|
||||
) engine = myisam;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/myisam_tb2.txt'
|
||||
into table tb2;
|
||||
USE test;
|
||||
|
|
|
|||
|
|
@ -144,6 +144,8 @@ f115 VARBINARY(27) null ,
|
|||
f116 VARBINARY(64) null,
|
||||
f117 VARBINARY(192) null
|
||||
) engine = myisam;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/myisam_tb2.txt'
|
||||
into table tb2;
|
||||
drop table if exists tb3 ;
|
||||
|
|
@ -283,6 +285,8 @@ f240 varchar(120),
|
|||
f241 char(100),
|
||||
f242 bit(30)
|
||||
) engine = myisam;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/myisam_tb4.txt'
|
||||
into table tb4;
|
||||
USE test1;
|
||||
|
|
@ -348,6 +352,8 @@ f115 VARBINARY(27) null ,
|
|||
f116 VARBINARY(64) null,
|
||||
f117 VARBINARY(192) null
|
||||
) engine = myisam;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/myisam_tb2.txt'
|
||||
into table tb2;
|
||||
USE test;
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ f107 year(4) not null default 2000,
|
|||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = memory;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/memory_tb2.txt'
|
||||
into table tb2 ;
|
||||
DROP DATABASE IF EXISTS test1;
|
||||
|
|
@ -113,6 +115,8 @@ f107 year(4) not null default 2000,
|
|||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = memory;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/memory_tb2.txt'
|
||||
into table tb2 ;
|
||||
USE test;
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@ f115 VARBINARY(27) null ,
|
|||
f116 VARBINARY(64) null,
|
||||
f117 VARBINARY(192) null
|
||||
) engine = myisam;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/myisam_tb2.txt'
|
||||
into table tb2;
|
||||
DROP DATABASE IF EXISTS test1;
|
||||
|
|
@ -129,6 +131,8 @@ f115 VARBINARY(27) null ,
|
|||
f116 VARBINARY(64) null,
|
||||
f117 VARBINARY(192) null
|
||||
) engine = myisam;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/myisam_tb2.txt'
|
||||
into table tb2;
|
||||
USE test;
|
||||
|
|
|
|||
|
|
@ -7499,9 +7499,13 @@ BEGIN
|
|||
declare x, y, z year(3) default 2005;
|
||||
SELECT x, y, z;
|
||||
END//
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
CALL sp1();
|
||||
x y z
|
||||
2005 2005 2005
|
||||
Warnings:
|
||||
Note 1287 'YEAR(3)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
DROP PROCEDURE IF EXISTS sp1;
|
||||
CREATE PROCEDURE sp1( )
|
||||
BEGIN
|
||||
|
|
|
|||
|
|
@ -738,3 +738,55 @@ SELECT c2 FROM t1;
|
|||
c2
|
||||
0
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a int, index(a)) engine=heap min_rows=10 max_rows=100;
|
||||
insert into t1 values(1);
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
data_length index_length
|
||||
1600 2400
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int, index(a)) engine=heap min_rows=10 max_rows=10000;
|
||||
insert into t1 values(1);
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
data_length index_length
|
||||
16000 24000
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int, index(a)) engine=heap min_rows=3000 max_rows=3000;
|
||||
insert into t1 values(1);
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
data_length index_length
|
||||
48000 72000
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int, index(a)) engine=heap max_rows=15000;
|
||||
insert into t1 values(1);
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
data_length index_length
|
||||
24000 36000
|
||||
drop table t1;
|
||||
create table t1 (c1 int, index(c1)) engine=heap max_rows=10000;
|
||||
insert into t1 select rand(100000000);
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1 limit 488;
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
data_length index_length
|
||||
16000 24000
|
||||
insert into t1 select rand(100000000) from t1 limit 1;
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
data_length index_length
|
||||
33024 49024
|
||||
insert into t1 select rand(100000000) from t1 limit 1000;
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
data_length index_length
|
||||
49024 73024
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
data_length index_length
|
||||
81024 121024
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -485,3 +485,55 @@ INSERT INTO t1 VALUES('', 0);
|
|||
ALTER TABLE t1 MODIFY c1 VARCHAR(101);
|
||||
SELECT c2 FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Show that MIN_ROWS and MAX_ROWS have an effect on how data_length
|
||||
# and index_length are allocated.
|
||||
# Result is different for 32 / 64 bit machines as pointer lengths are different
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int, index(a)) engine=heap min_rows=10 max_rows=100;
|
||||
insert into t1 values(1);
|
||||
--replace_result 800 1600 1200 2400
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int, index(a)) engine=heap min_rows=10 max_rows=10000;
|
||||
insert into t1 values(1);
|
||||
--replace_result 8000 16000 12000 24000
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int, index(a)) engine=heap min_rows=3000 max_rows=3000;
|
||||
insert into t1 values(1);
|
||||
--replace_result 24000 48000 36000 72000
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int, index(a)) engine=heap max_rows=15000;
|
||||
insert into t1 values(1);
|
||||
--replace_result 12000 24000 18000 36000
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
drop table t1;
|
||||
|
||||
create table t1 (c1 int, index(c1)) engine=heap max_rows=10000;
|
||||
insert into t1 select rand(100000000);
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
insert into t1 select rand(100000000) from t1 limit 488;
|
||||
--replace_result 8000 16000 12000 24000
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
insert into t1 select rand(100000000) from t1 limit 1;
|
||||
--replace_result 16512 33024 24512 49024
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
insert into t1 select rand(100000000) from t1 limit 1000;
|
||||
--replace_result 24512 49024 36512 73024
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
insert into t1 select rand(100000000) from t1;
|
||||
--replace_result 40512 81024 60512 121024
|
||||
select data_length,index_length from information_schema.tables where table_schema="test" and table_name="t1";
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ col89 float unsigned zerofill DEFAULT NULL,
|
|||
col90 tinyblob
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
|
||||
Warnings:
|
||||
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
|
||||
Note 1291 Column 'col82' has duplicated value '' in ENUM
|
||||
Note 1291 Column 'col82' has duplicated value '' in ENUM
|
||||
INSERT INTO bug52745 SET
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
--source include/have_innodb.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
if (`select plugin_auth_version <= "1.1.8-26.0" from information_schema.plugins where plugin_name='innodb'`)
|
||||
if (`select plugin_auth_version <= "1.0.17-13.01" from information_schema.plugins where plugin_name='innodb'`)
|
||||
{
|
||||
--skip Not fixed in XtraDB 1.1.8-26.0 or earlier
|
||||
--skip Not fixed in XtraDB 1.0.17-13.01 or earlier
|
||||
}
|
||||
|
||||
create table t1 (
|
||||
|
|
|
|||
|
|
@ -27,3 +27,6 @@ i
|
|||
drop table t2;
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (i INT) ENGINE=Aria;
|
||||
LOCK TABLES t1 WRITE, t1 AS t1a WRITE;
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -42,3 +42,11 @@ select * from t1;
|
|||
drop table t2;
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# MDEV-366: lock table twice with LOCK TABLES and then drop it
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (i INT) ENGINE=Aria;
|
||||
LOCK TABLES t1 WRITE, t1 AS t1a WRITE;
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
5
mysql-test/suite/mtr2/combinations
Normal file
5
mysql-test/suite/mtr2/combinations
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
[1st]
|
||||
lock-wait-timeout=5
|
||||
|
||||
[2nd]
|
||||
lock-wait-timeout=3
|
||||
|
|
@ -9,4 +9,4 @@
|
|||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
misc : bug#14113704 24/04/2012 Mayank issue reported causing failure.
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@ SET @before_count = (SELECT SUM(TIMER_WAIT)
|
|||
FROM performance_schema.events_waits_history_long
|
||||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD'));
|
||||
SELECT (@before_count >= 0) as have_before_count;
|
||||
have_before_count
|
||||
1
|
||||
SELECT IF(@before_count > 0, 'Success', 'Failure') has_instrumentation;
|
||||
has_instrumentation
|
||||
Success
|
||||
|
|
@ -27,6 +30,9 @@ SET @after_count = (SELECT SUM(TIMER_WAIT)
|
|||
FROM performance_schema.events_waits_history_long
|
||||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (1 = 1));
|
||||
SELECT (@after_count >= 0) as have_after_count;
|
||||
have_after_count
|
||||
1
|
||||
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_ff1_timed;
|
||||
test_ff1_timed
|
||||
Success
|
||||
|
|
@ -35,6 +41,9 @@ SET @before_count = (SELECT SUM(TIMER_WAIT)
|
|||
FROM performance_schema.events_waits_history_long
|
||||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (2 = 2));
|
||||
SELECT (@before_count >= 0) as have_before_count;
|
||||
have_before_count
|
||||
1
|
||||
SELECT * FROM t1 WHERE id < 6;
|
||||
id b
|
||||
1 initial value
|
||||
|
|
@ -46,6 +55,9 @@ SET @after_count = (SELECT SUM(TIMER_WAIT)
|
|||
FROM performance_schema.events_waits_history_long
|
||||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (3 = 3));
|
||||
SELECT (@after_count >= 0) as have_after_count;
|
||||
have_after_count
|
||||
1
|
||||
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_ff2_timed;
|
||||
test_ff2_timed
|
||||
Success
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@ Qcache_hits 1
|
|||
select spins from performance_schema.events_waits_current order by event_name limit 1;
|
||||
spins
|
||||
NULL
|
||||
select name from performance_schema.setup_instruments order by name limit 1;
|
||||
name
|
||||
wait/io/file/aria/control
|
||||
select * from performance_schema.setup_timers where name='wait';
|
||||
NAME TIMER_NAME
|
||||
wait CYCLE
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
|
|
@ -51,9 +51,9 @@ Qcache_hits 1
|
|||
select spins from performance_schema.events_waits_current order by event_name limit 1;
|
||||
spins
|
||||
NULL
|
||||
select name from performance_schema.setup_instruments order by name limit 1;
|
||||
name
|
||||
wait/io/file/aria/control
|
||||
select * from performance_schema.setup_timers where name='wait';
|
||||
NAME TIMER_NAME
|
||||
wait CYCLE
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ SET @before_count = (SELECT SUM(TIMER_WAIT)
|
|||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD'));
|
||||
|
||||
SELECT (@before_count >= 0) as have_before_count;
|
||||
SELECT IF(@before_count > 0, 'Success', 'Failure') has_instrumentation;
|
||||
|
||||
SELECT * FROM t1 WHERE id < 4;
|
||||
|
|
@ -50,6 +51,7 @@ SET @after_count = (SELECT SUM(TIMER_WAIT)
|
|||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (1 = 1));
|
||||
|
||||
SELECT (@after_count >= 0) as have_after_count;
|
||||
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_ff1_timed;
|
||||
|
||||
UPDATE performance_schema.setup_instruments SET enabled='NO';
|
||||
|
|
@ -59,6 +61,7 @@ SET @before_count = (SELECT SUM(TIMER_WAIT)
|
|||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (2 = 2));
|
||||
|
||||
SELECT (@before_count >= 0) as have_before_count;
|
||||
SELECT * FROM t1 WHERE id < 6;
|
||||
|
||||
SET @after_count = (SELECT SUM(TIMER_WAIT)
|
||||
|
|
@ -66,6 +69,7 @@ SET @after_count = (SELECT SUM(TIMER_WAIT)
|
|||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (3 = 3));
|
||||
|
||||
SELECT (@after_count >= 0) as have_after_count;
|
||||
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_ff2_timed;
|
||||
|
||||
#
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ show status like "Qcache_hits";
|
|||
|
||||
select spins from performance_schema.events_waits_current order by event_name limit 1;
|
||||
|
||||
select name from performance_schema.setup_instruments order by name limit 1;
|
||||
select * from performance_schema.setup_timers where name='wait';
|
||||
|
||||
show status like "Qcache_queries_in_cache";
|
||||
show status like "Qcache_inserts";
|
||||
|
|
@ -42,7 +42,7 @@ show status like "Qcache_hits";
|
|||
|
||||
select spins from performance_schema.events_waits_current order by event_name limit 1;
|
||||
|
||||
select name from performance_schema.setup_instruments order by name limit 1;
|
||||
select * from performance_schema.setup_timers where name='wait';
|
||||
|
||||
show status like "Qcache_queries_in_cache";
|
||||
show status like "Qcache_inserts";
|
||||
|
|
|
|||
|
|
@ -114,22 +114,23 @@ id c
|
|||
3 3
|
||||
[on master]
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
CREATE TABLE test.t5 (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT);
|
||||
CREATE TABLE test.t5 (a INT AUTO_INCREMENT PRIMARY KEY, b DECIMAL(20,20), c INT);
|
||||
CREATE TABLE test.t1 (a INT);
|
||||
INSERT INTO test.t1 VALUES(1);
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
|
||||
CREATE TABLE test.t_slave (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT);
|
||||
CREATE TABLE test.t_slave (a INT AUTO_INCREMENT PRIMARY KEY, b DECIMAL(20,20), c INT);
|
||||
CREATE TRIGGER t1_update AFTER UPDATE ON test.t1 FOR EACH ROW
|
||||
INSERT INTO test.t_slave VALUES(NULL, ROUND(RAND() * 1000), @c);
|
||||
INSERT INTO test.t_slave VALUES(NULL, RAND(), @c);
|
||||
SET INSERT_ID=2;
|
||||
SET @c=2;
|
||||
SET @@rand_seed1=10000000, @@rand_seed2=1000000;
|
||||
INSERT INTO t5 VALUES (NULL, ROUND(RAND() * 1000), @c);
|
||||
INSERT INTO t5 VALUES (NULL, RAND(), @c);
|
||||
SELECT b into @b FROM test.t5;
|
||||
UPDATE test.t1 SET a=2;
|
||||
SELECT a AS 'ONE' into @a FROM test.t_slave;
|
||||
SELECT c AS 'NULL' into @c FROM test.t_slave;
|
||||
SELECT b into @b FROM test.t_slave;
|
||||
include/assert.inc [Random values from master and slave must be different]
|
||||
drop table test.t5;
|
||||
drop table test.t1;
|
||||
drop table test.t_slave;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ include/rpl_end.inc
|
|||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
use test/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1293832861/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ include/stop_slave.inc
|
|||
change master to master_log_pos=MASTER_LOG_POS;
|
||||
start slave;
|
||||
include/wait_for_slave_io_error.inc [errno=1236]
|
||||
Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the first event 'master-bin.000001' at XXX, the last event read from 'master-bin.000001' at XXX, the last byte read from 'master-bin.000001' at XXX.''
|
||||
Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'binlog truncated in the middle of event; consider out of disk space on master; the first event 'master-bin.000001' at XXX, the last event read from 'master-bin.000001' at XXX, the last byte read from 'master-bin.000001' at XXX.''
|
||||
include/stop_slave_sql.inc
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
|
|
|
|||
369
mysql-test/suite/rpl/r/rpl_mdev382.result
Normal file
369
mysql-test/suite/rpl/r/rpl_mdev382.result
Normal file
|
|
@ -0,0 +1,369 @@
|
|||
include/master-slave.inc
|
||||
[connection master]
|
||||
create table t1 (a int primary key) engine=innodb;
|
||||
create table t2 (a int primary key) engine=myisam;
|
||||
begin;
|
||||
insert into t1 values (1);
|
||||
SET sql_mode = 'ANSI_QUOTES';
|
||||
savepoint `a``; create database couldbebadthingshere; savepoint ``dummy`;
|
||||
insert into t1 values (2);
|
||||
insert into t2 values (1);
|
||||
SET sql_mode = '';
|
||||
rollback to savepoint `a``; create database couldbebadthingshere; savepoint ``dummy`;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
insert into t1 values (3);
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int primary key) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; create table t2 (a int primary key) engine=myisam
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 values (1)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
|
||||
master-bin.000001 # Query # # SAVEPOINT "a`; create database couldbebadthingshere; savepoint `dummy"
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (2)
|
||||
master-bin.000001 # Query # # ROLLBACK TO `a``; create database couldbebadthingshere; savepoint ``dummy`
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (3)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
BEGIN;
|
||||
insert into t1 values(10);
|
||||
set sql_mode = 'ANSI_QUOTES';
|
||||
set sql_quote_show_create = 1;
|
||||
savepoint a;
|
||||
insert into t1 values(11);
|
||||
savepoint "a""a";
|
||||
insert into t1 values(12);
|
||||
set sql_quote_show_create = 0;
|
||||
savepoint b;
|
||||
insert into t1 values(13);
|
||||
savepoint "b""b";
|
||||
insert into t1 values(14);
|
||||
set sql_mode = '';
|
||||
set sql_quote_show_create = 1;
|
||||
savepoint c;
|
||||
insert into t1 values(15);
|
||||
savepoint `c``c`;
|
||||
insert into t1 values(16);
|
||||
set sql_quote_show_create = 0;
|
||||
savepoint d;
|
||||
insert into t1 values(17);
|
||||
savepoint `d``d`;
|
||||
insert into t1 values(18);
|
||||
COMMIT;
|
||||
set sql_quote_show_create = 1;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(10)
|
||||
master-bin.000001 # Query # # SAVEPOINT "a"
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(11)
|
||||
master-bin.000001 # Query # # SAVEPOINT "a""a"
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(12)
|
||||
master-bin.000001 # Query # # SAVEPOINT b
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(13)
|
||||
master-bin.000001 # Query # # SAVEPOINT "b""b"
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(14)
|
||||
master-bin.000001 # Query # # SAVEPOINT `c`
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(15)
|
||||
master-bin.000001 # Query # # SAVEPOINT `c``c`
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(16)
|
||||
master-bin.000001 # Query # # SAVEPOINT d
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(17)
|
||||
master-bin.000001 # Query # # SAVEPOINT `d``d`
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(18)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
*** Test correct USE statement in SHOW BINLOG EVENTS ***
|
||||
set sql_mode = 'ANSI_QUOTES';
|
||||
CREATE DATABASE "db1`; SELECT 'oops!'";
|
||||
use "db1`; SELECT 'oops!'";
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
set sql_mode = '';
|
||||
INSERT INTO t1 VALUES (2);
|
||||
set sql_mode = 'ANSI_QUOTES';
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # CREATE DATABASE "db1`; SELECT 'oops!'"
|
||||
master-bin.000001 # Query # # use "db1`; SELECT 'oops!'"; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use "db1`; SELECT 'oops!'"; INSERT INTO t1 VALUES (1)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use "db1`; SELECT 'oops!'"; INSERT INTO t1 VALUES (2)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
set sql_mode = '';
|
||||
set sql_quote_show_create = 0;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # CREATE DATABASE "db1`; SELECT 'oops!'"
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; INSERT INTO t1 VALUES (1)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; INSERT INTO t1 VALUES (2)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
set sql_quote_show_create = 1;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # CREATE DATABASE "db1`; SELECT 'oops!'"
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; INSERT INTO t1 VALUES (1)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; INSERT INTO t1 VALUES (2)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
DROP TABLE t1;
|
||||
use test;
|
||||
***Test LOAD DATA INFILE with various identifiers that need correct quoting ***
|
||||
use `db1``; SELECT 'oops!'`;
|
||||
set timestamp=1000000000;
|
||||
CREATE TABLE `t``1` (`a``1` VARCHAR(4) PRIMARY KEY, `b``2` VARCHAR(3),
|
||||
`c``3` VARCHAR(7));
|
||||
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f''le.txt' INTO TABLE `t``1`
|
||||
FIELDS TERMINATED BY ',' ESCAPED BY '\\' ENCLOSED BY ''''
|
||||
LINES TERMINATED BY '\n'
|
||||
(`a``1`, @`b```) SET `b``2` = @`b```, `c``3` = concat('|', "b""a'z", "!");
|
||||
SELECT * FROM `t``1`;
|
||||
a`1 b`2 c`3
|
||||
fo\o bar |b"a'z!
|
||||
truncate `t``1`;
|
||||
use test;
|
||||
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f''le.txt'
|
||||
INTO TABLE `db1``; SELECT 'oops!'`.`t``1`
|
||||
FIELDS TERMINATED BY ',' ESCAPED BY '\\' ENCLOSED BY ''''
|
||||
LINES TERMINATED BY '\n'
|
||||
(`a``1`, `b``2`) SET `c``3` = concat('|', "b""a'z", "!");
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1`;
|
||||
a`1 b`2 c`3
|
||||
fo\o bar |b"a'z!
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; CREATE TABLE `t``1` (`a``1` VARCHAR(4) PRIMARY KEY, `b``2` VARCHAR(3),
|
||||
`c``3` VARCHAR(7))
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
|
||||
master-bin.000001 # Execute_load_query # # use `db1``; SELECT 'oops!'`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f\'le.txt' INTO TABLE `t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, @`b```) SET `b``2`= @`b```, `c``3`= concat('|', "b""a'z", "!") ;file_id=#
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; truncate `t``1`
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
|
||||
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/f\'le.txt' INTO TABLE `db1``; SELECT 'oops!'`.`t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, `b``2`) SET `c``3`= concat('|', "b""a'z", "!") ;file_id=#
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
use `db1``; SELECT 'oops!'`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
SET @@session.sql_mode=0/*!*/;
|
||||
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||
/*!\C latin1 *//*!*/;
|
||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||
SET @@session.lc_time_names=0/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
CREATE TABLE `t``1` (`a``1` VARCHAR(4) PRIMARY KEY, `b``2` VARCHAR(3),
|
||||
`c``3` VARCHAR(7))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE '<name>' INTO TABLE `t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, @`b```) SET `b``2`= @`b```, `c``3`= concat('|', "b""a'z", "!")
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
truncate `t``1`
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE '<name>' INTO TABLE `db1``; SELECT 'oops!'`.`t``1` FIELDS TERMINATED BY ',' ENCLOSED BY '\'' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a``1`, `b``2`) SET `c``3`= concat('|', "b""a'z", "!")
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
DELIMITER ;
|
||||
# End of log file
|
||||
ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1`;
|
||||
a`1 b`2 c`3
|
||||
fo\o bar |b"a'z!
|
||||
DROP TABLE `db1``; SELECT 'oops!'`.`t``1`;
|
||||
drop table t1,t2;
|
||||
*** Test truncation of long SET expression in LOAD DATA ***
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(1000));
|
||||
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/file.txt' INTO TABLE t1
|
||||
FIELDS TERMINATED BY ','
|
||||
(a, @b) SET b = CONCAT(@b, '| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|', @b);
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 X| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|X
|
||||
2 A| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|A
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
|
||||
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/file.txt' INTO TABLE `t1` FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @`b`) SET `b`= CONCAT(@b, '| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|', @b) ;file_id=#
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 X| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|X
|
||||
2 A| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|A
|
||||
DROP TABLE t1;
|
||||
*** Test user variables whose names require correct quoting ***
|
||||
use `db1``; SELECT 'oops!'`;
|
||||
CREATE TABLE t1 (a1 BIGINT PRIMARY KEY, a2 BIGINT, a3 BIGINT, a4 BIGINT UNSIGNED, b DOUBLE, c DECIMAL(65,10), d VARCHAR(100));
|
||||
INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,18446744073709551615,-1234560123456789e110, -1234501234567890123456789012345678901234567890123456789.0123456789, REPEAT("x", 100));
|
||||
SELECT @`a``1`:=a1, @`a``2`:=a2, @`a``3`:=a3, @`a``4`:=a4, @`b```:=b, @```c`:=c, @```d```:=d FROM t1;
|
||||
@`a``1`:=a1 @`a``2`:=a2 @`a``3`:=a3 @`a``4`:=a4 @`b```:=b @```c`:=c @```d```:=d
|
||||
-9223372036854775808 42 9223372036854775807 18446744073709551615 -1.234560123456789e125 -1234501234567890123456789012345678901234567890123456789.0123456789 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98));
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; CREATE TABLE t1 (a1 BIGINT PRIMARY KEY, a2 BIGINT, a3 BIGINT, a4 BIGINT UNSIGNED, b DOUBLE, c DECIMAL(65,10), d VARCHAR(100))
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,18446744073709551615,-1234560123456789e110, -1234501234567890123456789012345678901234567890123456789.0123456789, REPEAT("x", 100))
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # User var # # @`a``1`=-9223372036854775808
|
||||
master-bin.000001 # User var # # @`a``2`=42
|
||||
master-bin.000001 # User var # # @`a``3`=9223372036854775807
|
||||
master-bin.000001 # User var # # @`a``4`=18446744073709551615
|
||||
master-bin.000001 # User var # # @`b```=-1.234560123456789e125
|
||||
master-bin.000001 # User var # # @```c`=-1234501234567890123456789012345678901234567890123456789.0123456789
|
||||
master-bin.000001 # User var # # @```d```=_latin1 0x78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878 COLLATE latin1_swedish_ci
|
||||
master-bin.000001 # Query # # use `db1``; SELECT 'oops!'`; INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98))
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
use `db1``; SELECT 'oops!'`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
SET @@session.sql_mode=0/*!*/;
|
||||
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||
/*!\C latin1 *//*!*/;
|
||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||
SET @@session.lc_time_names=0/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
CREATE TABLE t1 (a1 BIGINT PRIMARY KEY, a2 BIGINT, a3 BIGINT, a4 BIGINT UNSIGNED, b DOUBLE, c DECIMAL(65,10), d VARCHAR(100))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,18446744073709551615,-1234560123456789e110, -1234501234567890123456789012345678901234567890123456789.0123456789, REPEAT("x", 100))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
SET @`a``1`:=-9223372036854775808/*!*/;
|
||||
SET @`a``2`:=42/*!*/;
|
||||
SET @`a``3`:=9223372036854775807/*!*/;
|
||||
SET @`a``4`:=18446744073709551615/*!*/;
|
||||
SET @`b```:=-1.2345601234568e+125/*!*/;
|
||||
SET @```c`:=-1234501234567890123456789012345678901234567890123456789.0123456789/*!*/;
|
||||
SET @```d```:=_latin1 0x78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878 COLLATE `latin1_swedish_ci`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
DELIMITER ;
|
||||
# End of log file
|
||||
ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.t1 ORDER BY a1;
|
||||
a1 a2 a3 a4 b c d
|
||||
-9223372036854775808 42 9223372036854775807 18446744073709551615 -1.234560123456789e125 -1234501234567890123456789012345678901234567890123456789.0123456789 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
-9223372036854775807 4200 9223372036854775806 18446744073709551614 -6.172800617283945e124 -1234501234567890123456789012345678901234567890123456789.0123456789 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
DROP TABLE t1;
|
||||
*** Test correct quoting in foreign key error message ***
|
||||
use `db1``; SELECT 'oops!'`;
|
||||
CREATE TABLE `t``1` ( `a``` INT PRIMARY KEY) ENGINE=innodb;
|
||||
CREATE TABLE `t``2` ( `b``` INT PRIMARY KEY, `c``` INT NOT NULL,
|
||||
FOREIGN KEY fk (`c```) REFERENCES `t``1`(`a```)) ENGINE=innodb;
|
||||
TRUNCATE `t``1`;
|
||||
ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`db1``; SELECT 'oops!'`.`t``2`, CONSTRAINT `INNODB_FOREIGN_KEY_NAME` FOREIGN KEY (`c```) REFERENCES `db1``; SELECT 'oops!'`.`t``1` (`a```))
|
||||
DROP TABLE `t``2`;
|
||||
DROP TABLE `t``1`;
|
||||
*** Test correct quoting of DELETE FROM statement binlogged for HEAP table that is emptied due to server restart
|
||||
include/stop_slave.inc
|
||||
CREATE TABLE `db1``; SELECT 'oops!'`.`t``1` (`a``` INT PRIMARY KEY) ENGINE=heap;
|
||||
INSERT INTO `db1``; SELECT 'oops!'`.`t``1` VALUES (1), (2), (5);
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1` ORDER BY 1;
|
||||
a`
|
||||
1
|
||||
2
|
||||
5
|
||||
set timestamp=1000000000;
|
||||
# The table should be empty on the master.
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1`;
|
||||
a`
|
||||
# The DELETE statement should be correctly quoted
|
||||
show binlog events in 'master-bin.000002' from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Query # # BEGIN
|
||||
master-bin.000002 # Query # # use `test`; DELETE FROM `db1``; SELECT 'oops!'`.`t``1`
|
||||
master-bin.000002 # Query # # COMMIT
|
||||
include/start_slave.inc
|
||||
# The table should be empty on the slave also.
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1`;
|
||||
a`
|
||||
DROP TABLE `db1``; SELECT 'oops!'`.`t``1`;
|
||||
use test;
|
||||
DROP DATABASE `db1``; SELECT 'oops!'`;
|
||||
*** Test correct quoting of mysqlbinlog --rewrite-db option ***
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY);
|
||||
INSERT INTO t1 VALUES(1);
|
||||
show binlog events in 'master-bin.000002' from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Query # # BEGIN
|
||||
master-bin.000002 # Query # # use `test`; INSERT INTO t1 VALUES(1)
|
||||
master-bin.000002 # Query # # COMMIT
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
SET @@session.sql_mode=0/*!*/;
|
||||
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||
/*!\C latin1 *//*!*/;
|
||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||
SET @@session.lc_time_names=0/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
use `ts``et`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
INSERT INTO t1 VALUES(1)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
DELIMITER ;
|
||||
# End of log file
|
||||
ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||
DROP TABLE t1;
|
||||
include/rpl_end.inc
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
include/master-slave.inc
|
||||
[connection master]
|
||||
call mtr.add_suppression("Slave I/O: Got a packet bigger than 'max_allowed_packet' bytes, Error_code: 1153");
|
||||
call mtr.add_suppression("Slave I/O: Got fatal error 1236 from master when reading data from binary log:");
|
||||
call mtr.add_suppression("Slave I/O: Got a packet bigger than 'slave_max_allowed_packet' bytes, Error_code: 1153");
|
||||
call mtr.add_suppression("Log entry on master is longer than slave_max_allowed_packet");
|
||||
drop database if exists DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
|
||||
create database DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
|
||||
SET @@global.max_allowed_packet=1024;
|
||||
|
|
@ -30,14 +30,14 @@ include/start_slave.inc
|
|||
CREATE TABLE `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
|
||||
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
|
||||
include/wait_for_slave_io_error.inc [errno=1153]
|
||||
Last_IO_Error = 'Got a packet bigger than 'max_allowed_packet' bytes'
|
||||
Last_IO_Error = 'Got a packet bigger than 'slave_max_allowed_packet' bytes'
|
||||
include/stop_slave_sql.inc
|
||||
include/rpl_reset.inc
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (f1 int PRIMARY KEY, f2 LONGTEXT, f3 LONGTEXT) ENGINE=MyISAM;
|
||||
INSERT INTO t1(f1, f2, f3) VALUES(1, REPEAT('a', @@global.max_allowed_packet), REPEAT('b', @@global.max_allowed_packet));
|
||||
include/wait_for_slave_io_error.inc [errno=1236]
|
||||
Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the first event '.' at XXX, the last event read from 'master-bin.000001' at XXX, the last byte read from 'master-bin.000001' at XXX.''
|
||||
include/wait_for_slave_io_error.inc [errno=1153]
|
||||
Last_IO_Error = 'Got a packet bigger than 'slave_max_allowed_packet' bytes'
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
RESET MASTER;
|
||||
|
|
@ -52,6 +52,7 @@ SET @@global.max_allowed_packet= 1024;
|
|||
Warnings:
|
||||
Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
|
||||
SET @@global.net_buffer_length= 1024;
|
||||
SET @@global.slave_max_allowed_packet= 1073741824;
|
||||
DROP TABLE t1;
|
||||
RESET SLAVE;
|
||||
include/rpl_end.inc
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ c1 c3 c4 c5
|
|||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
use test/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
|
|
@ -176,7 +176,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
use test/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
|
|
@ -287,7 +287,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
use test/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
|
|
@ -318,7 +318,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
use test/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
|
|
|
|||
|
|
@ -670,7 +670,7 @@ drop database if exists mysqltest1
|
|||
SET TIMESTAMP=t/*!*/;
|
||||
create database mysqltest1
|
||||
/*!*/;
|
||||
use mysqltest1/*!*/;
|
||||
use `mysqltest1`/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create table t1 (a varchar(100))
|
||||
/*!*/;
|
||||
|
|
@ -1015,7 +1015,7 @@ drop database mysqltest1
|
|||
SET TIMESTAMP=t/*!*/;
|
||||
drop user "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
use test/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop function if exists f1
|
||||
/*!*/;
|
||||
|
|
@ -1112,7 +1112,7 @@ create database mysqltest
|
|||
SET TIMESTAMP=t/*!*/;
|
||||
create database mysqltest2
|
||||
/*!*/;
|
||||
use mysqltest2/*!*/;
|
||||
use `mysqltest2`/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create table t ( t integer )
|
||||
/*!*/;
|
||||
|
|
@ -1139,7 +1139,7 @@ end
|
|||
SET TIMESTAMP=t/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
use mysqltest/*!*/;
|
||||
use `mysqltest`/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
SELECT `mysqltest2`.`f1`()
|
||||
/*!*/;
|
||||
|
|
@ -1152,14 +1152,14 @@ drop database mysqltest
|
|||
SET TIMESTAMP=t/*!*/;
|
||||
drop database mysqltest2
|
||||
/*!*/;
|
||||
use test/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `mysqltestbug36570_p1`()
|
||||
begin
|
||||
select 1;
|
||||
end
|
||||
/*!*/;
|
||||
use mysql/*!*/;
|
||||
use `mysql`/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`.` mysqltestbug36570_p2`( a int)
|
||||
`label`:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
include/master-slave.inc
|
||||
[connection master]
|
||||
# connection: slave
|
||||
SET @save_slave_net_timeout = @@GLOBAL.slave_net_timeout;
|
||||
STOP SLAVE;
|
||||
include/wait_for_slave_to_stop.inc
|
||||
# open an extra connection to the slave
|
||||
# connection: slave2
|
||||
# set debug synchronization point
|
||||
SET DEBUG_SYNC='fix_slave_net_timeout SIGNAL parked WAIT_FOR go';
|
||||
# attempt to set slave_net_timeout, will wait on sync point
|
||||
SET @@GLOBAL.slave_net_timeout = 100;
|
||||
# connection: slave
|
||||
SET DEBUG_SYNC='now WAIT_FOR parked';
|
||||
# connection: slave1
|
||||
# attempt to start the SQL thread
|
||||
START SLAVE SQL_THREAD;
|
||||
# connection: slave
|
||||
# wait until SQL thread has been started
|
||||
# sleep a bit so that the SQL thread THD handle is initialized
|
||||
# signal the set slave_net_timeout to continue
|
||||
SET DEBUG_SYNC='now SIGNAL go';
|
||||
# connection: slave2
|
||||
# reap result of set slave_net_timeout
|
||||
# connection: slave1
|
||||
# reap result of starting the SQL thread
|
||||
# disconnect: slave2
|
||||
# connection: slave
|
||||
# cleanup
|
||||
SET @@GLOBAL.slave_net_timeout = @save_slave_net_timeout;
|
||||
include/rpl_end.inc
|
||||
|
|
@ -4,7 +4,7 @@ DROP TABLE IF EXISTS t1;
|
|||
DROP TABLE IF EXISTS t2;
|
||||
DROP TABLE IF EXISTS t3;
|
||||
create table t1 (a int auto_increment, primary key (a), b int, rand_value double not null);
|
||||
create table t2 (a int auto_increment, primary key (a), b int);
|
||||
create table t2 (a int auto_increment, primary key (a), b int) engine=innodb;
|
||||
create table t3 (a int auto_increment, primary key (a), name varchar(64) not null, old_a int, old_b int, rand_value double not null);
|
||||
create trigger t1 before insert on t1 for each row
|
||||
begin
|
||||
|
|
@ -29,7 +29,7 @@ a b
|
|||
1 2
|
||||
3 0
|
||||
4 0
|
||||
5 0
|
||||
6 0
|
||||
500 0
|
||||
select a,name, old_a, old_b, truncate(rand_value,4) from t3;
|
||||
a name old_a old_b truncate(rand_value,4)
|
||||
|
|
@ -39,7 +39,7 @@ a name old_a old_b truncate(rand_value,4)
|
|||
103 t2 1 2 0.9164
|
||||
104 t2 3 0 0.8826
|
||||
105 t2 4 0 0.6635
|
||||
106 t2 5 0 0.6699
|
||||
106 t2 6 0 0.6699
|
||||
107 t2 500 0 0.3593
|
||||
|
||||
--- On slave --
|
||||
|
|
@ -52,7 +52,7 @@ a b
|
|||
1 2
|
||||
3 0
|
||||
4 0
|
||||
5 0
|
||||
6 0
|
||||
500 0
|
||||
select a,name, old_a, old_b, truncate(rand_value,4) from t3;
|
||||
a name old_a old_b truncate(rand_value,4)
|
||||
|
|
@ -62,7 +62,7 @@ a name old_a old_b truncate(rand_value,4)
|
|||
103 t2 1 2 0.9164
|
||||
104 t2 3 0 0.8826
|
||||
105 t2 4 0 0.6635
|
||||
106 t2 5 0 0.6699
|
||||
106 t2 6 0 0.6699
|
||||
107 t2 500 0 0.3593
|
||||
drop table t1,t2,t3;
|
||||
select get_lock("bug12480",2);
|
||||
|
|
|
|||
|
|
@ -215,21 +215,23 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|||
# be filtered as well.
|
||||
#
|
||||
connection master;
|
||||
CREATE TABLE test.t5 (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT); # ignored on slave
|
||||
# Although RAND() is from 0 to 1.0, DECIMAL(M,D), requires that M must be >= D.
|
||||
CREATE TABLE test.t5 (a INT AUTO_INCREMENT PRIMARY KEY, b DECIMAL(20,20), c INT); # ignored on slave
|
||||
CREATE TABLE test.t1 (a INT); # accepted on slave
|
||||
INSERT INTO test.t1 VALUES(1);
|
||||
|
||||
--sync_slave_with_master
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
|
||||
CREATE TABLE test.t_slave (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT);
|
||||
# Although RAND() is from 0 to 1.0, DECIMAL(M,D), requires that M must be >= D.
|
||||
CREATE TABLE test.t_slave (a INT AUTO_INCREMENT PRIMARY KEY, b DECIMAL(20,20), c INT);
|
||||
CREATE TRIGGER t1_update AFTER UPDATE ON test.t1 FOR EACH ROW
|
||||
INSERT INTO test.t_slave VALUES(NULL, ROUND(RAND() * 1000), @c);
|
||||
INSERT INTO test.t_slave VALUES(NULL, RAND(), @c);
|
||||
|
||||
connection master;
|
||||
SET INSERT_ID=2;
|
||||
SET @c=2;
|
||||
SET @@rand_seed1=10000000, @@rand_seed2=1000000;
|
||||
INSERT INTO t5 VALUES (NULL, ROUND(RAND() * 1000), @c); # to be ignored
|
||||
INSERT INTO t5 VALUES (NULL, RAND(), @c); # to be ignored
|
||||
SELECT b into @b FROM test.t5;
|
||||
--let $b_master=`select @b`
|
||||
UPDATE test.t1 SET a=2; # to run trigger on slave
|
||||
|
|
@ -253,10 +255,9 @@ if (`SELECT @a != 2 and @c != NULL`)
|
|||
SELECT b into @b FROM test.t_slave;
|
||||
--let $b_slave=`select @b`
|
||||
|
||||
if (`SELECT $b_slave = $b_master`)
|
||||
{
|
||||
--echo Might be pure coincidence of two randoms from master and slave table. Don not panic yet.
|
||||
}
|
||||
--let $assert_text= Random values from master and slave must be different
|
||||
--let $assert_cond= $b_master != $b_slave
|
||||
--source include/assert.inc
|
||||
|
||||
# cleanup BUG#11754117
|
||||
connection master;
|
||||
|
|
|
|||
265
mysql-test/suite/rpl/t/rpl_mdev382.test
Normal file
265
mysql-test/suite/rpl/t/rpl_mdev382.test
Normal file
|
|
@ -0,0 +1,265 @@
|
|||
--source include/have_innodb.inc
|
||||
--source include/have_binlog_format_statement.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
# MDEV-382: multiple SQL injections in replication code.
|
||||
|
||||
# Test previous SQL injection attack against binlog for SAVEPOINT statement.
|
||||
# The test would cause syntax error on slave due to improper quoting of
|
||||
# the savepoint name.
|
||||
connection master;
|
||||
create table t1 (a int primary key) engine=innodb;
|
||||
create table t2 (a int primary key) engine=myisam;
|
||||
|
||||
begin;
|
||||
insert into t1 values (1);
|
||||
SET sql_mode = 'ANSI_QUOTES';
|
||||
savepoint `a``; create database couldbebadthingshere; savepoint ``dummy`;
|
||||
insert into t1 values (2);
|
||||
insert into t2 values (1);
|
||||
SET sql_mode = '';
|
||||
rollback to savepoint `a``; create database couldbebadthingshere; savepoint ``dummy`;
|
||||
insert into t1 values (3);
|
||||
commit;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
# This failed due to syntax error in query when the bug was not fixed.
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
|
||||
# Test some more combinations of ANSI_QUOTES and sql_quote_show_create
|
||||
connection master;
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
BEGIN;
|
||||
insert into t1 values(10);
|
||||
set sql_mode = 'ANSI_QUOTES';
|
||||
set sql_quote_show_create = 1;
|
||||
savepoint a;
|
||||
insert into t1 values(11);
|
||||
savepoint "a""a";
|
||||
insert into t1 values(12);
|
||||
set sql_quote_show_create = 0;
|
||||
savepoint b;
|
||||
insert into t1 values(13);
|
||||
savepoint "b""b";
|
||||
insert into t1 values(14);
|
||||
set sql_mode = '';
|
||||
set sql_quote_show_create = 1;
|
||||
savepoint c;
|
||||
insert into t1 values(15);
|
||||
savepoint `c``c`;
|
||||
insert into t1 values(16);
|
||||
set sql_quote_show_create = 0;
|
||||
savepoint d;
|
||||
insert into t1 values(17);
|
||||
savepoint `d``d`;
|
||||
insert into t1 values(18);
|
||||
COMMIT;
|
||||
set sql_quote_show_create = 1;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo *** Test correct USE statement in SHOW BINLOG EVENTS ***
|
||||
connection master;
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
set sql_mode = 'ANSI_QUOTES';
|
||||
CREATE DATABASE "db1`; SELECT 'oops!'";
|
||||
use "db1`; SELECT 'oops!'";
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY) engine=MyISAM;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
set sql_mode = '';
|
||||
INSERT INTO t1 VALUES (2);
|
||||
set sql_mode = 'ANSI_QUOTES';
|
||||
--source include/show_binlog_events.inc
|
||||
set sql_mode = '';
|
||||
set sql_quote_show_create = 0;
|
||||
--source include/show_binlog_events.inc
|
||||
set sql_quote_show_create = 1;
|
||||
--source include/show_binlog_events.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
use test;
|
||||
|
||||
--echo ***Test LOAD DATA INFILE with various identifiers that need correct quoting ***
|
||||
|
||||
--let $load_file= $MYSQLTEST_VARDIR/tmp/f'le.txt
|
||||
--write_file $load_file
|
||||
'fo\\o','bar'
|
||||
EOF
|
||||
|
||||
use `db1``; SELECT 'oops!'`;
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
set timestamp=1000000000;
|
||||
CREATE TABLE `t``1` (`a``1` VARCHAR(4) PRIMARY KEY, `b``2` VARCHAR(3),
|
||||
`c``3` VARCHAR(7));
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/f''le.txt' INTO TABLE `t``1`
|
||||
FIELDS TERMINATED BY ',' ESCAPED BY '\\\\' ENCLOSED BY ''''
|
||||
LINES TERMINATED BY '\\n'
|
||||
(`a``1`, @`b```) SET `b``2` = @`b```, `c``3` = concat('|', "b""a'z", "!");
|
||||
|
||||
SELECT * FROM `t``1`;
|
||||
# Also test when code prefixes table name with database.
|
||||
truncate `t``1`;
|
||||
use test;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/f''le.txt'
|
||||
INTO TABLE `db1``; SELECT 'oops!'`.`t``1`
|
||||
FIELDS TERMINATED BY ',' ESCAPED BY '\\\\' ENCLOSED BY ''''
|
||||
LINES TERMINATED BY '\\n'
|
||||
(`a``1`, `b``2`) SET `c``3` = concat('|', "b""a'z", "!");
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1`;
|
||||
let $pos2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--replace_regex /LOCAL INFILE '.*SQL_LOAD.*' INTO/LOCAL INFILE '<name>' INTO/
|
||||
--exec $MYSQL_BINLOG --short-form --start-position=$binlog_start --stop-position=$pos2 $MYSQLD_DATADIR/master-bin.000001
|
||||
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1`;
|
||||
connection master;
|
||||
|
||||
DROP TABLE `db1``; SELECT 'oops!'`.`t``1`;
|
||||
--remove_file $load_file
|
||||
|
||||
connection master;
|
||||
drop table t1,t2;
|
||||
|
||||
|
||||
--echo *** Test truncation of long SET expression in LOAD DATA ***
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(1000));
|
||||
--let $load_file= $MYSQLTEST_VARDIR/tmp/file.txt
|
||||
--write_file $load_file
|
||||
1,X
|
||||
2,A
|
||||
EOF
|
||||
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
# The bug was that the SET expression was truncated to 256 bytes, so test with
|
||||
# an expression longer than that.
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval LOAD DATA INFILE '$load_file' INTO TABLE t1
|
||||
FIELDS TERMINATED BY ','
|
||||
(a, @b) SET b = CONCAT(@b, '| 123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789123456789T123456789U123456789V123456789W123456789X123456789Y123456789Z123456789|', @b);
|
||||
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
|
||||
connection master;
|
||||
--remove_file $load_file
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo *** Test user variables whose names require correct quoting ***
|
||||
use `db1``; SELECT 'oops!'`;
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
CREATE TABLE t1 (a1 BIGINT PRIMARY KEY, a2 BIGINT, a3 BIGINT, a4 BIGINT UNSIGNED, b DOUBLE, c DECIMAL(65,10), d VARCHAR(100));
|
||||
INSERT INTO t1 VALUES (-9223372036854775808,42,9223372036854775807,18446744073709551615,-1234560123456789e110, -1234501234567890123456789012345678901234567890123456789.0123456789, REPEAT("x", 100));
|
||||
SELECT @`a``1`:=a1, @`a``2`:=a2, @`a``3`:=a3, @`a``4`:=a4, @`b```:=b, @```c`:=c, @```d```:=d FROM t1;
|
||||
INSERT INTO t1 VALUES (@`a``1`+1, @`a``2`*100, @`a``3`-1, @`a``4`-1, @`b```/2, @```c`, substr(@```d```, 2, 98));
|
||||
let $pos2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--exec $MYSQL_BINLOG --short-form --start-position=$binlog_start --stop-position=$pos2 $MYSQLD_DATADIR/master-bin.000001
|
||||
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.t1 ORDER BY a1;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo *** Test correct quoting in foreign key error message ***
|
||||
use `db1``; SELECT 'oops!'`;
|
||||
CREATE TABLE `t``1` ( `a``` INT PRIMARY KEY) ENGINE=innodb;
|
||||
CREATE TABLE `t``2` ( `b``` INT PRIMARY KEY, `c``` INT NOT NULL,
|
||||
FOREIGN KEY fk (`c```) REFERENCES `t``1`(`a```)) ENGINE=innodb;
|
||||
--replace_regex /t@[0-9]+_ibfk_[0-9]+/INNODB_FOREIGN_KEY_NAME/
|
||||
--error ER_TRUNCATE_ILLEGAL_FK
|
||||
TRUNCATE `t``1`;
|
||||
DROP TABLE `t``2`;
|
||||
DROP TABLE `t``1`;
|
||||
|
||||
|
||||
--echo *** Test correct quoting of DELETE FROM statement binlogged for HEAP table that is emptied due to server restart
|
||||
|
||||
# Let's keep the slave stopped during master restart, to avoid any potential
|
||||
# races between slave reconnect and master restart.
|
||||
connection slave;
|
||||
--source include/stop_slave.inc
|
||||
|
||||
connection master;
|
||||
CREATE TABLE `db1``; SELECT 'oops!'`.`t``1` (`a``` INT PRIMARY KEY) ENGINE=heap;
|
||||
INSERT INTO `db1``; SELECT 'oops!'`.`t``1` VALUES (1), (2), (5);
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1` ORDER BY 1;
|
||||
|
||||
# Restart the master mysqld.
|
||||
# This will cause an implicit truncation of the memory-based table, which will
|
||||
# cause logging of an explicit DELETE FROM to binlog.
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
wait-rpl_mdev382.test
|
||||
EOF
|
||||
|
||||
--shutdown_server 30
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart-rpl_mdev382.test
|
||||
EOF
|
||||
|
||||
connection default;
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
# rpl_end.inc needs to use the connection server_1
|
||||
connection server_1;
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
connection master;
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
set timestamp=1000000000;
|
||||
|
||||
--echo # The table should be empty on the master.
|
||||
let $binlog_file= master-bin.000002;
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1`;
|
||||
|
||||
--echo # The DELETE statement should be correctly quoted
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
connection slave;
|
||||
--source include/start_slave.inc
|
||||
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
--echo # The table should be empty on the slave also.
|
||||
SELECT * FROM `db1``; SELECT 'oops!'`.`t``1`;
|
||||
|
||||
connection master;
|
||||
DROP TABLE `db1``; SELECT 'oops!'`.`t``1`;
|
||||
sync_slave_with_master;
|
||||
|
||||
|
||||
connection master;
|
||||
use test;
|
||||
DROP DATABASE `db1``; SELECT 'oops!'`;
|
||||
|
||||
--echo *** Test correct quoting of mysqlbinlog --rewrite-db option ***
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY);
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
INSERT INTO t1 VALUES(1);
|
||||
--source include/show_binlog_events.inc
|
||||
let $pos2= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
--exec $MYSQL_BINLOG --short-form --start-position=$binlog_start --stop-position=$pos2 --rewrite-db='test->ts`et' $MYSQLD_DATADIR/master-bin.000002
|
||||
DROP TABLE t1;
|
||||
|
||||
--source include/rpl_end.inc
|
||||
|
|
@ -1 +1 @@
|
|||
--max_allowed_packet=1024 --net_buffer_length=1024
|
||||
--max_allowed_packet=1024 --net_buffer_length=1024 --slave_max_allowed_packet=1024
|
||||
|
|
|
|||
|
|
@ -11,9 +11,8 @@
|
|||
# max-out size db name
|
||||
source include/master-slave.inc;
|
||||
source include/have_binlog_format_row.inc;
|
||||
call mtr.add_suppression("Slave I/O: Got a packet bigger than 'max_allowed_packet' bytes, Error_code: 1153");
|
||||
call mtr.add_suppression("Slave I/O: Got fatal error 1236 from master when reading data from binary log:");
|
||||
|
||||
call mtr.add_suppression("Slave I/O: Got a packet bigger than 'slave_max_allowed_packet' bytes, Error_code: 1153");
|
||||
call mtr.add_suppression("Log entry on master is longer than slave_max_allowed_packet");
|
||||
let $db= DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
|
||||
disable_warnings;
|
||||
eval drop database if exists $db;
|
||||
|
|
@ -23,6 +22,7 @@ eval create database $db;
|
|||
connection master;
|
||||
let $old_max_allowed_packet= `SELECT @@global.max_allowed_packet`;
|
||||
let $old_net_buffer_length= `SELECT @@global.net_buffer_length`;
|
||||
let $old_slave_max_allowed_packet= `SELECT @@global.slave_max_allowed_packet`;
|
||||
SET @@global.max_allowed_packet=1024;
|
||||
SET @@global.net_buffer_length=1024;
|
||||
|
||||
|
|
@ -123,11 +123,9 @@ INSERT INTO t1(f1, f2, f3) VALUES(1, REPEAT('a', @@global.max_allowed_packet), R
|
|||
|
||||
connection slave;
|
||||
# The slave I/O thread must stop after receiving
|
||||
# 1236=ER_MASTER_FATAL_ERROR_READING_BINLOG error message from master.
|
||||
--let $slave_io_errno= 1236
|
||||
|
||||
# Mask line numbers
|
||||
--let $slave_io_error_replace= / at [0-9]*/ at XXX/
|
||||
# 1153 = ER_NET_PACKET_TOO_LARGE
|
||||
--let $slave_io_errno= 1153
|
||||
--let $show_slave_io_error= 1
|
||||
--source include/wait_for_slave_io_error.inc
|
||||
|
||||
# Remove the bad binlog and clear error status on slave.
|
||||
|
|
@ -167,6 +165,7 @@ connection master;
|
|||
DROP TABLE t1;
|
||||
eval SET @@global.max_allowed_packet= $old_max_allowed_packet;
|
||||
eval SET @@global.net_buffer_length= $old_net_buffer_length;
|
||||
eval SET @@global.slave_max_allowed_packet= $old_slave_max_allowed_packet;
|
||||
# slave is stopped
|
||||
connection slave;
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
source include/have_debug_sync.inc;
|
||||
source include/master-slave.inc;
|
||||
|
||||
--echo # connection: slave
|
||||
connection slave;
|
||||
SET @save_slave_net_timeout = @@GLOBAL.slave_net_timeout;
|
||||
STOP SLAVE;
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
|
||||
--echo # open an extra connection to the slave
|
||||
connect(slave2,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
||||
--echo # connection: slave2
|
||||
--echo # set debug synchronization point
|
||||
SET DEBUG_SYNC='fix_slave_net_timeout SIGNAL parked WAIT_FOR go';
|
||||
--echo # attempt to set slave_net_timeout, will wait on sync point
|
||||
--send SET @@GLOBAL.slave_net_timeout = 100
|
||||
|
||||
--echo # connection: slave
|
||||
connection slave;
|
||||
SET DEBUG_SYNC='now WAIT_FOR parked';
|
||||
|
||||
--echo # connection: slave1
|
||||
connection slave1;
|
||||
--echo # attempt to start the SQL thread
|
||||
--send START SLAVE SQL_THREAD
|
||||
|
||||
--echo # connection: slave
|
||||
connection slave;
|
||||
--echo # wait until SQL thread has been started
|
||||
let $wait_condition=
|
||||
select count(*) = 1 from information_schema.processlist
|
||||
where state = "Waiting for slave thread to start" and info = "START SLAVE SQL_THREAD";
|
||||
--source include/wait_condition.inc
|
||||
--echo # sleep a bit so that the SQL thread THD handle is initialized
|
||||
sleep 2;
|
||||
--echo # signal the set slave_net_timeout to continue
|
||||
SET DEBUG_SYNC='now SIGNAL go';
|
||||
|
||||
--echo # connection: slave2
|
||||
connection slave2;
|
||||
--echo # reap result of set slave_net_timeout
|
||||
--reap
|
||||
|
||||
--echo # connection: slave1
|
||||
connection slave1;
|
||||
--echo # reap result of starting the SQL thread
|
||||
--reap
|
||||
|
||||
--echo # disconnect: slave2
|
||||
disconnect slave2;
|
||||
|
||||
--echo # connection: slave
|
||||
connection slave;
|
||||
--echo # cleanup
|
||||
SET @@GLOBAL.slave_net_timeout = @save_slave_net_timeout;
|
||||
|
||||
source include/rpl_end.inc;
|
||||
|
|
@ -3,13 +3,10 @@
|
|||
# Adding statement include due to Bug 12574
|
||||
# TODO: Remove statement include once 12574 is patched
|
||||
--source include/have_binlog_format_mixed_or_statement.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/master-slave.inc
|
||||
--source include/have_innodb.inc
|
||||
connection slave;
|
||||
--source include/have_innodb.inc
|
||||
connection master;
|
||||
|
||||
|
||||
disable_query_log;
|
||||
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
|
||||
enable_query_log;
|
||||
|
|
@ -26,7 +23,7 @@ DROP TABLE IF EXISTS t3;
|
|||
#
|
||||
|
||||
create table t1 (a int auto_increment, primary key (a), b int, rand_value double not null);
|
||||
create table t2 (a int auto_increment, primary key (a), b int);
|
||||
create table t2 (a int auto_increment, primary key (a), b int) engine=innodb;
|
||||
create table t3 (a int auto_increment, primary key (a), name varchar(64) not null, old_a int, old_b int, rand_value double not null);
|
||||
|
||||
delimiter |;
|
||||
|
|
|
|||
11
mysql-test/suite/storage_engine/1st.result
Normal file
11
mysql-test/suite/storage_engine/1st.result
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
SHOW CREATE TABLE t1;
|
||||
SHOW COLUMNS IN t1;
|
||||
INSERT INTO t1 VALUES (1,'a');
|
||||
INSERT INTO t1 (a,b) VALUES (2,'b');
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
DROP TABLE t1;
|
||||
81
mysql-test/suite/storage_engine/1st.test
Normal file
81
mysql-test/suite/storage_engine/1st.test
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# This test checks some very basic capabilities
|
||||
# which will be used in almost every other test,
|
||||
# and will not be checked through support* variables.
|
||||
# If this test does not pass, there is no point
|
||||
# at executing other ones.
|
||||
#
|
||||
# Minimal requirements:
|
||||
# - supported column types: INT, CHAR (default CHAR(8), INT(11));
|
||||
# - column attributes as declared in define_engine.inc ($default_col_opts)
|
||||
# (by default empty, which means no additional attributes apart from the type);
|
||||
# - table attributes as declared in define_engine.inc ($default_tbl_opts)
|
||||
# (by default empty, which means no additional attributes apart from ENGINE);
|
||||
# - CREATE TABLE .. (column1 <column options>, column2 <column options>) ENGINE=<storage_engine>;
|
||||
# - INSERT INTO TABLE .. VALUES (val1,val2);
|
||||
# - DROP TABLE ..
|
||||
# - SELECT * FROM ..
|
||||
# - SHOW CREATE TABLE ..
|
||||
# - SHOW COLUMNS IN ...
|
||||
#
|
||||
|
||||
--source have_engine.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = CREATE TABLE
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
--disable_result_log
|
||||
SHOW CREATE TABLE t1;
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = SHOW CREATE TABLE
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
SHOW COLUMNS IN t1;
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = SHOW COLUMNS
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
--enable_result_log
|
||||
|
||||
INSERT INTO t1 VALUES (1,'a');
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = INSERT INTO .. VALUES
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (2,'b');
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = INSERT INTO .. (column_list) VALUES
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
SELECT * FROM t1;
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = SELECT * FROM ..
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
DROP TABLE t1;
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = DROP TABLE
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
}
|
||||
--source cleanup_engine.inc
|
||||
|
||||
91
mysql-test/suite/storage_engine/alter_table.inc
Normal file
91
mysql-test/suite/storage_engine/alter_table.inc
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
##################################
|
||||
#
|
||||
# This include file will be used for all ALTER TABLE statements in the suite.
|
||||
# If you need to add additional steps or change the logic, copy the file
|
||||
# to storage/<engine>/mysql-test/storage_engine/ folder and modify it there.
|
||||
#
|
||||
##################
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# --let $alter_definition = <alter definition> # mandatory, everything that goes after the table name in ALTER statement
|
||||
# --let $table_name = <table name> # optional, default t1
|
||||
# --let $error_codes = <expected error codes, as in --error> # optional, default 0
|
||||
# --let $online = [0|1] # optional, default 0 (1 adds ONLINE)
|
||||
# --let $rename_to = <new table name> # optional, default empty.
|
||||
# # If set, means we are running RENAME TO, then alter definition is ignored
|
||||
#
|
||||
# Usage examples:
|
||||
#
|
||||
# --let $alter_definition = ADD COLUMN b $char_col DEFAULT ''
|
||||
#
|
||||
|
||||
if ($rename_to)
|
||||
{
|
||||
--let $alter_definition = RENAME TO $rename_to
|
||||
}
|
||||
|
||||
if (!$alter_definition)
|
||||
{
|
||||
--die # The ALTER statement is empty
|
||||
}
|
||||
|
||||
--let $alter_statement = ALTER
|
||||
|
||||
if ($online)
|
||||
{
|
||||
--let $alter_statement = $alter_statement ONLINE
|
||||
}
|
||||
|
||||
if (!$table_name)
|
||||
{
|
||||
--let $table_name = t1
|
||||
}
|
||||
|
||||
--let $alter_statement = $alter_statement TABLE $table_name $alter_definition
|
||||
|
||||
|
||||
# We now have the complete ALTER statement in $alter_statement.
|
||||
# If your ALTER statement should be composed differently,
|
||||
# modify the logic above.
|
||||
|
||||
#####################
|
||||
# Here you can add logic needed BEFORE the main statement
|
||||
# (e.g. base tables need to be altered, etc.).
|
||||
# Surround it by --disable_query_log/--enable_query_log
|
||||
# if you don't want it to appear in the result output.
|
||||
#####################
|
||||
|
||||
--source obfuscate.inc
|
||||
|
||||
eval $alter_statement;
|
||||
--source check_errors.inc
|
||||
|
||||
# Make sure you don't add any statements between the main ALTER (above)
|
||||
# and saving mysql_errno and mysql_errname (below)
|
||||
# They are saved in case you want to add more logic after the main ALTER,
|
||||
# because we need the result code of the statement.
|
||||
# Also, do not change $alter_statement after it is executed!
|
||||
|
||||
--let $my_errno = $mysql_errno
|
||||
--let $my_errname = $mysql_errname
|
||||
|
||||
#####################
|
||||
# Here you can add logic needed AFTER the main statement.
|
||||
# Surround it by --disable_query_log/--enable_query_log
|
||||
# if you don't want it to appear in the result output.
|
||||
#####################
|
||||
|
||||
# Unset the parameters, we don't want them to be accidentally reused later
|
||||
--let $alter_definition =
|
||||
--let $table_name =
|
||||
--let $error_codes =
|
||||
--let $online = 0
|
||||
--let $rename_to =
|
||||
|
||||
# Restore the error codes of the main statement
|
||||
--let $mysql_errno = $my_errno
|
||||
--let $mysql_errname = $my_errname
|
||||
# Make sure you don't add any SQL statements after restoring
|
||||
# mysql_errno and mysql_errname (above)
|
||||
|
||||
147
mysql-test/suite/storage_engine/alter_table.result
Normal file
147
mysql-test/suite/storage_engine/alter_table.result
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
DROP TABLE IF EXISTS t1, t2;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, c <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a,c) VALUES (1,'a'),(5,'z');
|
||||
ALTER TABLE t1 ADD COLUMN b <INT_COLUMN>;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`c` char(8) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 ALTER COLUMN a SET DEFAULT '0';
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT '0',
|
||||
`c` char(8) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 ALTER a DROP DEFAULT;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11),
|
||||
`c` char(8) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 CHANGE COLUMN b b1 <CHAR_COLUMN> FIRST;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`b1` char(8) DEFAULT NULL,
|
||||
`a` int(11),
|
||||
`c` char(8) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 CHANGE b1 b <INT_COLUMN> AFTER c;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11),
|
||||
`c` char(8) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 CHANGE b b <CHAR_COLUMN>;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11),
|
||||
`c` char(8) DEFAULT NULL,
|
||||
`b` char(8) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 MODIFY COLUMN b <INT_COLUMN>;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11),
|
||||
`c` char(8) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 MODIFY COLUMN b <CHAR_COLUMN> FIRST;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`b` char(8) DEFAULT NULL,
|
||||
`a` int(11),
|
||||
`c` char(8) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 MODIFY COLUMN b <INT_COLUMN> AFTER a;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11),
|
||||
`b` int(11) DEFAULT NULL,
|
||||
`c` char(8) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11),
|
||||
`c` char(8) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 RENAME TO t2;
|
||||
SHOW CREATE TABLE t1;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` int(11),
|
||||
`c` char(8) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
DROP TABLE t2;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a,b) VALUES (1,5),(2,2),(4,3);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 ORDER BY b ASC, a DESC;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
2 2
|
||||
4 3
|
||||
1 5
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>, c <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> CHARACTER SET latin1 COLLATE latin1_general_cs;
|
||||
INSERT INTO t1 (a,b,c) VALUES (5,'z','t');
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` char(8) COLLATE latin1_general_cs DEFAULT NULL,
|
||||
`c` char(8) COLLATE latin1_general_cs DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs
|
||||
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` char(8) DEFAULT NULL,
|
||||
`c` char(8) DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=utf8
|
||||
ALTER TABLE t1 DEFAULT CHARACTER SET = latin1 COLLATE latin1_general_ci;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` char(8) CHARACTER SET utf8 DEFAULT NULL,
|
||||
`c` char(8) CHARACTER SET utf8 DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
|
||||
ALTER TABLE t1 FORCE;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` char(8) CHARACTER SET utf8 DEFAULT NULL,
|
||||
`c` char(8) CHARACTER SET utf8 DEFAULT NULL
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
|
||||
DROP TABLE t1;
|
||||
148
mysql-test/suite/storage_engine/alter_table.test
Normal file
148
mysql-test/suite/storage_engine/alter_table.test
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
#
|
||||
# Basic ALTER TABLE statements.
|
||||
#
|
||||
# USAGE of table options in ALTER statements
|
||||
# is covered in tbl_standard_opts and tbl_opt*.tests.
|
||||
#
|
||||
# Index operations are covered in index* tests.
|
||||
#
|
||||
# ALTER ONLINE syntax is covered in alter_online_table.test
|
||||
# ALTER OFFLINE is not covered as it is not supported, as of 5.5.23
|
||||
#
|
||||
# ALTER TABLE ... DISCARD|IMPORT TABLESPACE is covered in alter_tablespace.test
|
||||
#
|
||||
|
||||
--source have_engine.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
--let $create_definition = a $int_col, c $char_col
|
||||
--source create_table.inc
|
||||
INSERT INTO t1 (a,c) VALUES (1,'a'),(5,'z');
|
||||
|
||||
# Column operations
|
||||
|
||||
--let $alter_definition = ADD COLUMN b $int_col
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = ALTER COLUMN a SET DEFAULT '0'
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = ALTER a DROP DEFAULT
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = CHANGE COLUMN b b1 $char_col FIRST
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = CHANGE b1 b $int_col AFTER c
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = CHANGE b b $char_col
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = MODIFY COLUMN b $int_col
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = MODIFY COLUMN b $char_col FIRST
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = MODIFY COLUMN b $int_col AFTER a
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = DROP COLUMN b
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
|
||||
# Rename table
|
||||
|
||||
--let $rename_to = t2
|
||||
--source alter_table.inc
|
||||
--let $error_codes = ER_NO_SUCH_TABLE
|
||||
SHOW CREATE TABLE t1;
|
||||
--source check_errors.inc
|
||||
if ($mysql_errname != 'ER_NO_SUCH_TABLE')
|
||||
{
|
||||
--let $functionality = ALTER TABLE
|
||||
--source unexpected_result.inc
|
||||
DROP TABLE t1;
|
||||
}
|
||||
if ($mysql_errname == ER_NO_SUCH_TABLE)
|
||||
{
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t2;
|
||||
DROP TABLE t2;
|
||||
}
|
||||
|
||||
# ORDER BY
|
||||
--let $create_definition = a $int_col, b $int_col
|
||||
--source create_table.inc
|
||||
INSERT INTO t1 (a,b) VALUES (1,5),(2,2),(4,3);
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = ORDER BY b ASC, a DESC
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
# Character set, collate
|
||||
|
||||
--let $table_options = CHARACTER SET latin1 COLLATE latin1_general_cs
|
||||
--let $create_definition = a $int_col, b $char_col, c $char_col
|
||||
--source create_table.inc
|
||||
INSERT INTO t1 (a,b,c) VALUES (5,'z','t');
|
||||
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = CONVERT TO CHARACTER SET utf8
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
--let $alter_definition = DEFAULT CHARACTER SET = latin1 COLLATE latin1_general_ci
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
# A 'null' ALTER operation
|
||||
|
||||
--let $alter_definition = FORCE
|
||||
--source alter_table.inc
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
# Cleanup
|
||||
DROP TABLE t1;
|
||||
|
||||
--source cleanup_engine.inc
|
||||
|
||||
35
mysql-test/suite/storage_engine/alter_table_online.result
Normal file
35
mysql-test/suite/storage_engine/alter_table_online.result
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
DROP TABLE IF EXISTS t1,t2,t3;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN>, c <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a,b,c) VALUES (1,100,'a'),(2,200,'b'),(3,300,'c');
|
||||
ALTER ONLINE TABLE t1 MODIFY b <INT_COLUMN> DEFAULT 5;
|
||||
ALTER ONLINE TABLE t1 CHANGE b new_name <INT_COLUMN>;
|
||||
ALTER ONLINE TABLE t1 COMMENT 'new comment';
|
||||
ALTER ONLINE TABLE t1 RENAME TO t2;
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TEMPORARY TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c');
|
||||
ALTER ONLINE TABLE t1 MODIFY b <INT_COLUMN> DEFAULT 5;
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
ALTER ONLINE TABLE t1 CHANGE b new_name <INT_COLUMN>;
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
ALTER ONLINE TABLE t1 COMMENT 'new comment';
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
ALTER ONLINE TABLE t1 RENAME TO t2;
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN>, c <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a,b,c) VALUES (1,100,'a'),(2,200,'b'),(3,300,'c');
|
||||
ALTER ONLINE TABLE t1 DROP COLUMN b, ADD b <INT_COLUMN>;
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
ALTER ONLINE TABLE t1 MODIFY b BIGINT <CUSTOM_COL_OPTIONS>;
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
ALTER ONLINE TABLE t1 ENGINE=MEMORY;
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN>, c <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
ALTER ONLINE TABLE t1 ADD INDEX (b);
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
ALTER TABLE t1 ADD INDEX (b);
|
||||
ALTER ONLINE TABLE t1 DROP INDEX b;
|
||||
ERROR HY000: Can't execute the given 'ALTER' command as online
|
||||
DROP TABLE t1;
|
||||
160
mysql-test/suite/storage_engine/alter_table_online.test
Normal file
160
mysql-test/suite/storage_engine/alter_table_online.test
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
#
|
||||
# ALTER ONLINE TABLE
|
||||
#
|
||||
|
||||
--source have_engine.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1,t2,t3;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# Test of things that can be done online
|
||||
# We are repeating notification here, because for some engines
|
||||
# only a part of these ALTER ONLINE statements might be supported.
|
||||
#
|
||||
|
||||
let $create_definition = a $int_col, b $int_col, c $char_col;
|
||||
--source create_table.inc
|
||||
|
||||
INSERT INTO t1 (a,b,c) VALUES (1,100,'a'),(2,200,'b'),(3,300,'c');
|
||||
|
||||
--let $online = 1
|
||||
--let $alter_definition = MODIFY b $int_col DEFAULT 5
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
--let $online = 1
|
||||
--let $alter_definition = CHANGE b new_name $int_col
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
--let $online = 1
|
||||
--let $alter_definition = COMMENT 'new comment'
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
--let $online = 1
|
||||
--let $rename_to = t2
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--source unexpected_result.inc
|
||||
DROP TABLE t1;
|
||||
}
|
||||
DROP TABLE IF EXISTS t2;
|
||||
|
||||
#
|
||||
# temporary tables always require a copy
|
||||
#
|
||||
|
||||
--let $temporary = 1
|
||||
--source create_table.inc
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c');
|
||||
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $alter_definition = MODIFY b $int_col DEFAULT 5
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname != ER_CANT_DO_ONLINE)
|
||||
{
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $alter_definition = CHANGE b new_name $int_col
|
||||
--source alter_table.inc
|
||||
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $alter_definition = COMMENT 'new comment'
|
||||
--source alter_table.inc
|
||||
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $rename_to = t2
|
||||
--source alter_table.inc
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Test of things that is not possible to do online
|
||||
#
|
||||
|
||||
--let $create_definition = a $int_col, b $int_col, c $char_col
|
||||
--source create_table.inc
|
||||
|
||||
INSERT INTO t1 (a,b,c) VALUES (1,100,'a'),(2,200,'b'),(3,300,'c');
|
||||
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $alter_definition = DROP COLUMN b, ADD b $int_col
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname!=ER_CANT_DO_ONLINE)
|
||||
{
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $alter_definition = MODIFY b BIGINT $default_col_opts
|
||||
--source alter_table.inc
|
||||
|
||||
--let $alternative_engine = `SELECT engine FROM information_schema.engines WHERE engine != '$storage_engine' AND support IN ('YES','DEFAULT')`
|
||||
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $alter_definition = ENGINE=$alternative_engine
|
||||
--source alter_table.inc
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--let $create_definition = a $int_col, b $int_indexed_col, c $char_col
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = Column options
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $alter_definition = ADD INDEX (b)
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname!=ER_CANT_DO_ONLINE)
|
||||
{
|
||||
--let $functionality = Adding an index or ALTER ONLINE
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
--let $alter_definition = ADD INDEX (b)
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = Adding an index or ALTER TABLE
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
--let $error_codes = ER_CANT_DO_ONLINE
|
||||
--let $online = 1
|
||||
--let $alter_definition = DROP INDEX b
|
||||
--source alter_table.inc
|
||||
}
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
--source cleanup_engine.inc
|
||||
19
mysql-test/suite/storage_engine/alter_tablespace.result
Normal file
19
mysql-test/suite/storage_engine/alter_tablespace.result
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
DROP TABLE IF EXISTS t1, t2;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a) VALUES (1),(2);
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Got error -1 from storage engine
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
DROP TABLE t1;
|
||||
91
mysql-test/suite/storage_engine/alter_tablespace.test
Normal file
91
mysql-test/suite/storage_engine/alter_tablespace.test
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
#
|
||||
# IMPORT / DISCARD TABLESPACE
|
||||
#
|
||||
# The test might require additional engine options,
|
||||
# e.g. for InnoDB it is --innodb-file-per-table
|
||||
|
||||
--source have_engine.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
--let $create_definition = a $int_col
|
||||
--source create_table.inc
|
||||
|
||||
--let $alter_definition = DISCARD TABLESPACE
|
||||
|
||||
--source alter_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $my_last_stmt = $alter_statement
|
||||
--let $functionality = Tablespace operations
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
DROP TABLE t1;
|
||||
|
||||
--let $create_definition = a $int_col
|
||||
--source create_table.inc
|
||||
INSERT INTO t1 (a) VALUES (1),(2);
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
|
||||
# http://dev.mysql.com/doc/mysql-enterprise-backup/3.5/en/partial.restoring.single.html
|
||||
# To get a "clean" backup we need to either use innobackup, or to monitor show engine innodb status,
|
||||
# and the documented conditions do not look exactly feasible. So, we will go a simple way:
|
||||
# just restart the server, and take the backup while the server is down.
|
||||
# (And we need to have a really clean backup, see MySQL:65429 / LP:1004910)
|
||||
|
||||
--let $datadir = `SELECT @@datadir`
|
||||
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
wait
|
||||
EOF
|
||||
|
||||
--enable_reconnect
|
||||
--shutdown_server 60
|
||||
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
--replace_result $datadir <DATADIR>
|
||||
--copy_file $datadir/test/t1.ibd $datadir/test/t1.ibd.save
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
--let $alter_definition = DISCARD TABLESPACE
|
||||
--source alter_table.inc
|
||||
|
||||
--let $error_codes = ER_GET_ERRNO
|
||||
SELECT * FROM t1;
|
||||
--source check_errors.inc
|
||||
if ($mysql_errname != ER_GET_ERRNO)
|
||||
{
|
||||
--let $functionality = Tablespace operations
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
|
||||
--move_file $datadir/test/t1.ibd.save $datadir/test/t1.ibd
|
||||
--let $alter_definition = IMPORT TABLESPACE
|
||||
--source alter_table.inc
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
|
||||
# Adding a warning suppression based on what InnoDB currently does
|
||||
# when it attempts to access a table without an *.ibd file
|
||||
--disable_query_log
|
||||
eval CALL mtr.add_suppression('$storage_engine: Error:.*');
|
||||
--enable_query_log
|
||||
}
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--source cleanup_engine.inc
|
||||
|
||||
43
mysql-test/suite/storage_engine/analyze_table.inc
Normal file
43
mysql-test/suite/storage_engine/analyze_table.inc
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#
|
||||
# ANALYZE TABLE statements
|
||||
#
|
||||
# Note: the output is likely to be different for the engine under test,
|
||||
# in which case rdiff will be needed. Or, the output might say that
|
||||
# the storage engine does not support ANALYZE.
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1,t2;
|
||||
--enable_warnings
|
||||
|
||||
--let $create_definition = a $int_col, b $char_col
|
||||
--source create_table.inc
|
||||
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
|
||||
--let $create_definition = a $int_col, b $char_col
|
||||
--let $table_name = t2
|
||||
--source create_table.inc
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (3,'c');
|
||||
ANALYZE TABLE t1;
|
||||
INSERT INTO t2 (a,b) VALUES (4,'d');
|
||||
ANALYZE NO_WRITE_TO_BINLOG TABLE t2;
|
||||
INSERT INTO t1 (a,b) VALUES (5,'e');
|
||||
INSERT INTO t2 (a,b) VALUES (6,'f');
|
||||
ANALYZE LOCAL TABLE t1, t2;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--let $continue = 1
|
||||
--source have_default_index.inc
|
||||
|
||||
if ($have_default_index)
|
||||
{
|
||||
--let $create_definition = a $int_indexed_col, $default_index(a)
|
||||
--source create_table.inc
|
||||
INSERT INTO t1 (a) VALUES (1),(2),(4),(7);
|
||||
ANALYZE TABLE t1;
|
||||
INSERT INTO t1 (a) VALUES (8),(10),(11),(12);
|
||||
ANALYZE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
29
mysql-test/suite/storage_engine/analyze_table.result
Normal file
29
mysql-test/suite/storage_engine/analyze_table.result
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
DROP TABLE IF EXISTS t1,t2;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
|
||||
CREATE TABLE t2 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a,b) VALUES (3,'c');
|
||||
ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
INSERT INTO t2 (a,b) VALUES (4,'d');
|
||||
ANALYZE NO_WRITE_TO_BINLOG TABLE t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 analyze status OK
|
||||
INSERT INTO t1 (a,b) VALUES (5,'e');
|
||||
INSERT INTO t2 (a,b) VALUES (6,'f');
|
||||
ANALYZE LOCAL TABLE t1, t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
test.t2 analyze status OK
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (a <INT_COLUMN>, <CUSTOM_INDEX>(a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a) VALUES (1),(2),(4),(7);
|
||||
ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
INSERT INTO t1 (a) VALUES (8),(10),(11),(12);
|
||||
ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
DROP TABLE t1;
|
||||
14
mysql-test/suite/storage_engine/analyze_table.test
Normal file
14
mysql-test/suite/storage_engine/analyze_table.test
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# ANALYZE TABLE statements
|
||||
#
|
||||
# Note: the output is likely to be different for the engine under test,
|
||||
# in which case rdiff will be needed. Or, the output might say that
|
||||
# the storage engine does not support ANALYZE.
|
||||
#
|
||||
|
||||
--source have_engine.inc
|
||||
|
||||
--source analyze_table.inc
|
||||
|
||||
--source cleanup_engine.inc
|
||||
|
||||
40
mysql-test/suite/storage_engine/autoinc_secondary.result
Normal file
40
mysql-test/suite/storage_engine/autoinc_secondary.result
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (a <INT_COLUMN> AUTO_INCREMENT, b <CHAR_COLUMN>, PRIMARY KEY (a,b)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (b) VALUES ('a'),('b'),('b'),('c'),('a');
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
1
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
3 b
|
||||
4 c
|
||||
5 a
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a <CHAR_COLUMN>, b <INT_COLUMN> AUTO_INCREMENT, PRIMARY KEY (a,b)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a) VALUES ('a'),('b'),('b'),('c'),('a');
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
1
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
a 1
|
||||
a 2
|
||||
b 1
|
||||
b 2
|
||||
c 1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a <CHAR_COLUMN>, b <INT_COLUMN> AUTO_INCREMENT, PRIMARY KEY (a,b), <CUSTOM_INDEX>(b)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a) VALUES ('a'),('b'),('b'),('c'),('a');
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
1
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
a 1
|
||||
a 5
|
||||
b 2
|
||||
b 3
|
||||
c 4
|
||||
DROP TABLE t1;
|
||||
73
mysql-test/suite/storage_engine/autoinc_secondary.test
Normal file
73
mysql-test/suite/storage_engine/autoinc_secondary.test
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
#
|
||||
# AUTO_INCREMENT on a secondary column in a multi-part key
|
||||
#
|
||||
|
||||
--source have_engine.inc
|
||||
--source have_default_index.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# AUTO_INCREMENT is the primary column in a multiple-column index
|
||||
#
|
||||
|
||||
--let $create_definition = a $int_col AUTO_INCREMENT, b $char_col, PRIMARY KEY (a,b)
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = Multi-part keys or PK or AUTO_INCREMENT (on a primary column)
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
INSERT INTO t1 (b) VALUES ('a'),('b'),('b'),('c'),('a');
|
||||
SELECT LAST_INSERT_ID();
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
#
|
||||
# AUTO_INCREMENT is the secondary column in a multiple-column index
|
||||
#
|
||||
|
||||
--let $create_definition = a $char_col, b $int_col AUTO_INCREMENT, PRIMARY KEY (a,b)
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = Multi-part keys or PK or AUTO_INCREMENT (on a secondary column)
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
INSERT INTO t1 (a) VALUES ('a'),('b'),('b'),('c'),('a');
|
||||
SELECT LAST_INSERT_ID();
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
# AUTO_INCREMENT is the secondary column in a multiple-column index,
|
||||
# and primary in another index
|
||||
#
|
||||
|
||||
--let $create_definition = a $char_col, b $int_indexed_col AUTO_INCREMENT, PRIMARY KEY (a,b), $default_index(b)
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = Multi-part keys or AUTO_INCREMENT (on the secondary column) or multiple keys
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
INSERT INTO t1 (a) VALUES ('a'),('b'),('b'),('c'),('a');
|
||||
SELECT LAST_INSERT_ID();
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
--source cleanup_engine.inc
|
||||
|
||||
55
mysql-test/suite/storage_engine/autoinc_vars.result
Normal file
55
mysql-test/suite/storage_engine/autoinc_vars.result
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
DROP TABLE IF EXISTS t1;
|
||||
SET auto_increment_offset = 200;
|
||||
CREATE TABLE t1 (a <INT_COLUMN> AUTO_INCREMENT, b <CHAR_COLUMN>, <CUSTOM_INDEX>(a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'a'),(NULL,'b'),(NULL,'c');
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
1
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
3 c
|
||||
SET auto_increment_increment = 300;
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'d'),(NULL,'e'),(NULL,'f');
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
200
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
200 d
|
||||
3 c
|
||||
500 e
|
||||
800 f
|
||||
SET auto_increment_increment = 50;
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'g'),(NULL,'h'),(NULL,'i');
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
850
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
200 d
|
||||
3 c
|
||||
500 e
|
||||
800 f
|
||||
850 g
|
||||
900 h
|
||||
950 i
|
||||
DROP TABLE t1;
|
||||
SET auto_increment_increment = 500;
|
||||
SET auto_increment_offset = 300;
|
||||
CREATE TABLE t1 (a TINYINT <CUSTOM_COL_OPTIONS> AUTO_INCREMENT, <CUSTOM_INDEX>(a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
INSERT INTO t1 (a) VALUES (NULL);
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'a' at row 1
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
127
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
127
|
||||
DROP TABLE t1;
|
||||
68
mysql-test/suite/storage_engine/autoinc_vars.test
Normal file
68
mysql-test/suite/storage_engine/autoinc_vars.test
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
#
|
||||
# auto-increment-offset and auto-increment-increment
|
||||
#
|
||||
|
||||
--source have_engine.inc
|
||||
--source have_default_index.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
# auto_increment_offset
|
||||
SET auto_increment_offset = 200;
|
||||
--let $create_definition = a $int_indexed_col AUTO_INCREMENT, b $char_col, $default_index(a)
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = AUTO_INCREMENT
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
# If auto_increment_offset is greater than auto_increment_increment,
|
||||
# the offset is ignored
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'a'),(NULL,'b'),(NULL,'c');
|
||||
SELECT LAST_INSERT_ID();
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
|
||||
# auto_increment_increment
|
||||
|
||||
SET auto_increment_increment = 300;
|
||||
# offset should not be ignored anymore
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'d'),(NULL,'e'),(NULL,'f');
|
||||
SELECT LAST_INSERT_ID();
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
|
||||
SET auto_increment_increment = 50;
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'g'),(NULL,'h'),(NULL,'i');
|
||||
SELECT LAST_INSERT_ID();
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
# offset is greater than the max value
|
||||
|
||||
SET auto_increment_increment = 500;
|
||||
SET auto_increment_offset = 300;
|
||||
--let $create_definition = a TINYINT $default_col_indexed_opts AUTO_INCREMENT, $default_index(a)
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = AUTO_INCREMENT
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
INSERT INTO t1 (a) VALUES (NULL);
|
||||
SELECT LAST_INSERT_ID();
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
--source cleanup_engine.inc
|
||||
|
||||
133
mysql-test/suite/storage_engine/autoincrement.result
Normal file
133
mysql-test/suite/storage_engine/autoincrement.result
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (a <INT_COLUMN> AUTO_INCREMENT, b <CHAR_COLUMN>, <CUSTOM_INDEX>(a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`b` char(8) DEFAULT NULL,
|
||||
KEY `a` (`a`)
|
||||
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
|
||||
INSERT INTO t1 (b) VALUES ('a'),('b');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
1
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'c'),(0,'d');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
3 c
|
||||
4 d
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
3
|
||||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'e');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
3 c
|
||||
4 d
|
||||
5 e
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
5
|
||||
INSERT INTO t1 (a,b) VALUES (0,'f');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
0 f
|
||||
1 a
|
||||
2 b
|
||||
3 c
|
||||
4 d
|
||||
5 e
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
5
|
||||
SET sql_mode = '<INITIAL_SQL_MODE>';
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 <STORAGE_ENGINE> # # # # # # # # 6 # # # # # # #
|
||||
INSERT INTO t1 (a,b) VALUES (6,'g'),(7,'h');
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
5
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 # # # # # # # # # 8 # # # # # # #
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'i'),(9,'j');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
0 f
|
||||
1 a
|
||||
2 b
|
||||
3 c
|
||||
4 d
|
||||
5 e
|
||||
6 g
|
||||
7 h
|
||||
8 i
|
||||
9 j
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
8
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 # # # # # # # # # 10 # # # # # # #
|
||||
INSERT INTO t1 (a,b) VALUES (20,'k');
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 # # # # # # # # # 21 # # # # # # #
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'l');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
0 f
|
||||
1 a
|
||||
2 b
|
||||
3 c
|
||||
4 d
|
||||
5 e
|
||||
6 g
|
||||
7 h
|
||||
8 i
|
||||
9 j
|
||||
20 k
|
||||
21 l
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
21
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 # # # # # # # # # 22 # # # # # # #
|
||||
INSERT INTO t1 (a,b) VALUES (-5,'m');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
-5 m
|
||||
0 f
|
||||
1 a
|
||||
2 b
|
||||
3 c
|
||||
4 d
|
||||
5 e
|
||||
6 g
|
||||
7 h
|
||||
8 i
|
||||
9 j
|
||||
20 k
|
||||
21 l
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a <INT_COLUMN> AUTO_INCREMENT, b <CHAR_COLUMN>, <CUSTOM_INDEX>(a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> AUTO_INCREMENT = 100;
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'a'),(NULL,'b');
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
100 a
|
||||
101 b
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
100
|
||||
DROP TABLE t1;
|
||||
114
mysql-test/suite/storage_engine/autoincrement.test
Normal file
114
mysql-test/suite/storage_engine/autoincrement.test
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
#
|
||||
# Basic AUTO_INCREMENT capabilities
|
||||
#
|
||||
|
||||
--source have_engine.inc
|
||||
|
||||
--let $skip = 1
|
||||
--source have_default_index.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
--let $create_definition = a $int_indexed_col AUTO_INCREMENT, b $char_col, $default_index(a)
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = AUTO_INCREMENT
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
--source mask_engine.inc
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
# Automatic values
|
||||
|
||||
INSERT INTO t1 (b) VALUES ('a'),('b');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT LAST_INSERT_ID();
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'c'),(0,'d');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT LAST_INSERT_ID();
|
||||
|
||||
let $sql_mode = `SELECT @@sql_mode`;
|
||||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'e');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT LAST_INSERT_ID();
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (0,'f');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT LAST_INSERT_ID();
|
||||
|
||||
--replace_result $sql_mode <INITIAL_SQL_MODE>
|
||||
eval SET sql_mode = '$sql_mode';
|
||||
|
||||
# SHOW TABLE STATUS shows the auto-increment value in column 11,
|
||||
# that's all we need here and further
|
||||
--source mask_engine.inc
|
||||
--replace_column 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
|
||||
# Mix of automatic and explicit values
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (6,'g'),(7,'h');
|
||||
SELECT LAST_INSERT_ID();
|
||||
|
||||
--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'i'),(9,'j');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT LAST_INSERT_ID();
|
||||
|
||||
--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
|
||||
# Creating a gap in the sequence
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (20,'k');
|
||||
|
||||
--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'l');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT LAST_INSERT_ID();
|
||||
|
||||
--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 # 14 # 15 # 16 # 17 # 18 #
|
||||
SHOW TABLE STATUS FROM test LIKE 't1';
|
||||
|
||||
# Negative values: we will try to insert one just to check that it does not cause a crash,
|
||||
# but won't check what happens to the sequence after that, since the behavior is undefined
|
||||
|
||||
INSERT INTO t1 (a,b) VALUES (-5,'m');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
# Autoincrement with table option AUTO_INCREMENT
|
||||
|
||||
--let $create_definition = a $int_indexed_col AUTO_INCREMENT, b $char_col, $default_index(a)
|
||||
--let $table_options = AUTO_INCREMENT = 100
|
||||
--source create_table.inc
|
||||
if ($mysql_errname)
|
||||
{
|
||||
--let $functionality = AUTO_INCREMENT column or table option
|
||||
--source unexpected_result.inc
|
||||
}
|
||||
if (!$mysql_errname)
|
||||
{
|
||||
INSERT INTO t1 (a,b) VALUES (NULL,'a'),(NULL,'b');
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
DROP TABLE t1;
|
||||
}
|
||||
--source cleanup_engine.inc
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue