291 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			291 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | --disable_warnings | ||
|  | DROP TABLE IF EXISTS t1, t2; | ||
|  | --enable_warnings | ||
|  | 
 | ||
|  | --echo # | ||
|  | --echo # Bug#31663 FIELDS TERMINATED BY special character | ||
|  | --echo # | ||
|  | 
 | ||
|  | CREATE TABLE t1 (i1 int, i2 int, c1 VARCHAR(256), c2 VARCHAR(256)); | ||
|  | INSERT INTO t1 VALUES (101, 202, '-r-', '=raker='); | ||
|  | 
 | ||
|  | --let $fields=* | ||
|  | --let $clauses=FIELDS TERMINATED BY 'raker' | ||
|  | --echo # $clauses, warning: | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt') | ||
|  | --eval CREATE TABLE t2 SELECT $fields FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses | ||
|  | --eval SELECT $fields FROM t2 | ||
|  | --remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt | ||
|  | DROP TABLE t2; | ||
|  | 
 | ||
|  | --let $fields=i1, i2 | ||
|  | --let $clauses=FIELDS TERMINATED BY 'r' | ||
|  | --echo # Only numeric fields, $clauses, no warnings: | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt') | ||
|  | --eval CREATE TABLE t2 SELECT $fields FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses | ||
|  | --eval SELECT $fields FROM t2 | ||
|  | --remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt | ||
|  | DROP TABLE t2; | ||
|  | 
 | ||
|  | --let $fields=* | ||
|  | --let $clauses=FIELDS TERMINATED BY '0' | ||
|  | --echo # $clauses, warning: | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt') | ||
|  | --eval CREATE TABLE t2 SELECT $fields FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses | ||
|  | --eval SELECT $fields FROM t2 | ||
|  | --remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt | ||
|  | DROP TABLE t2; | ||
|  | 
 | ||
|  | --let $fields=* | ||
|  | --let $clauses=FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0' | ||
|  | --echo # $clauses, warning: | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt') | ||
|  | --eval CREATE TABLE t2 SELECT $fields FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses | ||
|  | --eval SELECT $fields FROM t2 | ||
|  | --remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt | ||
|  | DROP TABLE t2; | ||
|  | 
 | ||
|  | --let $fields=c1, c2 | ||
|  | --let $clauses=FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0' | ||
|  | --echo # Only string fields, $clauses, no warnings: | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt') | ||
|  | --eval CREATE TABLE t2 SELECT $fields FROM t1 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses | ||
|  | --eval SELECT $fields FROM t2 | ||
|  | --remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt | ||
|  | DROP TABLE t2; | ||
|  | 
 | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | --echo # | ||
|  | --echo # Bug#32533: SELECT INTO OUTFILE never escapes multibyte character | ||
|  | --echo # | ||
|  | 
 | ||
|  | CREATE TABLE t1 (c1 VARCHAR(256)); | ||
|  | INSERT INTO t1 VALUES (0xC3); | ||
|  | SELECT HEX(c1) FROM t1; | ||
|  | 
 | ||
|  | --let $file=$MYSQLTEST_VARDIR/tmp/bug32533.txt | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * INTO OUTFILE '$file' FIELDS ENCLOSED BY 0xC3 FROM t1 | ||
|  | TRUNCATE t1; | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT HEX(LOAD_FILE('$file')) | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t1 FIELDS ENCLOSED BY 0xC3 | ||
|  | SELECT HEX(c1) FROM t1; | ||
|  | 
 | ||
|  | --remove_file $file | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | --echo # End of 5.0 tests. | ||
|  | 
 | ||
|  | ########################################################################### | ||
|  | 
 | ||
|  | --echo # | ||
|  | --echo # Bug #30946: mysqldump silently ignores --default-character-set | ||
|  | --echo #             when used with --tab | ||
|  | --echo # | ||
|  | --echo # Also see mysqldump.test | ||
|  | --echo # | ||
|  | 
 | ||
|  | 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); | ||
|  | 
 | ||
|  | --let $file=$MYSQLTEST_VARDIR/tmp/t1.txt | ||
|  | 
 | ||
|  | 
 | ||
|  | --echo # Error on multi-character ENCLOSED/ESCAPED BY | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --error 1083 | ||
|  | --eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ENCLOSED BY '12345' | ||
|  | --remove_file $file | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --error 1083 | ||
|  | --eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ESCAPED BY '12345' | ||
|  | --remove_file $file | ||
|  | 
 | ||
|  | 
 | ||
