mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	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
		
	
		
			
				
	
	
		
			428 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			428 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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;
 |