mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 e7f7789482
			
		
	
	
	e7f7789482
	
	
	
		
			
			* automatically disable ps2 and cursor protocol when the
  select statement returns no result set
* remove manual {disable|enable}_{ps2|cursor}_protocol from around
  `select ... into` in tests
* other misc collateral test cleanups
		
	
			
		
			
				
	
	
		
			271 lines
		
	
	
	
		
			9.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			271 lines
		
	
	
	
		
			9.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| ALTER DATABASE test CHARACTER SET latin1 COLLATE latin1_swedish_ci;
 | ||
| #
 | ||
| # Bug#31663 FIELDS TERMINATED BY special character
 | ||
| #
 | ||
| CREATE TABLE t1 (i1 int, i2 int, c1 VARCHAR(256), c2 VARCHAR(256));
 | ||
| INSERT INTO t1 VALUES (101, 202, '-r-', '=raker=');
 | ||
| # FIELDS TERMINATED BY 'raker', warning:
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS TERMINATED BY 'raker' FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1475	First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY
 | ||
| SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt') as exp;
 | ||
| exp
 | ||
| 101raker202raker-r-raker=raker=
 | ||
| 
 | ||
| CREATE TABLE t2 SELECT * FROM t1;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS TERMINATED BY 'raker';
 | ||
| Warnings:
 | ||
| Warning	1262	Row 1 was truncated; it contained more data than there were input columns
 | ||
| SELECT * FROM t2;
 | ||
| i1	i2	c1	c2
 | ||
| 101	202	-r-	=raker=
 | ||
| 101	202	-r-	=
 | ||
| DROP TABLE t2;
 | ||
| # Only numeric fields, FIELDS TERMINATED BY 'r', no warnings:
 | ||
| SELECT i1, i2 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS TERMINATED BY 'r' FROM t1;
 | ||
| SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt') as exp;
 | ||
| exp
 | ||
| 101r202
 | ||
| 
 | ||
| CREATE TABLE t2 SELECT i1, i2 FROM t1;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS TERMINATED BY 'r';
 | ||
| SELECT i1, i2 FROM t2;
 | ||
| i1	i2
 | ||
| 101	202
 | ||
| 101	202
 | ||
| DROP TABLE t2;
 | ||
| # FIELDS TERMINATED BY '0', warning:
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS TERMINATED BY '0' FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1475	First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY
 | ||
| SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt') as exp;
 | ||
| exp
 | ||
| 10102020-r-0=raker=
 | ||
| 
 | ||
| CREATE TABLE t2 SELECT * FROM t1;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS TERMINATED BY '0';
 | ||
| Warnings:
 | ||
| Warning	1262	Row 1 was truncated; it contained more data than there were input columns
 | ||
| SELECT * FROM t2;
 | ||
| i1	i2	c1	c2
 | ||
| 101	202	-r-	=raker=
 | ||
| 1	1	2	2
 | ||
| DROP TABLE t2;
 | ||
| # FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0', warning:
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0' FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1475	First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY
 | ||
| SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt') as exp;
 | ||
| exp
 | ||
| 10102020"-r-"0"=raker="
 | ||
| 
 | ||
| CREATE TABLE t2 SELECT * FROM t1;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0';
 | ||
| Warnings:
 | ||
| Warning	1262	Row 1 was truncated; it contained more data than there were input columns
 | ||
| SELECT * FROM t2;
 | ||
| i1	i2	c1	c2
 | ||
| 101	202	-r-	=raker=
 | ||
| 1	1	2	2
 | ||
| DROP TABLE t2;
 | ||
| # Only string fields, FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0', no warnings:
 | ||
| SELECT c1, c2 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0' FROM t1;
 | ||
| SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt') as exp;
 | ||
| exp
 | ||
| "-r-"0"=raker="
 | ||
| 
 | ||
| CREATE TABLE t2 SELECT c1, c2 FROM t1;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0';
 | ||
| SELECT c1, c2 FROM t2;
 | ||
| c1	c2
 | ||
| -r-	=raker=
 | ||
| -r-	=raker=
 | ||
| DROP TABLE t2;
 | ||
| DROP TABLE t1;
 | ||
| #
 | ||
| # Bug#32533: SELECT INTO OUTFILE never escapes multibyte character
 | ||
| #
 | ||
| CREATE TABLE t1 (c1 VARCHAR(256));
 | ||
| INSERT INTO t1 VALUES (0xC3);
 | ||
| SELECT HEX(c1) FROM t1;
 | ||
| HEX(c1)
 | ||
| C3
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug32533.txt' FIELDS ENCLOSED BY 0xC3 FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| TRUNCATE t1;
 | ||
