2015-08-11 18:45:38 +02:00
set GLOBAL sql_mode="";
set LOCAL sql_mode="";
2011-10-26 19:25:18 +02:00
drop table if exists t1,t2,t3;
2005-05-17 21:14:01 +02:00
create table t1(a int);
insert into t1 values(1);
2005-10-06 16:54:43 +02:00
ERROR at line 9: DELIMITER must be followed by a 'delimiter' character or string
2005-05-17 21:14:01 +02:00
Test default delimiter ;
a
1
Test delimiter without arg
Test delimiter :
a
1
Test delimiter :
a
1
Test delimiter :;
a
1
Test delimiter //
a
1
Test delimiter MySQL
a
1
Test delimiter delimiter
a
1
2005-08-09 21:17:28 +02:00
Tables_in_test
t1
t2
t3
2006-11-22 07:27:06 +01:00
Tables_in_test
t1
2006-07-17 12:22:21 +02:00
_
2005-05-17 21:14:01 +02:00
Test delimiter : from command line
a
1
2006-07-17 12:22:21 +02:00
_
2005-05-17 21:14:01 +02:00
Test delimiter :; from command line
a
1
2006-07-17 12:22:21 +02:00
_
2005-05-17 21:14:01 +02:00
Test 'go' command(vertical output) G
*************************** 1. row ***************************
a: 1
2006-07-17 12:22:21 +02:00
_
2005-05-17 21:14:01 +02:00
Test 'go' command g
a
1
drop table t1;
2005-06-03 15:29:05 +02:00
create table t1(a int);
lock tables t1 write;
database()
test
unlock tables;
drop table t1;
2006-03-03 22:26:38 +01:00
+----------------------+------------+--------+
| concat('>',col1,'<') | col2 | col3 |
+----------------------+------------+--------+
2009-05-21 02:04:44 +02:00
| >a < | b | 123421 |
| >a < | 0123456789 | 4 |
| >abcd< | | 4 |
2006-03-03 22:26:38 +01:00
+----------------------+------------+--------+
2006-09-06 07:06:03 +02:00
+-------------------+
| __tañgè Ñãmé |
+-------------------+
2009-05-21 02:04:44 +02:00
| John Doe |
2006-09-06 07:06:03 +02:00
+-------------------+
+-------------------+
| John Doe |
+-------------------+
2009-05-21 02:04:44 +02:00
| __tañgè Ñãmé |
2006-09-06 07:06:03 +02:00
+-------------------+
2006-04-04 23:35:07 +02:00
+------+------+---------------------------+
| i | j | k |
+------+------+---------------------------+
2009-05-21 02:04:44 +02:00
| 1 | NULL | NULL |
| NULL | NULL | <-----------------------> |
| NULL | NULL | <----- |
| NULL | NULL | Τη γλώσσα |
| NULL | NULL | ᛖᚴ ᚷᛖᛏ |
2006-04-04 23:35:07 +02:00
+------+------+---------------------------+
2006-09-13 17:41:41 +02:00
i j k
NULL 1 NULL
Field Type Null Key Default Extra
i int(11) YES NULL
2007-09-20 10:54:46 +02:00
j int(11) NO NULL
2006-09-13 17:41:41 +02:00
k int(11) YES NULL
2006-04-16 23:17:36 +02:00
+------+---+------+
| i | j | k |
+------+---+------+
2009-05-21 02:04:44 +02:00
| NULL | 1 | NULL |
2006-04-16 23:17:36 +02:00
+------+---+------+
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
2009-05-21 02:04:44 +02:00
| i | int(11) | YES | | NULL | |
| j | int(11) | NO | | NULL | |
| k | int(11) | YES | | NULL | |
2006-04-16 23:17:36 +02:00
+-------+---------+------+-----+---------+-------+
2006-09-13 17:41:41 +02:00
i s1
1 x
2 NULL
3
2006-05-10 04:35:51 +02:00
+------+------+
| i | s1 |
+------+------+
2009-05-21 02:04:44 +02:00
| 1 | x |
| 2 | NULL |
| 3 | |
2006-05-10 04:35:51 +02:00
+------+------+
2006-09-13 17:41:41 +02:00
unhex('zz')
NULL
+-------------+
| unhex('zz') |
+-------------+
2009-05-21 02:04:44 +02:00
| NULL |
2006-09-13 17:41:41 +02:00
+-------------+
2006-07-24 19:01:54 +02:00
create table t1(a int, b varchar(255), c int);
Field Type Null Key Default Extra
a int(11) YES NULL
b varchar(255) YES NULL
c int(11) YES NULL
Field Type Null Key Default Extra
a int(11) YES NULL
b varchar(255) YES NULL
c int(11) YES NULL
drop table t1;
2006-08-16 17:03:41 +02:00
1
1
2011-12-12 23:58:40 +01:00
ERROR 1064 (42000) at line 3: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
2006-08-16 17:03:41 +02:00
ERROR at line 1: USE must be followed by a database name
2011-08-29 17:14:14 +02:00
1 +1
2
1 +1
2
1 +1
2
1 +1
2
2006-08-16 17:03:41 +02:00
\
\\
';
';
2006-10-10 00:50:12 +02:00
create table t17583 (a int);
insert into t17583 (a) values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
select count(*) from t17583;
count(*)
1280
drop table t17583;
2006-10-26 19:51:29 +02:00
Test connect without db- or host-name => reconnect
Test connect with dbname only => new dbname, old hostname
2011-12-12 23:58:40 +01:00
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'connecttest' at line 1
2006-10-26 19:51:29 +02:00
Test connect with _invalid_ dbname only => new invalid dbname, old hostname
ERROR 1049 (42000) at line 1: Unknown database 'invalid'
ERROR 1049 (42000) at line 1: Unknown database 'invalid'
Test connect with dbname + hostname
Test connect with dbname + _invalid_ hostname
2009-08-01 01:43:46 +02:00
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
2006-10-26 19:51:29 +02:00
The commands reported in the bug report
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyril has found a bug :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
Too long dbname
2020-03-16 16:53:10 +01:00
ERROR 1102 (42000) at line 1: Incorrect database name 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...'
2006-10-26 19:51:29 +02:00
Too long hostname
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
2006-10-02 17:45:48 +02:00
1
1
ERROR at line 1: DELIMITER cannot contain a backslash character
ERROR at line 1: DELIMITER cannot contain a backslash character
2007-04-16 09:28:02 +02:00
1
1
2007-08-30 10:53:24 +02:00
1
1
2007-10-04 10:06:01 +02:00
This is a file starting with UTF8 BOM 0xEFBBBF
This is a file starting with UTF8 BOM 0xEFBBBF
2008-12-11 18:26:03 +01:00
delimiter
1
2
2
2
2
2009-01-09 12:50:18 +01:00
@z:='1' @z=database()
1 NULL
2009-02-24 14:06:28 +01:00
1
1
1
1
2009-05-07 19:28:29 +02:00
COUNT (*)
1
COUNT (*)
1
COUNT (*)
1
2009-05-28 13:19:49 +02:00
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
2006-05-10 04:35:51 +02:00
End of 5.0 tests
2007-08-04 03:08:48 +02:00
WARNING: --server-arg option not supported in this configuration.
2009-11-04 13:20:02 +01:00
*************************** 1. row ***************************
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
0: 0
+---+
| 1 |
+---+
| 1 |
+---+
2009-12-22 12:02:52 +01:00
Warning (Code 1286): Unknown storage engine 'nonexistent'
2007-11-21 01:03:56 +01:00
Warning (Code 1266): Using storage engine MyISAM for table 't2'
2009-12-22 12:02:52 +01:00
Warning (Code 1286): Unknown storage engine 'nonexistent2'
2007-11-21 01:03:56 +01:00
Warning (Code 1266): Using storage engine MyISAM for table 't2'
Error (Code 1050): Table 't2' already exists
drop tables t1, t2;
2009-10-15 14:23:43 +02:00
Variable_name Value
lc_messages ru_RU
2009-07-15 02:03:51 +02:00
<TABLE BORDER=1><TR><TH><</TH></TR><TR><TD>< & ></TD></TR></TABLE>create table t1 (a char(5));
insert into t1 values ('\0b\0');
a
\0b\0
a
\0b\0
+------+
| a |
+------+
| b |
+------+
*************************** 1. row ***************************
a: b
<TABLE BORDER=1><TR><TH>a</TH></TR><TR><TD> b </TD></TR></TABLE><?xml version="1.0"?>
<resultset statement="select a from t1
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="a"> b </field>
</row>
</resultset>
drop table t1;
2009-09-22 00:20:14 +02:00
Bug #47147: mysql client option --skip-column-names does not apply to vertical output
*************************** 1. row ***************************
1
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
#
# Bug #54899: --one-database option cannot handle DROP/CREATE DATABASE
# commands.
#
CREATE DATABASE connected_db;
USE connected_db;
SHOW TABLES;
Tables_in_connected_db
table_in_connected_db
DROP DATABASE connected_db;
#
# Testing --one-database option
#
CREATE DATABASE connected_db;
SHOW TABLES IN connected_db;
Tables_in_connected_db
t1
SHOW TABLES IN test;
Tables_in_test
t1
USE test;
DROP TABLE t1;
DROP DATABASE connected_db;
SHOW TABLES IN test;
Tables_in_test
SHOW TABLES IN test1;
Tables_in_test1
DROP DATABASE test1;
#
# Checking --one-database option followed by the execution of
# connect command.
#
CREATE DATABASE connected_db;
SHOW TABLES IN connected_db;
Tables_in_connected_db
t1
t2
SHOW TABLES IN test;
Tables_in_test
t1
t2
DROP TABLE test.t1;
DROP TABLE test.t2;
DROP DATABASE connected_db;
#
# Checking --one-database option with no database specified
# at command-line.
#
SHOW TABLES IN test;
Tables_in_test
#
# Checking --one-database option with non_existent_db
# specified with USE command
#
2010-12-01 07:55:31 +01:00
CREATE DATABASE connected_db;
SHOW TABLES IN connected_db;
Tables_in_connected_db
table_in_connected_db
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
2010-12-01 07:55:31 +01:00
SHOW TABLES IN connected_db;
Tables_in_connected_db
table_in_connected_db
DROP DATABASE connected_db;
2013-01-09 23:51:51 +01:00
create database `aa``bb````cc`;
DATABASE()
aa`bb``cc
2016-10-13 21:35:01 +02:00
DATABASE()
test
DATABASE()
aa`bb``cc
DATABASE()
test
DATABASE()
aa`bb``cc
2013-01-09 23:51:51 +01:00
drop database `aa``bb````cc`;
2013-02-28 18:42:49 +01:00
a
>>\ndelimiter\n<<
2013-08-08 13:33:15 +02:00
+-------------------+
| a |
| aaaaaaaaaaaaaaaaa |
+-------------------+
2015-03-16 18:55:10 +01:00
#
# Start of 10.1 tests
#
#
# MDEV-6572 "USE dbname" with a bad sequence erroneously connects to a wrong database
#
#
# End of 10.1 tests
#
ERROR 1300 (HY000) at line 2: Invalid utf8 character string: 'test\xF0\x9F\x98\x81'
2015-08-11 18:45:38 +02:00
set GLOBAL sql_mode=default;
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
2007-11-21 01:03:56 +01:00
End of tests
2017-06-27 13:25:50 +02:00
create table `a1\``b1` (a int);
show tables;
Tables_in_test
a1\`b1
insert `a1\``b1` values (1),(2);
show create table `a1\``b1`;
Table Create Table
a1\`b1 CREATE TABLE `a1\``b1` (
`a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `a1\``b1` (
`a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `a1\``b1` VALUES (1),(2);
insert `a1\``b1` values (4),(5);
show create table `a1\``b1`;
Table Create Table
a1\`b1 CREATE TABLE `a1\``b1` (
`a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from `a1\``b1`;
a
1
2
drop table `a1\``b1`;
2017-06-27 14:00:10 +02:00
set sql_mode=ansi_quotes;
create table "a1\""b1" (a int);
show tables;
Tables_in_test
a1\"b1
insert "a1\""b1" values (1),(2);
show create table "a1\""b1";
Table Create Table
a1\"b1 CREATE TABLE "a1\""b1" (
"a" int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE "a1\""b1" (
"a" int(11) DEFAULT NULL
);
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO "a1\""b1" VALUES (1),(2);
insert "a1\""b1" values (4),(5);
show create table "a1\""b1";
Table Create Table
a1\"b1 CREATE TABLE "a1\""b1" (
"a" int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from "a1\""b1";
a
1
2
drop table "a1\""b1";
set sql_mode=default;
2019-01-25 23:12:35 +01:00
create table t1 (a text);
select count(*) from t1;
count(*)
41
truncate table t1;
select count(*) from t1;
count(*)
41
truncate table t1;
select count(*) from t1;
count(*)
0
truncate table t1;
select count(*) from t1;
count(*)
0
truncate table t1;
select count(*) from t1;
count(*)
41
truncate table t1;
select count(*) from t1;
count(*)
0
truncate table t1;
drop table t1;
2019-02-10 21:48:12 +01:00
#
# MDEV-15538 '-N' Produce html output wrong
#
<TABLE BORDER=1><TR><TD>1</TD></TR></TABLE>