mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Update mysqltest to latest version
- ie. backport from 5.1 - also update testcase error dected by new version mysql-test/include/show_msg.inc: BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg.inc mysql-test/include/show_msg80.inc: BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg80.inc BitKeeper/deleted/.del-rpl_chain_temp_table.test: Delete: mysql-test/t/rpl_chain_temp_table.test BitKeeper/deleted/.del-rpl_chain_temp_table.result: Delete: mysql-test/r/rpl_chain_temp_table.result BitKeeper/deleted/.del-rpl_failsafe.result: Delete: mysql-test/r/rpl_failsafe.result BitKeeper/deleted/.del-rpl_failsafe.test: Delete: mysql-test/t/rpl_failsafe.test BitKeeper/deleted/.del-rpl_heap.test: Delete: mysql-test/t/rpl_heap.test BitKeeper/deleted/.del-rpl_heap.result: Delete: mysql-test/r/rpl_heap.result BitKeeper/deleted/.del-rpl000018.result: Delete: mysql-test/r/rpl000018.result BitKeeper/deleted/.del-rpl000018.test: Delete: mysql-test/t/rpl000018.test client/Makefile.am: Link mysqltest with mysys/my_copy.c client/mysqltest.c: Update mysqltest to latest version mysql-test/include/have_multi_ndb.inc: Remove old syntax "@filename" in favor of "--require filename" mysql-test/include/master-slave.inc: Remove old syntax "@filename" in favor of "--require filename" mysql-test/include/ps_query.inc: Remove the comment about no output now when it does. mysql-test/r/check.result: Update output from --send mysql-test/r/connect.result: Update result file for connect test after backport form 5.1 mysql-test/r/flush.result: Update output from --send mysql-test/r/flush_block_commit.result: Update output from --send mysql-test/r/func_misc.result: Update output from --send mysql-test/r/grant2.result: Update output from --send mysql-test/r/handler.result: Update output from --send mysql-test/r/kill.result: Update output from --send mysql-test/r/lock_multi.result: Update output from --send mysql-test/r/mix_innodb_myisam_binlog.result: Update output from --send mysql-test/r/mysqltest.result: Update mysqltest.result after backport mysql-test/r/ps_2myisam.result: Update result as the output from query is now printed mysql-test/r/ps_3innodb.result: Update result as the output from query is now printed mysql-test/r/ps_4heap.result: Update result as the output from query is now printed mysql-test/r/ps_5merge.result: Update result as the output from query is now printed mysql-test/r/ps_6bdb.result: Update result as the output from query is now printed mysql-test/r/ps_7ndb.result: Update result as the output from query is now printed mysql-test/r/rename.result: Update output from --send mysql-test/r/rpl000001.result: Update output from --send mysql-test/r/rpl_error_ignored_table.result: Update output from --send mysql-test/r/rpl_master_pos_wait.result: Update output from --send mysql-test/r/subselect.result: Update result file after adding missing ; mysql-test/r/synchronization.result: Update output from --send mysql-test/r/type_blob.result: Update result file after adding missing ; mysql-test/t/connect.test: Backport test from 5.1 mysql-test/t/init_file.test: Update test so something is printed mysql-test/t/mysql_client_test.test: Update test so result is sent to file and something is printed mysql-test/t/mysqltest.test: Backport latest mysqltest.test file mysql-test/t/ps.test: Move the --replace_column statement to just before the statetement it should replace mysql-test/t/ps_1general.test: Move the --replace_column statement to just before the statetement it should replace mysql-test/t/ps_grant.test: Remove the $DB, no other test uses it mysql-test/t/rpl_flush_tables.test: Fetch $SERVER_VERSION from the db server mysql-test/t/rpl_trunc_temp.test: Remove the selection of connection master after it's been disconnected already mysql-test/t/subselect.test: Add missing ; mysql-test/t/type_blob.test: Add missing ;
This commit is contained in:
@ -30,7 +30,9 @@ mysql_SOURCES = mysql.cc readline.cc sql_string.cc completion_hash.cc
|
||||
mysqladmin_SOURCES = mysqladmin.cc
|
||||
mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS)
|
||||
mysqlbinlog_LDADD = $(LDADD) $(CXXLDFLAGS)
|
||||
mysqltest_SOURCES= mysqltest.c $(top_srcdir)/mysys/my_getsystime.c
|
||||
mysqltest_SOURCES= mysqltest.c \
|
||||
$(top_srcdir)/mysys/my_getsystime.c \
|
||||
$(top_srcdir)/mysys/my_copy.c
|
||||
mysqltest_LDADD = $(top_builddir)/regex/libregex.a $(LDADD)
|
||||
mysqlbinlog_SOURCES = mysqlbinlog.cc ../mysys/mf_tempdir.c
|
||||
mysqlmanagerc_SOURCES = mysqlmanagerc.c
|
||||
|
7318
client/mysqltest.c
7318
client/mysqltest.c
File diff suppressed because it is too large
Load Diff
@ -9,8 +9,10 @@ disable_query_log;
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
flush tables;
|
||||
@r/have_ndb.require show variables like "have_ndbcluster";
|
||||
# @r/server_id.require show variables like "server_id";
|
||||
--require r/have_ndb.require
|
||||
show variables like "have_ndbcluster";
|
||||
#--require r/server_id.require
|
||||
#show variables like "server_id";
|
||||
enable_query_log;
|
||||
|
||||
# Check that server2 has NDB support
|
||||
@ -20,8 +22,10 @@ disable_query_log;
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
flush tables;
|
||||
@r/have_ndb.require show variables like "have_ndbcluster";
|
||||
# @r/server_id1.require show variables like "server_id";
|
||||
--require r/have_ndb.require
|
||||
show variables like "have_ndbcluster";
|
||||
#--require r@r/server_id1.require
|
||||
#show variables like "server_id";
|
||||
enable_query_log;
|
||||
|
||||
# Set the default connection to 'server1'
|
||||
|
@ -8,7 +8,8 @@ connection slave;
|
||||
--disable_warnings
|
||||
stop slave;
|
||||
--enable_warnings
|
||||
@r/slave-stopped.result show status like 'Slave_running';
|
||||
--require r/slave-stopped.result
|
||||
show status like 'Slave_running';
|
||||
connection master;
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
@ -21,7 +22,8 @@ reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
--enable_warnings
|
||||
start slave;
|
||||
@r/slave-running.result show status like 'Slave_running';
|
||||
--require r/slave-running.result
|
||||
show status like 'Slave_running';
|
||||
|
||||
# Set the default connection to 'master'
|
||||
connection master;
|
||||
|
@ -52,7 +52,6 @@ execute stmt1;
|
||||
|
||||
##### parameter used for keyword like SELECT (must fail)
|
||||
set @arg00='SELECT' ;
|
||||
# mysqltest gives no output for the next statement, Why ??
|
||||
--error 1064
|
||||
@arg00 a from t1 where a=1;
|
||||
--error 1064
|
||||
|
25
mysql-test/include/show_msg.inc
Executable file
25
mysql-test/include/show_msg.inc
Executable file
@ -0,0 +1,25 @@
|
||||
#### include/show_msg.inc
|
||||
#
|
||||
# This file writes the value set in @message into the
|
||||
# a protocol file as part of executing a test sequence
|
||||
#
|
||||
# Usage:
|
||||
# Add the following to any *.test file:
|
||||
# :
|
||||
# let $message= <value>;
|
||||
# --source include/show_msg.inc
|
||||
# :
|
||||
#
|
||||
# Attention:
|
||||
# - Please do not write any spaces between $message and the "=", because the
|
||||
# assignment will not work.
|
||||
# - Be careful with single quotes. They must be escaped like "''" or "\'".
|
||||
#
|
||||
# "include/show_msg80.inc" contains a detailed description and examples.
|
||||
|
||||
--disable_query_log
|
||||
eval SET @utf8_message = CONVERT('$message' using utf8);
|
||||
select @utf8_message as ""
|
||||
union
|
||||
select repeat(CONVERT('-' using utf8),char_length(@utf8_message));
|
||||
--enable_query_log
|
118
mysql-test/include/show_msg80.inc
Executable file
118
mysql-test/include/show_msg80.inc
Executable file
@ -0,0 +1,118 @@
|
||||
#### include/show_msg80.inc
|
||||
#
|
||||
# This file writes the value set in @message into the a protocol file as part
|
||||
# of executing a test sequence with a dash line that is fixed on 80 characters.
|
||||
#
|
||||
# This can be used in the case of long messages, multi line messages that
|
||||
# exceed 80 or if an 80 char line is desired for short messages.
|
||||
#
|
||||
# Usage:
|
||||
# Add the following to any *.test file:
|
||||
# :
|
||||
# let $message= <value>;
|
||||
# --source include/show_msg80.inc
|
||||
# :
|
||||
#
|
||||
# Attention:
|
||||
# - Please do not write any spaces between $message and the "=", because the
|
||||
# assignment will not work.
|
||||
# - Be careful with single quotes within the value. They must be escaped like
|
||||
# "''" or "\'".
|
||||
# - Do not keep the value between single quotes.
|
||||
#
|
||||
#
|
||||
# Content of "$message" and protocol output depending on the assignment:
|
||||
# ----------------------------------------------------------------------
|
||||
#
|
||||
# I is assumed, that the value is not kept between double quotes.
|
||||
#
|
||||
# <x> first character after "$message=",
|
||||
# where the content is not (space or tab)
|
||||
# <y*> first character after beginning of the line,
|
||||
# where the content is not (space or tab)
|
||||
# <z> last char before ";"
|
||||
# | beginning or end of line
|
||||
#
|
||||
# script: let $message= <x><whatever0>|
|
||||
# | <y1><whatever1>|
|
||||
# |................|
|
||||
# | <yn><whatevern><z>;
|
||||
# content: "<x><whatever0><new line><y1><whatever1><new line>
|
||||
# ....<new line><yn><whatevern><z>"
|
||||
# protocol output: |<x><whatever0>|
|
||||
# |<y1><whatever1>|
|
||||
# |.....|
|
||||
# |<yn><whatevern><z>|
|
||||
# |--- 80 dashes ---|
|
||||
#
|
||||
# Attention:
|
||||
# <x> and <y*> set to characters like "-$#" which are also used
|
||||
# to start comments, options and the names of mysqltest variables
|
||||
# lead to syntax errors or mangled messages.
|
||||
#
|
||||
#
|
||||
# Examples of messages:
|
||||
# ---------------------
|
||||
#
|
||||
# Variant1 (ease of use):
|
||||
# Several lines with indentation kept between double quotes
|
||||
# script: |let $message=
|
||||
# |" Testcase 3.1 : Ensure that Pi is not an|
|
||||
# | integer number.|
|
||||
# | Third line";
|
||||
# protocol: |" Testcase 3.1 : Ensure that Pi is not an|
|
||||
# | integer number.|
|
||||
# | Third line"|
|
||||
# |------ 80 dashes ----|
|
||||
#
|
||||
# Please mention that
|
||||
# - the '"' preserves the indentation.
|
||||
# - it is easy to write the script lines to get a fine indentation,
|
||||
# if the value starts at the beginning of a new line
|
||||
# - the '"' is printed
|
||||
# - there are the least or no problems with characters like "-#$"
|
||||
#
|
||||
#
|
||||
# Variant 2 (grep the messages from the protocol is easy):
|
||||
# Several lines with indentation + auxiliary character (".")
|
||||
# at the (non tab or space) beginning of every message line
|
||||
# script: |let $message= . Testcase 3.1 : Ensure that Pi is not an|
|
||||
# | . integer number.|
|
||||
# | . Third line;
|
||||
# protocol: |. Testcase 3.1 : Ensure that Pi is not an|
|
||||
# |. integer number.|
|
||||
# |. Third line|
|
||||
# |------ 80 dashes ----|
|
||||
# Please mention that
|
||||
# - the auxiliary character preserves the indentation.
|
||||
# - it is easy to write the script lines to get a fine indentation
|
||||
# - the auxiliary character is printed
|
||||
# - it is recommended to use "." as auxiliary character
|
||||
# - auxiliary characters like "-'$#" cause problems
|
||||
#
|
||||
#
|
||||
#
|
||||
# Bad variant1: Several lines with lost indentation
|
||||
# script: |let $message= Here is message line 1
|
||||
# | message line 2;
|
||||
# protocol: |Here is message line 1|
|
||||
# |message line 2|
|
||||
# |------ 80 dashes ----|
|
||||
# Please mention, that the leading spaces of the message lines disappeared.
|
||||
#
|
||||
# Bad variant2: Several lines leading to a syntax error, because of "-"
|
||||
# script: |let $message= - This is a message
|
||||
# | - with a second and
|
||||
# | - third line;
|
||||
# protocol: | - third line;;
|
||||
# |ERROR 42000: You have an error ... near '- third line'
|
||||
# + several following errors
|
||||
#
|
||||
#
|
||||
|
||||
--disable_query_log
|
||||
eval SET @utf8_message = CONVERT('$message' using utf8);
|
||||
select @utf8_message as ""
|
||||
union
|
||||
select repeat(CONVERT('-' using utf8),80);
|
||||
--enable_query_log
|
@ -18,6 +18,10 @@ time_zone_transition_type
|
||||
user
|
||||
show tables;
|
||||
Tables_in_test
|
||||
connect(localhost,root,z,test2,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'root'@'localhost' (using password: YES)
|
||||
connect(localhost,root,z,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'root'@'localhost' (using password: YES)
|
||||
grant ALL on *.* to test@localhost identified by "gambling";
|
||||
grant ALL on *.* to test@127.0.0.1 identified by "gambling";
|
||||
show tables;
|
||||
@ -39,6 +43,14 @@ time_zone_transition_type
|
||||
user
|
||||
show tables;
|
||||
Tables_in_test
|
||||
connect(localhost,test,,test2,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'test'@'localhost' (using password: NO)
|
||||
connect(localhost,test,,"",MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'test'@'localhost' (using password: NO)
|
||||
connect(localhost,test,zorro,test2,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'test'@'localhost' (using password: YES)
|
||||
connect(localhost,test,zorro,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'test'@'localhost' (using password: YES)
|
||||
update mysql.user set password=old_password("gambling2") where user=_binary"test";
|
||||
flush privileges;
|
||||
set password="";
|
||||
@ -64,6 +76,14 @@ time_zone_transition_type
|
||||
user
|
||||
show tables;
|
||||
Tables_in_test
|
||||
connect(localhost,test,,test2,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'test'@'localhost' (using password: NO)
|
||||
connect(localhost,test,,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'test'@'localhost' (using password: NO)
|
||||
connect(localhost,test,zorro,test2,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'test'@'localhost' (using password: YES)
|
||||
connect(localhost,test,zorro,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'test'@'localhost' (using password: YES)
|
||||
delete from mysql.user where user=_binary"test";
|
||||
flush privileges;
|
||||
create table t1 (id integer not null auto_increment primary key);
|
||||
|
@ -16,7 +16,7 @@ otto
|
||||
mysqltest: At line 1: query 'select otto from (select 1 as otto) as t1' succeeded - should have failed with sqlstate 42S22...
|
||||
select friedrich from (select 1 as otto) as t1;
|
||||
ERROR 42S22: Unknown column 'friedrich' in 'field list'
|
||||
mysqltest: At line 1: query 'select friedrich from (select 1 as otto) as t1' failed with wrong sqlstate 42S22 instead of 00000...
|
||||
mysqltest: At line 1: query 'select friedrich from (select 1 as otto) as t1' failed with wrong sqlstate 42S22: 'Unknown column 'friedrich' in 'field list'', instead of 00000...
|
||||
select otto from (select 1 as otto) as t1;
|
||||
otto
|
||||
1
|
||||
@ -133,8 +133,7 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
select 1146 as "after_!errno_masked_error" ;
|
||||
after_!errno_masked_error
|
||||
1146
|
||||
mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno 1146 instead of 1000...
|
||||
mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno 1146 instead of 1000...
|
||||
mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno 1146: 'Table 'test.t1' doesn't exist', instead of 1000...
|
||||
garbage ;
|
||||
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 'garbage' at line 1
|
||||
select 1064 as "after_--enable_abort_on_error" ;
|
||||
@ -142,8 +141,7 @@ after_--enable_abort_on_error
|
||||
1064
|
||||
select 3 from t1 ;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno 1146 instead of 1064...
|
||||
mysqltest: At line 1: query 'select 3 from t1' failed: 1146: Table 'test.t1' doesn't exist
|
||||
mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno 1146: 'Table 'test.t1' doesn't exist', instead of 1064...
|
||||
hello
|
||||
hello
|
||||
;;;;;;;;
|
||||
@ -151,7 +149,24 @@ hello
|
||||
mysqltest: At line 1: End of line junk detected: "6"
|
||||
mysqltest: At line 1: End of line junk detected: "6"
|
||||
mysqltest: At line 1: Missing delimiter
|
||||
mysqltest: At line 1: End of line junk detected: "sleep 7
|
||||
# Another comment
|
||||
"
|
||||
mysqltest: At line 1: Extra delimiter ";" found
|
||||
mysqltest: At line 1: Extra delimiter ";" found
|
||||
mysqltest: At line 1: Missing argument(s) to 'error'
|
||||
mysqltest: At line 1: Missing argument(s) to 'error'
|
||||
mysqltest: At line 1: The sqlstate definition must start with an uppercase S
|
||||
mysqltest: At line 1: The error name definition must start with an uppercase E
|
||||
mysqltest: At line 1: Invalid argument to error: '9eeeee' - the errno may only consist of digits[0-9]
|
||||
mysqltest: At line 1: Invalid argument to error: '1sssss' - the errno may only consist of digits[0-9]
|
||||
mysqltest: At line 1: The sqlstate must be exactly 5 chars long
|
||||
mysqltest: At line 1: The sqlstate may only consist of digits[0-9] and _uppercase_ letters
|
||||
mysqltest: At line 1: The sqlstate must be exactly 5 chars long
|
||||
mysqltest: At line 1: Not available in mysqltest for MySQL 4.1.22
|
||||
mysqltest: At line 1: Invalid argument to error: '999e9' - the errno may only consist of digits[0-9]
|
||||
mysqltest: At line 1: Invalid argument to error: '9b' - the errno may only consist of digits[0-9]
|
||||
mysqltest: At line 1: Too many errorcodes specified
|
||||
MySQL
|
||||
"MySQL"
|
||||
MySQL: The world''s most popular open source database
|
||||
@ -166,8 +181,8 @@ source database
|
||||
- most popular open
|
||||
- source database
|
||||
- MySQL: The world''s
|
||||
-- most popular open
|
||||
-- source database
|
||||
-- most popular
|
||||
-- open source database
|
||||
# MySQL: The
|
||||
--world''s
|
||||
# most popular
|
||||
@ -193,14 +208,20 @@ source database
|
||||
# source database
|
||||
-- MySQL: The
|
||||
-- world''s most
|
||||
-- popular open
|
||||
-- source database
|
||||
-- popular
|
||||
-- open source database
|
||||
# MySQL: The
|
||||
- world''s most
|
||||
-- popular open
|
||||
# source database
|
||||
'$message'
|
||||
"$message"
|
||||
'# MySQL: The
|
||||
- world''s most
|
||||
-- popular open
|
||||
# source database'
|
||||
"# MySQL: The
|
||||
- world''s most
|
||||
-- popular open
|
||||
# source database"
|
||||
hej
|
||||
hej
|
||||
hej
|
||||
@ -209,21 +230,32 @@ hej
|
||||
|
||||
a long variable content
|
||||
a long variable content
|
||||
a long $where variable content
|
||||
a long a long variable content variable content
|
||||
a long \$where variable content
|
||||
|
||||
banana = banana
|
||||
Not a banana: ba\$cat\$cat
|
||||
mysqltest: At line 1: Missing arguments to let
|
||||
mysqltest: At line 1: Missing variable name in let
|
||||
mysqltest: At line 1: Variable name in hi=hi does not start with '$'
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
mysqltest: At line 1: Missing arguments to let
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
mysqltest: At line 1: Missing variable name in let
|
||||
mysqltest: At line 1: Missing variable name in let
|
||||
mysqltest: At line 1: Variable name in =hi does not start with '$'
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
mysqltest: At line 1: Missing file name in source
|
||||
# Execute: --echo # <whatever> success: $success
|
||||
# <whatever> success: 1
|
||||
# Execute: echo # <whatever> success: $success ;
|
||||
# <whatever> success: 1
|
||||
# The next two variants work fine and expand the content of $success
|
||||
# Execute: --echo $success
|
||||
1
|
||||
# Execute: echo $success ;
|
||||
1
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'source'
|
||||
mysqltest: At line 1: Could not open file ./non_existingFile
|
||||
mysqltest: In included file "./var/tmp/recursive.sql": At line 1: Source directives are nesting too deep
|
||||
mysqltest: In included file "./var/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: 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 'garbage' at line 1
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: 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 'garbage' at line 1
|
||||
|
||||
2 = outer loop variable after while
|
||||
here is the sourced script
|
||||
@ -288,8 +320,8 @@ mysqltest: At line 1: Invalid argument to real_sleep "abc"
|
||||
101
|
||||
hej
|
||||
1
|
||||
mysqltest: At line 1: Missing arguments to inc
|
||||
mysqltest: At line 1: First argument to inc must be a variable (start with $)
|
||||
mysqltest: At line 1: Missing argument to inc
|
||||
mysqltest: At line 1: The argument to inc must be a variable (start with $)
|
||||
mysqltest: At line 1: End of line junk detected: "1000"
|
||||
4
|
||||
4
|
||||
@ -298,27 +330,31 @@ mysqltest: At line 1: End of line junk detected: "1000"
|
||||
99
|
||||
hej
|
||||
-1
|
||||
mysqltest: At line 1: Missing arguments to dec
|
||||
mysqltest: At line 1: First argument to dec must be a variable (start with $)
|
||||
mysqltest: At line 1: Missing argument to dec
|
||||
mysqltest: At line 1: The argument to dec must be a variable (start with $)
|
||||
mysqltest: At line 1: End of line junk detected: "1000"
|
||||
mysqltest: At line 1: Missing arguments to system, nothing to do!
|
||||
mysqltest: At line 1: Missing arguments to system, nothing to do!
|
||||
mysqltest: At line 1: system command 'false' failed
|
||||
system command 'NonExistsinfComamdn 2> /dev/null' failed
|
||||
test
|
||||
test2
|
||||
test3
|
||||
test4
|
||||
Counter is greater than 0, (counter=10)
|
||||
Counter is not 0, (counter=0)
|
||||
1
|
||||
mysqltest: In included file "./include/mysqltest_while.inc": At line 64: Nesting too deeply
|
||||
Testing while with not
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest_while.inc": At line 64: Nesting too deeply
|
||||
mysqltest: At line 1: missing '(' in while
|
||||
mysqltest: At line 1: missing ')' in while
|
||||
mysqltest: At line 1: Missing '{' after while. Found "dec $i"
|
||||
mysqltest: At line 1: Stray '}' - end of block before beginning
|
||||
mysqltest: At line 1: Stray 'end' command - end of block before beginning
|
||||
mysqltest: At line 1: query '' failed: 1065: Query was empty
|
||||
mysqltest: At line 1: query '{' failed: 1064: 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 '{' at line 1
|
||||
mysqltest: At line 1: Missing '{' after while. Found "echo hej"
|
||||
mysqltest: At line 3: Missing end of block
|
||||
mysqltest: At line 1: Missing newline between while and '{'
|
||||
mysqltest: At line 3: Missing end of block
|
||||
mysqltest: At line 1: missing '(' in if
|
||||
mysqltest: At line 1: Stray 'end' command - end of block before beginning
|
||||
select "b" bs col1, "c" bs col2;
|
||||
@ -331,6 +367,7 @@ mysqltest: At line 1: Wrong number of arguments to replace_result in 'replace_re
|
||||
mysqltest: At line 1: Wrong number of arguments to replace_result in 'replace_result a;'
|
||||
mysqltest: At line 1: Wrong number of arguments to replace_result in 'replace_result a'
|
||||
mysqltest: At line 1: Wrong number of arguments to replace_result in 'replace_result a '
|
||||
OK
|
||||
mysqltest: At line 1: Wrong number of arguments to replace_result in 'replace_result a b c'
|
||||
mysqltest: At line 1: Wrong number of arguments to replace_result in 'replace_result a b c '
|
||||
select "a" as col1, "c" as col2;
|
||||
@ -347,6 +384,18 @@ mysqltest: At line 1: Wrong column number to replace_column in 'replace_column 1
|
||||
mysqltest: At line 1: Invalid integer argument "10!"
|
||||
mysqltest: At line 1: End of line junk detected: "!"
|
||||
mysqltest: At line 1: Invalid integer argument "a"
|
||||
mysqltest: At line 1: Missing required argument 'connection name' to command 'connect'
|
||||
mysqltest: At line 1: Missing required argument 'connection name' to command 'connect'
|
||||
mysqltest: At line 1: Missing required argument 'host' to command 'connect'
|
||||
mysqltest: At line 1: Missing required argument 'host' to command 'connect'
|
||||
mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1049: Unknown database 'illegal_db'
|
||||
mysqltest: At line 1: Illegal argument for port: 'illegal_port'
|
||||
mysqltest: At line 1: Illegal option to connect: SMTP
|
||||
OK
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 7: Connection limit exhausted, you can have max 128 connections
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists
|
||||
connect(localhost,root,,test,MASTER_PORT,MASTER_SOCKET);
|
||||
Output from mysqltest-x.inc
|
||||
Output from mysqltest-x.inc
|
||||
Output from mysqltest-x.inc
|
||||
@ -358,3 +407,98 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
||||
SELECT 1 as a;
|
||||
a
|
||||
1
|
||||
select 1 as `a'b`, 2 as `a"b`;
|
||||
a'b a"b
|
||||
1 2
|
||||
select 'aaa\\','aa''a',"aa""a";
|
||||
aaa\ aa'a aa"a
|
||||
aaa\ aa'a aa"a
|
||||
|
||||
Here comes a message
|
||||
--------------------
|
||||
|
||||
root@localhost
|
||||
--------------
|
||||
|
||||
"Here comes a very very long message that
|
||||
- is longer then 80 characters and
|
||||
- consists of several lines"
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
. Here comes a very very long message that
|
||||
. - is longer then 80 characters and
|
||||
. - consists of several lines
|
||||
--------------------------------------------------------------------------------
|
||||
this will be executed
|
||||
this will be executed
|
||||
mysqltest: Result length mismatch
|
||||
mysqltest: The test didn't produce any output
|
||||
Failing multi statement query
|
||||
mysqltest: At line 3: query 'create table t1 (a int primary key);
|
||||
insert into t1 values (1);
|
||||
select 'select-me';
|
||||
insertz 'error query'' failed: 1064: 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 'insertz 'error query'' at line 1
|
||||
drop table t1;
|
||||
mysqltest: At line 3: query 'create table t1 (a int primary key);
|
||||
insert into t1 values (1);
|
||||
select 'select-me';
|
||||
insertz 'error query'' failed: 1064: 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 'insertz 'error query'' at line 1
|
||||
drop table t1;
|
||||
Multi statement using expected error
|
||||
create table t1 (a int primary key);
|
||||
insert into t1 values (1);
|
||||
select 'select-me';
|
||||
insertz error query||||
|
||||
select-me
|
||||
select-me
|
||||
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 'insertz error query' at line 1
|
||||
drop table t1;
|
||||
drop table t1;
|
||||
sleep;
|
||||
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 'sleep' at line 1
|
||||
sleep;
|
||||
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 'sleep' at line 1
|
||||
;
|
||||
ERROR 42000: Query was empty
|
||||
select "b" as col1, "c" as col2;
|
||||
col1 col2
|
||||
b c
|
||||
select "b" as col1, "b" as col2, "c" as col3;
|
||||
col1 col2 col3
|
||||
b b c
|
||||
seled "b" bs col1, "d" bs col2;
|
||||
col1 col2
|
||||
b d
|
||||
select "raspberry and strawberry","blackberry","tomato";
|
||||
raspberry and strawberry blackberry tomato
|
||||
raspberry and strawberry blackberry tomato
|
||||
mysqltest: At line 1: Error parsing replace_regex "a"
|
||||
mysqltest: At line 1: Error parsing replace_regex "a;"
|
||||
mysqltest: At line 1: Error parsing replace_regex "a"
|
||||
mysqltest: At line 1: Error parsing replace_regex "a "
|
||||
mysqltest: At line 1: Error parsing replace_regex "a b"
|
||||
mysqltest: At line 1: Error parsing replace_regex "/a b c"
|
||||
mysqltest: At line 1: Error parsing replace_regex "/a /b c "
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values (1,3);
|
||||
insert into t1 values (2,4);
|
||||
select * from t1;
|
||||
a D
|
||||
1 1
|
||||
1 4
|
||||
drop table t1;
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'remove_file'
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'write_file'
|
||||
mysqltest: At line 1: End of file encountered before 'EOF' delimiter was found
|
||||
mysqltest: At line 1: End of line junk detected: "write_file filename ";
|
||||
"
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'file_exists'
|
||||
mysqltest: At line 1: Missing required argument 'from_file' to command 'copy_file'
|
||||
mysqltest: At line 1: Missing required argument 'to_file' to command 'copy_file'
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
mysqltest: At line 1: Max delimiter length(16) exceeded
|
||||
hello
|
||||
hello
|
||||
End of tests
|
||||
|
@ -85,6 +85,8 @@ c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
|
||||
set @arg00='SELECT' ;
|
||||
@arg00 a from t1 where a=1;
|
||||
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 '@arg00 a from t1 where a=1' at line 1
|
||||
prepare stmt1 from ' ? a from t1 where a=1 ';
|
||||
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 '? a from t1 where a=1' at line 1
|
||||
set @arg00=1 ;
|
||||
|
@ -85,6 +85,8 @@ c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
|
||||
set @arg00='SELECT' ;
|
||||
@arg00 a from t1 where a=1;
|
||||
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 '@arg00 a from t1 where a=1' at line 1
|
||||
prepare stmt1 from ' ? a from t1 where a=1 ';
|
||||
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 '? a from t1 where a=1' at line 1
|
||||
set @arg00=1 ;
|
||||
|
@ -86,6 +86,8 @@ c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
|
||||
set @arg00='SELECT' ;
|
||||
@arg00 a from t1 where a=1;
|
||||
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 '@arg00 a from t1 where a=1' at line 1
|
||||
prepare stmt1 from ' ? a from t1 where a=1 ';
|
||||
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 '? a from t1 where a=1' at line 1
|
||||
set @arg00=1 ;
|
||||
|
@ -128,6 +128,8 @@ c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
|
||||
set @arg00='SELECT' ;
|
||||
@arg00 a from t1 where a=1;
|
||||
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 '@arg00 a from t1 where a=1' at line 1
|
||||
prepare stmt1 from ' ? a from t1 where a=1 ';
|
||||
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 '? a from t1 where a=1' at line 1
|
||||
set @arg00=1 ;
|
||||
@ -3142,6 +3144,8 @@ c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
|
||||
set @arg00='SELECT' ;
|
||||
@arg00 a from t1 where a=1;
|
||||
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 '@arg00 a from t1 where a=1' at line 1
|
||||
prepare stmt1 from ' ? a from t1 where a=1 ';
|
||||
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 '? a from t1 where a=1' at line 1
|
||||
set @arg00=1 ;
|
||||
|
@ -85,6 +85,8 @@ c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
|
||||
set @arg00='SELECT' ;
|
||||
@arg00 a from t1 where a=1;
|
||||
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 '@arg00 a from t1 where a=1' at line 1
|
||||
prepare stmt1 from ' ? a from t1 where a=1 ';
|
||||
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 '? a from t1 where a=1' at line 1
|
||||
set @arg00=1 ;
|
||||
|
@ -85,6 +85,8 @@ c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c
|
||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||
9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
|
||||
set @arg00='SELECT' ;
|
||||
@arg00 a from t1 where a=1;
|
||||
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 '@arg00 a from t1 where a=1' at line 1
|
||||
prepare stmt1 from ' ? a from t1 where a=1 ';
|
||||
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 '? a from t1 where a=1' at line 1
|
||||
set @arg00=1 ;
|
||||
|
@ -1,14 +0,0 @@
|
||||
reset master;
|
||||
reset slave;
|
||||
start slave;
|
||||
show binary logs;
|
||||
Log_name
|
||||
master-bin.000001
|
||||
master-bin.000002
|
||||
drop table if exists t1;
|
||||
create table t1(n int);
|
||||
insert into t1 values (3351);
|
||||
select * from t1;
|
||||
n
|
||||
3351
|
||||
drop table t1;
|
@ -1,30 +0,0 @@
|
||||
slave stop;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
reset master;
|
||||
change master to master_host='127.0.0.1',master_port=9307, master_user='root';
|
||||
start slave;
|
||||
create temporary table t1 (a int);
|
||||
create temporary table t1 (a int);
|
||||
show status like 'slave_open_temp_tables';
|
||||
Variable_name Value
|
||||
Slave_open_temp_tables 2
|
||||
create temporary table t1 (a int);
|
||||
create temporary table t1 (a int);
|
||||
show status like 'slave_open_temp_tables';
|
||||
Variable_name Value
|
||||
Slave_open_temp_tables 4
|
||||
stop slave;
|
||||
insert into t1 values(1);
|
||||
create table t2 as select * from t1;
|
||||
start slave;
|
||||
show status like 'slave_open_temp_tables';
|
||||
Variable_name Value
|
||||
Slave_open_temp_tables 4
|
||||
select * from t2;
|
||||
a
|
||||
1
|
||||
drop table t2;
|
@ -1,34 +0,0 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
show variables like 'rpl_recovery_rank';
|
||||
Variable_name Value
|
||||
rpl_recovery_rank 1
|
||||
show status like 'Rpl_status';
|
||||
Variable_name Value
|
||||
Rpl_status AUTH_MASTER
|
||||
create table t1(n int);
|
||||
drop table t1;
|
||||
show variables like 'rpl_recovery_rank';
|
||||
Variable_name Value
|
||||
rpl_recovery_rank 2
|
||||
show status like 'Rpl_status';
|
||||
Variable_name Value
|
||||
Rpl_status ACTIVE_SLAVE
|
||||
start slave;
|
||||
show variables like 'rpl_recovery_rank';
|
||||
Variable_name Value
|
||||
rpl_recovery_rank 3
|
||||
show status like 'Rpl_status';
|
||||
Variable_name Value
|
||||
Rpl_status ACTIVE_SLAVE
|
||||
start slave;
|
||||
show variables like 'rpl_recovery_rank';
|
||||
Variable_name Value
|
||||
rpl_recovery_rank 4
|
||||
show status like 'Rpl_status';
|
||||
Variable_name Value
|
||||
Rpl_status ACTIVE_SLAVE
|
@ -1,29 +0,0 @@
|
||||
reset master;
|
||||
drop table if exists t1;
|
||||
create table t1 type=HEAP select 10 as a;
|
||||
insert into t1 values(11);
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use `test`; create table t1 type=HEAP select 10 as a
|
||||
master-bin.001 154 Query 1 154 use `test`; insert into t1 values(11)
|
||||
reset slave;
|
||||
start slave;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bigint(2) NOT NULL default '0'
|
||||
) TYPE=HEAP
|
||||
select * from t1;
|
||||
a
|
||||
10
|
||||
11
|
||||
select * from t1;
|
||||
a
|
||||
select * from t1 limit 10;
|
||||
a
|
||||
show binlog events in 'master-bin.002' from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.002 79 Query 1 79 use `test`; DELETE FROM `test`.`t1`
|
||||
select * from t1;
|
||||
a
|
||||
drop table t1;
|
@ -2697,8 +2697,7 @@ select (1,2,3) = (select * from t1);
|
||||
ERROR 21000: Operand should contain 3 column(s)
|
||||
select (select * from t1) = (1,2,3);
|
||||
ERROR 21000: Operand should contain 2 column(s)
|
||||
drop table t1
|
||||
#;
|
||||
drop table t1;
|
||||
CREATE TABLE `t1` (
|
||||
`itemid` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`sessionid` bigint(20) unsigned default NULL,
|
||||
|
@ -24,8 +24,7 @@ t3 CREATE TABLE `t3` (
|
||||
`a` mediumtext,
|
||||
`b` mediumblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1,t2,t3
|
||||
#;
|
||||
drop table t1,t2,t3;
|
||||
CREATE TABLE t1 (a char(257) default "hello");
|
||||
ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead
|
||||
CREATE TABLE t2 (a blob default "hello");
|
||||
|
@ -1,7 +1,6 @@
|
||||
# This test is to check various cases of connections
|
||||
# with right and wrong password, with and without database
|
||||
# Unfortunately the check is incomplete as we can't handle errors on connect
|
||||
# Also we can't connect without database
|
||||
# Unfortunately the check is incomplete as we can't connect without database
|
||||
|
||||
# This test makes no sense with the embedded server
|
||||
--source include/not_embedded.inc
|
||||
@ -10,69 +9,73 @@
|
||||
drop table if exists t1,t2;
|
||||
--enable_warnings
|
||||
|
||||
|
||||
#connect (con1,localhost,root,,"");
|
||||
#show tables;
|
||||
connect (con1,localhost,root,,mysql);
|
||||
show tables;
|
||||
connect (con1,localhost,root,,test);
|
||||
connect (con2,localhost,root,,test);
|
||||
show tables;
|
||||
|
||||
# Re enable this one day if error handling on connect will take place
|
||||
|
||||
#connect (con1,localhost,root,z,test2);
|
||||
#--error 1045
|
||||
#connect (con1,localhost,root,z,);
|
||||
#--error 1045
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,root,z,test2);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,root,z,);
|
||||
|
||||
grant ALL on *.* to test@localhost identified by "gambling";
|
||||
grant ALL on *.* to test@127.0.0.1 identified by "gambling";
|
||||
|
||||
# Now check this user with different databases
|
||||
|
||||
#connect (con1,localhost,test,gambling,"");
|
||||
#show tables;
|
||||
connect (con1,localhost,test,gambling,mysql);
|
||||
connect (con3,localhost,test,gambling,mysql);
|
||||
show tables;
|
||||
connect (con1,localhost,test,gambling,test);
|
||||
connect (con4,localhost,test,gambling,test);
|
||||
show tables;
|
||||
|
||||
# Re enable this one day if error handling on connect will take place
|
||||
|
||||
#connect (con1,localhost,test,,test2);
|
||||
#--error 1045
|
||||
#connect (con1,localhost,test,,"");
|
||||
#--error 1045
|
||||
#connect (con1,localhost,test,zorro,test2);
|
||||
#--error 1045
|
||||
#connect (con1,localhost,test,zorro,);
|
||||
#--error 1045
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,test,,test2);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,test,,"");
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,test,zorro,test2);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,test,zorro,);
|
||||
|
||||
|
||||
# check if old password version also works
|
||||
update mysql.user set password=old_password("gambling2") where user=_binary"test";
|
||||
flush privileges;
|
||||
|
||||
#connect (con1,localhost,test,gambling2,"");
|
||||
#show tables;
|
||||
connect (con1,localhost,test,gambling2,mysql);
|
||||
connect (con10,localhost,test,gambling2,);
|
||||
connect (con5,localhost,test,gambling2,mysql);
|
||||
connection con5;
|
||||
set password="";
|
||||
--error 1105
|
||||
set password='gambling3';
|
||||
set password=old_password('gambling3');
|
||||
show tables;
|
||||
connect (con1,localhost,test,gambling3,test);
|
||||
connect (con6,localhost,test,gambling3,test);
|
||||
show tables;
|
||||
|
||||
# Re enable this one day if error handling on connect will take place
|
||||
|
||||
#connect (con1,localhost,test,,test2);
|
||||
#--error 1045
|
||||
#connect (con1,localhost,test,,);
|
||||
#--error 1045
|
||||
#connect (con1,localhost,test,zorro,test2);
|
||||
#--error 1045
|
||||
#connect (con1,localhost,test,zorro,);
|
||||
#--error 1045
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,test,,test2);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,test,,);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,test,zorro,test2);
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error 1045
|
||||
connect (fail_con,localhost,test,zorro,);
|
||||
|
||||
|
||||
# remove user 'test' so that other tests which may use 'test'
|
||||
@ -84,13 +87,13 @@ flush privileges;
|
||||
#
|
||||
# Bug#12517: Clear user variables and replication events before
|
||||
# closing temp tables in thread cleanup.
|
||||
connect (con2,localhost,root,,test);
|
||||
connection con2;
|
||||
connect (con7,localhost,root,,test);
|
||||
connection con7;
|
||||
create table t1 (id integer not null auto_increment primary key);
|
||||
create temporary table t2(id integer not null auto_increment primary key);
|
||||
set @id := 1;
|
||||
delete from t1 where id like @id;
|
||||
disconnect con2;
|
||||
disconnect con7;
|
||||
--sleep 5
|
||||
connection default;
|
||||
drop table t1;
|
||||
|
@ -6,4 +6,5 @@
|
||||
# mysql-test/t/init_file-master.opt for the actual test
|
||||
#
|
||||
|
||||
# End of 4.1 tests
|
||||
--echo ok
|
||||
--echo End of 4.1 tests
|
||||
|
@ -8,8 +8,8 @@
|
||||
# server or run mysql-test-run --debug mysql_client_test and check
|
||||
# var/log/mysql_client_test.trace
|
||||
|
||||
--disable_result_log
|
||||
--exec echo $MYSQL_CLIENT_TEST --getopt-ll-test=25600M
|
||||
--exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M
|
||||
--exec echo "$MYSQL_CLIENT_TEST --getopt-ll-test=25600M" > $MYSQLTEST_VARDIR/log/mysql_client_test.log 2>&1
|
||||
--exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M >> $MYSQLTEST_VARDIR/log/mysql_client_test.log 2>&1
|
||||
|
||||
# End of 4.1 tests
|
||||
echo ok;
|
||||
|
@ -1,3 +1,4 @@
|
||||
# This test should work in embedded server after mysqltest is fixed
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
# ============================================================================
|
||||
@ -26,7 +27,7 @@
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# $mysql_errno contains the return code of the last command
|
||||
# send to the server.
|
||||
# sent to the server.
|
||||
# ----------------------------------------------------------------------------
|
||||
# get $mysql_errno before the first statement
|
||||
# $mysql_errno should be -1
|
||||
@ -49,7 +50,7 @@ select otto from (select 1 as otto) as t1;
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Negative case(statement):
|
||||
# The dervied table t1 does not contain a column named 'friedrich' .
|
||||
# The derived table t1 does not contain a column named 'friedrich' .
|
||||
# --> ERROR 42S22: Unknown column 'friedrich' in 'field list and
|
||||
# --> 1054: Unknown column 'friedrich' in 'field list'
|
||||
# ----------------------------------------------------------------------------
|
||||
@ -67,7 +68,7 @@ select friedrich from (select 1 as otto) as t1;
|
||||
# The following unmasked unsuccessful statement must give
|
||||
# 1. mysqltest gives a 'failed'
|
||||
# 2. does not produce a r/<test case>.reject file !!!
|
||||
# PLEASE uncomment it and check it's effect
|
||||
# PLEASE uncomment it and check its effect
|
||||
#select friedrich from (select 1 as otto) as t1;
|
||||
|
||||
|
||||
@ -113,7 +114,7 @@ select friedrich from (select 1 as otto) as t1;
|
||||
# test cases for $mysql_errno
|
||||
#
|
||||
# $mysql_errno is a builtin variable of mysqltest and contains the return code
|
||||
# of the last command send to the server.
|
||||
# of the last command sent to the server.
|
||||
#
|
||||
# The following test cases often initialize $mysql_errno to 1064 by
|
||||
# a command with wrong syntax.
|
||||
@ -216,7 +217,7 @@ garbage ;
|
||||
execute stmt;
|
||||
eval select $mysql_errno as "after_successful_execute" ;
|
||||
|
||||
# failing execute (table dropped)
|
||||
# failing execute (table has been dropped)
|
||||
drop table t1;
|
||||
--error 1064
|
||||
garbage ;
|
||||
@ -248,8 +249,8 @@ eval select $mysql_errno as "after_failing_deallocate" ;
|
||||
# ----------------------------------------------------------------------------
|
||||
# test cases for "--disable_abort_on_error"
|
||||
#
|
||||
# "--disable_abort_on_error" switches the abort of mysqltest
|
||||
# after "unmasked" failing statements off.
|
||||
# "--disable_abort_on_error" switches off the abort of mysqltest
|
||||
# after "unmasked" failing statements.
|
||||
#
|
||||
# The default is "--enable_abort_on_error".
|
||||
#
|
||||
@ -257,13 +258,13 @@ eval select $mysql_errno as "after_failing_deallocate" ;
|
||||
# --error <error number> and --error <error number>
|
||||
# in the line before the failing statement.
|
||||
#
|
||||
# There are some additional test case for $mysql_errno
|
||||
# There are some additional test cases for $mysql_errno
|
||||
# because "--disable_abort_on_error" enables a new situation.
|
||||
# Example: "unmasked" statement fails + analysis of $mysql_errno
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Switch the abort on error off and check the effect on $mysql_errno
|
||||
# Switch off the abort on error and check the effect on $mysql_errno
|
||||
# ----------------------------------------------------------------------------
|
||||
--error 1064
|
||||
garbage ;
|
||||
@ -316,7 +317,6 @@ select 3 from t1 ;
|
||||
#
|
||||
#select 3 from t1 ;
|
||||
|
||||
# End of 4.1 tests
|
||||
--error 1
|
||||
--exec echo "disable_abort_on_error; enable_abort_on_error; error 1064; select 3 from t1; select 3 from t1;" | $MYSQL_TEST 2>&1
|
||||
|
||||
@ -344,7 +344,7 @@ select 3 from t1 ;
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test detect end of line "junk"
|
||||
# Most likely causes by a missing delimiter
|
||||
# Most likely caused by a missing delimiter
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Too many parameters to function
|
||||
@ -359,23 +359,95 @@ select 3 from t1 ;
|
||||
# Missing delimiter
|
||||
# The comment will be "sucked into" the sleep command since
|
||||
# delimiter is missing until after "show status"
|
||||
--system echo "sleep 4" > var/log/mysqltest.sql
|
||||
--system echo "# A comment" >> var/log/mysqltest.sql
|
||||
--system echo "show status;" >> var/log/mysqltest.sql
|
||||
--system echo "sleep 4" > $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "# A comment" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "show status;" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--error 1
|
||||
--exec $MYSQL_TEST < var/log/mysqltest.sql 2>&1
|
||||
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
|
||||
|
||||
#
|
||||
# Missing delimiter until eof
|
||||
# The comment will be "sucked into" the sleep command since
|
||||
# delimiter is missing
|
||||
--system echo "sleep 7" > $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "# Another comment" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--error 1
|
||||
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
|
||||
|
||||
#
|
||||
# Extra delimiter
|
||||
#
|
||||
--error 1
|
||||
--exec echo "--sleep 4;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--disable_query_log;" | $MYSQL_TEST 2>&1
|
||||
|
||||
|
||||
# Allow trailing # comment
|
||||
--sleep 1 # Wait for insert delayed to be executed.
|
||||
--sleep 1 # Wait for insert delayed to be executed.
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test error
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Missing argument
|
||||
--error 1
|
||||
--exec echo "error;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--error" | $MYSQL_TEST 2>&1
|
||||
|
||||
# First char must be uppercase 'S' or 'E' or [0-9]
|
||||
--error 1
|
||||
--exec echo "--error s99999" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--error e99999" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--error 9eeeee" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--error 1sssss" | $MYSQL_TEST 2>&1
|
||||
|
||||
# First char 'S' but too long
|
||||
--error 1
|
||||
--exec echo "--error S999999" | $MYSQL_TEST 2>&1
|
||||
|
||||
# First char 'S' but lowercase char found
|
||||
--error 1
|
||||
--exec echo "--error S99a99" | $MYSQL_TEST 2>&1
|
||||
|
||||
# First char 'S' but too short
|
||||
--error 1
|
||||
--exec echo "--error S9999" | $MYSQL_TEST 2>&1
|
||||
|
||||
# First char 'E' but not found in error array
|
||||
--error 1
|
||||
--exec echo "--error E9999" | $MYSQL_TEST 2>&1
|
||||
|
||||
# First char [0-9] but contains chars
|
||||
--error 1
|
||||
--exec echo "--error 999e9" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--error 9b" | $MYSQL_TEST 2>&1
|
||||
|
||||
# Multiple errorcodes separated by ','
|
||||
--error 1,1,1,1
|
||||
#--error 9,ER_PARSE_ERROR
|
||||
#--error ER_PARSE_ERROR
|
||||
#--error 9,ER_PARSE_ERROR,9,ER_PARSE_ERROR
|
||||
#--error 9, ER_PARSE_ERROR, 9, ER_PARSE_ERROR
|
||||
#--error 9,S00000,9,ER_PARSE_ERROR
|
||||
#--error 9,S00000,9,ER_PARSE_ERROR,ER_PARSE_ERROR,ER_PARSE_ERROR,9,10,11,12
|
||||
--error 9,S00000,9
|
||||
--error 9,S00000,9,9,10,11,12
|
||||
--error 9 ,10
|
||||
--error 9 , 10
|
||||
--error 9 , 10
|
||||
--error 9 , 10
|
||||
|
||||
# Too many errorcodes specified
|
||||
--error 1
|
||||
--exec echo "--error 1,2,3,4,5,6,7,8,9,10,11" | $MYSQL_TEST 2>&1
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test echo command
|
||||
@ -399,8 +471,8 @@ echo - MySQL: The world''s
|
||||
- source database;
|
||||
|
||||
echo - MySQL: The world''s
|
||||
-- most popular open
|
||||
-- source database;
|
||||
-- most popular
|
||||
-- open source database;
|
||||
|
||||
echo # MySQL: The
|
||||
--world''s
|
||||
@ -419,7 +491,7 @@ echo ;
|
||||
# Illegal use of echo
|
||||
|
||||
--error 1
|
||||
--exec echo "echo $;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "echo \$;" | $MYSQL_TEST 2>&1
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
@ -457,8 +529,8 @@ echo $message;
|
||||
|
||||
let $message= -- MySQL: The
|
||||
-- world''s most
|
||||
-- popular open
|
||||
-- source database;
|
||||
-- popular
|
||||
-- open source database;
|
||||
echo $message;
|
||||
|
||||
let $message= # MySQL: The
|
||||
@ -495,9 +567,21 @@ echo $where2;
|
||||
let $where3=a long $where variable content;
|
||||
echo $where3;
|
||||
|
||||
let $where3=a long \\\$where variable content;
|
||||
echo $where3;
|
||||
|
||||
let $novar1= $novar2;
|
||||
echo $novar1;
|
||||
|
||||
let $cat=na;
|
||||
let $cat=ba$cat$cat;
|
||||
echo banana = $cat;
|
||||
|
||||
# ba\$cat\$cat should have been sufficient.
|
||||
# ba\\\$cat\\\$cat -> ba\$cat\$cat -> ba$cat$cat -> banana
|
||||
# Magnus' upcoming patch will fix the missing second interpretation.
|
||||
let $cat=ba\\\$cat\\\$cat;
|
||||
echo Not a banana: $cat;
|
||||
|
||||
|
||||
# Test illegal uses of let
|
||||
@ -506,22 +590,19 @@ echo $novar1;
|
||||
--exec echo "let ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "let $=hi;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "let \$=hi;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "let hi=hi;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "let \$1 hi;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "let $1 hi;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "let \$m hi;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "let $m hi;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "let \$hi;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "let $hi;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "let $ hi;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "let \$ hi;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "let =hi;" | $MYSQL_TEST 2>&1
|
||||
@ -529,6 +610,55 @@ echo $novar1;
|
||||
--error 1
|
||||
--exec echo "let hi;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# More advanced test for bug#17280
|
||||
let $success= 1;
|
||||
--echo # Execute: --echo # <whatever> success: \$success
|
||||
--echo # <whatever> success: $success
|
||||
--echo # Execute: echo # <whatever> success: \$success ;
|
||||
echo # <whatever> success: $success ;
|
||||
|
||||
--echo # The next two variants work fine and expand the content of \$success
|
||||
--echo # Execute: --echo \$success
|
||||
--echo $success
|
||||
--echo # Execute: echo \$success ;
|
||||
echo $success ;
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test to assign let from query
|
||||
# let $<var_name>=`<query>`;
|
||||
# ----------------------------------------------------------------------------
|
||||
--disable_parsing
|
||||
echo var1;
|
||||
let $var1= `select "hi" as "Col", 1 as "Column1", "hi there" as Col3`;
|
||||
echo $var1;
|
||||
echo $var1_Col;
|
||||
echo $var1_Column1;
|
||||
echo $var1_Col3;
|
||||
|
||||
echo var2;
|
||||
let $var2= `select 2 as "Column num 2"`;
|
||||
echo $var2;
|
||||
echo $var2_Column num 2;
|
||||
echo $var2_Column;
|
||||
|
||||
echo var2 again;
|
||||
let $var2= `select 2 as "Column num 2"`;
|
||||
echo $var2;
|
||||
echo $var2_Column num 2;
|
||||
echo $var2_Column_num_2;
|
||||
echo $var2_Column;
|
||||
|
||||
echo var3 two columns with same name;
|
||||
let $var3= `select 1 as "Col", 2 as "Col", 3 as "var3"`;
|
||||
echo $var3;
|
||||
echo $var3_Col;
|
||||
echo $var3_Col;
|
||||
echo $var3_var3;
|
||||
|
||||
#echo failing query in let;
|
||||
#--error 1
|
||||
#--exec echo "let $var2= `failing query;`" | $MYSQL_TEST 2>&1
|
||||
--enable_parsing
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test source command
|
||||
# ----------------------------------------------------------------------------
|
||||
@ -538,29 +668,36 @@ echo $novar1;
|
||||
--error 1
|
||||
--exec echo "source ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# Fix win paths
|
||||
--replace_result \\ /
|
||||
# Source a nonexisting file
|
||||
--error 1
|
||||
--exec echo "source non_existingFile;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# Too many source
|
||||
--exec echo "source var/tmp/recursive.sql;" > var/tmp/recursive.sql
|
||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/recursive.sql;" > $MYSQLTEST_VARDIR/tmp/recursive.sql
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--error 1
|
||||
--exec echo "source var/tmp/recursive.sql;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/recursive.sql;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# Source a file with error
|
||||
--exec echo "garbage ;" > var/tmp/error.sql
|
||||
--exec echo "garbage ;" > $MYSQLTEST_VARDIR/tmp/error.sql
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--error 1
|
||||
--exec echo "source var/tmp/error.sql;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/error.sql;" | $MYSQL_TEST 2>&1
|
||||
|
||||
|
||||
# Test execution of source in a while loop
|
||||
--exec echo "echo here is the sourced script;" > var/tmp/sourced.sql
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/sourced.inc
|
||||
echo here is the sourced script;
|
||||
EOF
|
||||
--disable_query_log
|
||||
let $outer= 2; # Number of outer loops
|
||||
while ($outer)
|
||||
{
|
||||
eval SELECT '$outer = outer loop variable after while' AS "";
|
||||
|
||||
--source var/tmp/sourced.sql
|
||||
--source $MYSQLTEST_VARDIR/tmp/sourced.inc
|
||||
|
||||
eval SELECT '$outer = outer loop variable before dec' AS "";
|
||||
dec $outer;
|
||||
@ -581,7 +718,6 @@ while ($outer)
|
||||
|
||||
|
||||
# Test execution of source in a while loop
|
||||
--exec echo "--source var/tmp/sourced.sql" > var/tmp/sourced1.sql
|
||||
--disable_abort_on_error
|
||||
# Sourcing of a file within while loop, sourced file will
|
||||
# source other file
|
||||
@ -589,11 +725,12 @@ let $num= 9;
|
||||
while ($num)
|
||||
{
|
||||
SELECT 'In loop' AS "";
|
||||
--source var/tmp/sourced1.sql
|
||||
--source $MYSQLTEST_VARDIR/tmp/sourced.inc
|
||||
dec $num;
|
||||
}
|
||||
--enable_abort_on_error
|
||||
--enable_query_log
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/sourced.inc
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test sleep command
|
||||
@ -683,7 +820,7 @@ system echo "hej" > /dev/null;
|
||||
--exec echo "system false;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--disable_abort_on_error
|
||||
system NonExistsinfComamdn;
|
||||
system NonExistsinfComamdn 2> /dev/null;
|
||||
--enable_abort_on_error
|
||||
|
||||
|
||||
@ -700,6 +837,30 @@ echo test3stop
|
||||
--delimiter ;
|
||||
echo test4;
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test if
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
let $counter=10;
|
||||
if ($counter)
|
||||
{
|
||||
echo Counter is greater than 0, (counter=10);
|
||||
}
|
||||
if (!$counter)
|
||||
{
|
||||
echo Counter is not 0, (counter=10);
|
||||
}
|
||||
let $counter=0;
|
||||
if ($counter)
|
||||
{
|
||||
echo Counter is greater than 0, (counter=0);
|
||||
}
|
||||
if (!$counter)
|
||||
{
|
||||
echo Counter is not 0, (counter=0);
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test while, { and }
|
||||
# ----------------------------------------------------------------------------
|
||||
@ -713,11 +874,158 @@ while ($i)
|
||||
# One liner
|
||||
#let $i=1;while ($i){echo $i;dec $i;}
|
||||
|
||||
|
||||
let $i=0;
|
||||
while (!$i)
|
||||
{
|
||||
echo Testing while with not;
|
||||
inc $i;
|
||||
}
|
||||
|
||||
# Exceed max nesting level
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest_while.inc
|
||||
let $1 = 10;
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
while ($1)
|
||||
{
|
||||
echo $1;
|
||||
dec $1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
# Fix win path
|
||||
--replace_result \\ / $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--error 1
|
||||
--exec echo "source include/mysqltest_while.inc;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest_while.inc;" | $MYSQL_TEST 2>&1
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/mysqltest_while.inc
|
||||
--error 1
|
||||
--exec echo "while \$i;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
@ -731,20 +1039,20 @@ while ($i)
|
||||
--error 1
|
||||
--exec echo "{;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--system echo "while (0)" > var/log/mysqltest.sql
|
||||
--system echo "echo hej;" >> var/log/mysqltest.sql
|
||||
--system echo "while (0)" > $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "echo hej;" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--error 1
|
||||
--exec $MYSQL_TEST < var/log/mysqltest.sql 2>&1
|
||||
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
|
||||
|
||||
--system echo "while (0)" > var/log/mysqltest.sql
|
||||
--system echo "{echo hej;" >> var/log/mysqltest.sql
|
||||
--system echo "while (0)" > $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "{echo hej;" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--error 1
|
||||
--exec $MYSQL_TEST < var/log/mysqltest.sql 2>&1
|
||||
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
|
||||
|
||||
--system echo "while (0){" > var/log/mysqltest.sql
|
||||
--system echo "echo hej;" >> var/log/mysqltest.sql
|
||||
--system echo "while (0){" > $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "echo hej;" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--error 1
|
||||
--exec $MYSQL_TEST < var/log/mysqltest.sql 2>&1
|
||||
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test error messages returned from comments starting with a command
|
||||
@ -772,7 +1080,7 @@ select "a" as col1, "c" as col2;
|
||||
--exec echo "replace_result a;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "replace_result a ;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "replace_result a b;" | $MYSQL_TEST 2>&1
|
||||
--exec echo "replace_result a b; echo OK;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--replace_result a b c" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
@ -809,6 +1117,71 @@ select "a" as col1, "c" as col2;
|
||||
--error 1
|
||||
--exec echo "save_master_pos; sync_with_master a;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test connect
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
--error 1
|
||||
--exec echo "connect;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "connect ();" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "connect (con2);" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "connect (con2,);" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "connect (con2,localhost,root,,illegal_db);" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "connect (con1,localhost,root,,,illegal_port,);" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "connect (con1,localhost,root,,,,,SMTP POP);" | $MYSQL_TEST 2>&1
|
||||
|
||||
# Repeat connect/disconnect
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
let $i=100;
|
||||
while ($i)
|
||||
{
|
||||
connect (test_con1,localhost,root,,);
|
||||
disconnect test_con1;
|
||||
dec $i;
|
||||
}
|
||||
EOF
|
||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql; echo OK;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# Repeat connect/disconnect, exceed max number of connections
|
||||
--system echo "let \$i=200;" > $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "while (\$i)" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "{" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo " connect (test_con1,localhost,root,,); " >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo " disconnect test_con1; " >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo " dec \$i; " >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "}" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--error 1
|
||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# Select disconnected connection
|
||||
--system echo "connect (test_con1,localhost,root,,);" > $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "disconnect test_con1; " >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "connection test_con1;" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--error 1
|
||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# Connection name already used
|
||||
--system echo "connect (test_con1,localhost,root,,);" > $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--system echo "connect (test_con1,localhost,root,,);" >> $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--error 1
|
||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# connect when "disable_abort_on_error" caused "connection not found"
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--disable_abort_on_error
|
||||
connect (con1,localhost,root,,);
|
||||
connection default;
|
||||
connection con1;
|
||||
--enable_abort_on_error
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test mysqltest arguments
|
||||
@ -818,6 +1191,8 @@ select "a" as col1, "c" as col2;
|
||||
--exec $MYSQL_TEST < $MYSQL_TEST_DIR/include/mysqltest-x.inc
|
||||
--exec $MYSQL_TEST -x $MYSQL_TEST_DIR/include/mysqltest-x.inc
|
||||
--exec $MYSQL_TEST --test_file=$MYSQL_TEST_DIR/include/mysqltest-x.inc
|
||||
# Fix Win paths
|
||||
--replace_result \\ /
|
||||
--error 1
|
||||
--exec $MYSQL_TEST -x non_existing_file.inc 2>&1
|
||||
|
||||
@ -841,3 +1216,275 @@ while ($num)
|
||||
|
||||
SELECT 1 as a;
|
||||
|
||||
|
||||
#
|
||||
# Bug #10251: Identifiers containing quotes not handled correctly
|
||||
#
|
||||
select 1 as `a'b`, 2 as `a"b`;
|
||||
|
||||
# Test escaping of quotes
|
||||
select 'aaa\\','aa''a',"aa""a";
|
||||
|
||||
#
|
||||
# Check of include/show_msg.inc and include/show_msg80.inc
|
||||
#
|
||||
|
||||
# The message contains in most cases a string with the default character set
|
||||
let $message= Here comes a message;
|
||||
--source include/show_msg.inc
|
||||
|
||||
# The message could also contain a string with character set utf8
|
||||
let $message= `SELECT USER()`;
|
||||
--source include/show_msg.inc
|
||||
|
||||
# The message contains more then 80 characters on multiple lines
|
||||
# and is kept between double quotes.
|
||||
let $message=
|
||||
"Here comes a very very long message that
|
||||
- is longer then 80 characters and
|
||||
- consists of several lines";
|
||||
--source include/show_msg80.inc
|
||||
|
||||
# The message contains more then 80 characters on multiple lines
|
||||
# and uses the auxiliary character "." at the beginning of the message lines.
|
||||
let $message= . Here comes a very very long message that
|
||||
. - is longer then 80 characters and
|
||||
. - consists of several lines;
|
||||
--source include/show_msg80.inc
|
||||
|
||||
#
|
||||
# Test --enable_parsing / disable_parsing
|
||||
#
|
||||
--disable_query_log
|
||||
--disable_parsing
|
||||
# The following will not enable query logging
|
||||
--enable_query_log
|
||||
select "this will not be executed";
|
||||
--enable_parsing
|
||||
select "this will be executed";
|
||||
--enable_query_log
|
||||
|
||||
#
|
||||
# Test zero length result file. Should not pass
|
||||
#
|
||||
--exec touch $MYSQLTEST_VARDIR/tmp/zero_length_file.result
|
||||
--exec echo "echo ok;" > $MYSQLTEST_VARDIR/tmp/query.sql
|
||||
--error 1
|
||||
--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/query.sql -R $MYSQLTEST_VARDIR/tmp/zero_length_file.result 2>&1
|
||||
#
|
||||
# Test that a test file that does not generate any output fails.
|
||||
#
|
||||
--exec echo "let \$i= 1;" > $MYSQLTEST_VARDIR/tmp/query.sql
|
||||
--error 1
|
||||
--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/query.sql 2>&1
|
||||
|
||||
#
|
||||
# Test that mysqltest fails when there are no queries executed
|
||||
# but a result file exists
|
||||
# NOTE! This will never happen as long as it's not allowed to have
|
||||
# test files that produce no output
|
||||
#--exec echo "something" > $MYSQLTEST_VARDIR/tmp/result_file.result
|
||||
#--exec echo "let \$i= 1;" > $MYSQLTEST_VARDIR/tmp/query.sql
|
||||
#--error 1
|
||||
#--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/query.sql -R $MYSQLTEST_VARDIR/tmp/result_file.result 2>&1
|
||||
|
||||
#
|
||||
# Bug #11731 mysqltest in multi-statement queries ignores errors in
|
||||
# non-1st queries
|
||||
#
|
||||
|
||||
echo Failing multi statement query;
|
||||
# PS does not support multi statement
|
||||
--exec echo "--disable_ps_protocol" > $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "delimiter ||||;" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "create table t1 (a int primary key);" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "insert into t1 values (1);" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "select 'select-me';" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "insertz 'error query'||||" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "delimiter ;||||" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
|
||||
--error 1
|
||||
--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/bug11731.sql 2>&1
|
||||
drop table t1;
|
||||
|
||||
--error 1
|
||||
--exec $MYSQL_TEST --record -x $MYSQLTEST_VARDIR/tmp/bug11731.sql -R $MYSQLTEST_VARDIR/tmp/bug11731.out 2>&1
|
||||
# The .out file should be non existent
|
||||
--exec test ! -s $MYSQLTEST_VARDIR/tmp/bug11731.out
|
||||
drop table t1;
|
||||
|
||||
|
||||
echo Multi statement using expected error;
|
||||
# PS does not support multi statement
|
||||
--exec echo "--disable_ps_protocol" > $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "delimiter ||||;" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "--error 1064" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "create table t1 (a int primary key);" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "insert into t1 values (1);" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "select 'select-me';" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "insertz "error query"||||" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
--exec echo "delimiter ;||||" >> $MYSQLTEST_VARDIR/tmp/bug11731.sql
|
||||
|
||||
# These two should work since the error is expected
|
||||
--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/bug11731.sql 2>&1
|
||||
drop table t1;
|
||||
|
||||
--exec $MYSQL_TEST --record -x $MYSQLTEST_VARDIR/tmp/bug11731.sql -R $MYSQLTEST_VARDIR/tmp/bug11731.out 2>&1
|
||||
# The .out file should exist
|
||||
--exec test -s $MYSQLTEST_VARDIR/tmp/bug11731.out
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#19890 mysqltest: "query" command is broken
|
||||
#
|
||||
|
||||
# It should be possible to use the command "query" to force mysqltest to
|
||||
# send the command to the server although it's a builtin mysqltest command.
|
||||
--error 1064
|
||||
query sleep;
|
||||
|
||||
--error 1064
|
||||
--query sleep
|
||||
|
||||
# Just an empty query command
|
||||
--error 1065
|
||||
query ;
|
||||
|
||||
# test for replace_regex
|
||||
--replace_regex /at/b/
|
||||
select "at" as col1, "c" as col2;
|
||||
|
||||
--replace_regex /at/b/i
|
||||
select "at" as col1, "AT" as col2, "c" as col3;
|
||||
|
||||
--replace_regex /a/b/ /ct/d/
|
||||
select "a" as col1, "ct" as col2;
|
||||
|
||||
--replace_regex /(strawberry)/raspberry and \1/ /blueberry/blackberry/ /potato/tomato/;
|
||||
select "strawberry","blueberry","potato";
|
||||
|
||||
--error 1
|
||||
--exec echo "--replace_regex a" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--replace_regex a;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "replace_regex a;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "replace_regex a ;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "replace_regex a b; echo OK;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--replace_regex /a b c" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "replace_regex /a /b c ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# REQUIREMENT
|
||||
# replace_regex should replace substitutions from left to right in output
|
||||
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values (1,3);
|
||||
insert into t1 values (2,4);
|
||||
--replace_regex /A/C/ /B/D/i /3/2/ /2/1/
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# test for remove_file
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
--error 1
|
||||
--exec echo "remove_file ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
remove_file non_existing_file;
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# test for write_file
|
||||
# ----------------------------------------------------------------------------
|
||||
--error 1
|
||||
--exec echo "write_file ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "write_file filename ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "write_file filename \";" | $MYSQL_TEST 2>&1
|
||||
|
||||
write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
Content for test_file1
|
||||
EOF
|
||||
file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
|
||||
write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp END_DELIMITER;
|
||||
Content for test_file1 contains EOF
|
||||
END_DELIMITER
|
||||
file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# test for file_exist
|
||||
# ----------------------------------------------------------------------------
|
||||
--error 1
|
||||
--exec echo "file_exists ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 0,1
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
--error 1
|
||||
file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
Content for test_file1
|
||||
EOF
|
||||
file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
--error 1
|
||||
file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# test for copy_file
|
||||
# ----------------------------------------------------------------------------
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/file1.tmp
|
||||
file1
|
||||
EOF
|
||||
|
||||
copy_file $MYSQLTEST_VARDIR/tmp/file1.tmp $MYSQLTEST_VARDIR/tmp/file2.tmp;
|
||||
file_exists $MYSQLTEST_VARDIR/tmp/file2.tmp;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/file1.tmp;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/file2.tmp;
|
||||
|
||||
--error 1
|
||||
--exec echo "copy_file ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "copy_file from_file;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# test for perl
|
||||
# ----------------------------------------------------------------------------
|
||||
--perl
|
||||
print "hello\n";
|
||||
EOF
|
||||
|
||||
--perl EOF
|
||||
print "hello\n";
|
||||
EOF
|
||||
|
||||
--perl DELIMITER
|
||||
print "hello\n";
|
||||
DELIMITER
|
||||
|
||||
--error 1
|
||||
--exec echo "perl TOO_LONG_DELIMITER ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
perl;
|
||||
print "hello\n";
|
||||
EOF
|
||||
|
||||
perl;
|
||||
# Print "hello"
|
||||
print "hello\n";
|
||||
EOF
|
||||
|
||||
|
||||
--echo End of tests
|
||||
|
@ -351,14 +351,14 @@ create table t1 (a int, b int);
|
||||
insert into t1 (a, b) values (1,1), (1,2), (2,1), (2,2);
|
||||
prepare stmt from
|
||||
"explain select * from t1 where t1.a=2 and t1.a=t1.b and t1.b > 1 + ?";
|
||||
--replace_column 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -
|
||||
set @v=5;
|
||||
execute stmt using @v;
|
||||
--replace_column 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -
|
||||
execute stmt using @v;
|
||||
set @v=0;
|
||||
execute stmt using @v;
|
||||
--replace_column 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -
|
||||
execute stmt using @v;
|
||||
set @v=5;
|
||||
--replace_column 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -
|
||||
execute stmt using @v;
|
||||
drop table t1;
|
||||
deallocate prepare stmt;
|
||||
|
@ -305,8 +305,8 @@ prepare stmt4 from ' show table status from test like ''t9%'' ';
|
||||
--replace_result 2147483647 4294967295
|
||||
# Bug#4288
|
||||
execute stmt4;
|
||||
--replace_column 2 #
|
||||
prepare stmt4 from ' show status like ''Threads_running'' ';
|
||||
--replace_column 2 #
|
||||
execute stmt4;
|
||||
prepare stmt4 from ' show variables like ''sql_mode'' ';
|
||||
execute stmt4;
|
||||
|
@ -35,7 +35,7 @@ use mysqltest;
|
||||
--source include/ps_create.inc
|
||||
--source include/ps_renew.inc
|
||||
--enable_query_log
|
||||
eval use $DB;
|
||||
use test;
|
||||
grant usage on mysqltest.* to second_user@localhost
|
||||
identified by 'looser' ;
|
||||
grant select on mysqltest.t9 to second_user@localhost
|
||||
|
@ -1,29 +0,0 @@
|
||||
#
|
||||
# Running test with abort-slave-event-count=1
|
||||
# This will force slave to reconnect after every event
|
||||
#
|
||||
|
||||
require_manager;
|
||||
connect (master,localhost,root,,test,0,master.sock);
|
||||
connect (slave,localhost,root,,test,0,slave.sock);
|
||||
connection master;
|
||||
reset master;
|
||||
server_stop master;
|
||||
server_start master;
|
||||
connection slave;
|
||||
reset slave;
|
||||
start slave;
|
||||
connection master;
|
||||
show binary logs;
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1(n int);
|
||||
insert into t1 values (3351);
|
||||
sync_slave_with_master;
|
||||
select * from t1;
|
||||
connection master;
|
||||
drop table t1;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
@ -1,101 +0,0 @@
|
||||
# This test makes some assumptions about values of thread ids, which should be
|
||||
# true if the servers have been restarted for this test. So we want to
|
||||
# stop/restart servers. Note that if assumptions are wrong, the test will not
|
||||
# fail; it will just fail to test the error-prone scenario.
|
||||
# Using the manager is the only way to have more than one slave server.
|
||||
# So you must run this test with --manager.
|
||||
|
||||
require_manager;
|
||||
server_stop master;
|
||||
server_start master;
|
||||
server_stop slave;
|
||||
server_start slave;
|
||||
# no need for slave_sec (no assumptions on thread ids for this server).
|
||||
|
||||
source include/master-slave.inc;
|
||||
connect (slave_sec,localhost,root,,test,0,slave.sock-1);
|
||||
connection master;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
reset master;
|
||||
save_master_pos;
|
||||
connection slave_sec;
|
||||
eval change master to master_host='127.0.0.1',master_port=$SLAVE_MYPORT, master_user='root';
|
||||
start slave;
|
||||
sync_with_master;
|
||||
|
||||
# :P now we have a chain ready-to-test.
|
||||
|
||||
connection master;
|
||||
create temporary table t1 (a int);
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
connection master1;
|
||||
create temporary table t1 (a int);
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
save_master_pos;
|
||||
|
||||
# First test:
|
||||
|
||||
connection slave_sec;
|
||||
# Before BUG#1686 ("If 2 master threads with same-name temp table, slave makes
|
||||
# bad binlog") was fixed, sync_with_master failed
|
||||
sync_with_master;
|
||||
show status like 'slave_open_temp_tables';
|
||||
|
||||
# 'master' and 'master1' usually have thread id 2-3 or 3-4.
|
||||
# 'slave' and 'slave1' usually have thread id 2-3.
|
||||
connection slave;
|
||||
create temporary table t1 (a int);
|
||||
connection slave1;
|
||||
create temporary table t1 (a int);
|
||||
# So it's likely that in the binlog of slave we get
|
||||
# server_id=of_master thread_id=3 create temp...
|
||||
# server_id=of_slave thread_id=3 create temp...
|
||||
# which would confuse slave-sec unless slave-sec uses server id to distinguish
|
||||
# between temp tables (here thread id is obviously not enough to distinguish).
|
||||
|
||||
save_master_pos;
|
||||
|
||||
# Second test:
|
||||
|
||||
connection slave_sec;
|
||||
# If we did not use the server id to distinguish between temp tables,
|
||||
# sync_with_master would fail
|
||||
sync_with_master;
|
||||
show status like 'slave_open_temp_tables';
|
||||
|
||||
# Third test (BUG#1240 "slave of slave breaks when STOP SLAVE was issud on
|
||||
# parent slave and temp tables").
|
||||
stop slave;
|
||||
connection slave;
|
||||
insert into t1 values(1);
|
||||
create table t2 as select * from t1;
|
||||
save_master_pos;
|
||||
connection slave_sec;
|
||||
start slave;
|
||||
sync_with_master;
|
||||
show status like 'slave_open_temp_tables';
|
||||
select * from t2;
|
||||
|
||||
# clean up
|
||||
connection slave;
|
||||
drop table t2;
|
||||
save_master_pos;
|
||||
connection slave_sec;
|
||||
sync_with_master;
|
||||
|
||||
# On purpose, we don't delete the temporary tables explicitely.
|
||||
# So temp tables remain on slave (remember they are not deleted when the slave
|
||||
# SQL thread terminates). If you run this test with
|
||||
# --valgrind --valgrind-options=--show-reachable=yes
|
||||
# you will see if they get cleaned up at slave's shutdown (that is, if the
|
||||
# memory they use is freed (it should) by mysqld before it terminates).
|
||||
# If they wouldn't be cleaned up, you would see some "still reachable" blocks in
|
||||
# Valgrind.
|
||||
|
||||
# End of 4.1 tests
|
@ -1,24 +0,0 @@
|
||||
require_manager;
|
||||
source include/master-slave.inc;
|
||||
connect (slave_sec,localhost,root,,test,0,slave.sock-1);
|
||||
connect (slave_ter,localhost,root,,test,0,slave.sock-2);
|
||||
connection master;
|
||||
show variables like 'rpl_recovery_rank';
|
||||
show status like 'Rpl_status';
|
||||
create table t1(n int);
|
||||
drop table t1;
|
||||
sync_slave_with_master;
|
||||
show variables like 'rpl_recovery_rank';
|
||||
show status like 'Rpl_status';
|
||||
connection slave_sec;
|
||||
start slave;
|
||||
sync_with_master;
|
||||
show variables like 'rpl_recovery_rank';
|
||||
show status like 'Rpl_status';
|
||||
connection slave_ter;
|
||||
start slave;
|
||||
sync_with_master;
|
||||
show variables like 'rpl_recovery_rank';
|
||||
show status like 'Rpl_status';
|
||||
|
||||
# End of 4.1 tests
|
@ -8,6 +8,8 @@
|
||||
# merge table getting renamed.
|
||||
--source include/not_windows.inc
|
||||
|
||||
let $SERVER_VERSION=`select version()`;
|
||||
|
||||
create table t1 (a int);
|
||||
insert into t1 values (10);
|
||||
create table t2 (a int);
|
||||
|
@ -1,51 +0,0 @@
|
||||
# You must run this test with --manager.
|
||||
|
||||
require_manager;
|
||||
|
||||
# Don't know why, but using TCP/IP connections makes this test fail
|
||||
# with "Lost connection to MySQL server during query" when we
|
||||
# issue a query after the server restart.
|
||||
# Maybe this is something awkward in mysqltest or in the manager?
|
||||
# So we use sockets.
|
||||
connect (master,localhost,root,,test,0,master.sock);
|
||||
connect (slave,localhost,root,,test,0,slave.sock);
|
||||
|
||||
connection master;
|
||||
reset master;
|
||||
drop table if exists t1;
|
||||
# we use CREATE SELECT to verify that DELETE does not get into binlog
|
||||
# before CREATE SELECT
|
||||
create table t1 type=HEAP select 10 as a;
|
||||
insert into t1 values(11);
|
||||
save_master_pos;
|
||||
show binlog events from 79;
|
||||
connection slave;
|
||||
reset slave;
|
||||
start slave;
|
||||
sync_with_master;
|
||||
show create table t1;
|
||||
select * from t1; # should be one row
|
||||
|
||||
server_stop master;
|
||||
server_start master;
|
||||
|
||||
connection master;
|
||||
select * from t1;
|
||||
# to check that DELETE is not written twice
|
||||
# (the LIMIT is to not use the query cache)
|
||||
select * from t1 limit 10;
|
||||
save_master_pos;
|
||||
show binlog events in 'master-bin.002' from 79;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
select * from t1; # should be empty
|
||||
|
||||
# clean up
|
||||
connection master;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
|
||||
# End of 4.1 tests
|
@ -29,7 +29,4 @@ connection slave;
|
||||
show status like 'Slave_open_temp_tables';
|
||||
|
||||
|
||||
connection master;
|
||||
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -1721,7 +1721,7 @@ select (select a from t1) = (1,2);
|
||||
select (1,2,3) = (select * from t1);
|
||||
-- error 1241
|
||||
select (select * from t1) = (1,2,3);
|
||||
drop table t1
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Item_int_with_ref check (BUG#10020)
|
||||
|
@ -23,7 +23,7 @@ CREATE TABLE t2 (a char(257), b varbinary(70000), c varchar(70000000));
|
||||
show columns from t2;
|
||||
create table t3 (a long, b long byte);
|
||||
show create TABLE t3;
|
||||
drop table t1,t2,t3
|
||||
drop table t1,t2,t3;
|
||||
|
||||
#
|
||||
# Check errors with blob
|
||||
|
Reference in New Issue
Block a user