| SELECT HEX(LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug32533.txt')) as exp;
 | ||
| exp
 | ||
| C35CC3C30A
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug32533.txt' INTO TABLE t1 FIELDS ENCLOSED BY 0xC3;
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| SELECT HEX(c1) FROM t1;
 | ||
| HEX(c1)
 | ||
| C3
 | ||
| DROP TABLE t1;
 | ||
| # End of 5.0 tests.
 | ||
| #
 | ||
| # Bug #30946: mysqldump silently ignores --default-character-set
 | ||
| #             when used with --tab
 | ||
| #
 | ||
| # Also see mysqldump.test
 | ||
| #
 | ||
| SET NAMES utf8;
 | ||
| CREATE TABLE t1 (a INT, b CHAR(10) CHARSET koi8r, c CHAR(10) CHARSET latin1);
 | ||
| CREATE TABLE t2 LIKE t1;
 | ||
| INSERT INTO t1 VALUES (1, 'ABC-АБВ', 'DEF-ÂÃÄ'), (2, NULL, NULL);
 | ||
| # Error on multi-character ENCLOSED/ESCAPED BY
 | ||
| SELECT * FROM t1 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FIELDS ENCLOSED BY '12345';
 | ||
| ERROR 42000: Field separator argument is not what is expected; check the manual
 | ||
| SELECT * FROM t1 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FIELDS ESCAPED BY '12345';
 | ||
| ERROR 42000: Field separator argument is not what is expected; check the manual
 | ||
| # "Not implemented" warning on multibyte  ENCLOSED/ESCAPED BY character,
 | ||
| # LOAD DATA rises error or has unpredictable result -- to be fixed later
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FIELDS ENCLOSED BY 'ъ' FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary FIELDS ENCLOSED BY 'ъ';
 | ||
| ERROR 42000: Field separator argument is not what is expected; check the manual
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FIELDS ESCAPED BY 'ъ' FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary FIELDS ESCAPED BY 'ъ';
 | ||
| ERROR 42000: Field separator argument is not what is expected; check the manual
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FIELDS TERMINATED BY 'ъ' FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| ##################################################
 | ||
| 1ъABC-<2D><><EFBFBD>ъDEF-<2D><><EFBFBD>
 | ||
| 2ъ\Nъ\N
 | ||
| ##################################################
 | ||
| TRUNCATE t2;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary FIELDS TERMINATED BY 'ъ';
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| SELECT * FROM t1;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| SELECT * FROM t2;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' LINES STARTING BY 'ъ' FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| ##################################################
 | ||
| ъ1	ABC-<2D><><EFBFBD>	DEF-<2D><><EFBFBD>
 | ||
| ъ2	\N	\N
 | ||
| ##################################################
 | ||
| TRUNCATE t2;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary LINES STARTING BY 'ъ';
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' LINES TERMINATED BY 'ъ' FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| ##################################################
 | ||
| 1	ABC-<2D><><EFBFBD>	DEF-<2D><><EFBFBD>ъ2	\N	\Nъ##################################################
 | ||
| TRUNCATE t2;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary LINES TERMINATED BY 'ъ';
 | ||
| Warnings:
 | ||
| Warning	1638	Non-ASCII separator arguments are not fully supported
 | ||
| SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| SELECT * FROM t1;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| SELECT * FROM t2;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| # Default (binary) charset:
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FROM t1;
 | ||
| ##################################################
 | ||
| 1	ABC-<2D><><EFBFBD>	DEF-<2D><><EFBFBD>
 | ||
| 2	\N	\N
 | ||
| ##################################################
 | ||
| TRUNCATE t2;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary;
 | ||
| SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| # latin1 charset (INTO OUTFILE warning is expected):
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' CHARACTER SET latin1 FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1366	Data truncated for column 'b' at row 1
 | ||
| ##################################################
 | ||
| 1	ABC-???	DEF-<2D><><EFBFBD>
 | ||
| 2	\N	\N
 | ||
| ##################################################
 | ||
| TRUNCATE t2;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET latin1 ;
 | ||
| SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 | ||
| a	b	c
 | ||
| 1	ABC-???	DEF-ÂÃÄ
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| # KOI8-R charset (INTO OUTFILE warning is expected):
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' CHARACTER SET koi8r FROM t1;
 | ||
| Warnings:
 | ||
| Warning	1366	Data truncated for column 'c' at row 1
 | ||
| ##################################################
 | ||
| 1	ABC-<2D><><EFBFBD>	DEF-???
 | ||
| 2	\N	\N
 | ||
| ##################################################
 | ||
| TRUNCATE t2;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET koi8r;
 | ||
| SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-???
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| # UTF-8 charset:
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' CHARACTER SET utf8 FROM t1;
 | ||
| ##################################################
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	\N	\N
 | ||
| ##################################################
 | ||
| TRUNCATE t2;
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET utf8;
 | ||
| SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
 | ||
| a	b	c
 | ||
| 1	ABC-АБВ	DEF-ÂÃÄ
 | ||
| 2	NULL	NULL
 | ||
| SET NAMES default;
 | ||
| DROP TABLE t1, t2;
 | ||
| #
 | ||
| # Bug #53088: mysqldump with -T & --default-character-set set
 | ||
| #             truncates text/blob to 766 chars
 | ||
| #
 | ||
| # Also see mysqldump.test
 | ||
| #
 | ||
| CREATE TABLE t1 (a BLOB) CHARSET latin1;
 | ||
| CREATE TABLE t2 LIKE t1;
 | ||
| INSERT INTO t1 VALUES (REPEAT('.', 800));
 | ||
| SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug53088.txt' CHARACTER SET latin1 FROM t1;
 | ||
| # should be greater than 800
 | ||
| SELECT LENGTH(LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug53088.txt')) as exp;
 | ||
| exp
 | ||
| 801
 | ||
| LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug53088.txt' INTO TABLE t2;
 | ||
| # should be 800
 | ||
| SELECT LENGTH(a) FROM t2;
 | ||
| LENGTH(a)
 | ||
| 800
 | ||
| DROP TABLE t1, t2;
 | ||
| # End of 5.1 tests.
 | ||
| ALTER DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci;
 |