1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-09 22:24:09 +03:00
Files
mariadb/mysql-test/suite/connect/t/mysql.test
Alexander Barkov 3fd1e97a64 Removing the comment about NULLs
modified:
  mysql-test/suite/connect/t/mysql.test
2013-02-27 17:04:36 +04:00

400 lines
12 KiB
Plaintext

let $PORT= `select @@port`;
# TODO: remote VARCHAR is displayed as CHAR
CREATE TABLE t1 (a int, b char(10));
INSERT INTO t1 VALUES (NULL,NULL),(0,'test00'),(1,'test01'),(2,'test02'),(3,'test03');
SELECT * FROM t1;
--echo #
--echo # Testing errors
--echo #
# Bad user name
# Suppress "mysql_real_connect failed:" (printed in _DEBUG build)
--replace_result $PORT PORT "mysql_real_connect failed: " ""
--error ER_UNKNOWN_ERROR
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root1,port=$PORT'
# Bad database name
--replace_result $PORT PORT "mysql_real_connect failed: " ""
--error ER_UNKNOWN_ERROR
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL DBNAME='unknown' TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
# Bad database name, with OPTION_LIST going first.
--replace_result $PORT PORT "mysql_real_connect failed: " ""
--error ER_UNKNOWN_ERROR
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL OPTION_LIST='host=localhost,user=root,port=$PORT' DBNAME='unknown' TABNAME='t1'
# Bad table name
--replace_result $PORT PORT
--error ER_UNKNOWN_ERROR
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='unknown' OPTION_LIST='host=localhost,user=root,port=$PORT'
--error ER_NO_SUCH_TABLE
SHOW CREATE TABLE t2;
# Bad column name
--replace_result $PORT PORT
--eval CREATE TABLE t2 (x int, y char(10)) ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
--error ER_GET_ERRMSG
SELECT * FROM t2;
DROP TABLE t2;
# The remote table disappeared
ALTER TABLE t1 RENAME t1backup;
--error ER_NO_SUCH_TABLE
SELECT * FROM t2;
ALTER TABLE t1backup RENAME t1;
--echo #
--echo # Testing SELECT, etc.
--echo #
# Automatic table structure
--replace_result $PORT PORT
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2;
# Explicit table structure
--replace_result $PORT PORT
--eval CREATE TABLE t2 (a int, b char(10)) ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2;
# Explicit table structure: remote NULL, local NOT NULL
--replace_result $PORT PORT
--eval CREATE TABLE t2 (a INT NOT NULL, b CHAR(10) NOT NULL) ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2;
# Explicit table structure with wrong column types
--replace_result $PORT PORT
--eval CREATE TABLE t2 (a char(10), b int) ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2;
DROP TABLE t1;
--echo #
--echo # Testing numeric data types
--echo #
# TODO: tinyint is mapped to smallint
#CREATE TABLE t1 (a tinyint);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: unsigned does not work
#CREATE TABLE t1 (a tinyint unsigned);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
CREATE TABLE t1 (a smallint);
--replace_result $PORT PORT
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t1;
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2, t1;
CREATE TABLE t1 (a mediumint);
--replace_result $PORT PORT
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t1;
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2, t1;
CREATE TABLE t1 (a int);
--replace_result $PORT PORT
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t1;
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2, t1;
# TODO: bigint is mapped to double(20,0)
CREATE TABLE t1 (a bigint);
--replace_result $PORT PORT
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t1;
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2, t1;
# TODO: ERROR 1439: Display width out of range for 'a' (max = 255)
#CREATE TABLE t1 (a float);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: ERROR 1439: Display width out of range for 'a' (max = 255)
#CREATE TABLE t1 (a double);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: decimal is converted to double
#CREATE TABLE t1 (a decimal(20,5));
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: add test for BIT
--echo #
--echo # Testing character data types
--echo #
# TODO: char is mapped to varchar
CREATE TABLE t1 (a char(10));
--replace_result $PORT PORT
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t1;
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2, t1;
CREATE TABLE t1 (a varchar(10));
--replace_result $PORT PORT
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t1;
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2, t1;
# TODO: ERROR 1105: Unsupported column type tinytext
#CREATE TABLE t1 (a tinytext);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: ERROR 1105: Unsupported column type mediumtext
#CREATE TABLE t1 (a mediumtext);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: text is converted to varchar(256)
#CREATE TABLE t1 (a text);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: ERROR 1105: Unsupported column type longtext
#CREATE TABLE t1 (a longtext);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
#TODO: add tests for ENUM
#TODO: add tests for SET
--echo #
--echo # Testing binary data types
--echo #
# TODO: ERROR 1105: Unsupported column type binary
#CREATE TABLE t1 (a binary(10));
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: ERROR 1105: Unsupported column type varbinary
#CREATE TABLE t1 (a varbinary(10));
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: ERROR 1105: Unsupported column type tinyblob
#CREATE TABLE t1 (a tinyblob);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: ERROR 1105: Unsupported column type mediumblob
#CREATE TABLE t1 (a mediumblob);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: blob is converted to varchar(256)
#CREATE TABLE t1 (a blob);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: ERROR 1105: Unsupported column type longblob
#CREATE TABLE t1 (a longblob);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: ERROR 1105: Unsupported column type geometry
#CREATE TABLE t1 (a geometry);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
--echo #
--echo # Testing temporal data types
--echo #
# TODO: time is converted to date
#CREATE TABLE t1 (a time);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
CREATE TABLE t1 (a date);
--replace_result $PORT PORT
--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
--replace_result $PORT PORT
SHOW CREATE TABLE t1;
--replace_result $PORT PORT
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2, t1;
# TODO: datetime is converted to date
#CREATE TABLE t1 (a datetime);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: timestamp is converted to date
#CREATE TABLE t1 (a timestamp);
#--replace_result $PORT PORT
#--eval CREATE TABLE t2 ENGINE=CONNECT TABLE_TYPE=MYSQL TABNAME='t1' OPTION_LIST='host=localhost,user=root,port=$PORT'
#--replace_result $PORT PORT
#SHOW CREATE TABLE t1;
#--replace_result $PORT PORT
#SHOW CREATE TABLE t2;
#SELECT * FROM t2;
#DROP TABLE t2, t1;
# TODO: add test for YEAR
# TODO: add tests for fractional seconds