mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
31e30329a3
For compatibility reasons, add the option to the MariaDB client without any functional changes besides simply accepting the option and emitting a warning that it is obsolete. In MySQL this security related option is compulsory in certain use cases. When users switch to MariaDB, this client command that used to work starts failing without a sensible error message. In worst case users resort to re-installing the mysql client from MySQL. In MariaDB the option is obsolete and should simply be ignored. Users however don't have any opportunity to learn that unless the client program tells them so. Before: mysql --enable-cleartext-plugin ... mysql: unknown option '--enable-cleartext-plugin' (program terminates) After: mysql --enable-cleartext-plugin ... WARNING: option '--enable-cleartext-plugin' is obsolete. (program executes) All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.
635 lines
11 KiB
Text
635 lines
11 KiB
Text
set GLOBAL sql_mode="";
|
|
set LOCAL sql_mode="";
|
|
drop table if exists t1,t2,t3;
|
|
create table t1(a int);
|
|
insert into t1 values(1);
|
|
ERROR at line 9: DELIMITER must be followed by a 'delimiter' character or string
|
|
|
|
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
|
|
Tables_in_test
|
|
t1
|
|
t2
|
|
t3
|
|
Tables_in_test
|
|
t1
|
|
_
|
|
Test delimiter : from command line
|
|
a
|
|
1
|
|
_
|
|
Test delimiter :; from command line
|
|
a
|
|
1
|
|
_
|
|
Test 'go' command(vertical output) G
|
|
*************************** 1. row ***************************
|
|
a: 1
|
|
_
|
|
Test 'go' command g
|
|
a
|
|
1
|
|
drop table t1;
|
|
create table t1(a int);
|
|
lock tables t1 write;
|
|
database()
|
|
test
|
|
unlock tables;
|
|
drop table t1;
|
|
+----------------------+------------+--------+
|
|
| concat('>',col1,'<') | col2 | col3 |
|
|
+----------------------+------------+--------+
|
|
| >a < | b | 123421 |
|
|
| >a < | 0123456789 | 4 |
|
|
| >abcd< | | 4 |
|
|
+----------------------+------------+--------+
|
|
+-------------------+
|
|
| __tañgè Ñãmé |
|
|
+-------------------+
|
|
| John Doe |
|
|
+-------------------+
|
|
+-------------------+
|
|
| John Doe |
|
|
+-------------------+
|
|
| __tañgè Ñãmé |
|
|
+-------------------+
|
|
+------+------+---------------------------+
|
|
| i | j | k |
|
|
+------+------+---------------------------+
|
|
| 1 | NULL | NULL |
|
|
| NULL | NULL | <-----------------------> |
|
|
| NULL | NULL | <----- |
|
|
| NULL | NULL | Τη γλώσσα |
|
|
| NULL | NULL | ᛖᚴ ᚷᛖᛏ |
|
|
+------+------+---------------------------+
|
|
i j k
|
|
NULL 1 NULL
|
|
Field Type Null Key Default Extra
|
|
i int(11) YES NULL
|
|
j int(11) NO NULL
|
|
k int(11) YES NULL
|
|
+------+---+------+
|
|
| i | j | k |
|
|
+------+---+------+
|
|
| NULL | 1 | NULL |
|
|
+------+---+------+
|
|
+-------+---------+------+-----+---------+-------+
|
|
| Field | Type | Null | Key | Default | Extra |
|
|
+-------+---------+------+-----+---------+-------+
|
|
| i | int(11) | YES | | NULL | |
|
|
| j | int(11) | NO | | NULL | |
|
|
| k | int(11) | YES | | NULL | |
|
|
+-------+---------+------+-----+---------+-------+
|
|
i s1
|
|
1 x
|
|
2 NULL
|
|
3
|
|
+------+------+
|
|
| i | s1 |
|
|
+------+------+
|
|
| 1 | x |
|
|
| 2 | NULL |
|
|
| 3 | |
|
|
+------+------+
|
|
unhex('zz')
|
|
NULL
|
|
+-------------+
|
|
| unhex('zz') |
|
|
+-------------+
|
|
| NULL |
|
|
+-------------+
|
|
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;
|
|
1
|
|
1
|
|
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
|
|
ERROR at line 1: USE must be followed by a database name
|
|
1 +1
|
|
2
|
|
1 +1
|
|
2
|
|
1 +1
|
|
2
|
|
1 +1
|
|
2
|
|
\
|
|
\\
|
|
';
|
|
';
|
|
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;
|
|
Test connect without db- or host-name => reconnect
|
|
Test connect with dbname only => new dbname, old hostname
|
|
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
|
|
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
|
|
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)
|
|
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
|
|
ERROR 1102 (42000) at line 1: Incorrect database name 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...'
|
|
Too long hostname
|
|
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
|
|
1
|
|
1
|
|
ERROR at line 1: DELIMITER cannot contain a backslash character
|
|
ERROR at line 1: DELIMITER cannot contain a backslash character
|
|
1
|
|
1
|
|
1
|
|
1
|
|
This is a file starting with UTF8 BOM 0xEFBBBF
|
|
This is a file starting with UTF8 BOM 0xEFBBBF
|
|
delimiter
|
|
1
|
|
2
|
|
2
|
|
2
|
|
2
|
|
@z:='1' @z=database()
|
|
1 NULL
|
|
1
|
|
1
|
|
1
|
|
1
|
|
COUNT (*)
|
|
1
|
|
COUNT (*)
|
|
1
|
|
COUNT (*)
|
|
1
|
|
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
|
|
End of 5.0 tests
|
|
WARNING: --server-arg option not supported in this configuration.
|
|
*************************** 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 |
|
|
+---+
|
|
Warning (Code 1286): Unknown storage engine 'nonexistent'
|
|
Warning (Code 1266): Using storage engine MyISAM for table 't2'
|
|
Warning (Code 1286): Unknown storage engine 'nonexistent2'
|
|
Warning (Code 1266): Using storage engine MyISAM for table 't2'
|
|
Error (Code 1050): Table 't2' already exists
|
|
drop tables t1, t2;
|
|
Variable_name Value
|
|
lc_messages ru_RU
|
|
<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;
|
|
|
|
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.
|
|
#
|
|
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
|
|
#
|
|
CREATE DATABASE connected_db;
|
|
SHOW TABLES IN connected_db;
|
|
Tables_in_connected_db
|
|
table_in_connected_db
|
|
|
|
SHOW TABLES IN connected_db;
|
|
Tables_in_connected_db
|
|
table_in_connected_db
|
|
DROP DATABASE connected_db;
|
|
create database `aa``bb````cc`;
|
|
DATABASE()
|
|
aa`bb``cc
|
|
DATABASE()
|
|
test
|
|
DATABASE()
|
|
aa`bb``cc
|
|
DATABASE()
|
|
test
|
|
DATABASE()
|
|
aa`bb``cc
|
|
drop database `aa``bb````cc`;
|
|
a
|
|
>>\ndelimiter\n<<
|
|
+-------------------+
|
|
| a |
|
|
| aaaaaaaaaaaaaaaaa |
|
|
+-------------------+
|
|
#
|
|
# 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'
|
|
set GLOBAL sql_mode=default;
|
|
|
|
End of tests
|
|
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`;
|
|
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;
|
|
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;
|
|
#
|
|
# MDEV-15538 '-N' Produce html output wrong
|
|
#
|
|
<TABLE BORDER=1><TR><TD>1</TD></TR></TABLE>
|
|
WARNING: option '--enable-cleartext-plugin' is obsolete.
|
|
1
|
|
1
|