mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
36b058929f
into mysql.com:/home/my/mysql-5.1 Merge of 'remove compiler warnings when using -Wshadow' BitKeeper/etc/ignore: auto-union BitKeeper/deleted/.del-MetaData.hpp~538342afcd8ac53c: Auto merged configure.in: Auto merged client/mysql.cc: Auto merged client/mysql_upgrade.c: Auto merged client/mysqlbinlog.cc: Auto merged client/mysqldump.c: Auto merged extra/yassl/include/yassl_int.hpp: Auto merged extra/yassl/taocrypt/include/algebra.hpp: Auto merged include/m_ctype.h: Auto merged include/my_global.h: Auto merged include/my_pthread.h: Auto merged include/my_sys.h: Auto merged include/my_time.h: Auto merged libmysql/libmysql.c: Auto merged mysql-test/r/mysqltest.result: Auto merged mysql-test/t/mysql.test: Auto merged mysql-test/t/mysqlbinlog.test: Auto merged mysql-test/t/mysqlcheck.test: Auto merged mysql-test/t/mysqltest.test: Auto merged mysql-test/t/wait_timeout.test: Auto merged mysys/default.c: Auto merged mysys/mf_iocache2.c: Auto merged mysys/mf_keycache.c: Auto merged server-tools/instance-manager/instance_options.cc: Auto merged sql/filesort.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_func.cc: Auto merged sql/item_geofunc.cc: Auto merged sql/item_row.h: Auto merged sql/item_strfunc.cc: Auto merged sql/item_subselect.cc: Auto merged sql/item_subselect.h: Auto merged sql/item_sum.cc: Auto merged sql/item_timefunc.cc: Auto merged sql/log_event.h: Auto merged sql/mysql_priv.h: Auto merged sql/net_serv.cc: Auto merged sql/opt_range.cc: Auto merged sql/opt_range.h: Auto merged sql/password.c: Auto merged sql/protocol.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sp.cc: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/spatial.h: Auto merged sql/sql_cache.h: Auto merged sql/sql_class.cc: Auto merged sql/sql_derived.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_prepare.cc: Auto merged sql-common/client.c: Auto merged sql-common/my_time.c: Auto merged sql/sql_string.cc: Auto merged sql/sql_string.h: Auto merged sql/sql_trigger.h: Auto merged sql/sql_union.cc: Auto merged sql/sql_update.cc: Auto merged sql/tztime.cc: Auto merged storage/archive/ha_archive.h: Auto merged storage/heap/hp_write.c: Auto merged storage/myisam/ft_boolean_search.c: Auto merged storage/myisam/mi_open.c: Auto merged storage/myisam/mi_search.c: Auto merged storage/myisam/mi_unique.c: Auto merged storage/myisam/myisampack.c: Auto merged storage/myisam/rt_index.c: Auto merged storage/myisam/sort.c: Auto merged storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp: Auto merged storage/ndb/include/kernel/signaldata/DictTabInfo.hpp: Auto merged storage/ndb/include/ndbapi/NdbReceiver.hpp: Auto merged storage/ndb/include/transporter/TransporterDefinitions.hpp: Auto merged storage/ndb/include/util/OutputStream.hpp: Auto merged storage/ndb/include/util/SimpleProperties.hpp: Auto merged storage/ndb/include/util/SocketAuthenticator.hpp: Auto merged storage/ndb/include/util/SocketServer.hpp: Auto merged storage/ndb/src/common/portlib/NdbTick.c: Auto merged storage/ndb/src/common/transporter/SHM_Transporter.cpp: Auto merged storage/ndb/src/common/transporter/TCP_Transporter.cpp: Auto merged storage/ndb/src/common/transporter/TCP_Transporter.hpp: Auto merged storage/ndb/src/common/transporter/Transporter.cpp: Auto merged storage/ndb/src/common/transporter/TransporterRegistry.cpp: Auto merged storage/ndb/src/common/util/File.cpp: Auto merged storage/ndb/src/common/util/Properties.cpp: Auto merged storage/ndb/src/common/util/SocketClient.cpp: Auto merged storage/ndb/src/common/util/random.c: Auto merged storage/ndb/src/common/util/socket_io.cpp: Auto merged storage/ndb/src/cw/cpcd/APIService.cpp: Auto merged storage/ndb/src/cw/cpcd/main.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Auto merged storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp: Auto merged storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp: Auto merged storage/ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp: Auto merged storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp: Auto merged storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp: Auto merged storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp: Auto merged storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp: Auto merged storage/ndb/src/mgmapi/LocalConfig.cpp: Auto merged storage/ndb/src/mgmapi/mgmapi.cpp: Auto merged storage/ndb/src/mgmclient/CommandInterpreter.cpp: Auto merged storage/ndb/src/mgmsrv/ConfigInfo.cpp: Auto merged storage/ndb/src/mgmsrv/ConfigInfo.hpp: Auto merged storage/ndb/src/mgmsrv/InitConfigFileParser.cpp: Auto merged storage/ndb/src/mgmsrv/MgmtSrvr.hpp: Auto merged storage/ndb/src/mgmsrv/Services.cpp: Auto merged storage/ndb/src/mgmsrv/main.cpp: Auto merged storage/ndb/src/ndbapi/ClusterMgr.hpp: Auto merged storage/ndb/src/ndbapi/Ndb.cpp: Auto merged storage/ndb/src/ndbapi/NdbIndexOperation.cpp: Auto merged storage/ndb/src/ndbapi/NdbOperationExec.cpp: Auto merged storage/ndb/src/ndbapi/NdbOperationSearch.cpp: Auto merged storage/ndb/src/ndbapi/NdbScanFilter.cpp: Auto merged storage/ndb/src/ndbapi/NdbScanOperation.cpp: Auto merged storage/ndb/src/ndbapi/SignalSender.cpp: Auto merged storage/ndb/src/ndbapi/ndb_cluster_connection.cpp: Auto merged storage/ndb/tools/delete_all.cpp: Auto merged storage/ndb/tools/desc.cpp: Auto merged storage/ndb/tools/drop_index.cpp: Auto merged storage/ndb/tools/drop_tab.cpp: Auto merged storage/ndb/tools/listTables.cpp: Auto merged storage/ndb/tools/ndb_condig.cpp: Auto merged storage/ndb/tools/restore/Restore.hpp: Auto merged storage/ndb/tools/restore/consumer.hpp: Auto merged storage/ndb/tools/select_all.cpp: Auto merged storage/ndb/tools/select_count.cpp: Auto merged strings/ctype-bin.c: Auto merged strings/ctype-cp932.c: Auto merged strings/ctype-eucjpms.c: Auto merged strings/ctype-mb.c: Auto merged strings/ctype-simple.c: Auto merged strings/ctype-sjis.c: Auto merged strings/ctype-ujis.c: Auto merged strings/ctype-utf8.c: Auto merged strings/decimal.c: Auto merged BUILD/SETUP.sh: manual merge BUILD/compile-pentium-gcov: manual merge Makefile.am: manual merge client/mysqltest.c: Automatic merge include/mysql.h: manual merge libmysqld/lib_sql.cc: Automatic merge mysql-test/r/mysqlbinlog.result: Automatic merge mysql-test/r/mysqlcheck.result: Fixed test case (we should never drop 'test' database) mysys/my_bitmap.c: manual merge server-tools/instance-manager/commands.h: manual merge server-tools/instance-manager/guardian.cc: manual merge server-tools/instance-manager/mysql_connection.cc: manual merge server-tools/instance-manager/options.cc: manual merge server-tools/instance-manager/options.h: manual merge server-tools/instance-manager/parse.cc: Automatic merge server-tools/instance-manager/user_map.cc: manual merge server-tools/instance-manager/user_map.h: manual merge sql/field.cc: manual merge sql/field.h: manual merge sql/ha_ndbcluster.cc: manual merge sql/handler.cc: manual merge sql/item.cc: manual merge sql/item.h: Automatic merge sql/log.cc: manual merge sql/log_event.cc: manual merge sql/mysqld.cc: manual merge sql/slave.cc: manual merge sql/spatial.cc: Automatic merge sql/sql_class.h: manual merge sql/sql_insert.cc: manual merge sql/sql_parse.cc: manual merge sql/sql_select.cc: manual merge sql/sql_show.cc: manual merge sql/sql_table.cc: manual merge sql/sql_trigger.cc: manual merge sql/sql_view.cc: manual merge sql/sql_yacc.yy: manual merge Made setting thd and lex uniform sql/table.cc: manual merge sql/unireg.cc: manual merge storage/archive/ha_archive.cc: manual merge storage/federated/ha_federated.cc: manual merge storage/heap/ha_heap.cc: manual merge storage/myisam/ha_myisam.cc: manual merge storage/myisammrg/ha_myisammrg.cc: manual merge storage/ndb/include/util/InputStream.hpp: manual merge storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp: manual merge storage/ndb/src/common/util/Bitmask.cpp: manual merge storage/ndb/src/common/util/ConfigValues.cpp: Automatic merge storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: manual merge storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: manual merge storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp: manual merge storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: manual merge Changed commented code to be #ifdef-ed instead storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp: manual merge storage/ndb/src/kernel/blocks/suma/Suma.cpp: Automatic merge storage/ndb/src/kernel/blocks/suma/Suma.hpp: manual merge storage/ndb/src/mgmsrv/MgmtSrvr.cpp: Automatic merge storage/ndb/src/ndbapi/NdbBlob.cpp: Automatic merge storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: Automatic merge storage/ndb/src/ndbapi/NdbOperationDefine.cpp: manual merge storage/ndb/tools/restore/restore_main.cpp: manual merge tests/mysql_client_test.c: manual merge
276 lines
13 KiB
Text
276 lines
13 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 misinterprets 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; 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; 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#17939 Wrong table format when using UTF8 strings
|
||
#
|
||
--exec $MYSQL --default-character-set=utf8 --table -e "SELECT 'John Doe' as '__tañgè Ñãmé'" 2>&1
|
||
--exec $MYSQL --default-character-set=utf8 --table -e "SELECT '__tañgè Ñãmé' as 'John Doe'" 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 --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;"
|
||
--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 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;"
|
||
--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;"
|
||
|
||
#
|
||
# Bug#21618: NULL shown as empty string in client
|
||
#
|
||
--exec $MYSQL test -e "select unhex('zz');"
|
||
--exec $MYSQL -t test -e "select unhex('zz');"
|
||
|
||
# Bug#19265 describe command does not work from mysql prompt
|
||
#
|
||
|
||
create table t1(a int, b varchar(255), c int);
|
||
--exec $MYSQL test -e "desc t1"
|
||
--exec $MYSQL test -e "desc t1\g"
|
||
drop table t1;
|
||
|
||
--disable_parsing
|
||
#
|
||
# Bug#21042 mysql client segfaults on importing a mysqldump export
|
||
#
|
||
--error 1
|
||
--exec $MYSQL test -e "connect verylongdatabasenamethatshouldblowthe256byteslongbufferincom_connectfunctionxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxendcccccccdxxxxxxxxxxxxxxxxxkskskskskkskskskskskskskskskskkskskskskkskskskskskskskskskend" 2>&1
|
||
--enable_parsing
|
||
|
||
|
||
#
|
||
# Bug #20432: mysql client interprets commands in comments
|
||
#
|
||
|
||
# if the client sees the 'use' within the comment, we haven't fixed
|
||
--exec echo "/*" > $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec echo "use" >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec echo "*/" >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
|
||
|
||
# SQL can have embedded comments => workie
|
||
--exec echo "select /*" > $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec echo "use" >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec echo "*/ 1" >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
|
||
|
||
# client commands on the other hand must be at BOL => error
|
||
--exec echo "/*" > $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec echo "xxx" >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec echo "*/ use" >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--error 1
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
|
||
|
||
# client comment recognized, but parameter missing => error
|
||
--exec echo "use" > $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
|
||
|
||
#
|
||
# Bug #20328: mysql client interprets commands in comments
|
||
#
|
||
--exec $MYSQL -e 'help' > $MYSQLTEST_VARDIR/tmp/bug20328_1.result
|
||
--exec $MYSQL -e 'help ' > $MYSQLTEST_VARDIR/tmp/bug20328_2.result
|
||
--exec diff $MYSQLTEST_VARDIR/tmp/bug20328_1.result $MYSQLTEST_VARDIR/tmp/bug20328_2.result
|
||
|
||
#
|
||
# Bug #19216: Client crashes on long SELECT
|
||
#
|
||
# Create large SELECT
|
||
# - 3400 * 20 makes 68000 columns that is more than the
|
||
# max number that can fit in a 16 bit number.
|
||
|
||
--perl
|
||
open(FILE,">","$ENV{'MYSQLTEST_VARDIR'}/tmp/b19216.tmp") or die;
|
||
print FILE "select\n";
|
||
print FILE "'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a',\n" x 3400;
|
||
print FILE "'b';\n";
|
||
close FILE;
|
||
EOF
|
||
|
||
--disable_query_log
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/b19216.tmp >/dev/null
|
||
--enable_query_log
|
||
|
||
--remove_file $MYSQLTEST_VARDIR/tmp/b19216.tmp
|
||
|
||
#
|
||
# Bug #20103: Escaping with backslash does not work
|
||
#
|
||
--exec echo "SET SQL_MODE = 'NO_BACKSLASH_ESCAPES';" > $MYSQLTEST_VARDIR/tmp/bug20103.sql
|
||
--exec echo "SELECT '\';" >> $MYSQLTEST_VARDIR/tmp/bug20103.sql
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20103.sql 2>&1
|
||
|
||
--exec echo "SET SQL_MODE = '';" > $MYSQLTEST_VARDIR/tmp/bug20103.sql
|
||
--exec echo "SELECT '\';';" >> $MYSQLTEST_VARDIR/tmp/bug20103.sql
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20103.sql 2>&1
|
||
|
||
#
|
||
# Bug#17583: mysql drops connection when stdout is not writable
|
||
#
|
||
create table t17583 (a int);
|
||
insert into t17583 (a) values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||
insert into t17583 select a from t17583;
|
||
insert into t17583 select a from t17583;
|
||
insert into t17583 select a from t17583;
|
||
insert into t17583 select a from t17583;
|
||
insert into t17583 select a from t17583;
|
||
insert into t17583 select a from t17583;
|
||
insert into t17583 select a from t17583;
|
||
# Close to the minimal data needed to exercise bug.
|
||
select count(*) from t17583;
|
||
--exec echo "select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; " |$MYSQL test >&-
|
||
drop table t17583;
|
||
|
||
#
|
||
# Bug#20984: Reproducible MySQL client segmentation fault
|
||
# + additional tests for the "com_connect" function in mysql
|
||
#
|
||
#
|
||
--echo Test connect without db- or host-name => reconnect
|
||
--exec $MYSQL test -e "\r" 2>&1
|
||
--exec $MYSQL test -e "connect" 2>&1
|
||
|
||
--echo Test connect with dbname only => new dbname, old hostname
|
||
--exec $MYSQL test -e "\r test" 2>&1
|
||
--exec $MYSQL test -e "connect test" 2>&1
|
||
--exec $MYSQL test -e "\rtest" 2>&1
|
||
--error 1
|
||
--exec $MYSQL test -e "connecttest" 2>&1
|
||
|
||
--echo Test connect with _invalid_ dbname only => new invalid dbname, old hostname
|
||
--error 1
|
||
--exec $MYSQL test -e "\r invalid" 2>&1
|
||
--error 1
|
||
--exec $MYSQL test -e "connect invalid" 2>&1
|
||
|
||
--echo Test connect with dbname + hostname
|
||
--exec $MYSQL test -e "\r test localhost" 2>&1
|
||
--exec $MYSQL test -e "connect test localhost" 2>&1
|
||
|
||
--echo Test connect with dbname + _invalid_ hostname
|
||
# Mask the errno of the error message
|
||
--replace_regex /\([0-9]*\)/(errno)/
|
||
--error 1
|
||
--exec $MYSQL test -e "\r test invalid_hostname" 2>&1
|
||
--replace_regex /\([0-9]*\)/(errno)/
|
||
--error 1
|
||
--exec $MYSQL test -e "connect test invalid_hostname" 2>&1
|
||
|
||
--echo The commands reported in the bug report
|
||
--replace_regex /\([0-9]*\)/(errno)/
|
||
--error 1
|
||
--exec $MYSQL test -e "\r\r\n\r\n cyril\ has\ found\ a\ bug\ :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
|
||
|
||
#--replace_regex /\([0-9]*\)/(errno)/
|
||
#--error 1
|
||
#--exec echo '\r\r\n\r\n cyril\ has\ found\ a\ bug\ :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' | $MYSQL 2>&1
|
||
|
||
--echo Too long dbname
|
||
--error 1
|
||
--exec $MYSQL test -e "\r test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx localhost" 2>&1
|
||
|
||
--echo Too long hostname
|
||
--replace_regex /\([0-9]*\)/(errno)/
|
||
--error 1
|
||
--exec $MYSQL test -e "\r test cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
|
||
|
||
|
||
#
|
||
# Bug #21412: mysql cmdline client allows backslash(es)
|
||
# as delimiter but can't recognize them
|
||
#
|
||
|
||
# This should work just fine...
|
||
--exec echo "DELIMITER /" > $MYSQLTEST_VARDIR/tmp/bug21412.sql
|
||
--exec echo "SELECT 1/" >> $MYSQLTEST_VARDIR/tmp/bug21412.sql
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
|
||
|
||
# This should give an error...
|
||
--exec echo "DELIMITER \\" > $MYSQLTEST_VARDIR/tmp/bug21412.sql
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
|
||
|
||
# As should this...
|
||
--exec echo "DELIMITER \\\\" > $MYSQLTEST_VARDIR/tmp/bug21412.sql
|
||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
|
||
|
||
#
|
||
# Some coverage of not normally used parts
|
||
#
|
||
|
||
--disable_query_log
|
||
--exec $MYSQL test -e "show status" 2>&1 > /dev/null
|
||
--exec $MYSQL --help 2>&1 > /dev/null
|
||
--exec $MYSQL --version 2>&1 > /dev/null
|
||
--enable_quary_log
|
||
|
||
--echo End of 5.0 tests
|