mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 14:02:32 +01:00
28f9704737
Bug#37167 funcs_1: Many tests fail if the embedded server is used. Bug#37164 funcs_1: Some tests fail if an optional character set is missing. + some cleanup within the testsuite related to the fixes above + some adjustments to open bugs on Mac OS X Details: - Remove the initial loading of data from tests if these data are not somewhere retrieved - Remove any use of columns with attribute unicode (-> UCS2 is no more needed) from tests where unicode properties are not checked or somehow required - Create a separate branch of the Character maximum length test (CML). If UCS2 is available than this test gets applied to every available type of string column with attribute unicode This prevents any loss of coverage by the points above. - Disable the execution of is_tables_ndb which gives wrong results because of a bug. Correct the exepected results of this test. - In case of tests failing when applied to the embedded server 1) Create a variant of this test for the embedded server or 2) Skip the test in case of embedded server depending on purpose and complexity of test. - Skip the tests which could suffer from Bug 28309 First insert violates unique constraint - was "memory" table empty ? Bug 37380 Test funcs_1.is_columns_myisam_embedded fails on OS X (both bugs Mac OS X, embedded server, MySQL 5.0 only) - Minor improvements like remove typos
427 lines
18 KiB
Text
427 lines
18 KiB
Text
SHOW TABLES FROM information_schema LIKE 'TABLES';
|
|
Tables_in_information_schema (TABLES)
|
|
TABLES
|
|
#######################################################################
|
|
# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
|
|
#######################################################################
|
|
DROP VIEW IF EXISTS test.v1;
|
|
DROP PROCEDURE IF EXISTS test.p1;
|
|
DROP FUNCTION IF EXISTS test.f1;
|
|
CREATE VIEW test.v1 AS SELECT * FROM information_schema.TABLES;
|
|
CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TABLES;
|
|
CREATE FUNCTION test.f1() returns BIGINT
|
|
BEGIN
|
|
DECLARE counter BIGINT DEFAULT NULL;
|
|
SELECT COUNT(*) INTO counter FROM information_schema.TABLES;
|
|
RETURN counter;
|
|
END//
|
|
# Attention: The printing of the next result sets is disabled.
|
|
SELECT * FROM information_schema.TABLES;
|
|
SELECT * FROM test.v1;
|
|
CALL test.p1;
|
|
SELECT test.f1();
|
|
DROP VIEW test.v1;
|
|
DROP PROCEDURE test.p1;
|
|
DROP FUNCTION test.f1;
|
|
#########################################################################
|
|
# Testcase 3.2.12.1: INFORMATION_SCHEMA.TABLES layout
|
|
#########################################################################
|
|
DESCRIBE information_schema.TABLES;
|
|
Field Type Null Key Default Extra
|
|
TABLE_CATALOG varchar(512) YES NULL
|
|
TABLE_SCHEMA varchar(64) NO
|
|
TABLE_NAME varchar(64) NO
|
|
TABLE_TYPE varchar(64) NO
|
|
ENGINE varchar(64) YES NULL
|
|
VERSION bigint(21) YES NULL
|
|
ROW_FORMAT varchar(10) YES NULL
|
|
TABLE_ROWS bigint(21) YES NULL
|
|
AVG_ROW_LENGTH bigint(21) YES NULL
|
|
DATA_LENGTH bigint(21) YES NULL
|
|
MAX_DATA_LENGTH bigint(21) YES NULL
|
|
INDEX_LENGTH bigint(21) YES NULL
|
|
DATA_FREE bigint(21) YES NULL
|
|
AUTO_INCREMENT bigint(21) YES NULL
|
|
CREATE_TIME datetime YES NULL
|
|
UPDATE_TIME datetime YES NULL
|
|
CHECK_TIME datetime YES NULL
|
|
TABLE_COLLATION varchar(64) YES NULL
|
|
CHECKSUM bigint(21) YES NULL
|
|
CREATE_OPTIONS varchar(255) YES NULL
|
|
TABLE_COMMENT varchar(80) NO
|
|
SHOW CREATE TABLE information_schema.TABLES;
|
|
Table Create Table
|
|
TABLES CREATE TEMPORARY TABLE `TABLES` (
|
|
`TABLE_CATALOG` varchar(512) default NULL,
|
|
`TABLE_SCHEMA` varchar(64) NOT NULL default '',
|
|
`TABLE_NAME` varchar(64) NOT NULL default '',
|
|
`TABLE_TYPE` varchar(64) NOT NULL default '',
|
|
`ENGINE` varchar(64) default NULL,
|
|
`VERSION` bigint(21) default NULL,
|
|
`ROW_FORMAT` varchar(10) default NULL,
|
|
`TABLE_ROWS` bigint(21) default NULL,
|
|
`AVG_ROW_LENGTH` bigint(21) default NULL,
|
|
`DATA_LENGTH` bigint(21) default NULL,
|
|
`MAX_DATA_LENGTH` bigint(21) default NULL,
|
|
`INDEX_LENGTH` bigint(21) default NULL,
|
|
`DATA_FREE` bigint(21) default NULL,
|
|
`AUTO_INCREMENT` bigint(21) default NULL,
|
|
`CREATE_TIME` datetime default NULL,
|
|
`UPDATE_TIME` datetime default NULL,
|
|
`CHECK_TIME` datetime default NULL,
|
|
`TABLE_COLLATION` varchar(64) default NULL,
|
|
`CHECKSUM` bigint(21) default NULL,
|
|
`CREATE_OPTIONS` varchar(255) default NULL,
|
|
`TABLE_COMMENT` varchar(80) NOT NULL default ''
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8
|
|
SHOW COLUMNS FROM information_schema.TABLES;
|
|
Field Type Null Key Default Extra
|
|
TABLE_CATALOG varchar(512) YES NULL
|
|
TABLE_SCHEMA varchar(64) NO
|
|
TABLE_NAME varchar(64) NO
|
|
TABLE_TYPE varchar(64) NO
|
|
ENGINE varchar(64) YES NULL
|
|
VERSION bigint(21) YES NULL
|
|
ROW_FORMAT varchar(10) YES NULL
|
|
TABLE_ROWS bigint(21) YES NULL
|
|
AVG_ROW_LENGTH bigint(21) YES NULL
|
|
DATA_LENGTH bigint(21) YES NULL
|
|
MAX_DATA_LENGTH bigint(21) YES NULL
|
|
INDEX_LENGTH bigint(21) YES NULL
|
|
DATA_FREE bigint(21) YES NULL
|
|
AUTO_INCREMENT bigint(21) YES NULL
|
|
CREATE_TIME datetime YES NULL
|
|
UPDATE_TIME datetime YES NULL
|
|
CHECK_TIME datetime YES NULL
|
|
TABLE_COLLATION varchar(64) YES NULL
|
|
CHECKSUM bigint(21) YES NULL
|
|
CREATE_OPTIONS varchar(255) YES NULL
|
|
TABLE_COMMENT varchar(80) NO
|
|
SELECT table_catalog, table_schema, table_name
|
|
FROM information_schema.tables WHERE table_catalog IS NOT NULL;
|
|
table_catalog table_schema table_name
|
|
################################################################################
|
|
# Testcase 3.2.12.2 + 3.2.12.3: INFORMATION_SCHEMA.TABLES accessible information
|
|
################################################################################
|
|
DROP DATABASE IF EXISTS db_datadict;
|
|
CREATE DATABASE db_datadict;
|
|
DROP USER 'testuser1'@'localhost';
|
|
CREATE USER 'testuser1'@'localhost';
|
|
GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
|
|
TO 'testuser1'@'localhost' WITH GRANT OPTION;
|
|
DROP USER 'testuser2'@'localhost';
|
|
CREATE USER 'testuser2'@'localhost';
|
|
DROP USER 'testuser3'@'localhost';
|
|
CREATE USER 'testuser3'@'localhost';
|
|
CREATE TABLE db_datadict.tb1 (f1 INT, f2 INT, f3 INT)
|
|
ENGINE = <engine_type>;
|
|
GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost';
|
|
GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION;
|
|
# Establish connection testuser1 (user=testuser1)
|
|
CREATE TABLE tb2 (f1 DECIMAL)
|
|
ENGINE = <engine_type>;
|
|
CREATE TABLE tb3 (f1 VARCHAR(200))
|
|
ENGINE = <engine_type>;
|
|
GRANT SELECT ON db_datadict.tb3 to 'testuser3'@'localhost';
|
|
GRANT INSERT ON db_datadict.tb3 to 'testuser2'@'localhost';
|
|
CREATE VIEW v3 AS SELECT * FROM tb3;
|
|
GRANT SELECT ON db_datadict.v3 to 'testuser3'@'localhost';
|
|
SELECT * FROM information_schema.tables
|
|
WHERE table_schema = 'db_datadict' ORDER BY table_name;
|
|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
|
|
NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict tb2 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW
|
|
SHOW TABLES FROM db_datadict;
|
|
Tables_in_db_datadict
|
|
tb1
|
|
tb2
|
|
tb3
|
|
v3
|
|
# Establish connection testuser2 (user=testuser2)
|
|
SELECT * FROM information_schema.tables
|
|
WHERE table_schema = 'db_datadict' ORDER BY table_name;
|
|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
|
|
NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict tb2 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW
|
|
SHOW TABLES FROM db_datadict;
|
|
Tables_in_db_datadict
|
|
tb1
|
|
tb2
|
|
tb3
|
|
v3
|
|
# Establish connection testuser3 (user=testuser3)
|
|
SELECT * FROM information_schema.tables
|
|
WHERE table_schema = 'db_datadict' ORDER BY table_name;
|
|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
|
|
NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict tb2 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW
|
|
SHOW TABLES FROM db_datadict;
|
|
Tables_in_db_datadict
|
|
tb1
|
|
tb2
|
|
tb3
|
|
v3
|
|
# Switch to connection default (user=root)
|
|
SELECT * FROM information_schema.tables
|
|
WHERE table_schema = 'db_datadict' ORDER BY table_name;
|
|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
|
|
NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict tb2 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
|
|
NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW
|
|
SHOW TABLES FROM db_datadict;
|
|
Tables_in_db_datadict
|
|
tb1
|
|
tb2
|
|
tb3
|
|
v3
|
|
# Close connection testuser1, testuser2, testuser3
|
|
DROP USER 'testuser1'@'localhost';
|
|
DROP USER 'testuser2'@'localhost';
|
|
DROP USER 'testuser3'@'localhost';
|
|
DROP DATABASE db_datadict;
|
|
#########################################################################
|
|
# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLES modifications
|
|
#########################################################################
|
|
DROP TABLE IF EXISTS test.t1_my_table;
|
|
DROP DATABASE IF EXISTS db_datadict;
|
|
CREATE DATABASE db_datadict;
|
|
SELECT table_name FROM information_schema.tables
|
|
WHERE table_name LIKE 't1_my_table%';
|
|
table_name
|
|
CREATE TABLE test.t1_my_table (f1 BIGINT)
|
|
DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
|
|
COMMENT = 'Initial Comment' ENGINE = <engine_type>;
|
|
SELECT * FROM information_schema.tables
|
|
WHERE table_name = 't1_my_table';
|
|
TABLE_CATALOG NULL
|
|
TABLE_SCHEMA test
|
|
TABLE_NAME t1_my_table
|
|
TABLE_TYPE BASE TABLE
|
|
ENGINE #ENG#
|
|
VERSION 10
|
|
ROW_FORMAT #RF#
|
|
TABLE_ROWS 0
|
|
AVG_ROW_LENGTH #ARL#
|
|
DATA_LENGTH #DL#
|
|
MAX_DATA_LENGTH #MDL#
|
|
INDEX_LENGTH #IL#
|
|
DATA_FREE #DF#
|
|
AUTO_INCREMENT NULL
|
|
CREATE_TIME #CRT
|
|
UPDATE_TIME #UT#
|
|
CHECK_TIME #CT#
|
|
TABLE_COLLATION latin1_swedish_ci
|
|
CHECKSUM #CS#
|
|
CREATE_OPTIONS
|
|
TABLE_COMMENT Initial Comment
|
|
SELECT table_name FROM information_schema.tables
|
|
WHERE table_name LIKE 't1_my_table%';
|
|
table_name
|
|
t1_my_table
|
|
RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
|
|
SELECT table_name FROM information_schema.tables
|
|
WHERE table_name LIKE 't1_my_table%';
|
|
table_name
|
|
t1_my_tablex
|
|
SELECT table_schema,table_name FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_schema table_name
|
|
test t1_my_tablex
|
|
RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
|
|
SELECT table_schema,table_name FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_schema table_name
|
|
db_datadict t1_my_tablex
|
|
SELECT table_name, engine FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name engine
|
|
t1_my_tablex <engine_type>
|
|
ALTER TABLE db_datadict.t1_my_tablex
|
|
ENGINE = <other_engine_type>;
|
|
SELECT table_name, engine FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name engine
|
|
t1_my_tablex <other_engine_type>
|
|
SELECT table_name, table_rows FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name table_rows
|
|
t1_my_tablex 0
|
|
INSERT INTO db_datadict.t1_my_tablex VALUES(1),(2);
|
|
SELECT table_name, table_rows FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name table_rows
|
|
t1_my_tablex 2
|
|
SELECT table_name, table_collation FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name table_collation
|
|
t1_my_tablex latin1_swedish_ci
|
|
ALTER TABLE db_datadict.t1_my_tablex DEFAULT CHARACTER SET utf8;
|
|
SELECT table_name, table_collation FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name table_collation
|
|
t1_my_tablex utf8_general_ci
|
|
SELECT table_name, table_collation FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name table_collation
|
|
t1_my_tablex utf8_general_ci
|
|
ALTER TABLE db_datadict.t1_my_tablex
|
|
DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci;
|
|
SELECT table_name, table_collation FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name table_collation
|
|
t1_my_tablex latin1_german1_ci
|
|
SELECT table_name, TABLE_COMMENT FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name TABLE_COMMENT
|
|
t1_my_tablex Initial Comment
|
|
ALTER TABLE db_datadict.t1_my_tablex COMMENT 'Changed Comment';
|
|
SELECT table_name, TABLE_COMMENT FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name TABLE_COMMENT
|
|
t1_my_tablex Changed Comment
|
|
SELECT table_name, AUTO_INCREMENT FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name AUTO_INCREMENT
|
|
t1_my_tablex NULL
|
|
ALTER TABLE db_datadict.t1_my_tablex
|
|
ADD f2 BIGINT AUTO_INCREMENT, ADD PRIMARY KEY (f2);
|
|
SELECT table_name, AUTO_INCREMENT FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name AUTO_INCREMENT
|
|
t1_my_tablex 3
|
|
SELECT table_name, ROW_FORMAT FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name ROW_FORMAT
|
|
t1_my_tablex Fixed
|
|
ALTER TABLE db_datadict.t1_my_tablex ROW_FORMAT = dynamic;
|
|
SELECT table_name, ROW_FORMAT FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name ROW_FORMAT
|
|
t1_my_tablex Dynamic
|
|
SELECT table_name, checksum FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name checksum
|
|
t1_my_tablex NULL
|
|
ALTER TABLE db_datadict.t1_my_tablex CHECKSUM = 1;
|
|
SELECT table_name, checksum IS NOT NULL FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name checksum IS NOT NULL
|
|
t1_my_tablex 1
|
|
SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum
|
|
FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
INSERT INTO db_datadict.t1_my_tablex SET f1 = 3;
|
|
SELECT UPDATE_TIME > @UPDATE_TIME
|
|
AS "Is current UPDATE_TIME bigger than before last INSERT?"
|
|
FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
Is current UPDATE_TIME bigger than before last INSERT?
|
|
1
|
|
SELECT checksum <> @checksum
|
|
AS "Is current CHECKSUM different than before last INSERT?"
|
|
FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
Is current CHECKSUM different than before last INSERT?
|
|
1
|
|
SELECT CREATE_TIME INTO @CREATE_TIME FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
SELECT table_name FROM information_schema.tables
|
|
WHERE table_name LIKE 't1_my_table%';
|
|
table_name
|
|
t1_my_tablex
|
|
DROP TABLE db_datadict.t1_my_tablex;
|
|
SELECT table_name FROM information_schema.tables
|
|
WHERE table_name LIKE 't1_my_table%';
|
|
table_name
|
|
CREATE TABLE test.t1_my_tablex (f1 BIGINT)
|
|
ENGINE = <other_engine_type>;
|
|
SELECT CREATE_TIME > @CREATE_TIME
|
|
AS "Is current CREATE_TIME bigger than for the old dropped table?"
|
|
FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
Is current CREATE_TIME bigger than for the old dropped table?
|
|
1
|
|
DROP TABLE test.t1_my_tablex;
|
|
CREATE VIEW test.t1_my_tablex AS SELECT 1;
|
|
SELECT * FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
TABLE_CATALOG NULL
|
|
TABLE_SCHEMA test
|
|
TABLE_NAME t1_my_tablex
|
|
TABLE_TYPE VIEW
|
|
ENGINE NULL
|
|
VERSION NULL
|
|
ROW_FORMAT NULL
|
|
TABLE_ROWS NULL
|
|
AVG_ROW_LENGTH NULL
|
|
DATA_LENGTH NULL
|
|
MAX_DATA_LENGTH NULL
|
|
INDEX_LENGTH NULL
|
|
DATA_FREE NULL
|
|
AUTO_INCREMENT NULL
|
|
CREATE_TIME NULL
|
|
UPDATE_TIME NULL
|
|
CHECK_TIME NULL
|
|
TABLE_COLLATION NULL
|
|
CHECKSUM NULL
|
|
CREATE_OPTIONS NULL
|
|
TABLE_COMMENT VIEW
|
|
DROP VIEW test.t1_my_tablex;
|
|
SELECT table_name FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name
|
|
CREATE TEMPORARY TABLE test.t1_my_tablex
|
|
ENGINE = <other_engine_type>
|
|
AS SELECT 1;
|
|
SELECT table_name, table_type FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
DROP TEMPORARY TABLE test.t1_my_tablex;
|
|
CREATE TABLE db_datadict.t1_my_tablex
|
|
ENGINE = <engine_type> AS
|
|
SELECT 1;
|
|
SELECT table_name FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name
|
|
t1_my_tablex
|
|
DROP DATABASE db_datadict;
|
|
SELECT table_name FROM information_schema.tables
|
|
WHERE table_name = 't1_my_tablex';
|
|
table_name
|
|
########################################################################
|
|
# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
|
|
# DDL on INFORMATION_SCHEMA tables are not supported
|
|
########################################################################
|
|
DROP DATABASE IF EXISTS db_datadict;
|
|
CREATE DATABASE db_datadict;
|
|
CREATE TABLE db_datadict.t1 (f1 BIGINT)
|
|
ENGINE = <engine_type>;
|
|
INSERT INTO information_schema.tables
|
|
SELECT * FROM information_schema.tables;
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
UPDATE information_schema.tables SET table_schema = 'test'
|
|
WHERE table_name = 't1';
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
DELETE FROM information_schema.tables WHERE table_name = 't1';
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
TRUNCATE information_schema.tables;
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
CREATE INDEX my_idx_on_tables ON information_schema.tables(table_schema);
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
ALTER TABLE information_schema.tables DROP PRIMARY KEY;
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
ALTER TABLE information_schema.tables ADD f1 INT;
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
DROP TABLE information_schema.tables;
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
ALTER TABLE information_schema.tables RENAME db_datadict.tables;
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
ALTER TABLE information_schema.tables RENAME information_schema.xtables;
|
|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
|
DROP DATABASE db_datadict;
|