|  | --echo # "Not implemented" warning on multibyte  ENCLOSED/ESCAPED BY character, | ||
|  | --echo # LOAD DATA rises error or has unpredictable result -- to be fixed later | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ENCLOSED BY 'ъ' | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --error 1083 # backward compatibility | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary FIELDS ENCLOSED BY 'ъ' | ||
|  | --remove_file $file | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS ESCAPED BY 'ъ' | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --error 1083 # backward compatibility | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary FIELDS ESCAPED BY 'ъ' | ||
|  | --remove_file $file | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * FROM t1 INTO OUTFILE '$file' FIELDS TERMINATED BY 'ъ' | ||
|  | --echo ################################################## | ||
|  | --cat_file $file | ||
|  | --echo ################################################## | ||
|  | TRUNCATE t2; | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary FIELDS TERMINATED BY 'ъ' | ||
|  | --remove_file $file | ||
|  | SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c; | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * FROM t1 INTO OUTFILE '$file' LINES STARTING BY 'ъ' | ||
|  | --echo ################################################## | ||
|  | --cat_file $file | ||
|  | --echo ################################################## | ||
|  | TRUNCATE t2; | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary LINES STARTING BY 'ъ' | ||
|  | --remove_file $file | ||
|  | SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c; | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * FROM t1 INTO OUTFILE '$file' LINES TERMINATED BY 'ъ' | ||
|  | --echo ################################################## | ||
|  | --cat_file $file | ||
|  | --echo ################################################## | ||
|  | TRUNCATE t2; | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary LINES TERMINATED BY 'ъ' | ||
|  | --remove_file $file | ||
|  | SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c; | ||
|  | 
 | ||
|  | --echo # Default (binary) charset: | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * INTO OUTFILE '$file' FROM t1 | ||
|  | --echo ################################################## | ||
|  | --cat_file $file | ||
|  | --echo ################################################## | ||
|  | TRUNCATE t2; | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary | ||
|  | --remove_file $file | ||
|  | SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c; | ||
|  | 
 | ||
|  | 
 | ||
|  | --echo # latin1 charset (INTO OUTFILE warning is expected): | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * INTO OUTFILE '$file' CHARACTER SET latin1 FROM t1 | ||
|  | --echo ################################################## | ||
|  | --cat_file $file | ||
|  | --echo ################################################## | ||
|  | TRUNCATE t2; | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET latin1  | ||
|  | --remove_file $file | ||
|  | SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c; | ||
|  | 
 | ||
|  | 
 | ||
|  | --echo # KOI8-R charset (INTO OUTFILE warning is expected): | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * INTO OUTFILE '$file' CHARACTER SET koi8r FROM t1 | ||
|  | --echo ################################################## | ||
|  | --cat_file $file | ||
|  | --echo ################################################## | ||
|  | TRUNCATE t2; | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET koi8r | ||
|  | --remove_file $file | ||
|  | SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c; | ||
|  | 
 | ||
|  | 
 | ||
|  | --echo # UTF-8 charset: | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * INTO OUTFILE '$file' CHARACTER SET utf8 FROM t1 | ||
|  | --echo ################################################## | ||
|  | --cat_file $file | ||
|  | --echo ################################################## | ||
|  | TRUNCATE t2; | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET utf8 | ||
|  | --remove_file $file | ||
|  | SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c; | ||
|  | 
 | ||
|  | 
 | ||
|  | SET NAMES default; | ||
|  | 
 | ||
|  | DROP TABLE t1, t2; | ||
|  | ########################################################################### | ||
|  | 
 | ||
|  | --echo # | ||
|  | --echo # Bug #53088: mysqldump with -T & --default-character-set set | ||
|  | --echo #             truncates text/blob to 766 chars | ||
|  | --echo # | ||
|  | --echo # Also see mysqldump.test | ||
|  | --echo # | ||
|  | 
 | ||
|  | CREATE TABLE t1 (a BLOB) CHARSET latin1; | ||
|  | CREATE TABLE t2 LIKE t1; | ||
|  | 
 | ||
|  | let $file= '$MYSQLTEST_VARDIR/tmp/bug53088.txt'; | ||
|  | let $length= 800; | ||
|  | 
 | ||
|  | --eval INSERT INTO t1 VALUES (REPEAT('.', $length)) | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT * INTO OUTFILE $file CHARACTER SET latin1 FROM t1 | ||
|  | 
 | ||
|  | --echo # should be greater than $length | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval SELECT LENGTH(LOAD_FILE($file)) | ||
|  | 
 | ||
|  | --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR | ||
|  | --eval LOAD DATA INFILE $file INTO TABLE t2 | ||
|  | 
 | ||
|  | --remove_file $MYSQLTEST_VARDIR/tmp/bug53088.txt | ||
|  | 
 | ||
|  | --echo # should be $length | ||
|  | SELECT LENGTH(a) FROM t2; | ||
|  | 
 | ||
|  | DROP TABLE t1, t2; | ||
|  | 
 | ||
|  | 
 | ||
|  | ########################################################################### | ||
|  | --echo # End of 5.1 tests. |