mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
2e72ae3d81
Correct a bug (that I introduced, after using Oracle's database software for too many years) where the length of the database-sent data is incorrectly used to infer NULLness. client/mysql.cc: No longer use the length of the data to infer whether it is NULL or not. mysql-test/r/mysql.result: Add result and version marker, and correct previous result. mysql-test/t/mysql.test: Add test and version marker
82 lines
3.3 KiB
Text
82 lines
3.3 KiB
Text
# This test should work in embedded server after we fix mysqltest
|
||
-- source include/not_embedded.inc
|
||
#
|
||
# Testing the MySQL command line client(mysql)
|
||
#
|
||
|
||
--disable_warnings
|
||
drop table if exists t1;
|
||
--enable_warnings
|
||
|
||
#
|
||
# Test the "delimiter" functionality
|
||
# Bug#9879
|
||
#
|
||
create table t1(a int);
|
||
insert into t1 values(1);
|
||
|
||
# Test delimiters
|
||
--exec $MYSQL test 2>&1 < "./t/mysql_delimiter.sql"
|
||
|
||
--disable_query_log
|
||
# Test delimiter : supplied on the command line
|
||
select "Test delimiter : from command line" as " ";
|
||
--exec $MYSQL test --delimiter=":" -e "select * from t1:"
|
||
# Test delimiter :; supplied on the command line
|
||
select "Test delimiter :; from command line" as " ";
|
||
--exec $MYSQL test --delimiter=":;" -e "select * from t1:;"
|
||
# Test 'go' command (vertical output) \G
|
||
select "Test 'go' command(vertical output) \G" as " ";
|
||
--exec $MYSQL test -e "select * from t1\G"
|
||
# Test 'go' command \g
|
||
select "Test 'go' command \g" as " ";
|
||
--exec $MYSQL test -e "select * from t1\g"
|
||
--enable_query_log
|
||
drop table t1;
|
||
|
||
#
|
||
# BUG9998 - MySQL client hangs on USE "database"
|
||
#
|
||
create table t1(a int);
|
||
lock tables t1 write;
|
||
--exec $MYSQL -e "use test; select database();"
|
||
unlock tables;
|
||
drop table t1;
|
||
|
||
#
|
||
# BUG#16217 - MySQL client misinterpretes multi-byte char as escape `\'
|
||
#
|
||
|
||
# new command \C or charset
|
||
--exec $MYSQL --default-character-set=utf8 test -e "\C cp932 \g"
|
||
--exec $MYSQL --default-character-set=cp932 test -e "charset utf8;"
|
||
|
||
# its usage to switch internally in mysql to requested charset
|
||
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; set @@session.character_set_client= cp932; select 'ƒ\'; create table t1 (c_cp932 TEXT CHARACTER SET cp932); insert into t1 values('ƒ\'); select * from t1; drop table t1;"
|
||
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; set character_set_client= cp932; select 'ƒ\'"
|
||
--exec $MYSQL --default-character-set=utf8 test -e "/*charset cp932 */; set character_set_client= cp932; select 'ƒ\'"
|
||
--exec $MYSQL --default-character-set=utf8 test -e "/*!\C cp932 */; set character_set_client= cp932; select 'ƒ\'"
|
||
|
||
#
|
||
# Bug#16859 -- NULLs in columns must not truncate data as if a C-language "string".
|
||
#
|
||
--exec $MYSQL -t test -e "create table t1 (col1 binary(4), col2 varchar(10), col3 int); insert into t1 values ('a', 'b', 123421),('a ', '0123456789', 4), ('abcd', '', 4); select concat('>',col1,'<'), col2, col3 from t1; drop table t1;" 2>&1
|
||
|
||
#
|
||
# Bug#18265 -- mysql client: No longer right-justifies numeric columns
|
||
#
|
||
--exec $MYSQL -t --default-character-set utf8 test -e "create table t1 (i int, j int, k char(25) charset utf8); insert into t1 (i) values (1); insert into t1 (k) values ('<----------------------->'); insert into t1 (k) values ('<-----'); insert into t1 (k) values ('Τη γλώσσα'); insert into t1 (k) values ('á›–áš´ áš·á›–á›<C3A1>'); select * from t1; DROP TABLE t1;"
|
||
|
||
#
|
||
# "DESCRIBE" commands may return strange NULLness flags.
|
||
#
|
||
--exec $MYSQL -t --default-character-set utf8 test -e "create table t1 (i int, j int not null, k int); insert into t1 values (null, 1, null); select * from t1; describe t1; drop table t1;"
|
||
|
||
#
|
||
# Bug#19564: mysql displays NULL instead of space
|
||
#
|
||
--exec $MYSQL -t test -e "create table b19564 (i int, s1 char(1)); insert into b19564 values (1, 'x'); insert into b19564 values (2, NULL); insert into b19564 values (3, ' '); select * from b19564 order by i; drop table b19564;"
|
||
|
||
--echo End of 5.0 tests
|
||
|
||
|