Below is the list of changes that have just been committed into a local
5.0 repository of mleich. When mleich does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2008-03-05 18:20:34+01:00, mleich@stripped +195 -0
WL#4203 Reorganize and fix the data dictionary tests of
testsuite funcs_1
1. Fix the following bugs
Bug#30440 "datadict" tests (all engines) fail: Character sets depend on configuration
Solution: Test variants charset_collation_* adjusted to different builds
Bug#32603 "datadict" tests (all engines) fail in "community" tree: "PROFILING" table
Solution: Excluding "PROFILING" table from queries
Bug#33654 "slow log" is missing a line
Solution: Unify the content of the fields TABLES.TABLE_ROWS and
STATISTICS.CARDINALITY within result sets
Bug#34532 Some funcs_1 tests do not clean up at end of testing
Solution: DROP objects/reset global server variables modified during testing
+ let tests missing implementation end before loading of tables
Bug#31421 funcs_1: ndb__datadict fails, discrepancy between scripts and expected results
Solution: Cut <engine>__datadict tests into smaller tests + generate new results.
Bug#33599 INFORMATION_SCHEMA.STATISTICS got a new column INDEX_COMMENT: tests fail (2)
Generation of new results during post merge fix
Bug#33600 CHARACTER_OCTET_LENGTH is now CHARACTER_MAXIMUM_LENGTH * 4
Generation of new results during post merge fix
Bug#33631 Platform-specific replace of CHARACTER_MAXIMUM_LENGTH broken by 4-byte encoding
Generation of new results during post merge fix
+ removal of platform-specific replace routine (no more needed)
2. Restructure the tests
- Test not more than one INFORMATION_SCHEMA view per testscript
- Separate tests of I_S view layout+functionality from content related to the
all time existing databases "information_schema", "mysql" and "test"
- Avoid storage engine related variants of tests which are not sensible to
storage engines at all.
3. Reimplement or add some subtests + cleanup
There is a some probability that even the reviewed changeset
- does not fix all bugs from above or
- contains new bugs which show up on some platforms <> Linux or on one of
the various build types
4. The changeset contains fixes according to
- one code review
- minor bugs within testing code found after code review
- problems found during tests with 5.0.56 in build environment
BitKeeper/deleted/.del-create_database.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/include/create_database.inc -> BitKeeper/deleted/.del-create_database.inc
BitKeeper/deleted/.del-create_user_lowest_priv.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc -> BitKeeper/deleted/.del-create_user_lowest_priv.inc
BitKeeper/deleted/.del-create_user_no_super.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/include/create_user_no_super.inc -> BitKeeper/deleted/.del-create_user_no_super.inc
BitKeeper/deleted/.del-datadict_help_tables_build.result@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/r/datadict_help_tables_build.result -> BitKeeper/deleted/.del-datadict_help_tables_build.result
BitKeeper/deleted/.del-datadict_help_tables_build.test@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/t/datadict_help_tables_build.test -> BitKeeper/deleted/.del-datadict_help_tables_build.test
BitKeeper/deleted/.del-datadict_help_tables_dev.result@stripped, 2008-03-05 17:01:58+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result -> BitKeeper/deleted/.del-datadict_help_tables_dev.result
BitKeeper/deleted/.del-datadict_help_tables_dev.test@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test -> BitKeeper/deleted/.del-datadict_help_tables_dev.test
BitKeeper/deleted/.del-datadict_master.inc@stripped, 2008-03-05 17:01:58+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_master.inc -> BitKeeper/deleted/.del-datadict_master.inc
BitKeeper/deleted/.del-datadict_show_schema.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc -> BitKeeper/deleted/.del-datadict_show_schema.inc
BitKeeper/deleted/.del-datadict_show_table_design.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc -> BitKeeper/deleted/.del-datadict_show_table_design.inc
BitKeeper/deleted/.del-datadict_tables.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_tables.inc -> BitKeeper/deleted/.del-datadict_tables.inc
BitKeeper/deleted/.del-datadict_tables_error.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc -> BitKeeper/deleted/.del-datadict_tables_error.inc
BitKeeper/deleted/.del-datadict_tables_error_1.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc -> BitKeeper/deleted/.del-datadict_tables_error_1.inc
BitKeeper/deleted/.del-datadict_tables_error_1044.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc -> BitKeeper/deleted/.del-datadict_tables_error_1044.inc
BitKeeper/deleted/.del-datadict_tables_error_1049.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc -> BitKeeper/deleted/.del-datadict_tables_error_1049.inc
BitKeeper/deleted/.del-datadict_tables_error_1051.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc -> BitKeeper/deleted/.del-datadict_tables_error_1051.inc
BitKeeper/deleted/.del-datadict_tables_error_1146.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc -> BitKeeper/deleted/.del-datadict_tables_error_1146.inc
BitKeeper/deleted/.del-datadict_tables_error_1288.inc@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc -> BitKeeper/deleted/.del-datadict_tables_error_1288.inc
BitKeeper/deleted/.del-innodb__datadict.result@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/r/innodb__datadict.result -> BitKeeper/deleted/.del-innodb__datadict.result
BitKeeper/deleted/.del-innodb__datadict.test@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/t/innodb__datadict.test -> BitKeeper/deleted/.del-innodb__datadict.test
BitKeeper/deleted/.del-memory__datadict.result@stripped, 2008-03-05 17:01:58+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/r/memory__datadict.result -> BitKeeper/deleted/.del-memory__datadict.result
BitKeeper/deleted/.del-memory__datadict.test@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/t/memory__datadict.test -> BitKeeper/deleted/.del-memory__datadict.test
BitKeeper/deleted/.del-myisam__datadict.result@stripped, 2008-03-05 17:01:58+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/r/myisam__datadict.result -> BitKeeper/deleted/.del-myisam__datadict.result
BitKeeper/deleted/.del-myisam__datadict.test@stripped, 2008-03-05 17:01:57+01:00, mleich@stripped +0 -0
Rename: mysql-test/suite/funcs_1/t/myisam__datadict.test -> BitKeeper/deleted/.del-myisam__datadict.test
mysql-test/suite/funcs_1/README.txt@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +44 -132
Cleanup in description
mysql-test/suite/funcs_1/datadict/basics_mixed1.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +53 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/basics_mixed1.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/basics_mixed2.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +55 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/basics_mixed2.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/basics_mixed3.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +42 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/basics_mixed3.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/charset_collation.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +122 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/charset_collation.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/columns.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +87 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/columns.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/datadict.pre@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +54 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/datadict.pre@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/is_table_query.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +42 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/is_table_query.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/statistics.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +55 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/statistics.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/table_constraints.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +45 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/table_constraints.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/tables1.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +39 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/tables1.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/datadict/tables2.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +47 -0
Auxiliary script
mysql-test/suite/funcs_1/datadict/tables2.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/include/cleanup.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +21 -0
Auxiliary script for cleanup
mysql-test/suite/funcs_1/include/cleanup.inc@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/include/memory_tb1.inc@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -3
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb2.inc@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -3
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb3.inc@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -3
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb4.inc@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -3
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/sp_tb.inc@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -4
Remove outdated comment
mysql-test/suite/funcs_1/r/charset_collation_1.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +309 -0
Expected result for new test
mysql-test/suite/funcs_1/r/charset_collation_1.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/charset_collation_2.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +311 -0
Expected result for new test
mysql-test/suite/funcs_1/r/charset_collation_2.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/charset_collation_3.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +309 -0
Expected result for new test
mysql-test/suite/funcs_1/r/charset_collation_3.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/innodb_bitdata.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -64
Updated results
mysql-test/suite/funcs_1/r/innodb_cursors.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -78
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_0102.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_03.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_0407.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_08.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_09.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/innodb_views.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +2 -2
Updated results
mysql-test/suite/funcs_1/r/is_basics_mixed.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +602 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_basics_mixed.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_character_sets.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +78 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_character_sets.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +76 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_collations.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +90 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_collations.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_column_privileges.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +370 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_column_privileges.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +37 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_columns.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +486 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_columns_innodb.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +1130 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_innodb.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_columns_is.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +380 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_is.result@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_columns_memory.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +1076 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_memory.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_columns_myisam.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +1207 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_myisam.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_columns_mysql.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +361 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_mysql.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_columns_ndb.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +223 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_ndb.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_key_column_usage.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +370 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_key_column_usage.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_routines.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +605 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_routines.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_schema_privileges.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +304 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_schema_privileges.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +51 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_schemata.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +181 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_schemata.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +42 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_statistics.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +352 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_statistics_is.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +17 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics_is.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_statistics_mysql.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +60 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics_mysql.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_table_constraints.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +310 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_table_constraints_is.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +17 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints_is.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +37 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_table_privileges.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +332 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_privileges.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_tables.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +419 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_tables_innodb.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +1063 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_innodb.result@stripped, 2008-03-05 18:20:05+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_tables_is.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +771 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_is.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_tables_memory.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +1052 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_memory.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_tables_myisam.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +1092 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_myisam.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_tables_mysql.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +424 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_mysql.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_tables_ndb.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +560 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_ndb.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_triggers.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +212 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_triggers.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_user_privileges.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +400 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_user_privileges.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/is_views.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +238 -0
Expected result for new test
mysql-test/suite/funcs_1/r/is_views.result@stripped, 2008-03-05 18:20:06+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/r/memory_bitdata.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -65
Updated results
mysql-test/suite/funcs_1/r/memory_cursors.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -75
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_02.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_03.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_06.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_07.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_08.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_10.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/memory_trig_0102.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -3
Updated results
mysql-test/suite/funcs_1/r/memory_trig_03.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -3
Updated results
mysql-test/suite/funcs_1/r/memory_trig_0407.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -3
Updated results
mysql-test/suite/funcs_1/r/memory_trig_08.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -3
Updated results
mysql-test/suite/funcs_1/r/memory_trig_09.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -3
Updated results
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +1 -3
Updated results
mysql-test/suite/funcs_1/r/memory_views.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +2 -6
Updated results
mysql-test/suite/funcs_1/r/myisam_bitdata.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -73
Updated results
mysql-test/suite/funcs_1/r/myisam_cursors.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -81
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result@stripped, 2008-03-05 18:20:01+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +0 -2
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_0102.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_03.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_0407.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_08.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_09.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +1 -1
Updated results
mysql-test/suite/funcs_1/r/myisam_views.result@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +9379 -9379
Updated results
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +0 -3
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/t/charset_collation_1.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +30 -0
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 1
mysql-test/suite/funcs_1/t/charset_collation_1.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/charset_collation_2.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +24 -0
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 2
mysql-test/suite/funcs_1/t/charset_collation_2.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/charset_collation_3.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +24 -0
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 3
mysql-test/suite/funcs_1/t/charset_collation_3.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/innodb_bitdata.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +6 -23
Cleanup
mysql-test/suite/funcs_1/t/innodb_cursors.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +6 -21
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_0102.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_03.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_0407.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_08.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_09.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_frkey.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/innodb_views.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +12 -34
Cleanup
mysql-test/suite/funcs_1/t/is_basics_mixed.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +503 -0
Test some basic properties which are independend of the storage
engine used for the creation of tables.
mysql-test/suite/funcs_1/t/is_basics_mixed.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_character_sets.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +107 -0
Tests related to functionality of
information_schema.character_sets
mysql-test/suite/funcs_1/t/is_character_sets.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +108 -0
Tests related to functionality of
information_schema.collation_character_set_applicability
mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_collations.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +114 -0
Tests related to functionality of
information_schema.collations
mysql-test/suite/funcs_1/t/is_collations.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_column_privileges.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +351 -0
Tests related to functionality of
information_schema.column_privileges
mysql-test/suite/funcs_1/t/is_column_privileges.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +58 -0
Check content of information_schema.column_privileges about databases
mysql and test
mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_columns.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +444 -0
Tests related to functionality of
information_schema.columns
mysql-test/suite/funcs_1/t/is_columns.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_columns_innodb.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +21 -0
Check content of information_schema.columns when some
tables are preloaded
Variant for InnoDB
mysql-test/suite/funcs_1/t/is_columns_innodb.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_columns_is.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +19 -0
Check content of information_schema.columns about schema
information_schema
mysql-test/suite/funcs_1/t/is_columns_is.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_columns_memory.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +21 -0
Check content of information_schema.columns when some
tables are preloaded
Variant for MEMORY
mysql-test/suite/funcs_1/t/is_columns_memory.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_columns_myisam.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +21 -0
Check content of information_schema.columns when some
tables are preloaded
Variant for MyISAM
mysql-test/suite/funcs_1/t/is_columns_myisam.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_columns_mysql.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +13 -0
Check content of information_schema.columns about schema
mysql
mysql-test/suite/funcs_1/t/is_columns_mysql.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_columns_ndb.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +33 -0
Check content of information_schema.columns when some
tables are preloaded
Variant for NDB
mysql-test/suite/funcs_1/t/is_columns_ndb.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_key_column_usage.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +344 -0
Tests related to functionality of
information_schema.key_column_usage
mysql-test/suite/funcs_1/t/is_key_column_usage.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_routines.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +471 -0
Tests related to functionality of
information_schema.routines
mysql-test/suite/funcs_1/t/is_routines.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_schema_privileges.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +336 -0
Tests related to functionality of
information_schema.schema_privileges
mysql-test/suite/funcs_1/t/is_schema_privileges.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +58 -0
Check content of information_schema.schema_privileges about schemas
information_schema, mysql and test
mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_schemata.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +246 -0
Tests related to functionality of
information_schema.schemata
mysql-test/suite/funcs_1/t/is_schemata.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +58 -0
Check content of information_schema.schemata about schemas
information_schema, mysql and test
mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_statistics.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +379 -0
Tests related to functionality of
information_schema.statistics
mysql-test/suite/funcs_1/t/is_statistics.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_statistics_is.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +14 -0
Check content of information_schema.statistics about schema
information_schema
mysql-test/suite/funcs_1/t/is_statistics_is.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_statistics_mysql.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +15 -0
Check content of information_schema.statistics about schema
mysql
mysql-test/suite/funcs_1/t/is_statistics_mysql.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_table_constraints.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +331 -0
Tests related to functionality of
information_schema.table_constraints
mysql-test/suite/funcs_1/t/is_table_constraints.test@stripped, 2008-03-05 18:20:03+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_table_constraints_is.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +14 -0
Check content of information_schema.table_constraints about schema
information_schema
mysql-test/suite/funcs_1/t/is_table_constraints_is.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +14 -0
Check content of information_schema.table_constraints about schema
mysql
mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_table_privileges.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +349 -0
Tests related to functionality of
information_schema.table_privileges
mysql-test/suite/funcs_1/t/is_table_privileges.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_tables.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +474 -0
Tests related to functionality of
information_schema.tables
mysql-test/suite/funcs_1/t/is_tables.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_tables_innodb.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +22 -0
Check content of information_schema.tables when some
tables are preloaded
Variant for InnoDB
mysql-test/suite/funcs_1/t/is_tables_innodb.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_tables_is.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +18 -0
Check content of information_schema.tables about schema
information_schema
mysql-test/suite/funcs_1/t/is_tables_is.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_tables_memory.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +22 -0
Check content of information_schema.tables when some
tables are preloaded
Variant for MEMORY
mysql-test/suite/funcs_1/t/is_tables_memory.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_tables_myisam.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +22 -0
Check content of information_schema.tables when some
tables are preloaded
Variant for MyISAM
mysql-test/suite/funcs_1/t/is_tables_myisam.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_tables_mysql.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +14 -0
Check content of information_schema.tables about schema
mysql
mysql-test/suite/funcs_1/t/is_tables_mysql.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_tables_ndb.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +34 -0
Check content of information_schema.tables when some
tables are preloaded
Variant for NDB
mysql-test/suite/funcs_1/t/is_tables_ndb.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_triggers.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +253 -0
Tests related to functionality of
information_schema.triggers
mysql-test/suite/funcs_1/t/is_triggers.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_user_privileges.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +347 -0
Tests related to functionality of
information_schema.user_privileges
mysql-test/suite/funcs_1/t/is_user_privileges.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/is_views.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +305 -0
Tests related to functionality of
information_schema.views
mysql-test/suite/funcs_1/t/is_views.test@stripped, 2008-03-05 18:20:04+01:00, mleich@stripped +0 -0
mysql-test/suite/funcs_1/t/memory_bitdata.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +7 -23
Cleanup
mysql-test/suite/funcs_1/t/memory_cursors.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +6 -21
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_0102.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_03.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_0407.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_08.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_09.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_1011ext.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/memory_views.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +12 -34
Cleanup
mysql-test/suite/funcs_1/t/myisam_bitdata.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +7 -23
Cleanup
mysql-test/suite/funcs_1/t/myisam_cursors.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +6 -21
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_0102.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_03.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_0407.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_08.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_09.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -22
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +4 -13
Cleanup
mysql-test/suite/funcs_1/t/myisam_views.test@stripped, 2008-03-05 18:20:02+01:00, mleich@stripped +12 -33
Cleanup
diff -Nrup a/mysql-test/suite/funcs_1/README.txt b/mysql-test/suite/funcs_1/README.txt
--- a/mysql-test/suite/funcs_1/README.txt 2007-08-28 18:35:22 +02:00
+++ b/mysql-test/suite/funcs_1/README.txt 2008-03-05 18:20:01 +01:00
@@ -1,134 +1,46 @@
-Matthias 17.06.2005
--------------------
-1. I changed the database test1 (dropped + created in SP test)
- to test4.
- Please adjust the SP test cases.
-2. There is a difference between my definition of
- innodb_tb4 + memory_tb4
- to the latest table definition used by disha.
- Please adjust the table definition if needed.
-3. The data load files are product of the Disha data generation script
- (downloaded ~20 May ?) + modified by Omer
- These load data fit fairly to the table definitions.
+2008-02-29 Matthias Leich
+=========================
-4. How to execute the "small" test with 10 rows per table.
- Do NOT set the environment variable NO_REFRESH to a
- value <> ''.
- Start the test for example by
- ./mysql-test-run.pl --vardir=/dev/shm/var \
- --force --suite=funcs_1 --do-test=myisam
- The "result" files fit mostly to this variant.
+1. The testsuite "funcs_1" is mostly intended for additional (compared
+ to the common regression tests stored in mysql-test/t) checks
+ of features (VIEWS, INFORMATION_SCHEMA, STORED PROCEDURES,...)
+ introduced with MySQL 5.0.
+
+2. There were some extensions of this suite when new information_schema
+ views were introduced. But in most cases the tests for these views
+ were stored within the regression testsuite (mysql-test/t).
+
+ INFORMATION_SCHEMA views introduced with MySQL 5.1
+ ==================================================
+ ENGINES (partially tested here)
+ EVENTS (partially tested here)
+ FILES
+ GLOBAL_STATUS
+ GLOBAL_VARIABLES
+ PARTITIONS
+ PLUGINS
+ PROCESSLIST (full tested here)
+ PROFILING
+ REFERENTIAL_CONSTRAINTS
+ SESSION_STATUS
+ SESSION_VARIABLES
+
+3. Some hints:
+ - SHOW TABLES ... LIKE '<pattern>'
+ does a case sensitive comparison between the tablename and
+ the pattern.
+ The names of the tables within the informationschema are in uppercase.
+ So please use something like
+ SHOW TABLES FOR information_schema LIKE 'TABLES'
+ when you intend to get the same non empty result set on OS with and
+ without case sensitive filesystems and default configuration.
+ - The name of the data dictionary is 'information_schema' (lowercase).
+ - Server on OS with filesystem with case sensitive filenames
+ (= The files 'abc' and 'Abc' can coexist.)
+ + default configuration
+ Example of behaviour:
+ DROP DATABASE information_schema;
+ ERROR 42000: Access denied for user ... to database 'information_schema'
+ DROP DATABASE INFORMATION_SCHEMA;
+ ERROR 42000: Access denied for user ... to database 'INFORMATION_SCHEMA'
- Any database not in ('mysql','test') and any tables
- needed within a testcase ( t/<storage engine>_<test filed>.test )
- will be (re)created at the beginning of the test.
-
-5. How to execute the "big" test with many rows per table.
- Replace the directories
- suite/funcs_1/data and
- suite/funcs_1/r
- with the appropriate ones for the "big" test.
- Set the environment variable NO_REFRESH to a value <> ''.
- Start the test for example by
- ./mysql-test-run.pl --vardir=/dev/shm/var \
- --force --suite=funcs_1 --do-test=myisam
-
- All databases and tables will be (re)created by the script
- <storage engine>__load.test .
-
-6. I am not sure of the files
- ./funcs_1/include/create_<whatever>.inc
- are in the moment needed. I included them, because I
- guess my VIEW testcase example needs them.
-
-I guess the pushed files are far away from being perfect.
-It is a 8 hours hack.
-Please try them, create missing files and come up with improvements.
-
-Good luck !
-
-Matthias 17.06.2005
-===================================================================
-Omer 19.06.2005
----------------
-1. Changed the structure of the memory_tb3 table to include two
- additional column f121, f122. These columns exist for the table in
- the other storage engines as TEXT. Since memory does not support
- TEXT, Disha did not include them. How ever I am using them in the
- Trigger tests so added them to the memory definition as CHAR(50);.
- Also modifyed the DataGen_modiy.pl file to account for these two
- column when generating the data.
- - checked in a new DataGen_modify.pl (create a 'lib' directory
- under 'funcs_1').
- - checked in a new memory_tb3.txt
-2. Added three <storage>_triggers.test files based on Matthias's
- structure above.
-3. Added three <storage>__triggers.result files
-4. Added the Trigger_master.test file in the trigger dierctory
- Note: This is not complete and is still under work
-5. Created a 'lib' directory and added the DataGen*.pl scripts to it
- (exists under the disha suite) but should be here as well).
-Omer 19.06.2005
-===================================================================
-Matthias 12.09.2005
--------------------
- Replace the geometry data types by VARBINARY
- The removal of the geometry data types was necessary, because the
- execution of the funcs_1 testsuite should not depend on the
- availability of the geometry feature.
- Note: There are servers compiled without the geometry feature.
-
- The columns are not removed, but their data type was changed
- VARBINARY. This allows us to omit any changes within the loader
- input files or data generation scripts.
- The replacement of geometry by VARCHAR allows us to use our
-
-Matthias 12.09.2005
-===================================================================
-Matthias 14.09.2005
--------------------
- The results of the <storage_engine>_views testcases suffer when
- executed in "--ps-protocol" mode from the open
- Bug#11589: mysqltest, --ps-protocol, strange output,
- float/double/real with zerofill .
- Implementation of a workaround:
- At the beginning of views_master.inc is a variable $have_bug_11589 .
- If this varable is set to 1, the ps-protocol will be switched
- of for the critical statements.
-Matthias 14.09.2005
-===================================================================
-Carsten 16.09.2005
-------------------
-1. The results of the datadict_<engine> testcases have been changed in nearly
- all occurrencies of --error <n> because now for the INFORMATION_SCHEMA only
- the --error 1044 (ERROR 42000: Access denied for user '..' to database
- 'information_schema') seems to be used.
-2. To get identical results when using "--ps-protocol" some SELECTs FROM
- information_schema has been wrapped to suppress using ps-protocol because
- there are differences.
-3. The test using SELECT .. OUTFILE has been disabled due to bug #13202.
-4. Fixed datadict_<engine>.result files after the change that added 2 columns to
- the VIEWS table (DEFINER varchar(77), SECURITY_TYPE varchar(7)).
-===================================================================
-Matthias 25.08.2007
--------------------
-Fixes for Bugs 30418,30420,30438,30440
-1. Replace error numbers with error names
-2. Replace static "InnoDB" (not all time available) used within an
- "alter table" by $OTHER_ENGINE_TYPE (set to MEMORY or MyISAM).
- Minor adjustment of column data type.
-3. Use mysqltest result set sorting in several cases.
-4. Avoid any statistics about help tables, because their content
- depends on configuration:
- developer release - help tables are empty
- build release - help tables have content + growing with version
-5. Add two help table related tests (one for build, one for developer)
- to ensure that informations about help tables within
- INFORMATION_SCHEMA.TABLES/STATISTICS are checked.
-General note:
- Most INFORMATION_SCHEMA properties (table layout, permissions etc.)
- are not affected by our variation of the storage engines except
- that some properties of our tables using a specific storage
- engine become visible. So it makes sense to decompose
- this test into a storage engine specific part and a non
- storage engine specific part in future.
diff -Nrup a/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,53 @@
+# suite/funcs_1/datadict/basics_mixed1.inc
+#
+# Auxiliary script to be sourced by suite/funcs_1/t/is_basics_mixed.test
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+
+# 1 Attempt to create tables and views when residing in information_schema
+# 1.1 CREATE TABLE
+USE information_schema;
+let $message= root: create a table with a name of an IS table directly in IS;
+let $dd_part1= CREATE TABLE;
+let $dd_part2= ( c1 INT );
+--source suite/funcs_1/datadict/basics_mixed2.inc
+# FIXME 3.2.1.6: error message ER_UNKNOWN_TABLE is misleading
+--error ER_UNKNOWN_TABLE
+CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
+#
+# 1.2 CREATE VIEW
+# 1.2.1 Hit on existing INFORMATION_SCHEMA table
+--error ER_DBACCESS_DENIED_ERROR
+CREATE VIEW tables AS SELECT 'garbage';
+--error ER_DBACCESS_DENIED_ERROR
+CREATE VIEW tables AS SELECT * FROM information_schema.tables;
+# 1.2.2 New view
+# ER_DBACCESS_DENIED_ERROR would be better.
+--error ER_UNKNOWN_TABLE
+CREATE VIEW v1 AS SELECT 'garbage';
+
+# 2 Attempt to create tables and views when residing in information_schema
+# 1.1 CREATE TABLE
+USE test;
+let $message= root: create a table with a name of an IS table from other db;
+let $dd_part1= CREATE TABLE information_schema.;
+let $dd_part2= ( c1 INT );
+--source suite/funcs_1/datadict/basics_mixed2.inc
+# FIXME 3.2.1.6: error message ER_UNKNOWN_TABLE is misleading
+--error ER_UNKNOWN_TABLE
+CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT);
+#
+# Hit on existing INFORMATION_SCHEMA table
+--error ER_DBACCESS_DENIED_ERROR
+CREATE VIEW information_schema.tables AS SELECT 'garbage';
+--error ER_DBACCESS_DENIED_ERROR
+CREATE VIEW information_schema.tables AS
+SELECT * FROM information_schema.tables;
+# New table
+# ER_DBACCESS_DENIED_ERROR would be better.
+--error ER_UNKNOWN_TABLE
+CREATE VIEW information_schema.v1 AS SELECT 'garbage';
diff -Nrup a/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,55 @@
+#### suite/funcs_1/datadict/basics_mixed2.inc
+#
+# Auxiliary script to be sourced by suite/funcs_1/datadict/is_basics_mixed1.inc
+#
+# contains all tables from INFORMATION_SCHEMA
+#
+# Usage example(snip of script):
+# let $dd_part1= CREATE TABLE information_schema.;
+# let $dd_part2= ( c1 INT );
+# --source suite/funcs_1/datadict/basics_mixed2.inc
+#
+# We expect to get
+# ERROR 42000: Access denied for user 'root'@'localhost'
+# to database 'information_schema'
+# for every statement.
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 schemata $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 tables $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 columns $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 character_sets $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 collations $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 collation_character_set_applicability $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 routines $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 statistics $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 views $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 user_privileges $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 schema_privileges $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 table_privileges $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 column_privileges $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 table_constraints $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 key_column_usage $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 triggers $dd_part2;
+
diff -Nrup a/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,42 @@
+#### suite/funcs_1/datadict/basics_mixed3.inc
+#
+# Auxiliary routine to be sourced by suite/funcs_1/t/is_basics_mixed.test
+#
+# Check if INFORMATION_SCHEMA tables contain a schema_name like 'db_data%'.
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+
+# No column with the name of a database contained in:
+# character_sets collations collation_character_set_applicability
+# user_privileges
+SELECT DISTINCT table_schema FROM information_schema.columns
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.column_privileges
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.key_column_usage
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+SELECT DISTINCT routine_schema FROM information_schema.routines
+WHERE routine_schema LIKE 'db_data%';
+SELECT DISTINCT schema_name FROM information_schema.schemata
+WHERE schema_name LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
+WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.tables
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.table_constraints
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.table_privileges
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT trigger_schema,event_object_schema
+FROM information_schema.triggers
+WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.views
+WHERE table_schema LIKE 'db_data%';
diff -Nrup a/mysql-test/suite/funcs_1/datadict/charset_collation.inc b/mysql-test/suite/funcs_1/datadict/charset_collation.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/charset_collation.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,122 @@
+# suite/funcs_1/datadict/charset_collation.inc
+#
+# Tests checking the content of the information_schema tables
+# character_sets
+# collations
+# collation_character_set_applicability
+#
+#
+# The amount and properties of character_sets/collations depend on the
+# build type
+# 2007-12 MySQL 5.0
+# ---------------------------------------------------------------------
+#
+# Variant 1 fits to
+# version_comment MySQL Enterprise Server (Commercial)
+# version_comment MySQL Enterprise Server (GPL)
+# version_comment MySQL Classic Server (Commercial)
+# version_comment MySQL Pushbuild Edition, build <number>
+# (version_comment Source distribution
+# and
+# compile was without "max" - > no collation 'utf8_general_ci')
+#
+# Variant 2 fits to
+# version_comment MySQL Enterprise Server (GPL)
+# version_comment MySQL Classic Server (Commercial)
+# version_comment MySQL Pushbuild Edition, build <number>
+# (version_comment Source distribution
+# and
+# compile was without "max" - > collation 'utf8_general_ci' exists)
+#
+# Difference between variant 1 and 2 is the collation 'utf8_general_ci'.
+#
+# Variant 3 fits to
+# version_comment MySQL Community Server (GPL)
+# version_comment MySQL Cluster Server (Commercial)
+#
+# Difference between variant 3 and 2 is within the collation properties
+# IS_COMPILED and SORTLEN.
+#
+# Created:
+# 2007-12-18 mleich - remove the unstable character_set/collation subtests
+# from include/datadict-master.inc
+# - create this new test
+#
+
+# Create a low privileged user.
+--error 0, ER_CANNOT_USER
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+
+--echo # Establish connection con (user=dbdict_test)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (con,localhost,dbdict_test,,);
+################################################################################
+#
+# The original requirements for the following tests were:
+#
+# 3.2.2.2: Ensure that the table (information_schema.character_sets) shows the
+# relevant information on every character set for which the current
+# user or PUBLIC have the USAGE privilege.
+#
+# 3.2.2.3: Ensure that the table (information_schema.character_sets) does not
+# show any information on any character set for which the current user
+# or PUBLIC have no USAGE privilege.
+#
+#
+# 3.2.3.2: Ensure that the table (information_schema.collations) shows the
+# relevant information on every collation for which the current user
+# or PUBLIC have the USAGE privilege.
+#
+# 3.2.3.3: Ensure that the table (information_schema.collations) does not show
+# any information on any collations for which the current user and
+# PUBLIC have no USAGE privilege.
+#
+#
+# 3.2.4.2: Ensure that the table
+# information_schema.collation_character_set_applicability
+# shows the relevant information on every collation/character set
+# combination for which the current user or PUBLIC have the USAGE
+# privilege.
+#
+# 3.2.4.3: Ensure that the table
+# information_schema.collation_character_set_applicability
+# does not show any information on any collation/character set
+# combinations for which the current user and PUBLIC have no
+# USAGE privilege.
+#
+# Notes (2007-12-19 mleich):
+# - The requirements are outdated because grant/revoke privilege for using a
+# characterset/collation were never implemented.
+# Therefore the tests should simply check the content of these tables.
+#
+# - The amount of collations/character sets grows with new MySQL releases.
+#
+# - Even within the same release the amount of records within these tables
+# can differ between different build types (community, enterprise, source,...)
+#
+#
+################################################################################
+--echo
+SELECT *
+FROM information_schema.character_sets
+ORDER BY character_set_name;
+
+--echo
+SELECT *
+FROM information_schema.collations
+ORDER BY collation_name;
+
+echo;
+--echo
+SELECT *
+FROM information_schema.collation_character_set_applicability
+ORDER BY collation_name, character_set_name;
+
+
+# Cleanup
+--echo # Switch to connection default + disconnect con
+connection default;
+disconnect con;
+DROP USER dbdict_test@localhost;
+
diff -Nrup a/mysql-test/suite/funcs_1/datadict/columns.inc b/mysql-test/suite/funcs_1/datadict/columns.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/columns.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,87 @@
+# suite/funcs_1/datadict/is_columns.inc
+#
+# Auxiliary script to be sourced by
+# is_columns_is
+# is_columns_mysql
+# is_columns_<engine>
+#
+# Purpose:
+# Check the content of information_schema.columns about tables within certain
+# database/s.
+#
+# Usage:
+# The variable $my_where has to
+# - be set before sourcing this script.
+# - contain the first part of the WHERE qualification
+# Example:
+# let $my_where = WHERE table_schema = 'information_schema'
+# AND table_name <> 'profiling';
+# --source suite/funcs_1/datadict/is_columns.inc
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval
+SELECT * FROM information_schema.columns
+$my_where
+ORDER BY table_schema, table_name, column_name;
+
+--echo ##########################################################################
+--echo # Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
+--echo ##########################################################################
+eval
+SELECT DISTINCT
+ CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
+ DATA_TYPE,
+ CHARACTER_SET_NAME,
+ COLLATION_NAME
+FROM information_schema.columns
+$my_where
+AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
+ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
+
+#FIXME 3.2.6.2: check the value 2.0079 tinytext ucs2 ucs2_general_ci
+eval
+SELECT DISTINCT
+ CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
+ DATA_TYPE,
+ CHARACTER_SET_NAME,
+ COLLATION_NAME
+FROM information_schema.columns
+$my_where
+AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1
+ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
+
+eval
+SELECT DISTINCT
+ CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
+ DATA_TYPE,
+ CHARACTER_SET_NAME,
+ COLLATION_NAME
+FROM information_schema.columns
+$my_where
+ AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL
+ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
+
+echo --> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values;
+echo --> are 0, which is intended behavior, and the result of 0 / 0 IS NULL;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval
+SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
+ TABLE_SCHEMA,
+ TABLE_NAME,
+ COLUMN_NAME,
+ DATA_TYPE,
+ CHARACTER_MAXIMUM_LENGTH,
+ CHARACTER_OCTET_LENGTH,
+ CHARACTER_SET_NAME,
+ COLLATION_NAME,
+ COLUMN_TYPE
+FROM information_schema.columns
+$my_where
+ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
+
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict.pre b/mysql-test/suite/funcs_1/datadict/datadict.pre
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/datadict.pre 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,54 @@
+#### suite/funcs_1/datadict/datadict.pre
+#
+# Auxiliary script which loads prerequisites
+# (variables needed for --replace_result ...)
+# in datadictionary tests.
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+--disable_query_log
+
+# Bug#12777 Different size shown for VARCHAR(n) columns (with n> 64)
+# in INFORMATION_SCHEMA
+# This bug was unfortunately (for testers) declared to be no bug.
+# So CHARACTER_MAXIMUM_LENGTH of several <whatever>_CATALOG columns within
+# the INFORMATION_SCHEMA depends on PATH_MAX of the operating system.
+# Workaround for this problem:
+# Get the size of ONE known colum and check the size against some values to
+# be able to use the correct --replace_result statement. Using this only the
+# one pair of 'wrong' values is replaced and not all occurrencies of all
+# possible pairs of values. See bug #12777 for details.
+SELECT character_maximum_length INTO @CML
+FROM information_schema.columns
+WHERE table_schema = 'information_schema'
+ AND table_name = 'columns'
+ AND column_name = 'table_catalog';
+
+let $bug_12777_0512= `SELECT @CML = 512`;
+let $bug_12777_1023= `SELECT @CML = 1023`;
+let $bug_12777_1024= `SELECT @CML = 1024`;
+let $bug_12777_2048= `SELECT @CML = 2048`;
+# 4096 is the value used in the files with expected results.
+let $bug_12777_4095= `SELECT @CML = 4095`;
+if (0)
+{
+ # enable this for debugging only, but NOT in a pushed version, as then the
+ # result changes from OS to OS ...
+ eval SELECT @CML AS 'CML',
+ $bug_12777_0512 AS '512',
+ $bug_12777_1023 AS '1023',
+ $bug_12777_1024 AS '1024',
+ $bug_12777_2048 AS '2048',
+ $bug_12777_4095 AS '4095';
+}
+
+
+# Prepare a variable to be able to suppress machine dependant diffs
+# this can be used in: --replace_result $SERVER_NAME <SERVER_NAME>
+let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user
+ WHERE host NOT In ("localhost", "127.0.0.1", "%")`;
+--enable_query_log
+
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_master.inc b/mysql-test/suite/funcs_1/datadict/datadict_master.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_master.inc 2007-11-21 13:50:16 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,3955 +0,0 @@
-#### suite/funcs_1/datadict/datadict_master.inc
-#
-# Checks of INFORMATION_SCHEMA table properties and content.
-# (mostly only the features introduced with MySQL 5.1)
-#
-# Please set the variable $OTHER_ENGINE_TYPE before sourcing this script.
-# $OTHER_ENGINE_TYPE must be
-# - <> $engine_type
-# - all time available like MyISAM or MEMORY
-#
-# Last change:
-# 2007-08-24 mleich Fixes for the bugs
-# #30438 "{memory,myisam,ndb}__datadict" tests fail:
-# Use "InnoDB" without checking
-# #30418 "datadict" tests (all engines) fail:
-# Dependency on the host name for ordering
-# #30420 "datadict" tests (all engines) fail:
-# Release build has help tables loaded
-#
-
---disable_abort_on_error
-let $message=
-.
-. It is intended that the 3 <engine>__datadict.test files are named this way to be
-. sure they are - in a *full run* of the suite - the first tests done for each
-. storage engine. Using two _ and the order of processing in mysql-test-run.pl
-. ensures this in an easy way.
-.
-. If needed a restart could be implemented later between the storage engines if
-. values changes in the result depending from the position where the
-. *__datadict.test are started. This can be a result of showing e.g. maximum
-. values of the number of rows of tables.
-.
-. This .result file has been checked OK with Linux 5.0.48,
-. build tree ChangeSet@stripped, 2007-07-30
-. except that the not fixed Bug#30020 causes a difference.
-.;
---source include/show_msg80.inc
-
-################################################################################
-#
- let $message= FIXME: There are subtests that are switched off due to known bugs:;
- --source include/show_msg.inc
- #set variable(s) here to be able to switch crashing sub tests with ONE change HERE.
- #change the variable(s) to enable / disable the crashing parts.
-
- # different 'logics' are used because sometimes codelines needs to be switched off
- # and otherwise some extra statements needs to be executed as long as the bug is not
- # fixed:
- let $have_bug_11589= 1;
-
- #seems not to work: --vertical_results
- eval SELECT $have_bug_11589 AS "have_bug_11589";
- #seems not to work: --horizontal_results
-
- # As long as
- # Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
- # is not fixed, we must switch the ps-protocol for some statements off.
- # If this bug is fixed, please
- # 1. set the following variable to 0
- # 2. check, if the test passes
- # 3. remove the workarounds
- if ($have_bug_11589)
- {
- let $message= There are some statements where the ps-protocol is switched off.
- This may come from the bug listed below, ir from other problems.
- Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill;
- --source include/show_msg80.inc
- }
-#
-################################################################################
-
-
-# loading the tables (data is not really needed in this test) is separated to
-# make it easier in this file to show the message above.
---source suite/funcs_1/datadict/datadict_load.inc
-
-#FIXME: - check for remaining change of object names to standards: db_, tb_, v_, u_, ...
-#FIXME: - check warnings when data is loaded (Data truncated for column ...)
-#FIXME: - change connect() to use less users / connections
-#
-#FIXME: - check for additional 'FIXME' here in the script
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-
-################################################################################
-#
-# Data Dictionary
-#
-################################################################################
-
-let $message= Testcase 3.2.1.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.1: Ensure that every INFORMATION_SCHEMA table can be queried
-# with a SELECT statement, just as if it were an ordinary
-# user-defined table.
-################################################################################
-
-# create at least one object for all 'tables' to be checked
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-CREATE VIEW v1 AS SELECT * FROM information_schema.tables;
-
-# try to get the server's name to be able to clean-up the result from machine
-# specific stuff.
-CREATE OR REPLACE VIEW db_datadict.vu1 as
-SELECT grantee AS u
- FROM information_schema.user_privileges;
-CREATE OR REPLACE VIEW db_datadict.vu as
-SELECT DISTINCT u,
- SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3 )
- AS server,
- SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3,
- LENGTH( SUBSTRING( u,
- LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 )
- AS Server_Clean
-FROM db_datadict.vu1;
---replace_result $SERVER_NAME <SERVER_NAME>
---sorted_result
-SELECT * FROM db_datadict.vu order by u;
-
-delimiter //;
-CREATE PROCEDURE db_datadict.sp_1()
- BEGIN
- SELECT * FROM db_datadict.v1;
- END//
-delimiter ;//
-
-#FIXME 3.2.1.1: add missing objects of each type to have something to select
-#FIXME 3.2.1.1: - FUNCTION
-#FIXME 3.2.1.1: - TRIGGER
-
-USE information_schema;
-SHOW tables;
-
-select * from schemata ORDER BY 2 DESC, 1 ASC;
-
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---vertical_results
-#SELECT * FROM tables;
-#
-#FIXME 3.2.1.1: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.1.1: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.1.1: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.1.1: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM tables
-WHERE NOT( table_schema = 'information_schema')
- AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%');
---horizontal_results
---enable_ps_protocol
-
-select s.catalog_name, s.schema_name, s.default_character_set_name,
- t.table_type, t.engine
- from schemata s inner join tables t
- ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-select * from columns;
-select * from character_sets;
-select sum(id) from collations where collation_name <> 'utf8_general_cs';
-select collation_name, character_set_name into @x,@y
- from collation_character_set_applicability limit 1;
- select @x, @y;
-
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-select * from routines;
-
-select count(*) from routines;
-select * from statistics
-where not (table_schema = 'mysql' and table_name like 'help_%');
-select * from views;
---replace_result $SERVER_NAME <SERVER_NAME>
---sorted_result
-select * from user_privileges order by grantee, privilege_type;
-select * from schema_privileges;
-select * from table_privileges;
-select * from column_privileges;
-select * from table_constraints;
-select * from key_column_usage;
-select count(*) as max_recs from key_column_usage;
-
-select max(cardinality) from statistics
-where not (table_schema = 'mysql' and table_name like 'help_%');
-
-select concat("View '",
- table_name, "' is associated with the database '", table_schema, "'.")
- AS "Who is Who for the Views"
- from views;
-
-select concat("Table or view '", table_name,
- "' is associated with the database '", table_schema, "'.") as "Who is Who"
- from tables;
-
---replace_result $SERVER_NAME <SERVER_NAME>
---sorted_result
-select grantee as "user's having select privilege",
- substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
- from user_privileges where privilege_type = 'select'
- order by grantee;
-
-select all table_schema from schema_privileges limit 0,5;
-
-select distinct(privilege_type) from table_privileges;
-
-select * from column_privileges
- group by table_schema having table_schema = 'db_datadict';
-
-select * from table_constraints limit 0,5;
-select count(*) as max_recs from key_column_usage limit 0,5;
-
-select information_schema.tables.table_name as "table name",
- count(distinct(column_name)) as "no of columns in the table"
- from information_schema.tables left outer join information_schema.columns on
- information_schema.tables.table_name = information_schema.columns.table_name
- group by information_schema.tables.table_name;
-
-# Reference Manual 22.1.16 - we will add more ...:
-# select * from parameters;
-# select * from referential_constraints;
-# select * from triggers;
-
-let $message= root: simple select to check all - and never forget some - tables;
-let $dd_part1= SELECT * FROM;
-let $dd_part2= LIMIT 1;
---source suite/funcs_1/datadict/datadict_tables.inc
-
-# check again, but from different database (will fail due to missing database name)
-use db_datadict;
-
---error ER_NO_SUCH_TABLE
-select * from schemata;
---error ER_NO_SUCH_TABLE
-select * from tables;
---error ER_NO_SUCH_TABLE
-select s.catalog_name, s.schema_name, s.default_character_set_name,
- t.table_type, t.engine
- from schemata s inner join tables t
- ORDER BY s.catalog_name, s.schema_name, s.default_character_set_name;
---error ER_NO_SUCH_TABLE
-select * from columns limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from character_sets limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from collations limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from collation_character_set_applicability limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from routines limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from statistics limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from views limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from user_privileges limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from schema_privileges limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from table_privileges limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from column_privileges limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from table_constraints limit 0, 5;
---error ER_NO_SUCH_TABLE
-select * from key_column_usage limit 0, 5;
-# Reference Manual 22.1.16 - we will add more ...:
-# --error ER_NO_SUCH_TABLE
-# select * from parameters;
-# --error ER_NO_SUCH_TABLE
-# select * from referential_constraints;
-# --error ER_NO_SUCH_TABLE
-# select * from triggers;
-let $message= will fail due to missing database name;
-let $dd_part1= SELECT * FROM;
-let $dd_part2=;
---source suite/funcs_1/datadict/datadict_tables_error_1146.inc
-
-# now check from "other" database, but with database name
-select * from information_schema.schemata ORDER BY 2 DESC;
-
-#SELECT * FROM information_schema.tables;
-#
-#FIXME 3.2.1.1: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.1.1: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.1.1: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.1.1: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHRCK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---vertical_results
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHRCK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema')
- AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%');
---horizontal_results
---enable_ps_protocol
-
-select s.catalog_name, s.schema_name, s.default_character_set_name,
- t.table_type, t.engine
- from information_schema.schemata s inner join information_schema.tables t
- ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-select * from information_schema.columns limit 0, 5;
-select * from information_schema.character_sets limit 0, 5;
-select * from information_schema.collations limit 0, 5;
-select * from information_schema.collation_character_set_applicability limit 0, 5;
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-select * from information_schema.routines limit 0, 5;
-select * from information_schema.statistics limit 0, 5;
-select * from information_schema.views limit 0, 5;
---replace_result $SERVER_NAME <SERVER_NAME>
-select * from information_schema.user_privileges limit 0, 5;
-select * from information_schema.schema_privileges limit 0, 5;
-select * from information_schema.table_privileges limit 0, 5;
-select * from information_schema.column_privileges limit 0, 5;
-select * from information_schema.table_constraints limit 0, 5;
-select * from information_schema.key_column_usage limit 0, 5;
-select count(*) as max_recs from information_schema.key_column_usage limit 0, 5;
-
-# Reference Manual 22.1.16 - we will add more ...:
-# select * from information_schema.parameters;
-# select * from information_schema.referential_constraints;
-# select * from information_schema.triggers;
-
-let $message= root: check with db name;
-let $dd_part1= SELECT COUNT(*) FROM information_schema.;
-let $dd_part2=;
---source suite/funcs_1/datadict/datadict_tables.inc
-
-# cleanup
-USE db_datadict;
-DROP VIEW v1, vu1, vu;
-DROP PROCEDURE db_datadict.sp_1;
-USE information_schema;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.2: Ensure that queries on an INFORMATION_SCHEMA table can
-# accept all SELECT statement options and are always
-# correctly evaluated.
-################################################################################
-
-# currently here only a subset of select statement options is checked, it's still
-# not possible to check here all possible options
-select catalog_name, schema_name, default_character_set_name
- from schemata where schema_name like '%s%';
-
-select count(*) as tot_tabs from tables;
-select count(*) as the_cols from columns;
-
-select max(maxlen) as the_max from character_sets;
-select * from collations order by id asc limit 0, 5;
-select * from collation_character_set_applicability
- order by character_set_name desc, collation_name limit 0, 5;
-
-select routine_definition from routines;
-select * from statistics where table_name not like 'help_%'
-group by index_name asc limit 0, 5;
-select concat(table_schema, ', ', table_name, ', ', view_definition) view_info
- from views;
-select concat(table_schema, ', ', table_name) "Table_info"
- from tables ORDER BY 1;
-
---replace_result $SERVER_NAME <SERVER_NAME>
---sorted_result
-select distinct grantee from user_privileges order by grantee, privilege_type;
-select * from schema_privileges where table_catalog is null limit 0, 5;
-select * from table_privileges where grantee like '%r%' limit 0, 5;
-
-select * from column_privileges where table_catalog is not null limit 0, 5;
-select HIGH_PRIORITY * from table_constraints
- group by constraint_name desc limit 0, 5;
-select sum(ordinal_position) from key_column_usage;
-
-select * from schemata limit 0,5;
-select * from schemata limit 0,5;
---replace_result $SERVER_NAME <SERVER_NAME>
---sorted_result
-select distinct grantee from user_privileges;
---replace_result $SERVER_NAME <SERVER_NAME>
---sorted_result
-select all grantee from user_privileges order by grantee, privilege_type;
-
-select id , character_set_name from collations order by id asc limit 10;
-
-select table_catalog from columns
- union all
-select table_catalog from tables limit 0,5;
-select table_catalog from columns
- union
-select table_catalog from tables limit 0,5;
-
-select all schema_name from information_schema.schemata;
-
-# the $ENGINE_TYPE variable is used here ONLY to have 3 different file names in
-# the three datadict testcases innodb_*, memory_* and myisam_*
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-
-USE test;
-
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-# check also with a 'simple' user
-CREATE USER user_3212@localhost;
-GRANT ALL ON db_datadict.* TO user_3212@localhost;
-# OBN: The following line was added following the fix to bug 28181
-# where queries to information_schema will fail if exporting to
-# a file without having the FILE attribute
-GRANT FILE ON *.* TO user_3212@localhost;
-
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u3212,localhost,user_3212,,db_datadict);
---source suite/funcs_1/include/show_connection.inc
-
-# no db given --> db_datadict.schema does not exist
---error ER_NO_SUCH_TABLE
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
---error ER_NO_SUCH_TABLE
-eval SELECT *
- FROM schemata LIMIT 0, 5;
-
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-eval SELECT *
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-USE information_schema;
-
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user_2.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-
-eval SELECT *
- FROM schemata LIMIT 0, 5;
-
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user_2.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-eval SELECT *
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-disconnect u3212;
-connection default;
-USE information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-use db_datadict;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from information_schema.columns
-union
-select table_catalog, table_schema, table_name,
- concat( "*** type = ", table_type )
- from information_schema.tables
- order by 3, 4 desc, 1, 2 limit 30;
-
-use information_schema;
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from columns
-union
-select table_catalog, table_schema, table_name,
- concat( "*** type = ", table_type )
- from tables
- order by 3, 4 desc, 1, 2 limit 30;
-
-# cleanup
-DROP USER user_3212@localhost;
-
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.3: Ensure that no user may execute an INSERT statement on any
-# INFORMATION_SCHEMA table.
-################################################################################
-
-#FIXME: in this block we had --error 1288 until Mid Sep05, check the change!
---error ER_DBACCESS_DENIED_ERROR
-insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path)
- values ('null', 'db1', 'latin1', 'null');
---error ER_DBACCESS_DENIED_ERROR
-insert into tables (table_schema, table_name)values('db_datadict', 't1');
---error ER_DBACCESS_DENIED_ERROR
-insert into columns (table_name, column_name)values('t3', 'f2');
---error ER_DBACCESS_DENIED_ERROR
-insert into character_sets (character_set_name, default_collate_name, description, maxlen)
- values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1);
---error ER_DBACCESS_DENIED_ERROR
-insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen)
- values ('cp1251_bin', 'cp1251', 50, '', '', 0);
---error ER_DBACCESS_DENIED_ERROR
-insert into collation_character_set_applicability (collation_name, character_set_name)
- values (' big5_chinese_ci', 'big6');
---error ER_DBACCESS_DENIED_ERROR
-insert into routines(routine_name, routine_type ) values ('p2', 'procedure');
---error ER_DBACCESS_DENIED_ERROR
-insert into statistics(table_schema, table_name, index_name)
- values ('mysql', 'db', 'primary');
---error ER_DBACCESS_DENIED_ERROR
-insert into views(table_schema, table_name) values ('db2', 'v2');
---error ER_DBACCESS_DENIED_ERROR
-insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes');
---error ER_DBACCESS_DENIED_ERROR
-insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert');
---error ER_DBACCESS_DENIED_ERROR
-insert into table_privileges (able_schema, table_name, privilege_type)
- values('db2', 'v2', 'insert');
---error ER_DBACCESS_DENIED_ERROR
-insert into column_privileges (table_name, column_name, privilege_type)
- values ('t3', 'f3', 'insert');
---error ER_DBACCESS_DENIED_ERROR
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
- values ('primary', 'mysql', 'user');
---error ER_DBACCESS_DENIED_ERROR
-insert into key_column_usage (constraint_schema, constraint_name, table_name)
- values ('mysql', 'primary', 'db');
-
-# insert through a procedure
---disable_warnings
-drop procedure if exists db_datadict.sp_4_1_3;
---enable_warnings
-
-delimiter //;
-create procedure db_datadict.sp_4_1_3()
-begin
- insert into information_schema.schema_privileges (table_schema,privilege_type)
- values('db2','insert');
-end//
-delimiter ;//
-
-#FIXME: check for the diffs Win ./. Linux
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
- WHERE table_schema LIKE 'db%';
-
---error ER_DBACCESS_DENIED_ERROR
-call db_datadict.sp_4_1_3();
-
-#FIXME: check for the diffs Win ./. Linux
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
- WHERE table_schema LIKE 'db%';
-
-# cleanup
-drop procedure db_datadict.sp_4_1_3;
-
-# insert into information_schema as a limited user
-
-CREATE USER user_4_1_3@localhost;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u413,localhost,user_4_1_3,,test);
---source suite/funcs_1/include/show_connection.inc
-
-use information_schema;
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05)
---error ER_DBACCESS_DENIED_ERROR
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
- values ('primary', 'mysql', 'user');
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
-# INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05) in the whole next block
---error ER_DBACCESS_DENIED_ERROR
-update schemata set schema_name = 'db5' where default_character_set_name = 'latin1';
---error ER_DBACCESS_DENIED_ERROR
-update tables set table_schema = 'db_datadict1' where table_name = 't1';
---error ER_DBACCESS_DENIED_ERROR
-update columns set table_name = 't4' where column_name = 'f2';
---error ER_DBACCESS_DENIED_ERROR
-update character_sets set character_set_name = 'cp1252' where maxlen = 1;
---error ER_DBACCESS_DENIED_ERROR
-update collations set collation_name = 'cp1253_bin'
- where character_set_name = 'cp1251';
---error ER_DBACCESS_DENIED_ERROR
-update collation_character_set_applicability set collation_name = 'big6_chinese_ci'
- where character_set_name = 'big6';
---error ER_DBACCESS_DENIED_ERROR
-update routines set routine_name = p2 where routine_body = 'sql';
---error ER_DBACCESS_DENIED_ERROR
-update statistics set table_schema = 'mysql1' where table_name = 'db';
---error ER_DBACCESS_DENIED_ERROR
-update views set table_schema = 'db3' where table_name = 'v1';
---error ER_DBACCESS_DENIED_ERROR
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
---error ER_DBACCESS_DENIED_ERROR
-update schema_privileges set table_schema = 'db2' where privilege_type = 'select';
---error ER_DBACCESS_DENIED_ERROR
-update table_privileges set table_name = 'v3' where privilege_type = 'select';
---error ER_DBACCESS_DENIED_ERROR
-update column_privileges set table_name = 't4' where column_name = 'f3';
---error ER_DBACCESS_DENIED_ERROR
-update table_constraints set constraint_schema = 'primary'
- where table_schema = 'proc';
---error ER_DBACCESS_DENIED_ERROR
-update key_column_usage set table_name = 'db1' where constraint_name = 'primary';
-
-# update through a procedure
---disable_warnings
-drop procedure if exists db_datadict.sp_4_1_4;
---enable_warnings
-
-delimiter //;
-create procedure db_datadict.sp_4_1_4()
-begin
- update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end//
-delimiter ;//
-
-#FIXME: check for the diffs Win ./. Linux
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-select * from information_schema.routines;
-
---error ER_DBACCESS_DENIED_ERROR
-call db_datadict.sp_4_1_4();
-
-#FIXME: check for the diffs Win ./. Linux
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-select * from information_schema.routines;
-
-# cleanup
-drop procedure db_datadict.sp_4_1_4;
-
-# update information_schema as a limited user
-
-connection u413;
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05)
---error ER_DBACCESS_DENIED_ERROR
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-#
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.5:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.5: Ensure that no user may execute a DELETE statement on any
-# INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
-
-let $message= root: DELETE FROM any table in IS;
-let $dd_part1= DELETE FROM;
-let $dd_part2=;
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05) in the whole next block
---error ER_DBACCESS_DENIED_ERROR
-delete from schemata where schema_name = 'mysql';
---error ER_DBACCESS_DENIED_ERROR
-delete from tables where table_name = 'abc';
---error ER_DBACCESS_DENIED_ERROR
-delete from columns;
---error ER_DBACCESS_DENIED_ERROR
-delete from character_sets;
---error ER_DBACCESS_DENIED_ERROR
-delete from collations;
---error ER_DBACCESS_DENIED_ERROR
-delete from collation_character_set_applicability;
---error ER_DBACCESS_DENIED_ERROR
-delete from routines;
---error ER_DBACCESS_DENIED_ERROR
-delete from statistics;
---error ER_DBACCESS_DENIED_ERROR
-delete from views;
---error ER_DBACCESS_DENIED_ERROR
-delete from user_privileges;
---error ER_DBACCESS_DENIED_ERROR
-delete from schema_privileges;
---error ER_DBACCESS_DENIED_ERROR
-delete from table_privileges;
---error ER_DBACCESS_DENIED_ERROR
-delete from column_privileges;
---error ER_DBACCESS_DENIED_ERROR
-delete from table_constraints;
---error ER_DBACCESS_DENIED_ERROR
-delete from key_column_usage;
-
-# delete through a procedure
---disable_warnings
-drop procedure if exists db_datadict.sp_4_1_5;
---enable_warnings
-
-delimiter //;
-create procedure db_datadict.sp_4_1_5()
-begin
- delete from information_schema.column_privileges;
-end//
-delimiter ;//
-
---error ER_DBACCESS_DENIED_ERROR
-call db_datadict.sp_4_1_5();
-
-# cleanup
-drop procedure db_datadict.sp_4_1_5;
-
-# delete from information_schema as a limited user
-
-connection u413;
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05)
---error ER_DBACCESS_DENIED_ERROR
-delete from tables where table_name = 'abc';
-
-disconnect u413;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# cleanup
-DROP USER user_4_1_3@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.6:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.6: Ensure that no user may create an INFORMATION_SCHEMA base
-# table.
-################################################################################
-
-use information_schema;
-
-let $message= root: create a table with a name of an IS table directly in IS;
-let $dd_part1= CREATE TABLE;
-let $dd_part2= ( c1 INT );
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-#FIXME solved - 3.2.1.6: check for better error message - 42S02: Unknown table '<xxx>' in <db> ?
---error ER_UNKNOWN_TABLE
-create table t1 (f1 int, f2 int, f3 int);
-
-use db_datadict;
-
-#FIXME: check correct error message - HY000 Can't create/write to file '.\information_schema\columns.frm' (Errcode: 2)
-let $message= root: create a table with a name of an IS table from other db;
-let $dd_part1= CREATE TABLE information_schema.;
-let $dd_part2= ( c1 INT );
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-#FIXME solved - 3.2.1.6: check for better error message - 42S02: Unknown table '<xxx>' in <db> ?
---error ER_UNKNOWN_TABLE
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-
-# create a table in information_schema as a limited user with sufficient permissions
-CREATE USER user_4_1_6@localhost;
-
-grant all on *.* to user_4_1_6@localhost;
-
-FLUSH PRIVILEGES;
-
-SHOW GRANTS FOR user_4_1_6@localhost;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u2, localhost, user_4_1_6, , information_schema);
---source suite/funcs_1/include/show_connection.inc
-
-use information_schema;
-
-let $message= user: create a table with a name of an IS table directly in IS;
-let $dd_part1= CREATE TABLE;
-let $dd_part2= ( c1 INT );
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-#FIXME solved - 3.2.1.6: check for better error message - 42S02: Unknown table '<xxx>' in <db> ?
---error ER_UNKNOWN_TABLE
-create table t1 (f1 int, f2 int, f3 int);
-
-use test;
-
-#FIXME 3.2.1.6: check correct error message - HY000 Can't create/write to file '.\information_schema\columns.frm' (Errcode: 2)
-let $message= user: create a table with a name of an IS table from other db;
-let $dd_part1= CREATE TABLE information_schema.;
-let $dd_part2= ( c1 INT );
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-#FIXME solved - 3.2.1.6: check for better error message - 42S02: Unknown table '<xxx>' in <db> ?
---error ER_UNKNOWN_TABLE
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-
-#cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect u2;
-DROP USER user_4_1_6@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.7:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.7: Ensure that no user may create an INFORMATION_SCHEMA view.
-################################################################################
-
-use information_schema;
-
-let $message= root: create a view with a name of an IS table directly in IS;
-let $dd_part1= CREATE VIEW ;
-let $dd_part2= AS SELECT * FROM mysql.time_zone;
-#FIXME: check change from error 1 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-
---error ER_UNKNOWN_TABLE
-CREATE VIEW v1 AS SELECT * FROM information_schema.schemata;
-
-USE db_datadict;
-
-let $message= root: create a view with a name of an IS table from other db;
-let $dd_part1= CREATE VIEW information_schema.;
-let $dd_part2= AS SELECT * FROM mysql.time_zone;
-#FIXME: check change from error 1 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-
-# ... but creating a view that 'uses' the information_schema is allowed:
-CREATE VIEW v1 AS SELECT * FROM information_schema.columns;
-
-SELECT * FROM v1 LIMIT 5;
-
-# create a view in information_schema as a limited user with sufficient permissions
-CREATE USER user_4_1_7@localhost;
-
-GRANT ALL ON db_datadict.* TO user_4_1_7@localhost;
-#FIXME: check that GRANT ON i_s is no longer allowed
---error ER_DBACCESS_DENIED_ERROR
-GRANT ALL ON information_schema.* TO user_4_1_7@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u3, localhost, user_4_1_7, , db_datadict);
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-let $message= user: create a view with a name of an IS table directly in IS;
-let $dd_part1= CREATE VIEW ;
-let $dd_part2= AS SELECT * FROM db_datadict.v1;
-#FIXME: check change from error 1 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
---error ER_UNKNOWN_TABLE
-create view v1 as select * from table_privileges;
-
-use db_datadict;
-
-let $message= user: create a view with a name of an IS table from other db;
-let $dd_part1= CREATE VIEW information_schema.;
-let $dd_part2= AS SELECT * FROM db_datadict.v1;
-#FIXME: check change from error 1 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-disconnect u3;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER user_4_1_7@localhost;
-DROP VIEW db_datadict.v1;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.8:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.8: Ensure that no user may create an index on an
-# INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05)
---error ER_DBACCESS_DENIED_ERROR
-create index i1 on schemata(schema_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i2 on tables(table_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i3 on columns(table_name);
-
---error ER_DBACCESS_DENIED_ERROR
-create index i4 on character_sets(character_set_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i5 on collations( collation_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i6 on collation_character_set_applicability(collation_name);
-
---error ER_DBACCESS_DENIED_ERROR
-create index i7 on routines(routine_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i8 on statistics(table_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i9 on views(table_schema);
-
---error ER_DBACCESS_DENIED_ERROR
-create index i10 on user_privileges(privilege_type);
---error ER_DBACCESS_DENIED_ERROR
-create index i11 on schema_privileges(table_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i12 on table_privileges(able_schema);
-
---error ER_DBACCESS_DENIED_ERROR
-create index i13 on column_privileges(table_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i14 on table_constraints(constraint_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i15 on key_column_usage(constraint_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i16 on triggers(trigger_name);
-
-use db_datadict;
---error ER_DBACCESS_DENIED_ERROR
-create index i15 on information_schema.key_column_usage(constraint_schema);
-
-use information_schema;
-
-# create an index on an information_schema table as a limited user with sufficient permissions
-CREATE USER user_4_1_8@localhost;
-
-grant select, index on *.* to user_4_1_8@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u4, localhost, user_4_1_8, , test);
---source suite/funcs_1/include/show_connection.inc
-
-use information_schema;
-
---error ER_DBACCESS_DENIED_ERROR
-create index i1 on schemata(schema_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i2 on tables(table_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i3 on columns(table_name);
-
---error ER_DBACCESS_DENIED_ERROR
-create index i4 on character_sets(character_set_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i5 on collations( collation_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i6 on collation_character_set_applicability(collation_name);
-
---error ER_DBACCESS_DENIED_ERROR
-create index i7 on routines(routine_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i8 on statistics(table_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i9 on views(table_schema);
-
---error ER_DBACCESS_DENIED_ERROR
-create index i10 on user_privileges(privilege_type);
---error ER_DBACCESS_DENIED_ERROR
-create index i11 on schema_privileges(table_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i12 on table_privileges(able_schema);
-
---error ER_DBACCESS_DENIED_ERROR
-create index i13 on column_privileges(table_name);
---error ER_DBACCESS_DENIED_ERROR
-create index i14 on table_constraints(constraint_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i15 on key_column_usage(constraint_schema);
---error ER_DBACCESS_DENIED_ERROR
-create index i16 on triggers(trigger_name);
-
-use db_datadict;
---error ER_DBACCESS_DENIED_ERROR
-create index i15 on information_schema.key_column_usage(constraint_schema);
-
-disconnect u4;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# cleanup
-DROP USER user_4_1_8@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.9:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.9: Ensure that no user may alter the definition of an
-# INFORMATION_SCHEMA table.
-################################################################################
-
-#FIXME: 3.2.1.9 check for better error message than ERROR 42S02: Table 'information_schema.schemata' doesn't exist
-
-# first simple check all known - so we never forget one ...
-let $message= root: alter a table from other db;
-let $dd_part1= ALTER TABLE information_schema.;
-let $dd_part2= ADD f1 INT;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use information_schema;
-let $message= root: alter a table from directly;
-let $dd_part1= ALTER TABLE ;
-let $dd_part2= ADD f1 INT;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-# now more detailed checks
---error ER_DBACCESS_DENIED_ERROR
-alter table schemata add f1 int;
---error ER_DBACCESS_DENIED_ERROR
-alter table tables drop primary key;
---error ER_DBACCESS_DENIED_ERROR
-alter table columns add f1 int;
---error ER_DBACCESS_DENIED_ERROR
-alter table character_sets disable keys;
---error ER_DBACCESS_DENIED_ERROR
-alter table collations enable keys;
---error ER_DBACCESS_DENIED_ERROR
-alter table collation_character_set_applicability add f1 int;
---error ER_DBACCESS_DENIED_ERROR
-alter table routines discard tablespace;
---error ER_DBACCESS_DENIED_ERROR
-alter table statistics import tablespace;
---error ER_DBACCESS_DENIED_ERROR
-alter table views drop column table_name;
---error ER_DBACCESS_DENIED_ERROR
-alter table user_privileges drop index privilege_type;
---error ER_DBACCESS_DENIED_ERROR
-alter table schema_privileges drop column is_grantable;
---error ER_DBACCESS_DENIED_ERROR
-alter table table_privileges order by constraint_type;
---error ER_DBACCESS_DENIED_ERROR
-alter table column_privileges rename to aaxyz;
---error ER_DBACCESS_DENIED_ERROR
-alter table table_constraints order by schema_name;
---error ER_DBACCESS_DENIED_ERROR
-alter table key_column_usage rename to information_schema.aabxyz;
---error ER_DBACCESS_DENIED_ERROR
-alter table triggers rename to information_schema.sql_mode;
-# Alter an information_schema table as a limited user with sufficient permissions
-
-CREATE USER user_4_1_9@localhost;
-
-grant select, alter, create, insert on *.* to user_4_1_9@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u5, localhost, user_4_1_9, , db_datadict);
---source suite/funcs_1/include/show_connection.inc
-
-use db_datadict;
-
-let $message= user: alter a table from other db;
-let $dd_part1= ALTER TABLE information_schema.;
-let $dd_part2= ADD f1 INT;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use information_schema;
-let $message= user: alter a table from directly;
-let $dd_part1= ALTER TABLE ;
-let $dd_part2= ADD f1 INT;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-disconnect u5;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER user_4_1_9@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.10:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
-
-let $message= root: drop a table from IS;
-let $dd_part1= DROP TABLE ;
-let $dd_part2=;
-#FIXME: check change from error 1051 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use db_datadict;
-
-let $message= root: drop a table from other db;
-let $dd_part1= DROP TABLE information_schema.;
-let $dd_part2=;
-#FIXME: check change from error 1051 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use information_schema;
-
-# drop an information_schema table as a limited user with sufficient permissions
-
-CREATE USER user_4_1_10@localhost;
-
-GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u6,localhost,user_4_1_10,,db_datadict);
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-let $message= user: drop a table from IS;
-let $dd_part1= DROP TABLE ;
-let $dd_part2=;
-#FIXME: check change from error 1051 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use db_datadict;
-
-let $message= user: drop a table from other db;
-let $dd_part1= DROP TABLE information_schema.;
-let $dd_part2=;
-#FIXME: check change from error 1051 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-disconnect u6;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# cleanup
-DROP USER user_4_1_10@localhost;
-
-# Try to carry out information_schema modification operations with a user other than root having SUPER privileges
-CREATE USER user_4_1_11@localhost;
-
-GRANT SUPER ON *.* TO user_4_1_11@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u7,localhost,user_4_1_11, ,test);
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
---error ER_DBACCESS_DENIED_ERROR
-drop table routines;
-
---error ER_DBACCESS_DENIED_ERROR
-alter table collations enable keys;
-
---error ER_DBACCESS_DENIED_ERROR
-create index i5 on collations( collation_name );
-
---error ER_UNKNOWN_TABLE
-create view v1 as select * from schemata;
-
---error ER_DBACCESS_DENIED_ERROR
-delete from columns;
-
---error ER_DBACCESS_DENIED_ERROR
-update columns set table_name = 't4' where column_name = 'f2';
-
---error ER_DBACCESS_DENIED_ERROR
-insert into collations ( collation_name, character_set_name, id, is_default,
- is_compiled, sortlen)
- values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-
-disconnect u7;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER user_4_1_11@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.11:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table
-# to any other database.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-CREATE USER 'u_6_401011'@'localhost';
-
-#FIXME: check that GRANT ON i_s is no longer allowed
---error ER_DBACCESS_DENIED_ERROR
-GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost';
-GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost';
-
-FLUSH PRIVILEGES;
-
---error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-
-let $message= root: move table to other DB;
-let $dd_part1= ALTER TABLE information_schema.;
-let $dd_part2= RENAME db_datadict.tb_01;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401011, localhost, u_6_401011, , db_datadict);
-
-USE information_schema;
---source suite/funcs_1/include/show_connection.inc
-
---error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-
-let $message= user: move table to other DB;
-let $dd_part1= ALTER TABLE information_schema.;
-let $dd_part2= RENAME db_datadict.tb_01;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-disconnect u_6_401011;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-#cleanup
---disable_warnings
-#DROP DATABASE db_datadict;
-DROP TABLE IF EXISTS db_datadict.schemata;
-DROP USER 'u_6_401011'@'localhost';
---enable_warnings
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.12:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.12: Ensure that no user may directly add to, alter, or delete
-# any data in an INFORMATION_SCHEMA table.
-################################################################################
-
-# first as root a DELETE check on all tables
-let $message= root: delete from IS tables;
-let $dd_part1= DELETE FROM information_schema.;
-let $dd_part2=;
-#FIXME: check change from error 1288 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-# check UPDATE for all ...
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.tables SET table_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.columns SET table_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.statistics SET table_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.views SET table_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.table_privileges SET table_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.column_privileges SET table_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.table_constraints SET table_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.key_column_usage SET table_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.schemata SET catalog_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.character_sets SET description = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.collations SET character_set_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.collation_character_set_applicability
- SET character_set_name = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.routines SET routine_type = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.user_privileges SET grantee = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.schema_privileges SET grantee = 't_4711';
---error ER_DBACCESS_DENIED_ERROR
-UPDATE information_schema.triggers SET sql_mode = 't_4711';
-
-CREATE USER 'u_6_401012'@'localhost';
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401012, localhost, u_6_401012, , test);
-
-use information_schema;
-
---error ER_DBACCESS_DENIED_ERROR
-insert into information_schema.schemata (catalog_name, schema_name,
- default_character_set_name, sql_path)
- values (null, information_schema1, utf16, null);
-#FIXME: check later the change from 1142 to 1044 (since Mid Sep05)
---error ER_DBACCESS_DENIED_ERROR
-alter table information_schema.schemata rename db_datadict1.schemata;
-#FIXME: check later the change from 1146 to 1044 (since Mid Sep05)
---error ER_DBACCESS_DENIED_ERROR
-alter table information_schema.tables drop column checksum;
---error ER_DBACCESS_DENIED_ERROR
-alter table information_schema.statistics modify packed int;
---error ER_DBACCESS_DENIED_ERROR
-alter table information_schema.routines modify created int not null;
---error ER_DBACCESS_DENIED_ERROR
-alter table information_schema.key_column_usage drop column ordinal_position;
---error ER_DBACCESS_DENIED_ERROR
-alter table information_schema.table_privileges
- change privilege_type rights_approved varchar(32);
---error ER_DBACCESS_DENIED_ERROR
-update columns set table_name = 't4' where column_name = 'f2';
---error ER_DBACCESS_DENIED_ERROR
-delete from information_schema.collations;
-
-disconnect u_6_401012;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
---disable_warnings
-drop table if exists db_datadict1.schemata;
-DROP USER 'u_6_401012'@'localhost';
---enable_warnings
-#-------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.13:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.13: Ensure that the creation of any new database object
-# (e.g. table or column) automatically inserts all relevant
-# information on that object into every appropriate
-# INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
-
-let $dbname=db_datadict;
-let $message= first check status >before< creating the objects ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-eval create table res_t_401013(f1 char(10), f2 char(25), f3 int)
- engine = $ENGINE_TYPE;
-create view res_v_401013 as select * from res_t_401013;
-CREATE USER u_6_401013@localhost;
-create procedure sp_6_401013() select 'db_datadict';
-create function fn_6_401013() returns int return 0;
-create index i_6_401013 on res_t_401013(f3);
-
-use information_schema;
-
-let $message= now check whether all new objects exists in IS ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
-# cleanup objects
-use db_datadict;
-drop index i_6_401013 on res_t_401013;
-drop table db_datadict.res_t_401013;
-drop view db_datadict.res_v_401013;
-DROP USER u_6_401013@localhost;
-drop procedure sp_6_401013;
-drop function fn_6_401013;
-drop database db_datadict;
-
-use information_schema;
-
-let $message= and now check whether all objects are removed from IS ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.14:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.14: Ensure that the alteration of any existing database object
-# automatically updates all relevant information on that
-# object in every appropriate INFORMATION_SCHEMA table.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-create table res_t_401014(f1 char(10), f2 varchar(25), f3 int);
-create view res_v_401014 as select * from res_t_401014;
-create procedure sp_6_401014() select 'db_datadict';
-create function fn_6_401014() returns int return 0;
-
-# check current information in information_schema
-
-let $dbname=db_datadict;
-let $message= show existing objects >before< changing them ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
-# alter objects
-
-use db_datadict;
-
-alter table res_t_401014 change f1 ff1 int;
-eval alter table res_t_401014 engine = $OTHER_ENGINE_TYPE;
-alter table res_t_401014 change f3 f3_new bigint;
-alter view res_v_401014 as select ff1 from res_t_401014;
-alter procedure sp_6_401014 sql security invoker;
-alter function fn_6_401014 comment 'updated comments';
-alter database db_datadict character set utf8;
-
-# check updated information in information_schema
-let $message= now check whether the changes are visible in IS ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
-
-# cleanup
-
-use db_datadict;
-drop table db_datadict.res_t_401014;
-drop view db_datadict.res_v_401014;
-drop procedure sp_6_401014;
-drop function fn_6_401014;
-drop database db_datadict;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.15:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.15: Ensure that the dropping of any existing database object
-# automatically deletes all relevant information on that
-# object from every appropriate INFORMATION_SCHEMA table.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-create table res_t_401015(f1 char(10), f2 text(25), f3 int);
-create view res_v_401015 as select * from res_t_401015;
-CREATE USER u_6_401015@localhost;
-create procedure sp_6_401015() select 'test';
-create function fn_6_401015() returns int return 0;
-create index i_6_401015 on res_t_401015(f3);
-
-let $dbname=db_datadict;
-let $message= show existing objects >before< dropping them ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
-use db_datadict;
-drop index i_6_401015 on res_t_401015;
-drop table db_datadict.res_t_401015;
-drop view db_datadict.res_v_401015;
-DROP USER u_6_401015@localhost;
-drop procedure sp_6_401015;
-drop function fn_6_401015;
-#drop database db_datadict;
-
-let $message= now check they are really gone ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.16:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.16: Ensure that no user may use any INFORMATION_SCHEMA table to
-# determine any information on a database and/or its
-# structure unless authorized to get that information.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-
-CREATE DATABASE db_hidden;
-USE db_hidden;
-CREATE TABLE tb_hidden ( c1 TEXT );
-
-USE db_datadict;
-
-CREATE TABLE res_t_401016(f1 char(10),f2 text(25),f3 int);
-CREATE TABLE res_t_401016_1(f1 char(10),f2 text(25),f3 int);
-
-CREATE USER 'u_6_401016'@'localhost';
-GRANT SELECT ON db_datadict.res_t_401016 TO 'u_6_401016'@'localhost';
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401016, localhost, u_6_401016, , test);
-
-USE information_schema;
-
-SELECT table_schema, table_name, engine
- FROM TABLES;
-# WHERE table_name LIKE 'res_t_401016%';
-
-SHOW TABLES;
-SELECT * FROM schemata;
-
-disconnect u_6_401016;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-#FIXME: check that GRANT ON i_s is no longer allowed
---error ER_DBACCESS_DENIED_ERROR
-grant usage on information_schema.* to 'u_6_401016'@'localhost';
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401016_1, localhost, u_6_401016, , db_datadict);
-
-USE information_schema;
-SHOW TABLES;
-SELECT * FROM schemata;
-
-disconnect u_6_401016_1;
-
-# all tables are checked again later with permission tests
-
-# cleanup
-connection default;
-use db_datadict;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401016'@'localhost';
-drop table res_t_401016;
-drop table res_t_401016_1;
-DROP DATABASE db_hidden;
-#drop database db_datadict;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.17:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.17: Ensure that the SELECT privilege is granted TO PUBLIC WITH
-# GRANT OPTION on every INFORMATION_SCHEMA table.
-################################################################################
-
-CREATE USER 'u_6_401017'@'localhost';
-
-#FIXME: check that GRANT ON i_s is no longer allowed
---error ER_DBACCESS_DENIED_ERROR
-grant select on information_schema.* to u_6_401017@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401017, localhost, u_6_401017, , test);
-
-use information_schema;
-
-select * from collation_character_set_applicability
-where collation_name <> 'utf8_general_cs';
-select * from schemata;
-select table_name from tables;
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-select table_name, column_name, column_type from columns;
-select character_set_name from character_sets;
-select collation_name from collations where collation_name <> 'utf8_general_cs';
-select routine_name, routine_type from routines;
-select table_name, index_name from statistics;
-select table_name from views;
-select privilege_type from user_privileges;
-select grantee, privilege_type from schema_privileges;
-select * from table_privileges;
-select column_name, privilege_type from column_privileges;
-select table_name,constraint_type from table_constraints;
-select table_schema, table_name, column_name from key_column_usage;
-
-disconnect u_6_401017;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401017'@'localhost';
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.18:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.18: Ensure that the CREATE VIEW privilege on an
-# INFORMATION_SCHEMA table may be granted to any user.
-################################################################################
-
-CREATE USER 'u_6_401018'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
-GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost';
-
-SHOW GRANTS FOR 'u_6_401018'@'localhost';
-FLUSH PRIVILEGES;
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401018, localhost, u_6_401018, , test);
-
-USE db_datadict;
-
-create view db_datadict.v_401018 as
- select * from information_schema.schemata;
-SELECT * FROM v_401018 ORDER BY 2 DESC;
-
-disconnect u_6_401018;
-
-#cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401018'@'localhost';
-DROP DATABASE db_datadict;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.19:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.19: Ensure that no other privilege on an INFORMATION_SCHEMA
-# table is granted, or may be granted, to any user.
-################################################################################
-
-CREATE USER 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant alter on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant alter routine on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant create on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant create routine on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant create temporary tables
- on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant delete on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant drop on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant execute on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant index on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant insert on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant lock tables on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error ER_DBACCESS_DENIED_ERROR
-grant update on information_schema.* to 'u_6_401019'@'localhost';
-
-SELECT * FROM information_schema.table_privileges
- WHERE table_schema = "information_schema";
-SELECT * FROM information_schema.column_privileges
- WHERE table_schema = "information_schema";
-
-# cleanup
-DROP USER 'u_6_401019'@'localhost';
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.20:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.20: Ensure that USE INFORMATION_SCHEMA allows the user to
-# switch to the INFORMATION_SCHEMA database, for query
-# purposes only.
-################################################################################
-
-CREATE USER 'u_6_401020'@'localhost';
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401020, localhost, u_6_401020, , test);
-
-USE information_schema;
-SELECT * FROM schemata;
-
---error ER_UNKNOWN_TABLE
-CREATE TABLE tb_not_allowed ( col TEXT );
-#FIXME 3.2.1.20: bad message: ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema
-#FIXME 3.2.1.20: better: ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-
---error ER_UNKNOWN_TABLE
-create view res_v1 as select * from information_schema.schemata;
-
---error ER_DBACCESS_DENIED_ERROR
-alter table schemata modify catalog_name varchar(255);
-
---error ER_DBACCESS_DENIED_ERROR
-update schemata set catalog_name = 'abc'
- where schema_name = 'information_schema';
-
-delimiter //;
---error ER_BAD_DB_ERROR
-CREATE PROCEDURE sp_3_2_1_20()
- BEGIN
- INSERT INTO information_schema.schema_privileges (table_schema,privilege_type)
- VALUES('db2','insert');
- END//
-delimiter ;//
-
---error ER_DBACCESS_DENIED_ERROR
-DELETE FROM schemata WHERE schema_name = 'information_schema';
-
-disconnect u_6_401020;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401020'@'localhost';
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.2.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.2.1: Ensure that the INFORMATION_SCHEMA.CHARACTER_SETS
-# table has the following columns, in the following order:
-#
-# CHARACTER_SET_NAME (shows a character set name),
-# DEFAULT_COLLATE_NAME (shows the name of the default
-# collation for that character set),
-# DESCRIPTION (shows a descriptive name for that character
-# set),
-# MAXLEN (shows the number of bytes used to store each
-# character supported by that character set).
-################################################################################
-
-let $is_table= character_sets;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.2.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.2.2: Ensure that the table shows the relevant information on
-# every character set for which the current user or PUBLIC
-# have the USAGE privilege.
-################################################################################
-
---source suite/funcs_1/include/show_connection.inc
-SELECT * FROM information_schema.character_sets;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.2.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.2.3: Ensure that the table shows the relevant information on
-# every character set for which the current user or PUBLIC
-# have the USAGE privilege.
-################################################################################
-
-# Test requirement is erroneous... we cannot grant / revoke privilege for using
-# a character set.
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.3.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.3.1: Ensure that the INFORMATION_SCHEMA.COLLATIONS
-# table has the following columns, in the following order:
-#
-# COLLATION_NAME (shows a collation name),
-# CHARACTER_SET_NAME (shows the name of the character set to
-# which the collation applies),
-# ID (shows a numeric identifier for that collation/character
-# set combination),
-# IS_DEFAULT (shows whether the collation is the default
-# collation for the character set shown),
-# IS_COMPILED (indicates whether the collation is compiled
-# into the MySQL server),
-# SORTLEN (shows a value related to the amount of memory
-# required to sort strings using this
-# collation/character set combination).
-################################################################################
-
-let $is_table= collations;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.3.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.3.2: Ensure that the table shows the relevant information on
-# every collation for which the current user or PUBLIC have
-# the USAGE privilege.
-################################################################################
-
-SELECT * FROM collations where collation_name <> 'utf8_general_cs';
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.3.3:;
---source include/show_msg80.inc
-
-###############################################################################
-# Testcase 3.2.3.3: Ensure that the table does not show any information on any
-# collations for which the current user and PUBLIC have no
-# USAGE privilege.
-################################################################################
-
-# Test requirement is erroneous... we cannot grant / revoke privilege for using
-# a collation.
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.4.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.4.1: Ensure that the
-# INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY
-# table has the following columns, in the following order:
-#
-# COLLATION_NAME (shows the name of a collation),
-# CHARACTER_SET_NAME (shows the name of a character set to
-# which that collation applies).
-################################################################################
-
-let $is_table= collation_character_set_applicability;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.4.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.4.2: Ensure that the table shows the relevant information on
-# every collation/character set combination for which the
-# current user or PUBLIC have the USAGE privilege.
-# Note(2007-08-24 mleich):
-# The amount of collations/character sets grows with new
-# MySQL releases and is a reason why this test might
-# fail with differences. Please check the new entries
-# and update with expected results afterwards.
-################################################################################
-
-SELECT * FROM collation_character_set_applicability
-where collation_name <> 'utf8_general_cs';
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.4.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.4.3: Ensure that the table does not show any information on any
-# collation/character set combinations for which the current
-# user and PUBLIC have no USAGE privilege.
-################################################################################
-
-# Test requirement is erroneous... we cannot grant / revoke privilege for using a collation.
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.5.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.5.1: Ensure that the INFORMATION_SCHEMA.COLUMN_PRIVILEGES
-# table has the following columns, in the following order:
-#
-# GRANTEE (shows the name of a user who has either granted,
-# or been granted a column privilege),
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the schema, or database,
-# in which the table for which a column privilege has
-# been granted resides),
-# TABLE_NAME (shows the name of the table),
-# COLUMN_NAME (shows the name of the column on which a
-# column privilege has been granted),
-# PRIVILEGE_TYPE (shows the type of privilege that was
-# granted; must be either SELECT, INSERT, UPDATE, or
-# REFERENCES),
-# IS_GRANTABLE (shows whether that privilege was granted
-# WITH GRANT OPTION).
-################################################################################
-
-let $is_table= column_privileges;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.5.2: Ensure that the table shows the relevant information on
-# every column privilege which has been granted to the
-# current user or PUBLIC, or which was granted by the current
-# user.
-################################################################################
-# Testcase 3.2.5.3: Ensure that the table does not show any information on any
-# column privilege which was granted to any user other than
-# the current user or PUBLIC, or which was granted by any
-# user other than the current user.
-################################################################################
-# Testcase 3.2.5.4: Ensure that the table does not show any information on any
-# privileges that are not column privileges for the current
-# user.
-################################################################################
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-CREATE TABLE db_datadict.res_t40502 (f1 INT, f2 DECIMAL, f3 TEXT);
-
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT INSERT(f1) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT UPDATE(f2) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT SELECT(f2) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT SELECT(f3) ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost' WITH GRANT OPTION;
-GRANT ALL ON db_datadict.* TO 'user_3'@'localhost';
-
-let $select= SELECT * FROM information_schema.column_privileges
- WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-eval $select;
-
-let $message= FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has;
---source include/show_msg.inc
-
-GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-eval $select;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_5_1, localhost, user_1, , db_datadict);
-eval $select;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_5_2, localhost, user_2, , db_datadict);
-eval $select;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_5_3, localhost, user_3, , db_datadict);
-
-let $message= FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES;
---source include/show_msg.inc
-SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%";
-SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%";
-eval $select;
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-
-let $message= FIXME: check whether it is intended that *my* grants to others are *NOT* shown here;
---source include/show_msg.inc
-eval $select;
-
-connection user_5_2;
---source suite/funcs_1/include/show_connection.inc
-eval $select;
-
-disconnect user_5_1;
-disconnect user_5_2;
-disconnect user_5_3;
-
-#cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
---disable_warnings
-DROP TABLE IF EXISTS db_datadict.res_t40502;
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.6.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.6.1: Ensure that the INFORMATION_SCHEMA.COLUMNS table has the
-# following columns, in the following order:
-#
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the database, or schema,
-# in which an accessible table resides),
-# TABLE_NAME (shows the name of an accessible table),
-# COLUMN_NAME (shows the name of a column within that
-# table),
-# ORDINAL_POSITION (shows the ordinal position of that
-# column in that table),
-# COLUMN_DEFAULT (shows the column's default value),
-# IS_NULLABLE (shows whether the column may accept NULL
-# values),
-# DATA_TYPE (shows the column's defined data type; keyword
-# only),
-# CHARACTER_MAXIMUM_LENGTH (shows, for a string column, the
-# column's defined maximum length in characters;
-# otherwise NULL),
-# CHARACTER_OCTET_LENGTH (shows, for a string column, the
-# column's defined maximum length in octets;
-# otherwise NULL),
-# NUMERIC_PRECISION (shows, for a numeric column, the
-# column's or data type's defined precision;
-# otherwise NULL),
-# NUMERIC_SCALE (shows, for a numeric column, the column's
-# or data type's defined scale; otherwise NULL),
-# CHARACTER_SET_NAME (shows, for a character string column,
-# the column's default character set; otherwise NULL),
-# COLLATION_NAME (shows, for a character string column, the
-# column's default collation; otherwise NULL),
-# COLUMN_TYPE (shows the column's complete, defined data
-# type),
-# COLUMN_KEY (shows whether the column is indexed; possible
-# values are PRI if the column is part of a PRIMARY
-# KEY, UNI if the column is part of a UNIQUE key, MUL
-# if the column is part of an index key that allows
-# duplicates),
-# EXTRA (shows any additional column definition information,
-# e.g. whether the column was defined with the
-# AUTO_INCREMENT attribute),
-# PRIVILEGES (shows the privileges available to the user on
-# the column),
-# COLUMN_COMMENT (shows the comment, if any, defined for the
-# comment; otherwise NULL).
-################################################################################
-
-let $is_table= columns;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.6.2 + 3.2.6.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.6.2: Ensure that the table shows the relevant information on the
-# columns of every table that is accessible to the current
-# user or to PUBLIC.
-################################################################################
-# Testcase 3.2.6.3: Ensure that the table does not show any information on the
-# columns of any table which is not accessible to the current
-# user or PUBLIC.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-
-USE db_datadict;
-
-create table t_6_406001(f1 char(10), f2 text, f3 date, f4 int);
-grant select(f1, f2) on db_datadict.t_6_406001 to 'user_1'@'localhost';
-
-create table t_6_406002(f1 char(10), f2 text, f3 date, f4 int);
-GRANT INSERT(f1, f2) ON db_datadict.t_6_406002 TO 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-let $select= SELECT * FROM information_schema.columns
- ORDER BY table_schema, table_name, ordinal_position;
-
-# show view of user root
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval $select;
-
-# reconnect to mysql with user credential of user u_6_406002_1.
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_6_1, localhost, user_1, , db_datadict);
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval $select;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_6_2, localhost, user_2, , db_datadict);
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval $select;
-
-disconnect user_6_1;
-disconnect user_6_2;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-let $message= Show the quotient of COL and CML for all COLUMNS;
---source include/show_msg.inc
-SELECT DISTINCT
- CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
- DATA_TYPE,
- CHARACTER_SET_NAME,
- COLLATION_NAME
- FROM information_schema.columns
- WHERE CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
- ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-
-#FIXME 3.2.6.2: check the value 2.0079 tinytext ucs2 ucs2_general_ci
-SELECT DISTINCT
- CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
- DATA_TYPE,
- CHARACTER_SET_NAME,
- COLLATION_NAME
- FROM information_schema.columns
- WHERE CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1
- ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-
-SELECT DISTINCT
- CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
- DATA_TYPE,
- CHARACTER_SET_NAME,
- COLLATION_NAME
- FROM information_schema.columns
- WHERE CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL
- ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-
-echo --> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values;
-echo --> are 0, which is intended behavior, and the result of 0 / 0 IS NULL;
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
- TABLE_SCHEMA,
- TABLE_NAME,
- COLUMN_NAME,
- DATA_TYPE,
- CHARACTER_MAXIMUM_LENGTH,
- CHARACTER_OCTET_LENGTH,
- CHARACTER_SET_NAME,
- COLLATION_NAME,
- COLUMN_TYPE
- FROM information_schema.columns
- ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
-
-#cleanup
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE IF EXISTS t_6_406001;
-DROP TABLE IF EXISTS t_6_406002;
-DROP DATABASE IF EXISTS db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.7.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.7.1: Ensure that the INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-# table has the following columns, in the following order:
-#
-# CONSTRAINT_CATALOG (always shows NULL),
-# CONSTRAINT_SCHEMA (shows the database, or schema, in which
-# an accessible constraint, or index, resides),
-# CONSTRAINT_NAME (shows the name of the accessible
-# constraint),
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the database, or schema, in which the
-# table constrained by that constraint resides),
-# TABLE_NAME (shows the name of the table constrained by the
-# constraint),
-# COLUMN_NAME (shows the name of a column that is the index
-# key, or part of the index key),
-# ORDINAL_POSITION (shows the ordinal position of the column
-# within the constraint index),
-# POSITION_IN_UNIQUE_CONSTRAINT (shows, for a foreign key
-# column, the ordinal position of the referenced
-# column within the referenced unique index;
-# otherwise NULL).
-# added with 5.0.6: REFERENCED_TABLE_SCHEMA,
-# REFERENCED_TABLE_NAME,
-# REFERENCED_COLUMN_NAME
-################################################################################
-
-let $is_table= key_column_usage;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.7.2 + 3.2.7.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.7.2: Ensure that the table shows the relevant information on
-# every column, defined to be part of an index key, which is
-# accessible to the current user or to PUBLIC.
-################################################################################
-# Testcase 3.2.7.3: Ensure that the table does not show any information on any
-# indexed column that is not accessible to the current user
-# or PUBLIC.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-
-USE db_datadict;
-
-CREATE TABLE t_40701 (
- f1 INT NOT NULL, PRIMARY KEY(f1),
- f2 INT, INDEX f2_ind(f2)
- );
-GRANT SELECT ON t_40701 to 'user_1'@'localhost';
-
-CREATE TABLE t_40702 (
- f1 INT NOT NULL, PRIMARY KEY(f1),
- f2 INT, INDEX f2_ind(f2)
- );
-GRANT SELECT ON t_40702 to 'user_2'@'localhost';
-#FIXME: add foreign keys
-
-FLUSH PRIVILEGES;
-
-let $select= SELECT * FROM information_schema.key_column_usage
- ORDER BY constraint_catalog, constraint_schema, constraint_name,
- table_catalog, table_schema, table_name, ordinal_position;
-
-# show view of user root
-eval $select;
-
-# reconnect to mysql with user credential of user u_6_406002_1.
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_7_1, localhost, user_1, , db_datadict);
-eval $select;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_7_2, localhost, user_2, , db_datadict);
-eval $select;
-
-disconnect user_7_1;
-disconnect user_7_2;
-
-#cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE t_40701;
-DROP TABLE t_40702;
-DROP DATABASE IF EXISTS db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.8.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.8.1: Ensure that the INFORMATION_SCHEMA.ROUTINES
-# table has the following columns, in the following order:
-#
-# SPECIFIC_NAME (shows the name of an accessible stored
-# procedure, or routine),
-# ROUTINE_CATALOG (always shows NULL),
-# ROUTINE_SCHEMA (shows the database, or schema, in which
-# the routine resides),
-# ROUTINE_NAME (shows the same stored procedure name),
-# ROUTINE_TYPE (shows whether the stored procedure is a
-# procedure or a function),
-# DTD_IDENTIFIER (shows, for a function, the complete
-# data type definition of the value the function will
-# return; otherwise NULL),
-# ROUTINE_BODY (shows the language in which the stored
-# procedure is written; currently always SQL),
-# ROUTINE_DEFINITION (shows as much of the routine body as
-# is possible in the allotted space),
-# EXTERNAL_NAME (always shows NULL),
-# EXTERNAL_LANGUAGE (always shows NULL),
-# PARAMETER_STYLE (shows the routine's parameter style;
-# always SQL),
-# IS_DETERMINISTIC (shows whether the routine is
-# deterministic),
-# SQL_DATA_ACCESS (shows the routine's defined
-# sql-data-access clause value),
-# SQL_PATH (always shows NULL),
-# SECURITY_TYPE (shows whether the routine's defined
-# security_type is 'definer' or 'invoker'),
-# CREATED (shows the timestamp of the time the routine was
-# created),
-# LAST_ALTERED (shows the timestamp of the time the routine
-# was last altered),
-# SQL_MODE (shows the sql_mode setting at the time the
-# routine was created),
-# ROUTINE_COMMENT (shows the comment, if any, defined for
-# the routine; otherwise NULL),
-# DEFINER (shows the user who created the routine).
-################################################################################
-
-let $is_table= routines;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.8.2 + 3.2.8.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.8.2: Ensure that the table shows the relevant information on
-# every SQL-invoked routine (i.e. stored procedure) which is
-# accessible to the current user or to PUBLIC.
-################################################################################
-# Testcase 3.2.8.3: Ensure that the table does not show any information on any
-# stored procedure that is not accessible to the current user
-# or PUBLIC.;
-##############################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
-CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-
-INSERT INTO res_6_408002_1(f1, f2, f3, f4)
- VALUES('abc', 'xyz', '1989-11-09', 0815);
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp_6_408002_1;
---enable_warnings
-
-delimiter //;
-CREATE PROCEDURE sp_6_408002_1()
-BEGIN
- SELECT * FROM db_datadict.res_6_408002_1;
-END//
-delimiter ;//
-
-CREATE DATABASE db_datadict_2;
-USE db_datadict_2;
-
-CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-
-INSERT INTO res_6_408002_2(f1, f2, f3, f4)
- VALUES('abc', 'xyz', '1990-10-03', 4711);
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp_6_408002_2;
---enable_warnings
-
-delimiter //;
-CREATE PROCEDURE sp_6_408002_2()
-BEGIN
- SELECT * FROM db_datadict_2.res_6_408002_2;
-END//
-delimiter ;//
-
-GRANT SELECT ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_1'@'localhost';
-
-GRANT EXECUTE ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_2'@'localhost';
-
-GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 TO 'user_2'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_8_1, localhost, user_1, , db_datadict);
-
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
-disconnect user_8_1;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_8_2, localhost, user_2, , db_datadict);
-
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
-disconnect user_8_2;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_8_3, localhost, user_3, , test);
-
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
-disconnect user_8_3;
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-
-use db_datadict;
-DROP TABLE res_6_408002_1;
-DROP PROCEDURE sp_6_408002_1;
-
-USE db_datadict_2;
-DROP TABLE res_6_408002_2;
-DROP PROCEDURE sp_6_408002_2;
-
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.8.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.8.4: Ensure that a stored procedure with a routine body that is
-# too large to fit into the
-# INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION column
-# correctly shows as much of the information as is possible
-# within the allotted size.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-create table res_6_408004_1(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-
-insert into res_6_408004_1 values ('abc', 98765 , 99999999 , 98765, 10);
-
---disable_warnings
-drop procedure if exists sp_6_408004;
---enable_warnings
-
-create table res_6_408004_2(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-
-insert into res_6_408004_2 values ('abc', 98765 , 99999999 , 98765, 10);
-
-let $message= Checking the max. possible length of (currently) 4 GByte is not possible in this environment here.;
---source include/show_msg.inc
-
-delimiter //;
-create procedure sp_6_408004 ()
-begin
- declare done integer default 0;
- declare variable_number_1 longtext;
- declare variable_number_2 mediumint;
- declare variable_number_3 longblob;
- declare variable_number_4 real;
- declare variable_number_5 year;
- declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
- declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
- declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
- declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
- declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
- declare continue handler for sqlstate '02000' set done = 1;
- begin
- open cursor_number_1;
- while done <> 1 do
- fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
- variable_number_4, variable_number_5);
- end if;
- end while;
- begin
- begin
- set done = 0;
- open cursor_number_2;
- while done <> 1 do
- fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
- end if;
- end while;
- end;
- set done = 0;
- open cursor_number_3;
- while done <> 1 do
- fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
- end if;
- end while;
- end;
- end;
- begin
- set done = 0;
- open cursor_number_4;
- while done <> 1 do
- fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
- end if;
- end while;
- end;
- begin
- set @a='test row';
- select @a;
- select @a;
- select @a;
- end;
- begin
- set done = 0;
- open cursor_number_5;
- while done <> 1 do
- fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
- end if;
- end while;
- end;
- begin
- set @a='test row';
- select @a;
- select @a;
- select @a;
- end;
-end//
-delimiter ;//
-
-call sp_6_408004 ();
-select * from res_6_408004_2;
-
---vertical_results
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT *, LENGTH(routine_definition)
- FROM information_schema.routines
- WHERE routine_schema = 'db_datadict';
---horizontal_results
-
-# clean-up
-use db_datadict;
-drop procedure sp_6_408004;
-drop table res_6_408004_1;
-drop table res_6_408004_2;
-use test;
-drop database db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.9.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.9.1: Ensure that the INFORMATION_SCHEMA.SCHEMATA
-# table has the following columns, in the following order:
-#
-# CATALOG_NAME (always shows NULL),
-# SCHEMA_NAME (shows the name of a database, or schema, on
-# which the current user or PUBLIC has privileges),
-# DEFAULT_CHARACTER_SET_NAME (shows the name of that
-# database's default character set),
-# DEFAULT_COLLATION_NAME (shows the database default
-# collation)
-# SQL_PATH (always shows NULL).
-################################################################################
-
-let $is_table= schemata;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.9.2 + 3.2.9.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.9.2: Ensure that the table shows the relevant information for
-# every database on which the current user or PUBLIC have
-# privileges.
-################################################################################
-# Testcase 3.2.9.3: Ensure that the table does not show any information on any
-# databases on which the current user and PUBLIC have no
-# privileges.
-################################################################################
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-CREATE DATABASE db_datadict_1;
-CREATE DATABASE db_datadict_2;
-
-GRANT SELECT ON db_datadict_1.* to 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.* to 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-# shows db_1
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_9_1, localhost, user_1, , db_datadict_1);
-
-SELECT COUNT(*) FROM information_schema.schemata;
-SELECT * FROM information_schema.schemata;
-disconnect user_9_1;
-
-
-# shows db_2
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_9_2, localhost, user_2, , db_datadict_2);
-
-SELECT COUNT(*) FROM information_schema.schemata;
-SELECT * FROM information_schema.schemata;
-disconnect user_9_2;
-
-
-# shows neither db_1 nor db_2
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_9_3, localhost, user_3, , test);
-
-SELECT COUNT(*) FROM information_schema.schemata;
-SELECT * FROM information_schema.schemata;
-disconnect user_9_3;
-
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE db_datadict_1;
-DROP DATABASE db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.10.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.10.1: Ensure that the INFORMATION_SCHEMA.TABLE_CONSTRAINTS
-# table has the following columns, in the following order:
-#
-# CONSTRAINT_CATALOG (always shows NULL),
-# CONSTRAINT_SCHEMA (shows the database, or schema, in which
-# a constraint an accessible table resides),
-# CONSTRAINT_NAME (shows the name of a constraint defined on
-# an accessible table),
-# TABLE_SCHEMA (shows the database, or schema, in which the
-# table resides),
-# TABLE_NAME (shows the name of the table),
-# CONSTRAINT_TYPE (shows the type of the constraint; either
-# 'primary key', 'foreign key', 'unique', 'check').
-################################################################################
-
-let $is_table= table_constraints;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.10.2 + 3.2.10.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.10.2: Ensure that the table shows the relevant information on all
-# constraints defined on every table for which the current
-# user or PUBLIC have privileges.
-################################################################################
-# Testcase 3.2.10.3: Ensure that the table does not show any information on
-# constraints defined on any table for which the current user
-# and PUBLIC have no privileges.
-################################################################################
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-
-USE db_datadict;
-
-CREATE TABLE res_6_401003_1(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-
-USE db_datadict_2;
-
-CREATE TABLE res_6_401003_2(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-
-GRANT SELECT ON db_datadict.res_6_401003_1 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.res_6_401003_2 TO 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_10_1, localhost, user_1, , db_datadict);
-
-SELECT * FROM information_schema.table_constraints;
-SELECT COUNT(*) FROM information_schema.table_constraints;
-disconnect user_10_1;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_10_2, localhost, user_2, , db_datadict_2);
-
-SELECT * FROM information_schema.table_constraints;
-SELECT COUNT(*) FROM information_schema.table_constraints;
-disconnect user_10_2;
-
-# clean-up
-connection default;
-use db_datadict;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE res_6_401003_1;
-USE db_datadict_2;
-DROP TABLE res_6_401003_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.11.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.11.1: Ensure that the INFORMATION_SCHEMA.TABLE_PRIVILEGES
-# table has the following columns, in the following order:
-#
-# GRANTEE (shows the name of a user who has either granted,
-# or been granted a table privilege),
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the schema, or database,
-# in which the table for which a privilege has been
-# granted resides),
-# TABLE_NAME (shows the name of the table),
-# PRIVILEGE_TYPE (shows the type of privilege that was
-# granted; must be either SELECT, INSERT, UPDATE,
-# DELETE, REFERENCES, ALTER, INDEX, DROP, or CREATE
-# VIEW),
-# IS_GRANTABLE (shows whether that privilege was granted
-# WITH GRANT OPTION).
-################################################################################
-
-let $is_table= table_privileges;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.11.2: Ensure that the table shows the relevant information on
-# every table privilege which has been granted to the current
-# user or PUBLIC, or which was granted by the current user.
-################################################################################
-# Testcase 3.2.11.3: Ensure that the table does not show any information on any
-# table privilege which was granted to any user other than
-# the current user or PUBLIC, or which was granted by any
-# user other than the current user.
-################################################################################
-# Testcase 3.2.11.4: Ensure that the table does not show any information on any
-# privileges that are not table privileges for the current
-# user.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-create database db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, SELECT ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
-use db_datadict;
-
-create table tb1(f1 int, f2 int, f3 int);
-
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_11_1, localhost, user_1, , db_datadict);
-
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-
-SELECT * FROM information_schema.table_privileges
- WHERE table_name LIKE 'tb%';
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_11_2, localhost, user_2, , db_datadict);
-
-# we see only table privileges for this user, and not any other privileges
-SELECT * FROM information_schema.table_privileges;
-
-SELECT USER(), COUNT(*)
- FROM information_schema.table_privileges
- WHERE grantee = USER();
-
-SELECT USER(), COUNT(*)
- FROM information_schema.table_privileges
- WHERE grantee = "'user_2'@'localhost'";
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_11_3, localhost, user_3, , db_datadict);
-
-# we see only table privileges for this user, and not any other privileges
-SELECT * FROM information_schema.table_privileges;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# we see only 'public' table privileges
-SELECT * FROM information_schema.table_privileges;
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect user_11_1;
-disconnect user_11_2;
-disconnect user_11_3;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-drop table db_datadict.tb1;
-drop table db_datadict.tb3;
-use test;
-drop database db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.12.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.12.1: Ensure that the INFORMATION_SCHEMA.TABLES
-# table has the following columns, in the following order:
-#
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the database, or schema,
-# in which an accessible table resides),
-# TABLE_NAME (shows the name of a table which the current
-# user may access),
-# TABLE_TYPE (shows whether the table is a BASE TABLE, a
-# TEMPORARY table, or a VIEW),
-# ENGINE (shows the storage engine used for the table),
-# VERSION (shows the version number of the table's .frm
-# file),
-# ROW_FORMAT (shows the table's row storage format; either
-# FIXED, DYNAMIC or COMPRESSED),
-# TABLE_ROWS (shows the number of rows in the table),
-# AVG_ROW_LENGTH (shows the average length of the table's
-# rows),
-# DATA_LENGTH (shows the length of the table's data file),
-# MAX_DATA_LENGTH (shows the maximum length of the table's
-# data file),
-# INDEX_LENGTH (shows the length of the index file
-# associated with the table),
-# DATA_FREE (shows the number of allocated, unused bytes),
-# AUTO_INCREMENT (shows the next AUTO_INCREMENT value, where
-# applicable),
-# CREATE_TIME (shows the timestamp of the time the table was
-# created),
-# UPDATE_TIME (shows the timestamp of the time the table's
-# data file was last updated),
-# CHECK_TIME (shows the timestamp of the time the table was
-# last checked),
-# TABLE_COLLATION (shows the table's default collation),
-# CHECKSUM (shows the live checksum value for the table, if
-# any; otherwise NULL),
-# CREATE_OPTIONS (shows any additional options used in the
-# table's definition; otherwise NULL),
-# TABLE_COMMENT (shows the comment added to the table's
-# definition; otherwise NULL).
-################################################################################
-
-let $is_table= tables;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.12.2 + 3.2.12.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.12.2: Ensure that the table shows the relevant information on
-# every base table and view on which the current user or
-# PUBLIC has privileges.
-################################################################################
-# Testcase 3.2.12.3: Ensure that the table does not show any information on any
-# tables on which the current user and public have no
-# privileges.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-create database db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
- TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
-use db_datadict;
-
-create table tb1(f1 int, f2 int, f3 int);
-
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_12_1, localhost, user_1, , db_datadict);
-
-# tb2 is not granted to anyone
-CREATE TABLE tb2 (f1 DECIMAL);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-GRANT INSERT ON db_datadict.tb3 to 'user_2'@'localhost';
-
-CREATE VIEW v3 AS SELECT * FROM tb3;
-GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost';
-
-#FIXME 3.2.12: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.12: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.12: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.12: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema');
---enable_ps_protocol
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_12_2, localhost, user_2, , db_datadict);
-
-# we see only tables for this user, and not any other
-#FIXME 3.2.12: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.12: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.12: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.12: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema');
---enable_ps_protocol
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_12_3, localhost, user_3, , db_datadict);
-
-# we see only tables for this user, and not any other
-#
-#FIXME 3.2.12: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.12: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.12: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.12: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema');
---enable_ps_protocol
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# we see only 'public' tables
-#
-#FIXME 3.2.12: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.12: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.12: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.12: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema') AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%');
---enable_ps_protocol
-
-# clean-up
-disconnect user_12_1;
-disconnect user_12_2;
-disconnect user_12_3;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP TABLE db_datadict.tb1;
-DROP TABLE db_datadict.tb3;
-DROP VIEW db_datadict.v3;
-USE test;
-DROP DATABASE db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.13.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.13.1: Ensure that the INFORMATION_SCHEMA.VIEWS
-# table has the following columns, in the following order:
-#
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the database, or schema, in which an
-# accessible view resides),
-# TABLE_NAME (shows the name of a view accessible to the
-# current user),
-# VIEW_DEFINITION (shows the SELECT statement that makes
-# up the view's definition),
-# CHECK_OPTION (shows the value of the WITH CHECK OPTION
-# clause used to define the view, either NONE, LOCAL
-# or CASCADED),
-# IS_UPDATABLE (shows whether the view is an updatable
-# view),
-# DEFINER (added with 5.0.14),
-# SECURITY_TYPE (added with 5.0.14).
-################################################################################
-
-let $is_table= views;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.13.2 + 3.2.13.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.13.2: Ensure that the table shows the relevant information on
-# every view for which the current user or PUBLIC has the
-# SHOW CREATE VIEW privilege.
-################################################################################
-# Testcase 3.2.13.3: Ensure that the table does not show any information on any
-# views for which the current user and PUBLIC have no SHOW
-# CREATE VIEW privilege.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_no_views'@'localhost';
-USE db_datadict;
-
-CREATE TABLE tb_401302(f1 INT, f2 INT, f3 INT);
-CREATE VIEW v_granted_to_1 AS SELECT * FROM tb_401302;
-CREATE VIEW v_granted_glob AS SELECT f2, f3 FROM tb_401302;
-
-GRANT SELECT ON db_datadict.tb_401302 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.v_granted_to_1 TO 'user_1'@'localhost';
-GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-SELECT * FROM information_schema.views;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_13_1, localhost, user_1, , test);
-
-SELECT * FROM information_schema.views;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_13_2, localhost, user_2, , test);
-
-SELECT * FROM information_schema.views;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_no_views, localhost, user_no_views, , test);
-
-SELECT * FROM information_schema.views;
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect user_13_1;
-disconnect user_13_2;
-disconnect user_no_views;
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_no_views'@'localhost';
-DROP VIEW v_granted_to_1;
-DROP TABLE tb_401302;
-DROP VIEW v_granted_glob;
-USE test;
-DROP DATABASE db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.14.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.14.1: Ensure that the INFORMATION_SCHEMA.STATISTICS
-# table has the following columns, in the following order:
-#
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the database, or schema, in which a
-# table indexed by an accessible index resides),
-# TABLE_NAME (shows the name of the indexed table),
-# NON_UNIQUE (shows whether the index may contain duplicate
-# values; 0 if it cannot, 1 if it can),
-# INDEX_SCHEMA (shows the database, or schema, in which an
-# accessible index resides),
-# INDEX_NAME (shows the name of an index which the current
-# user may access),
-# SEQ_IN_INDEX (shows the ordinal position of an indexed
-# column within the index),
-# COLUMN_NAME (shows the name of a column that comprises
-# some, or all, of an index key),
-# COLLATION (shows how the column is sorted in the index;
-# either A for ascending or NULL for unsorted
-# columns),
-# CARDINALITY (shows the number of unique values in the
-# index),
-# SUB_PART (shows the number of indexed characters if the
-# index is a prefix index),
-# PACKED (shows how the index key is packed),
-# NULLABLE (shows whether the index column may contain NULL
-# values),
-# INDEX_TYPE (shows the index type; either BTREE, FULLTEXT,
-# HASH or RTREE),
-# COMMENT (shows a comment on the index, if any).
-################################################################################
-
-let $is_table= statistics;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.14.2 + 3.2.14.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.14.2: Ensure that the table shows the relevant information on
-# every index which the current user or PUBLIC may access
-# (usually because privileges on the indexed table have been
-# granted).
-################################################################################
-# Testcase 3.2.14.3: Ensure that the table does not show any information on any
-# indexes which the current user and PUBLIC may not access.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-
-create table tb_6_401402_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_6_401402_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict.tb_6_401402_1 to 'user_1'@'localhost' WITH GRANT OPTION;
-
-USE db_datadict_2;
-
-create table tb_2_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_2_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict_2.tb_2_1 to 'user_1'@'localhost';
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_14_1, localhost, user_1, , test);
-SELECT * FROM information_schema.statistics;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_14_2, localhost, user_2, , test);
-SELECT * FROM information_schema.statistics;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-REVOKE SELECT ON db_datadict.tb_6_401402_1 FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.statistics
-WHERE NOT (table_schema = 'mysql' AND table_name LIKE 'help_%');
-
-# nothing visible for user_1
-connection user_14_1;
---source suite/funcs_1/include/show_connection.inc
-SELECT * FROM information_schema.statistics;
-
-# no changes visible for user_2
-connection user_14_2;
---source suite/funcs_1/include/show_connection.inc
-SELECT * FROM information_schema.statistics;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect user_14_1;
-disconnect user_14_2;
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE tb_6_401402_1;
-DROP TABLE tb_6_401402_2;
-USE test;
-DROP DATABASE db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.15.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.15.1: Ensure that the INFORMATION_SCHEMA.SCHEMA_PRIVILEGES
-# table has the following columns, in the following order:
-#
-# GRANTEE (shows a user to whom a schema privilege has been
-# granted),
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the database, or schema,
-# on which the privilege has been granted),
-# PRIVILEGE_TYPE (shows the granted privilege),
-# IS_GRANTABLE (shows whether the privilege was granted WITH
-# GRANT OPTION).
-################################################################################
-
-let $is_table= schema_privileges;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.15.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.15.2: Ensure that the table shows the relevant information on
-# every schema-level privilege which has been granted to the
-# current user or to PUBLIC, or has been granted by the
-# current user.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-create database db_datadict;
-create database db_datadict_2;
-
-CREATE USER 'u_6_401502'@'localhost';
-
-use db_datadict;
-
-create table res_6_401502(f1 int, f2 int, f3 int);
-grant insert on db_datadict.* to 'u_6_401502'@'localhost';
-
-FLUSH PRIVILEGES;
-
-SELECT * FROM information_schema.schema_privileges;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401502, localhost, u_6_401502, , test);
-
-SELECT * FROM information_schema.schema_privileges;
-
-disconnect u_6_401502;
-
-# clean-up
-
-connection default;
-use db_datadict;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401502'@'localhost';
-drop table res_6_401502;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.15.3 + 3.2.15.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.15.3: Ensure that the table does not show any information on any
-# schema-level privileges which have been granted to users
-# other than the current user or to PUBLIC, or that have been
-# granted by any user other than the current user.
-################################################################################
-# Testcase 3.2.15.4: Ensure that the table does not show any information on any
-# privileges that are not schema-level privileges for the
-# current user.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-create database db_datadict;
-create database db_datadict_2;
-
-CREATE USER 'u_6_401503_1'@'localhost';
-CREATE USER 'u_6_401503_2'@'localhost';
-CREATE USER 'u_6_401503_3'@'localhost';
-
-use db_datadict;
-
-create table res_6_401503_1(f1 int, f2 int, f3 int);
-
-use db_datadict_2;
-
-create table res_6_401503_2(f1 int, f2 int, f3 int);
-
-grant update on db_datadict.* to 'u_6_401503_1'@'localhost';
-grant delete on db_datadict_2.* to 'u_6_401503_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-SELECT * FROM information_schema.schema_privileges;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401503_1, localhost, u_6_401503_1, , test);
-
-SELECT * FROM information_schema.schema_privileges;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401503_2, localhost, u_6_401503_2, , test);
-
-SELECT * FROM information_schema.schema_privileges;
-
-# should not show anything
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401503_3, localhost, u_6_401503_3, , test);
-
-SELECT * FROM information_schema.schema_privileges;
-
-# clean-up
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect u_6_401503_1;
-disconnect u_6_401503_2;
-disconnect u_6_401503_3;
-use db_datadict;
-DROP USER 'u_6_401503_1'@'localhost';
-DROP USER 'u_6_401503_2'@'localhost';
-DROP USER 'u_6_401503_3'@'localhost';
-drop table res_6_401503_1;
-use db_datadict_2;
-drop table res_6_401503_2;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.16.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.16.1: Ensure that the INFORMATION_SCHEMA.USER_PRIVILEGES
-# table has the following columns, in the following order:
-#
-# GRANTEE (shows a user to whom a user privilege has been
-# granted),
-# TABLE_CATALOG (always shows NULL),
-# PRIVILEGE_TYPE (shows the granted privilege),
-# IS_GRANTABLE (shows whether the privilege was granted WITH
-# GRANT OPTION).
-################################################################################
-
-#-----------
-# Bug #12063 column 'TABLE_SCHEMA' is missing in table
-# INFORMATION_SCHEMA.USER_PRIVILEGE
-# ... is not a bug, it has been added by mistake in the TP requirement document.
-#-----------
-
-let $is_table= user_privileges;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.16.2: Ensure that the table shows the relevant information on
-# every user privilege which has been granted to the current
-# user or to PUBLIC, or has been granted by the current user.
-################################################################################
-# Testcase 3.2.16.3: Ensure that the table does not show any information on any
-# user privileges which have been granted to users other than
-# the current user or have been granted by any user other
-# than the current user.
-################################################################################
-# Testcase 3.2.16.4: Ensure that the table does not show any information on any
-# privileges that are not user privileges for the current
-# user.
-################################################################################
-
-#FIXME 3.2.16: - when Bug #12269 is fixed a some of the outputs here may be
-#FIXME 3.2.16: deleted as I added them for checking where / which information
-#FIXME 3.2.16: is shown.
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-let $cmd1= SELECT * FROM information_schema.user_privileges
- WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-let $cmd2= SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-let $cmd3= SHOW GRANTS;
-
-CREATE DATABASE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
-GRANT SELECT ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-
-GRANT INSERT ON *.* TO 'user_2'@'localhost';
-GRANT UPDATE ON *.* TO 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-let $message= FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1;
---source include/show_msg.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-let $message= add GRANT OPTION db_datadict.* to user_1;
---source include/show_msg.inc
-GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-let $message= FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1;
---source include/show_msg.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-FLUSH PRIVILEGES;
-
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_16_1, localhost, user_1, , db_datadict);
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# add SELECT on *.* to user_1
-let $message= Now add SELECT on *.* to user_1;
---source include/show_msg.inc
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-GRANT SELECT ON *.* TO 'user_1'@'localhost';
-let $message= Here <SELECT NO> is shown correctly for user_1;
---source include/show_msg.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-let $message= Here <SELECT YES> is shown correctly for user_1;
---source include/show_msg.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-FLUSH PRIVILEGES;
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# check that this appears
-connection user_16_1;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_16_2, localhost, user_2, , db_datadict);
-eval $cmd1;
---error ER_TABLEACCESS_DENIED_ERROR
-eval $cmd2;
-eval $cmd3;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_16_3, localhost, user_3, , test);
-eval $cmd1;
---error ER_TABLEACCESS_DENIED_ERROR
-eval $cmd2;
-eval $cmd3;
-
-let $message= revoke privileges from user_1;
---source include/show_msg.inc
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# check for changes
-connection user_16_1;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
---error ER_TABLEACCESS_DENIED_ERROR
-eval $cmd2;
-eval $cmd3;
-
---source suite/funcs_1/include/show_connection.inc
-# checks entered before bug #12269 was reported
-# OK, user_1 has no privs here
---error ER_TABLEACCESS_DENIED_ERROR
-CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
---error ER_TABLEACCESS_DENIED_ERROR
-eval $cmd2;
-eval $cmd3;
-# OK, user_1 has no privs here
---error ER_TABLEACCESS_DENIED_ERROR
-CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
-
-let $message= add ALL on db_datadict.* (and select on mysql.user) to user_1;
---source include/show_msg.inc
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# check for changes
-connection user_16_1;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# OK, user_1 has no privs here
---error ER_TABLEACCESS_DENIED_ERROR
-CREATE TABLE db_datadict.tb_56 ( c1 TEXT );
-
-# using 'USE' lets the server read the privileges new, so now the CREATE works
-USE db_datadict;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-CREATE TABLE tb_57 ( c1 TEXT );
-
-let $message= revoke privileges from user_1;
---source include/show_msg.inc
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# check for changes
-connection user_16_1;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
---error ER_TABLEACCESS_DENIED_ERROR
-eval $cmd2;
-eval $cmd3;
-# WORKS, as the existing old privileges are used!
-CREATE TABLE db_datadict.tb_58 ( c1 TEXT );
-# existing privileges are "read" new when USE is called, user has no priviliges
---error ER_DBACCESS_DENIED_ERROR
-USE db_datadict;
-#FIXME 3.2.16: check that it is correct that this now 'works': --error 1142
-CREATE TABLE db_datadict.tb_59 ( c1 TEXT );
-
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect user_16_1;
-disconnect user_16_2;
-disconnect user_16_3;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.17: Checks on Performance - not here in this script!;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.17.1: Ensure that every INFORMATION_SCHEMA table shows all the
-# correct information, and no incorrect information, for a
-# database to which 100 different users, each of which has a
-# randomly issued set of privileges and access to a
-# randomly chosen set of database objects, have access.
-# The database should contain a mixture of all types of
-# database objects (i.e. tables, views, stored procedures,
-# triggers).
-################################################################################
-
-################################################################################
-# Testcase 3.2.17.2: Ensure that every INFORMATION_SCHEMA table shows all the
-# correct information, and no incorrect information, for 10
-# different databases to which 50 different users, each of
-# which has a randomly issued set of privileges and access
-# to a randomly chosen set of database objects in two or
-# more of the databases, have access. The databases should
-# each contain a mixture of all types of database objects
-# (i.e. tables, views, stored procedures, triggers).
-################################################################################
-
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.18.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.18.1: Ensure that the INFORMATION_SCHEMA.TRIGGERS
-# table has the following columns, in the following order:
-#
-#
-# (FIXME - list copied from WL#1996)
-#
-# TRIGGER_CATALOG NULL
-# TRIGGER_SCHEMA
-# TRIGGER_NAME
-# EVENT_MANIPULATION
-# EVENT_OBJECT_CATALOG NULL
-# EVENT_OBJECT_SCHEMA
-# EVENT_OBJECT_TABLE
-# ACTION_ORDER NULL
-# ACTION_CONDITION NULL
-# ACTION_STATEMENT
-# ACTION_ORIENTATION
-# ACTION_TIMING
-# ACTION_REFERENCE_OLD_TABLE NULL
-# ACTION_REFERENCE_NEW_TABLE NULL
-# ACTION_REFERENCE_OLD_ROW
-# ACTION_REFERENCE_NEW_ROW
-# CREATED
-# SQL_MODE
-#
-################################################################################
-
-let $is_table= triggers;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.18.2 + 3.2.18.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.18.2: Ensure that the table shows the relevant information on
-# every trigger on which the current user or PUBLIC has
-# privileges.
-################################################################################
-# Testcase 3.2.18.3: Ensure that the table does not show any information on any
-# trigger on which the current user and public have no
-# privileges.
-################################################################################
-
-#FIXME 3.2.18.2: to be added.
-#FIXME 3.2.18.2: don't forget to add the test description to QATestPlanV50func
-
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.19.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.19.1: Ensure that the INFORMATION_SCHEMA.PARAMETERS
-# table has the following columns, in the following order:
-#
-################################################################################
-
-let $is_table= parameters;
-# when table is implemented remove this and the next 4 lines and "enable" 5th line:
-# and don't forget to add the test description to QATestPlanV50func
-let $message= checking a table that will be implemented later;
---source include/show_msg.inc
---error ER_UNKNOWN_TABLE
-eval DESC $is_table;
-#--source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.20.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.20.1: Ensure that the INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
-# table has the following columns, in the following order:
-#
-################################################################################
-
-let $is_table= referential_constraints;
-# when table is implemented remove this and the next 4 lines and "enable" 5th line:
-# and don't forget to add the test description to QATestPlanV50func
-let $message= checking a table that will be implemented later;
---source include/show_msg.inc
---error ER_UNKNOWN_TABLE
-eval DESC $is_table;
-#--source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-
-################################################################################
-#
-let $message= *** End of Data Dictionary Tests ***;
---source include/show_msg80.inc
-#
-################################################################################
-
-
-# some cleanup to be sure nothing remains
---disable_warnings
-DROP TABLE IF EXISTS test.tb1;
-DROP TABLE IF EXISTS test.tb2;
-DROP TABLE IF EXISTS test.tb3;
-DROP TABLE IF EXISTS test.tb4;
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
-DROP TABLE IF EXISTS test.t4;
-DROP TABLE IF EXISTS test.t7;
-DROP TABLE IF EXISTS test.t8;
-DROP TABLE IF EXISTS test.t9;
-DROP TABLE IF EXISTS test.t10;
-DROP TABLE IF EXISTS test.t11;
-DROP DATABASE IF EXISTS test1;
-DROP DATABASE IF EXISTS test4;
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc b/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc 2007-11-21 13:50:16 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,57 +0,0 @@
-#### suite/funcs_1/datadict/datadict_show_schema.test
-
-# shows content of tables from INFORMATION_SCHEMA
-
-# usage:
-
-# let $message= <a message for the .result file>;
-# let $dbname= <prefix_of_a_cb_name>;
-# --source suite/funcs_1/datadict/datadict_show_schema.test
-
---source include/show_msg.inc
-
-eval select *
- from information_schema.schemata
- where schema_name like '$dbname%';
-
-eval select table_catalog, table_schema, engine
- from information_schema.tables
- where table_schema like '$dbname%';
-
-eval select *
- from information_schema.columns
- where table_schema like '$dbname%';
-
-eval select table_schema, table_name, is_updatable
- from information_schema.views
- where table_schema like '$dbname%';
-
-eval select routine_name, routine_type, security_type, sql_mode
- from information_schema.routines
- where routine_schema like '$dbname%';
-
-eval select table_name, index_schema, index_name, index_type
- from information_schema.statistics
- where table_schema like '$dbname%';
-
---replace_result $SERVER_NAME <SERVER_NAME>
---sorted_result
-eval select *
- from information_schema.user_privileges;
-# where grantee="'u_6_401013'@'%'";
-
-eval select *
- from information_schema.column_privileges
- where table_schema like '$dbname%';
-
-eval select *
- from information_schema.table_privileges
- where table_schema like '$dbname%';
-
-eval select *
- from information_schema.key_column_usage
- where table_schema like '$dbname%';
-
-eval SELECT *
- FROM information_schema.triggers
- WHERE trigger_schema LIKE '$dbname%';
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc b/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,28 +0,0 @@
-#### suite/funcs_1/datadict/datadict_show_table_design.test
-#
-# - shows design of *one* table from INFORMATION_SCHEMA
-# - used to have identical 'view' on all tested tables
-#
-# Usage:
-#
-# let $is_table= <name of one of the tables>;
-# --source suite/funcs_1/datadict/datadict_show_table_design.test
-
-USE information_schema;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval DESC $is_table;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval SHOW CREATE TABLE $is_table;
-
-eval SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = '$is_table'
-ORDER BY ordinal_position;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = '$is_table'
-ORDER BY ordinal_position;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_tables.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables.inc 2007-11-21 13:50:16 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,62 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables.inc
-
---source include/show_msg.inc
-
-eval $dd_part1 schemata $dd_part2;
-
-#FIXME: splitting the "SELECT * FROM tables" in two parts until
-#FIXME: Bug #12397: wrong values shown in column CREATE_OPTIONS of INFORMATION_SCHEMA.TABLES
-#FIXME: is solved, like done in the _master.test, cannot be done here, so we replace here
-#FIXME: the result for ALL rows.
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-## 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 20 CREATE_OPTIONS
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-eval $dd_part1 tables $dd_part2;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval $dd_part1 columns $dd_part2;
-eval $dd_part1 character_sets $dd_part2;
-eval $dd_part1 collations where collation_name <> 'utf8_general_cs' $dd_part2;
-eval $dd_part1 collation_character_set_applicability where collation_name <> 'utf8_general_cs' $dd_part2;
---replace_column 16 <Created> 17 <Last_Altered>
-eval $dd_part1 routines $dd_part2;
-eval $dd_part1 statistics $dd_part2;
-eval $dd_part1 views $dd_part2;
-eval $dd_part1 user_privileges $dd_part2;
-eval $dd_part1 schema_privileges $dd_part2;
-eval $dd_part1 table_privileges $dd_part2;
-eval $dd_part1 column_privileges $dd_part2;
-eval $dd_part1 table_constraints $dd_part2;
-eval $dd_part1 key_column_usage $dd_part2;
-eval $dd_part1 triggers $dd_part2;
-
-# later planned new tables for INFORMATION_SCHEMA (not before version 5.0.11)
-#
-# (see Reference Manual: 22.1.16. Other INFORMATION_SCHEMA Tables):
-#
-# parameters
-# referential_constraints
-#
-# check them here although they currently does not exist, but using this we
-# immedeatly get notice when they are implemented
-
-#### DON'T FORGET TO ADD THE NEW TABLES TO THE CORRESPONDING FILES
-#### datadict_tables_error_<errno>.test !
-
---error 1109
-eval $dd_part1 parameters $dd_part2;
-
---error 1109
-eval $dd_part1 referential_constraints $dd_part2;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,33 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables.inc
-
-
-#--disable_query_log
-#eval SET @aux= 'This testcase shows the error number $error_no';
-#let $message= `SELECT @aux`;
-#--enable_query_log
---source include/show_msg.inc
-
---disable_abort_on_error
-eval $dd_part1 schemata $dd_part2;
-eval $dd_part1 tables $dd_part2;
-eval $dd_part1 columns $dd_part2;
-eval $dd_part1 character_sets $dd_part2;
-eval $dd_part1 collations $dd_part2;
-eval $dd_part1 collation_character_set_applicability $dd_part2;
-eval $dd_part1 routines $dd_part2;
-eval $dd_part1 statistics $dd_part2;
-eval $dd_part1 views $dd_part2;
-eval $dd_part1 user_privileges $dd_part2;
-eval $dd_part1 schema_privileges $dd_part2;
-eval $dd_part1 table_privileges $dd_part2;
-eval $dd_part1 column_privileges $dd_part2;
-eval $dd_part1 table_constraints $dd_part2;
-eval $dd_part1 key_column_usage $dd_part2;
-eval $dd_part1 triggers $dd_part2;
---enable_abort_on_error
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,80 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1 (Can_t create/write to file ...):;
---source include/show_msg.inc
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 schemata $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 tables $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 columns $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 character_sets $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 collations $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 collation_character_set_applicability $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 routines $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 statistics $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 views $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 user_privileges $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 schema_privileges $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 table_privileges $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 column_privileges $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 table_constraints $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 key_column_usage $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 triggers $dd_part2;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,51 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables_error_1044.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-# e.g.: ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-
-let $message= known error 1044 (ERROR 42000: Access denied for user ... to database ...):;
---source include/show_msg.inc
-
---error 1044
-eval $dd_part1 schemata $dd_part2;
---error 1044
-eval $dd_part1 tables $dd_part2;
---error 1044
-eval $dd_part1 columns $dd_part2;
---error 1044
-eval $dd_part1 character_sets $dd_part2;
---error 1044
-eval $dd_part1 collations $dd_part2;
---error 1044
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1044
-eval $dd_part1 routines $dd_part2;
---error 1044
-eval $dd_part1 statistics $dd_part2;
---error 1044
-eval $dd_part1 views $dd_part2;
---error 1044
-eval $dd_part1 user_privileges $dd_part2;
---error 1044
-eval $dd_part1 schema_privileges $dd_part2;
---error 1044
-eval $dd_part1 table_privileges $dd_part2;
---error 1044
-eval $dd_part1 column_privileges $dd_part2;
---error 1044
-eval $dd_part1 table_constraints $dd_part2;
---error 1044
-eval $dd_part1 key_column_usage $dd_part2;
---error 1044
-eval $dd_part1 triggers $dd_part2;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,49 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1049 (ERROR 42000: Unknown database ...):;
---source include/show_msg.inc
-
---error 1049
-eval $dd_part1 schemata $dd_part2;
---error 1049
-eval $dd_part1 tables $dd_part2;
---error 1049
-eval $dd_part1 columns $dd_part2;
---error 1049
-eval $dd_part1 character_sets $dd_part2;
---error 1049
-eval $dd_part1 collations $dd_part2;
---error 1049
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1049
-eval $dd_part1 routines $dd_part2;
---error 1049
-eval $dd_part1 statistics $dd_part2;
---error 1049
-eval $dd_part1 views $dd_part2;
---error 1049
-eval $dd_part1 user_privileges $dd_part2;
---error 1049
-eval $dd_part1 schema_privileges $dd_part2;
---error 1049
-eval $dd_part1 table_privileges $dd_part2;
---error 1049
-eval $dd_part1 column_privileges $dd_part2;
---error 1049
-eval $dd_part1 table_constraints $dd_part2;
---error 1049
-eval $dd_part1 key_column_usage $dd_part2;
---error 1049
-eval $dd_part1 triggers $dd_part2;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,49 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1051:;
---source include/show_msg.inc
-
---error 1051
-eval $dd_part1 schemata $dd_part2;
---error 1051
-eval $dd_part1 tables $dd_part2;
---error 1051
-eval $dd_part1 columns $dd_part2;
---error 1051
-eval $dd_part1 character_sets $dd_part2;
---error 1051
-eval $dd_part1 collations $dd_part2;
---error 1051
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1051
-eval $dd_part1 routines $dd_part2;
---error 1051
-eval $dd_part1 statistics $dd_part2;
---error 1051
-eval $dd_part1 views $dd_part2;
---error 1051
-eval $dd_part1 user_privileges $dd_part2;
---error 1051
-eval $dd_part1 schema_privileges $dd_part2;
---error 1051
-eval $dd_part1 table_privileges $dd_part2;
---error 1051
-eval $dd_part1 column_privileges $dd_part2;
---error 1051
-eval $dd_part1 table_constraints $dd_part2;
---error 1051
-eval $dd_part1 key_column_usage $dd_part2;
---error 1051
-eval $dd_part1 triggers $dd_part2;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,49 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1146:;
---source include/show_msg.inc
-
---error 1146
-eval $dd_part1 schemata $dd_part2;
---error 1146
-eval $dd_part1 tables $dd_part2;
---error 1146
-eval $dd_part1 columns $dd_part2;
---error 1146
-eval $dd_part1 character_sets $dd_part2;
---error 1146
-eval $dd_part1 collations $dd_part2;
---error 1146
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1146
-eval $dd_part1 routines $dd_part2;
---error 1146
-eval $dd_part1 statistics $dd_part2;
---error 1146
-eval $dd_part1 views $dd_part2;
---error 1146
-eval $dd_part1 user_privileges $dd_part2;
---error 1146
-eval $dd_part1 schema_privileges $dd_part2;
---error 1146
-eval $dd_part1 table_privileges $dd_part2;
---error 1146
-eval $dd_part1 column_privileges $dd_part2;
---error 1146
-eval $dd_part1 table_constraints $dd_part2;
---error 1146
-eval $dd_part1 key_column_usage $dd_part2;
---error 1146
-eval $dd_part1 triggers $dd_part2;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,49 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1288:;
---source include/show_msg.inc
-
---error 1288
-eval $dd_part1 schemata $dd_part2;
---error 1288
-eval $dd_part1 tables $dd_part2;
---error 1288
-eval $dd_part1 columns $dd_part2;
---error 1288
-eval $dd_part1 character_sets $dd_part2;
---error 1288
-eval $dd_part1 collations $dd_part2;
---error 1288
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1288
-eval $dd_part1 routines $dd_part2;
---error 1288
-eval $dd_part1 statistics $dd_part2;
---error 1288
-eval $dd_part1 views $dd_part2;
---error 1288
-eval $dd_part1 user_privileges $dd_part2;
---error 1288
-eval $dd_part1 schema_privileges $dd_part2;
---error 1288
-eval $dd_part1 table_privileges $dd_part2;
---error 1288
-eval $dd_part1 column_privileges $dd_part2;
---error 1288
-eval $dd_part1 table_constraints $dd_part2;
---error 1288
-eval $dd_part1 key_column_usage $dd_part2;
---error 1288
-eval $dd_part1 triggers $dd_part2;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/is_table_query.inc b/mysql-test/suite/funcs_1/datadict/is_table_query.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/is_table_query.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,42 @@
+# suite/funcs_1/datadict/is_table_query.inc
+#
+# Check that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+# (Requirement 3.2.1.1)
+#
+# The variable $is_table must be set before sourcing this script.
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+--disable_warnings
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+--enable_warnings
+eval CREATE VIEW test.v1 AS SELECT * FROM information_schema.$is_table;
+eval CREATE PROCEDURE test.p1() SELECT * FROM information_schema.$is_table;
+delimiter //;
+eval CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+ DECLARE counter BIGINT DEFAULT NULL;
+ SELECT COUNT(*) INTO counter FROM information_schema.$is_table;
+ RETURN counter;
+END//
+delimiter ;//
+
+
+# We are not interested to check the content here.
+--echo # Attention: The printing of the next result sets is disabled.
+--disable_result_log
+eval SELECT * FROM information_schema.$is_table;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+--enable_result_log
+
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
diff -Nrup a/mysql-test/suite/funcs_1/datadict/statistics.inc b/mysql-test/suite/funcs_1/datadict/statistics.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/statistics.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,55 @@
+# suite/funcs_1/datadict/statistics.inc
+#
+# Auxiliary script to be sourced by
+# is_statistics_is
+# is_statistics_mysql
+# is_statistics_<engine>
+#
+# Purpose:
+# Check the content of information_schema.statistics about tables within the
+# database '$database'.
+#
+# Usage:
+# The variable $database has to be set before sourcing this script.
+# Example:
+# let $database = db_data;
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+
+--source suite/funcs_1/datadict/datadict.pre
+
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+
+let $my_select = SELECT * FROM information_schema.statistics
+$my_where
+ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
+--replace_column 10 #CARD#
+eval $my_select;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1,localhost,testuser1,,db_datadict);
+--replace_column 10 #CARD#
+eval $my_select;
+
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+
diff -Nrup a/mysql-test/suite/funcs_1/datadict/table_constraints.inc b/mysql-test/suite/funcs_1/datadict/table_constraints.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/table_constraints.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,45 @@
+# suite/funcs_1/datadict/table_constraints.inc
+#
+# Auxiliary script to be sourced by
+# suite/funcs_1/t/is_table_constraints_mysql.test
+# suite/funcs_1/t/is_table_constraints_is.test
+#
+# The variable
+# $table_schema database to be inspected
+# has to be set before sourcing this script.
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+
+let $my_select = SELECT * FROM information_schema.table_constraints
+WHERE table_schema = '$table_schema'
+ORDER BY table_schema,table_name,constraint_name;
+eval $my_select;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1,localhost,testuser1,,db_datadict);
+eval $my_select;
+
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+
diff -Nrup a/mysql-test/suite/funcs_1/datadict/tables1.inc b/mysql-test/suite/funcs_1/datadict/tables1.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/tables1.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,39 @@
+# suite/funcs_1/datadict/tables1.inc
+#
+# Auxiliary script to be sourced by
+# is_tables_mysql.test
+# is_tables_is.test
+# is_tables_<engine>.test
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--source suite/funcs_1/datadict/tables2.inc
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1,localhost,testuser1,,db_datadict);
+--source suite/funcs_1/datadict/tables2.inc
+
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+
diff -Nrup a/mysql-test/suite/funcs_1/datadict/tables2.inc b/mysql-test/suite/funcs_1/datadict/tables2.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/datadict/tables2.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,47 @@
+# suite/funcs_1/datadict/tables2.inc
+#
+# Auxiliary script to be sourced by suite/funcs_1/datadict/tables1.inc.
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+# Create this script based on older scripts and new code.
+#
+################################################################################
+
+# 8 TABLE_ROWS
+# 9 AVG_ROW_LENGTH
+# 10 DATA_LENGTH
+# 11 MAX_DATA_LENGTH
+# 12 INDEX_LENGTH
+# 13 DATA_FREE
+# 15 CREATE_TIME
+# 16 UPDATE_TIME
+# 17 CHECK_TIME
+# 20 CREATE_OPTIONS
+# 21 TABLE_COMMENT User defined comment
+# + InnoDB
+# + NDB: "number_of_replicas: <number>" appended
+# + InnoDB: "InnoDB free: <number_kB> kB" appended
+# <number_kB> depends on tablespace history!
+# The LEFT/INSTR/IF/LENGTH stuff should remove these
+# storage engine specific part.
+let $innodb_pattern = 'InnoDB free';
+let $ndb_pattern = 'number_of_replicas';
+--vertical_results
+--replace_column 8 "#TBLR#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT#" 16 "#UT#" 17 "#CT#" 20 "#CO#" 21 "#TC#"
+eval
+SELECT *,
+ LEFT( table_comment,
+ IF(INSTR(table_comment,$innodb_pattern) = 0
+ AND INSTR(table_comment,$ndb_pattern) = 0,
+ LENGTH(table_comment),
+ INSTR(table_comment,$innodb_pattern)
+ + INSTR(table_comment,$ndb_pattern) - 1))
+ AS "user_comment",
+ '-----------------------------------------------------' AS "Separator"
+FROM information_schema.tables
+$my_where
+ORDER BY table_schema,table_name;
+--horizontal_results
+
diff -Nrup a/mysql-test/suite/funcs_1/include/cleanup.inc b/mysql-test/suite/funcs_1/include/cleanup.inc
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/include/cleanup.inc 2008-03-05 18:20:06 +01:00
@@ -0,0 +1,21 @@
+# suite/funcs_1/include/cleanup.inc
+#
+# Remove all objects created by sourcing
+# suite/funcs_1/datadict/datadict_load.inc
+#
+DROP DATABASE test1;
+DROP DATABASE test4;
+DROP TABLE test.t1;
+DROP TABLE test.t2;
+DROP TABLE test.t3;
+DROP TABLE test.t4;
+DROP TABLE test.t7;
+DROP TABLE test.t8;
+DROP TABLE test.t9;
+DROP TABLE test.t10;
+DROP TABLE test.t11;
+DROP TABLE test.tb1;
+DROP TABLE test.tb2;
+DROP TABLE test.tb3;
+DROP TABLE test.tb4;
+
diff -Nrup a/mysql-test/suite/funcs_1/include/create_database.inc b/mysql-test/suite/funcs_1/include/create_database.inc
--- a/mysql-test/suite/funcs_1/include/create_database.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,6 +0,0 @@
-##### suite/funcs_1/include/create_database.inc
-
---disable_warnings
-eval DROP DATABASE IF EXISTS $new_database;
---enable_warnings
-eval CREATE DATABASE $new_database;
diff -Nrup a/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc b/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc
--- a/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,10 +0,0 @@
-##### suite/funcs_1/include/create_user_no_priv.inc
-#
-# $new_user must contain the name (with @<host> if necessary)
-#
-
---error 0,1396
-eval DROP USER $new_user;
-eval CREATE USER $new_user identified by 'PWD';
-# Just to be sure
-eval REVOKE ALL PRIVILEGES, GRANT OPTION FROM $new_user;
diff -Nrup a/mysql-test/suite/funcs_1/include/create_user_no_super.inc b/mysql-test/suite/funcs_1/include/create_user_no_super.inc
--- a/mysql-test/suite/funcs_1/include/create_user_no_super.inc 2007-02-06 18:54:35 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,11 +0,0 @@
-##### suite/funcs_1/include/create_user_no_super.inc
-#
-# $new_user must contain the name (with @<host> if necessary)
-# of the user to be created
-
---error 0,1396
-eval DROP USER $new_user;
-eval CREATE USER $new_user identified by 'PWD';
-
-eval GRANT ALL ON *.* TO $new_user WITH GRANT OPTION;
-eval REVOKE SUPER ON *.* FROM $new_user;
diff -Nrup a/mysql-test/suite/funcs_1/include/memory_tb1.inc b/mysql-test/suite/funcs_1/include/memory_tb1.inc
--- a/mysql-test/suite/funcs_1/include/memory_tb1.inc 2007-02-06 18:54:35 +01:00
+++ b/mysql-test/suite/funcs_1/include/memory_tb1.inc 2008-03-05 18:20:01 +01:00
@@ -1,8 +1,5 @@
##### suite/funcs_1/include/memory_tb1.inc
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-
--disable_warnings
drop table if exists tb1 ;
--enable_warnings
diff -Nrup a/mysql-test/suite/funcs_1/include/memory_tb2.inc b/mysql-test/suite/funcs_1/include/memory_tb2.inc
--- a/mysql-test/suite/funcs_1/include/memory_tb2.inc 2007-02-06 18:54:35 +01:00
+++ b/mysql-test/suite/funcs_1/include/memory_tb2.inc 2008-03-05 18:20:01 +01:00
@@ -1,8 +1,5 @@
##### suite/funcs_1/include/memory_tb2.inc
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-
--disable_warnings
drop table if exists tb2 ;
--enable_warnings
diff -Nrup a/mysql-test/suite/funcs_1/include/memory_tb3.inc b/mysql-test/suite/funcs_1/include/memory_tb3.inc
--- a/mysql-test/suite/funcs_1/include/memory_tb3.inc 2007-02-06 18:54:35 +01:00
+++ b/mysql-test/suite/funcs_1/include/memory_tb3.inc 2008-03-05 18:20:01 +01:00
@@ -1,8 +1,5 @@
##### suite/funcs_1/include/memory_tb3.inc
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-
--disable_warnings
drop table if exists tb3;
--enable_warnings
diff -Nrup a/mysql-test/suite/funcs_1/include/memory_tb4.inc b/mysql-test/suite/funcs_1/include/memory_tb4.inc
--- a/mysql-test/suite/funcs_1/include/memory_tb4.inc 2007-02-06 18:54:35 +01:00
+++ b/mysql-test/suite/funcs_1/include/memory_tb4.inc 2008-03-05 18:20:01 +01:00
@@ -1,8 +1,5 @@
##### suite/funcs_1/include/memory_tb4.inc
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-
--disable_warnings
drop table if exists tb4 ;
--enable_warnings
diff -Nrup a/mysql-test/suite/funcs_1/include/sp_tb.inc b/mysql-test/suite/funcs_1/include/sp_tb.inc
--- a/mysql-test/suite/funcs_1/include/sp_tb.inc 2007-02-06 18:54:35 +01:00
+++ b/mysql-test/suite/funcs_1/include/sp_tb.inc 2008-03-05 18:20:01 +01:00
@@ -1,9 +1,5 @@
--disable_abort_on_error
-# ML: Should be set outside when memory
-# set @@global.max_heap_table_size=4294967295;
-# set @@session.max_heap_table_size=4294967295;
-
USE test;
--disable_warnings
diff -Nrup a/mysql-test/suite/funcs_1/r/charset_collation_1.result b/mysql-test/suite/funcs_1/r/charset_collation_1.result
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/r/charset_collation_1.result 2008-03-05 18:20:04 +01:00
@@ -0,0 +1,309 @@
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+# Establish connection con (user=dbdict_test)
+
+SELECT *
+FROM information_schema.character_sets
+ORDER BY character_set_name;
+CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
+armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
+ascii ascii_general_ci US ASCII 1
+big5 big5_chinese_ci Big5 Traditional Chinese 2
+binary binary Binary pseudo charset 1
+cp1250 cp1250_general_ci Windows Central European 1
+cp1251 cp1251_general_ci Windows Cyrillic 1
+cp1256 cp1256_general_ci Windows Arabic 1
+cp1257 cp1257_general_ci Windows Baltic 1
+cp850 cp850_general_ci DOS West European 1
+cp852 cp852_general_ci DOS Central European 1
+cp866 cp866_general_ci DOS Russian 1
+cp932 cp932_japanese_ci SJIS for Windows Japanese 2
+dec8 dec8_swedish_ci DEC West European 1
+eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
+euckr euckr_korean_ci EUC-KR Korean 2
+gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
+gbk gbk_chinese_ci GBK Simplified Chinese 2
+geostd8 geostd8_general_ci GEOSTD8 Georgian 1
+greek greek_general_ci ISO 8859-7 Greek 1
+hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
+hp8 hp8_english_ci HP West European 1
+keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
+koi8r koi8r_general_ci KOI8-R Relcom Russian 1
+koi8u koi8u_general_ci KOI8-U Ukrainian 1
+latin1 latin1_swedish_ci cp1252 West European 1
+latin2 latin2_general_ci ISO 8859-2 Central European 1
+latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
+latin7 latin7_general_ci ISO 8859-13 Baltic 1
+macce macce_general_ci Mac Central European 1
+macroman macroman_general_ci Mac West European 1
+sjis sjis_japanese_ci Shift-JIS Japanese 2
+swe7 swe7_swedish_ci 7bit Swedish 1
+tis620 tis620_thai_ci TIS620 Thai 1
+ucs2 ucs2_general_ci UCS-2 Unicode 2
+ujis ujis_japanese_ci EUC-JP Japanese 3
+utf8 utf8_general_ci UTF-8 Unicode 3
+
+SELECT *
+FROM information_schema.collations
+ORDER BY collation_name;
+COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
+armscii8_bin armscii8 64 0
+armscii8_general_ci armscii8 32 Yes 0
+ascii_bin ascii 65 0
+ascii_general_ci ascii 11 Yes 0
+big5_bin big5 84 Yes 1
+big5_chinese_ci big5 1 Yes Yes 1
+binary binary 63 Yes Yes 1
+cp1250_bin cp1250 66 Yes 1
+cp1250_croatian_ci cp1250 44 Yes 1
+cp1250_czech_cs cp1250 34 Yes 2
+cp1250_general_ci cp1250 26 Yes Yes 1
+cp1251_bin cp1251 50 0
+cp1251_bulgarian_ci cp1251 14 0
+cp1251_general_ci cp1251 51 Yes 0
+cp1251_general_cs cp1251 52 0
+cp1251_ukrainian_ci cp1251 23 0
+cp1256_bin cp1256 67 0
+cp1256_general_ci cp1256 57 Yes 0
+cp1257_bin cp1257 58 0
+cp1257_general_ci cp1257 59 Yes 0
+cp1257_lithuanian_ci cp1257 29 0
+cp850_bin cp850 80 0
+cp850_general_ci cp850 4 Yes 0
+cp852_bin cp852 81 0
+cp852_general_ci cp852 40 Yes 0
+cp866_bin cp866 68 0
+cp866_general_ci cp866 36 Yes 0
+cp932_bin cp932 96 Yes 1
+cp932_japanese_ci cp932 95 Yes Yes 1
+dec8_bin dec8 69 0
+dec8_swedish_ci dec8 3 Yes 0
+eucjpms_bin eucjpms 98 Yes 1
+eucjpms_japanese_ci eucjpms 97 Yes Yes 1
+euckr_bin euckr 85 Yes 1
+euckr_korean_ci euckr 19 Yes Yes 1
+gb2312_bin gb2312 86 Yes 1
+gb2312_chinese_ci gb2312 24 Yes Yes 1
+gbk_bin gbk 87 Yes 1
+gbk_chinese_ci gbk 28 Yes Yes 1
+geostd8_bin geostd8 93 0
+geostd8_general_ci geostd8 92 Yes 0
+greek_bin greek 70 0
+greek_general_ci greek 25 Yes 0
+hebrew_bin hebrew 71 0
+hebrew_general_ci hebrew 16 Yes 0
+hp8_bin hp8 72 0
+hp8_english_ci hp8 6 Yes 0
+keybcs2_bin keybcs2 73 0
+keybcs2_general_ci keybcs2 37 Yes 0
+koi8r_bin koi8r 74 0
+koi8r_general_ci koi8r 7 Yes 0
+koi8u_bin koi8u 75 0
+koi8u_general_ci koi8u 22 Yes 0
+latin1_bin latin1 47 Yes 1
+latin1_danish_ci latin1 15 Yes 1
+latin1_general_ci latin1 48 Yes 1
+latin1_general_cs latin1 49 Yes 1
+latin1_german1_ci latin1 5 Yes 1
+latin1_german2_ci latin1 31 Yes 2
+latin1_spanish_ci latin1 94 Yes 1
+latin1_swedish_ci latin1 8 Yes Yes 1
+latin2_bin latin2 77 Yes 1
+latin2_croatian_ci latin2 27 Yes 1
+latin2_czech_cs latin2 2 Yes 4
+latin2_general_ci latin2 9 Yes Yes 1
+latin2_hungarian_ci latin2 21 Yes 1
+latin5_bin latin5 78 0
+latin5_turkish_ci latin5 30 Yes 0
+latin7_bin latin7 79 0
+latin7_estonian_cs latin7 20 0
+latin7_general_ci latin7 41 Yes 0
+latin7_general_cs latin7 42 0
+macce_bin macce 43 0
+macce_general_ci macce 38 Yes 0
+macroman_bin macroman 53 0
+macroman_general_ci macroman 39 Yes 0
+sjis_bin sjis 88 Yes 1
+sjis_japanese_ci sjis 13 Yes Yes 1
+swe7_bin swe7 82 0
+swe7_swedish_ci swe7 10 Yes 0
+tis620_bin tis620 89 Yes 1
+tis620_thai_ci tis620 18 Yes Yes 4
+ucs2_bin ucs2 90 Yes 1
+ucs2_czech_ci ucs2 138 Yes 8
+ucs2_danish_ci ucs2 139 Yes 8
+ucs2_esperanto_ci ucs2 145 Yes 8
+ucs2_estonian_ci ucs2 134 Yes 8
+ucs2_general_ci ucs2 35 Yes Yes 1
+ucs2_hungarian_ci ucs2 146 Yes 8
+ucs2_icelandic_ci ucs2 129 Yes 8
+ucs2_latvian_ci ucs2 130 Yes 8
+ucs2_lithuanian_ci ucs2 140 Yes 8
+ucs2_persian_ci ucs2 144 Yes 8
+ucs2_polish_ci ucs2 133 Yes 8
+ucs2_romanian_ci ucs2 131 Yes 8
+ucs2_roman_ci ucs2 143 Yes 8
+ucs2_slovak_ci ucs2 141 Yes 8
+ucs2_slovenian_ci ucs2 132 Yes 8
+ucs2_spanish2_ci ucs2 142 Yes 8
+ucs2_spanish_ci ucs2 135 Yes 8
+ucs2_swedish_ci ucs2 136 Yes 8
+ucs2_turkish_ci ucs2 137 Yes 8
+ucs2_unicode_ci ucs2 128 Yes 8
+ujis_bin ujis 91 Yes 1
+ujis_japanese_ci ujis 12 Yes Yes 1
+utf8_bin utf8 83 Yes 1
+utf8_czech_ci utf8 202 Yes 8
+utf8_danish_ci utf8 203 Yes 8
+utf8_esperanto_ci utf8 209 Yes 8
+utf8_estonian_ci utf8 198 Yes 8
+utf8_general_ci utf8 33 Yes Yes 1
+utf8_hungarian_ci utf8 210 Yes 8
+utf8_icelandic_ci utf8 193 Yes 8
+utf8_latvian_ci utf8 194 Yes 8
+utf8_lithuanian_ci utf8 204 Yes 8
+utf8_persian_ci utf8 208 Yes 8
+utf8_polish_ci utf8 197 Yes 8
+utf8_romanian_ci utf8 195 Yes 8
+utf8_roman_ci utf8 207 Yes 8
+utf8_slovak_ci utf8 205 Yes 8
+utf8_slovenian_ci utf8 196 Yes 8
+utf8_spanish2_ci utf8 206 Yes 8
+utf8_spanish_ci utf8 199 Yes 8
+utf8_swedish_ci utf8 200 Yes 8
+utf8_turkish_ci utf8 201 Yes 8
+utf8_unicode_ci utf8 192 Yes 8
+
+
+SELECT *
+FROM information_schema.collation_character_set_applicability
+ORDER BY collation_name, character_set_name;
+COLLATION_NAME CHARACTER_SET_NAME
+armscii8_bin armscii8
+armscii8_general_ci armscii8
+ascii_bin ascii
+ascii_general_ci ascii
+big5_bin big5
+big5_chinese_ci big5
+binary binary
+cp1250_bin cp1250
+cp1250_croatian_ci cp1250
+cp1250_czech_cs cp1250
+cp1250_general_ci cp1250
+cp1251_bin cp1251
+cp1251_bulgarian_ci cp1251
+cp1251_general_ci cp1251
+cp1251_general_cs cp1251
+cp1251_ukrainian_ci cp1251
+cp1256_bin cp1256
+cp1256_general_ci cp1256
+cp1257_bin cp1257
+cp1257_general_ci cp1257
+cp1257_lithuanian_ci cp1257
+cp850_bin cp850
+cp850_general_ci cp850
+cp852_bin cp852
+cp852_general_ci cp852
+cp866_bin cp866
+cp866_general_ci cp866
+cp932_bin cp932
+cp932_japanese_ci cp932
+dec8_bin dec8
+dec8_swedish_ci dec8
+eucjpms_bin eucjpms
+eucjpms_japanese_ci eucjpms
+euckr_bin euckr
+euckr_korean_ci euckr
+gb2312_bin gb2312
+gb2312_chinese_ci gb2312
+gbk_bin gbk
+gbk_chinese_ci gbk
+geostd8_bin geostd8
+geostd8_general_ci geostd8
+greek_bin greek
+greek_general_ci greek
+hebrew_bin hebrew
+hebrew_general_ci hebrew
+hp8_bin hp8
+hp8_english_ci hp8
+keybcs2_bin keybcs2
+keybcs2_general_ci keybcs2
+koi8r_bin koi8r
+koi8r_general_ci koi8r
+koi8u_bin koi8u
+koi8u_general_ci koi8u
+latin1_bin latin1
+latin1_danish_ci latin1
+latin1_general_ci latin1
+latin1_general_cs latin1
+latin1_german1_ci latin1
+latin1_german2_ci latin1
+latin1_spanish_ci latin1
+latin1_swedish_ci latin1
+latin2_bin latin2
+latin2_croatian_ci latin2
+latin2_czech_cs latin2
+latin2_general_ci latin2
+latin2_hungarian_ci latin2
+latin5_bin latin5
+latin5_turkish_ci latin5
+latin7_bin latin7
+latin7_estonian_cs latin7
+latin7_general_ci latin7
+latin7_general_cs latin7
+macce_bin macce
+macce_general_ci macce
+macroman_bin macroman
+macroman_general_ci macroman
+sjis_bin sjis
+sjis_japanese_ci sjis
+swe7_bin swe7
+swe7_swedish_ci swe7
+tis620_bin tis620
+tis620_thai_ci tis620
+ucs2_bin ucs2
+ucs2_czech_ci ucs2
+ucs2_danish_ci ucs2
+ucs2_esperanto_ci ucs2
+ucs2_estonian_ci ucs2
+ucs2_general_ci ucs2
+ucs2_hungarian_ci ucs2
+ucs2_icelandic_ci ucs2
+ucs2_latvian_ci ucs2
+ucs2_lithuanian_ci ucs2
+ucs2_persian_ci ucs2
+ucs2_polish_ci ucs2
+ucs2_romanian_ci ucs2
+ucs2_roman_ci ucs2
+ucs2_slovak_ci ucs2
+ucs2_slovenian_ci ucs2
+ucs2_spanish2_ci ucs2
+ucs2_spanish_ci ucs2
+ucs2_swedish_ci ucs2
+ucs2_turkish_ci ucs2
+ucs2_unicode_ci ucs2
+ujis_bin ujis
+ujis_japanese_ci ujis
+utf8_bin utf8
+utf8_czech_ci utf8
+utf8_danish_ci utf8
+utf8_esperanto_ci utf8
+utf8_estonian_ci utf8
+utf8_general_ci utf8
+utf8_hungarian_ci utf8
+utf8_icelandic_ci utf8
+utf8_latvian_ci utf8
+utf8_lithuanian_ci utf8
+utf8_persian_ci utf8
+utf8_polish_ci utf8
+utf8_romanian_ci utf8
+utf8_roman_ci utf8
+utf8_slovak_ci utf8
+utf8_slovenian_ci utf8
+utf8_spanish2_ci utf8
+utf8_spanish_ci utf8
+utf8_swedish_ci utf8
+utf8_turkish_ci utf8
+utf8_unicode_ci utf8
+# Switch to connection default + disconnect con
+DROP USER dbdict_test@localhost;
diff -Nrup a/mysql-test/suite/funcs_1/r/charset_collation_2.result b/mysql-test/suite/funcs_1/r/charset_collation_2.result
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/r/charset_collation_2.result 2008-03-05 18:20:04 +01:00
@@ -0,0 +1,311 @@
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+# Establish connection con (user=dbdict_test)
+
+SELECT *
+FROM information_schema.character_sets
+ORDER BY character_set_name;
+CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
+armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
+ascii ascii_general_ci US ASCII 1
+big5 big5_chinese_ci Big5 Traditional Chinese 2
+binary binary Binary pseudo charset 1
+cp1250 cp1250_general_ci Windows Central European 1
+cp1251 cp1251_general_ci Windows Cyrillic 1
+cp1256 cp1256_general_ci Windows Arabic 1
+cp1257 cp1257_general_ci Windows Baltic 1
+cp850 cp850_general_ci DOS West European 1
+cp852 cp852_general_ci DOS Central European 1
+cp866 cp866_general_ci DOS Russian 1
+cp932 cp932_japanese_ci SJIS for Windows Japanese 2
+dec8 dec8_swedish_ci DEC West European 1
+eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
+euckr euckr_korean_ci EUC-KR Korean 2
+gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
+gbk gbk_chinese_ci GBK Simplified Chinese 2
+geostd8 geostd8_general_ci GEOSTD8 Georgian 1
+greek greek_general_ci ISO 8859-7 Greek 1
+hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
+hp8 hp8_english_ci HP West European 1
+keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
+koi8r koi8r_general_ci KOI8-R Relcom Russian 1
+koi8u koi8u_general_ci KOI8-U Ukrainian 1
+latin1 latin1_swedish_ci cp1252 West European 1
+latin2 latin2_general_ci ISO 8859-2 Central European 1
+latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
+latin7 latin7_general_ci ISO 8859-13 Baltic 1
+macce macce_general_ci Mac Central European 1
+macroman macroman_general_ci Mac West European 1
+sjis sjis_japanese_ci Shift-JIS Japanese 2
+swe7 swe7_swedish_ci 7bit Swedish 1
+tis620 tis620_thai_ci TIS620 Thai 1
+ucs2 ucs2_general_ci UCS-2 Unicode 2
+ujis ujis_japanese_ci EUC-JP Japanese 3
+utf8 utf8_general_ci UTF-8 Unicode 3
+
+SELECT *
+FROM information_schema.collations
+ORDER BY collation_name;
+COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
+armscii8_bin armscii8 64 0
+armscii8_general_ci armscii8 32 Yes 0
+ascii_bin ascii 65 0
+ascii_general_ci ascii 11 Yes 0
+big5_bin big5 84 Yes 1
+big5_chinese_ci big5 1 Yes Yes 1
+binary binary 63 Yes Yes 1
+cp1250_bin cp1250 66 Yes 1
+cp1250_croatian_ci cp1250 44 Yes 1
+cp1250_czech_cs cp1250 34 Yes 2
+cp1250_general_ci cp1250 26 Yes Yes 1
+cp1251_bin cp1251 50 0
+cp1251_bulgarian_ci cp1251 14 0
+cp1251_general_ci cp1251 51 Yes 0
+cp1251_general_cs cp1251 52 0
+cp1251_ukrainian_ci cp1251 23 0
+cp1256_bin cp1256 67 0
+cp1256_general_ci cp1256 57 Yes 0
+cp1257_bin cp1257 58 0
+cp1257_general_ci cp1257 59 Yes 0
+cp1257_lithuanian_ci cp1257 29 0
+cp850_bin cp850 80 0
+cp850_general_ci cp850 4 Yes 0
+cp852_bin cp852 81 0
+cp852_general_ci cp852 40 Yes 0
+cp866_bin cp866 68 0
+cp866_general_ci cp866 36 Yes 0
+cp932_bin cp932 96 Yes 1
+cp932_japanese_ci cp932 95 Yes Yes 1
+dec8_bin dec8 69 0
+dec8_swedish_ci dec8 3 Yes 0
+eucjpms_bin eucjpms 98 Yes 1
+eucjpms_japanese_ci eucjpms 97 Yes Yes 1
+euckr_bin euckr 85 Yes 1
+euckr_korean_ci euckr 19 Yes Yes 1
+gb2312_bin gb2312 86 Yes 1
+gb2312_chinese_ci gb2312 24 Yes Yes 1
+gbk_bin gbk 87 Yes 1
+gbk_chinese_ci gbk 28 Yes Yes 1
+geostd8_bin geostd8 93 0
+geostd8_general_ci geostd8 92 Yes 0
+greek_bin greek 70 0
+greek_general_ci greek 25 Yes 0
+hebrew_bin hebrew 71 0
+hebrew_general_ci hebrew 16 Yes 0
+hp8_bin hp8 72 0
+hp8_english_ci hp8 6 Yes 0
+keybcs2_bin keybcs2 73 0
+keybcs2_general_ci keybcs2 37 Yes 0
+koi8r_bin koi8r 74 0
+koi8r_general_ci koi8r 7 Yes 0
+koi8u_bin koi8u 75 0
+koi8u_general_ci koi8u 22 Yes 0
+latin1_bin latin1 47 Yes 1
+latin1_danish_ci latin1 15 Yes 1
+latin1_general_ci latin1 48 Yes 1
+latin1_general_cs latin1 49 Yes 1
+latin1_german1_ci latin1 5 Yes 1
+latin1_german2_ci latin1 31 Yes 2
+latin1_spanish_ci latin1 94 Yes 1
+latin1_swedish_ci latin1 8 Yes Yes 1
+latin2_bin latin2 77 Yes 1
+latin2_croatian_ci latin2 27 Yes 1
+latin2_czech_cs latin2 2 Yes 4
+latin2_general_ci latin2 9 Yes Yes 1
+latin2_hungarian_ci latin2 21 Yes 1
+latin5_bin latin5 78 0
+latin5_turkish_ci latin5 30 Yes 0
+latin7_bin latin7 79 0
+latin7_estonian_cs latin7 20 0
+latin7_general_ci latin7 41 Yes 0
+latin7_general_cs latin7 42 0
+macce_bin macce 43 0
+macce_general_ci macce 38 Yes 0
+macroman_bin macroman 53 0
+macroman_general_ci macroman 39 Yes 0
+sjis_bin sjis 88 Yes 1
+sjis_japanese_ci sjis 13 Yes Yes 1
+swe7_bin swe7 82 0
+swe7_swedish_ci swe7 10 Yes 0
+tis620_bin tis620 89 Yes 1
+tis620_thai_ci tis620 18 Yes Yes 4
+ucs2_bin ucs2 90 Yes 1
+ucs2_czech_ci ucs2 138 Yes 8
+ucs2_danish_ci ucs2 139 Yes 8
+ucs2_esperanto_ci ucs2 145 Yes 8
+ucs2_estonian_ci ucs2 134 Yes 8
+ucs2_general_ci ucs2 35 Yes Yes 1
+ucs2_hungarian_ci ucs2 146 Yes 8
+ucs2_icelandic_ci ucs2 129 Yes 8
+ucs2_latvian_ci ucs2 130 Yes 8
+ucs2_lithuanian_ci ucs2 140 Yes 8
+ucs2_persian_ci ucs2 144 Yes 8
+ucs2_polish_ci ucs2 133 Yes 8
+ucs2_romanian_ci ucs2 131 Yes 8
+ucs2_roman_ci ucs2 143 Yes 8
+ucs2_slovak_ci ucs2 141 Yes 8
+ucs2_slovenian_ci ucs2 132 Yes 8
+ucs2_spanish2_ci ucs2 142 Yes 8
+ucs2_spanish_ci ucs2 135 Yes 8
+ucs2_swedish_ci ucs2 136 Yes 8
+ucs2_turkish_ci ucs2 137 Yes 8
+ucs2_unicode_ci ucs2 128 Yes 8
+ujis_bin ujis 91 Yes 1
+ujis_japanese_ci ujis 12 Yes Yes 1
+utf8_bin utf8 83 Yes 1
+utf8_czech_ci utf8 202 Yes 8
+utf8_danish_ci utf8 203 Yes 8
+utf8_esperanto_ci utf8 209 Yes 8
+utf8_estonian_ci utf8 198 Yes 8
+utf8_general_ci utf8 33 Yes Yes 1
+utf8_general_cs utf8 254 Yes 1
+utf8_hungarian_ci utf8 210 Yes 8
+utf8_icelandic_ci utf8 193 Yes 8
+utf8_latvian_ci utf8 194 Yes 8
+utf8_lithuanian_ci utf8 204 Yes 8
+utf8_persian_ci utf8 208 Yes 8
+utf8_polish_ci utf8 197 Yes 8
+utf8_romanian_ci utf8 195 Yes 8
+utf8_roman_ci utf8 207 Yes 8
+utf8_slovak_ci utf8 205 Yes 8
+utf8_slovenian_ci utf8 196 Yes 8
+utf8_spanish2_ci utf8 206 Yes 8
+utf8_spanish_ci utf8 199 Yes 8
+utf8_swedish_ci utf8 200 Yes 8
+utf8_turkish_ci utf8 201 Yes 8
+utf8_unicode_ci utf8 192 Yes 8
+
+
+SELECT *
+FROM information_schema.collation_character_set_applicability
+ORDER BY collation_name, character_set_name;
+COLLATION_NAME CHARACTER_SET_NAME
+armscii8_bin armscii8
+armscii8_general_ci armscii8
+ascii_bin ascii
+ascii_general_ci ascii
+big5_bin big5
+big5_chinese_ci big5
+binary binary
+cp1250_bin cp1250
+cp1250_croatian_ci cp1250
+cp1250_czech_cs cp1250
+cp1250_general_ci cp1250
+cp1251_bin cp1251
+cp1251_bulgarian_ci cp1251
+cp1251_general_ci cp1251
+cp1251_general_cs cp1251
+cp1251_ukrainian_ci cp1251
+cp1256_bin cp1256
+cp1256_general_ci cp1256
+cp1257_bin cp1257
+cp1257_general_ci cp1257
+cp1257_lithuanian_ci cp1257
+cp850_bin cp850
+cp850_general_ci cp850
+cp852_bin cp852
+cp852_general_ci cp852
+cp866_bin cp866
+cp866_general_ci cp866
+cp932_bin cp932
+cp932_japanese_ci cp932
+dec8_bin dec8
+dec8_swedish_ci dec8
+eucjpms_bin eucjpms
+eucjpms_japanese_ci eucjpms
+euckr_bin euckr
+euckr_korean_ci euckr
+gb2312_bin gb2312
+gb2312_chinese_ci gb2312
+gbk_bin gbk
+gbk_chinese_ci gbk
+geostd8_bin geostd8
+geostd8_general_ci geostd8
+greek_bin greek
+greek_general_ci greek
+hebrew_bin hebrew
+hebrew_general_ci hebrew
+hp8_bin hp8
+hp8_english_ci hp8
+keybcs2_bin keybcs2
+keybcs2_general_ci keybcs2
+koi8r_bin koi8r
+koi8r_general_ci koi8r
+koi8u_bin koi8u
+koi8u_general_ci koi8u
+latin1_bin latin1
+latin1_danish_ci latin1
+latin1_general_ci latin1
+latin1_general_cs latin1
+latin1_german1_ci latin1
+latin1_german2_ci latin1
+latin1_spanish_ci latin1
+latin1_swedish_ci latin1
+latin2_bin latin2
+latin2_croatian_ci latin2
+latin2_czech_cs latin2
+latin2_general_ci latin2
+latin2_hungarian_ci latin2
+latin5_bin latin5
+latin5_turkish_ci latin5
+latin7_bin latin7
+latin7_estonian_cs latin7
+latin7_general_ci latin7
+latin7_general_cs latin7
+macce_bin macce
+macce_general_ci macce
+macroman_bin macroman
+macroman_general_ci macroman
+sjis_bin sjis
+sjis_japanese_ci sjis
+swe7_bin swe7
+swe7_swedish_ci swe7
+tis620_bin tis620
+tis620_thai_ci tis620
+ucs2_bin ucs2
+ucs2_czech_ci ucs2
+ucs2_danish_ci ucs2
+ucs2_esperanto_ci ucs2
+ucs2_estonian_ci ucs2
+ucs2_general_ci ucs2
+ucs2_hungarian_ci ucs2
+ucs2_icelandic_ci ucs2
+ucs2_latvian_ci ucs2
+ucs2_lithuanian_ci ucs2
+ucs2_persian_ci ucs2
+ucs2_polish_ci ucs2
+ucs2_romanian_ci ucs2
+ucs2_roman_ci ucs2
+ucs2_slovak_ci ucs2
+ucs2_slovenian_ci ucs2
+ucs2_spanish2_ci ucs2
+ucs2_spanish_ci ucs2
+ucs2_swedish_ci ucs2
+ucs2_turkish_ci ucs2
+ucs2_unicode_ci ucs2
+ujis_bin ujis
+ujis_japanese_ci ujis
+utf8_bin utf8
+utf8_czech_ci utf8
+utf8_danish_ci utf8
+utf8_esperanto_ci utf8
+utf8_estonian_ci utf8
+utf8_general_ci utf8
+utf8_general_cs utf8
+utf8_hungarian_ci utf8
+utf8_icelandic_ci utf8
+utf8_latvian_ci utf8
+utf8_lithuanian_ci utf8
+utf8_persian_ci utf8
+utf8_polish_ci utf8
+utf8_romanian_ci utf8
+utf8_roman_ci utf8
+utf8_slovak_ci utf8
+utf8_slovenian_ci utf8
+utf8_spanish2_ci utf8
+utf8_spanish_ci utf8
+utf8_swedish_ci utf8
+utf8_turkish_ci utf8
+utf8_unicode_ci utf8
+# Switch to connection default + disconnect con
+DROP USER dbdict_test@localhost;
diff -Nrup a/mysql-test/suite/funcs_1/r/charset_collation_3.result b/mysql-test/suite/funcs_1/r/charset_collation_3.result
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/funcs_1/r/charset_collation_3.result 2008-03-05 18:20:04 +01:00
@@ -0,0 +1,309 @@
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+# Establish connection con (user=dbdict_test)
+
+SELECT *
+FROM information_schema.character_sets
+ORDER BY character_set_name;
+CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
+armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
+ascii ascii_general_ci US ASCII 1
+big5 big5_chinese_ci Big5 Traditional Chinese 2
+binary binary Binary pseudo charset 1
+cp1250 cp1250_general_ci Windows Central European 1
+cp1251 cp1251_general_ci Windows Cyrillic 1
+cp1256 cp1256_general_ci Windows Arabic 1
+cp1257 cp1257_general_ci Windows Baltic 1
+cp850 cp850_general_ci DOS West European 1
+cp852 cp852_general_ci DOS Central European 1
+cp866 cp866_general_ci DOS Russian 1
+cp932 cp932_japanese_ci SJIS for Windows Japanese 2
+dec8 dec8_swedish_ci DEC West European 1
+eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
+euckr euckr_korean_ci EUC-KR Korean 2
+gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
+gbk gbk_chinese_ci GBK Simplified Chinese 2
+geostd8 geostd8_general_ci GEOSTD8 Georgian 1
+greek greek_general_ci ISO 8859-7 Greek 1
+hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
+hp8 hp8_english_ci HP West European 1
+keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
+koi8r koi8r_general_ci KOI8-R Relcom Russian 1
+koi8u koi8u_general_ci KOI8-U Ukrainian 1
+latin1 latin1_swedish_ci cp1252 West European 1
+latin2 latin2_general_ci ISO 8859-2 Central European 1
+latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
+latin7 latin7_general_ci ISO 8859-13 Baltic 1
+macce macce_general_ci Mac Central European 1
+macroman macroman_general_ci Mac West European 1
+sjis sjis_japanese_ci Shift-JIS Japanese 2
+swe7 swe7_swedish_ci 7bit Swedish 1
+tis620 tis620_thai_ci TIS620 Thai 1
+ucs2 ucs2_general_ci UCS-2 Unicode 2
+ujis ujis_japanese_ci EUC-JP Japanese 3
+utf8 utf8_general_ci UTF-8 Unicode 3
+
+SELECT *
+FROM information_schema.collations
+ORDER BY collation_name;
+COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
+armscii8_bin armscii8 64 Yes 1
+armscii8_general_ci armscii8 32 Yes Yes 1
+ascii_bin ascii 65 Yes 1
+ascii_general_ci ascii 11 Yes Yes 1
+big5_bin big5 84 Yes 1
+big5_chinese_ci big5 1 Yes Yes 1
+binary binary 63 Yes Yes 1
+cp1250_bin cp1250 66 Yes 1
+cp1250_croatian_ci cp1250 44 Yes 1
+cp1250_czech_cs cp1250 34 Yes 2
+cp1250_general_ci cp1250 26 Yes Yes 1
+cp1251_bin cp1251 50 Yes 1
+cp1251_bulgarian_ci cp1251 14 Yes 1
+cp1251_general_ci cp1251 51 Yes Yes 1
+cp1251_general_cs cp1251 52 Yes 1
+cp1251_ukrainian_ci cp1251 23 Yes 1
+cp1256_bin cp1256 67 Yes 1
+cp1256_general_ci cp1256 57 Yes Yes 1
+cp1257_bin cp1257 58 Yes 1
+cp1257_general_ci cp1257 59 Yes Yes 1
+cp1257_lithuanian_ci cp1257 29 Yes 1
+cp850_bin cp850 80 Yes 1
+cp850_general_ci cp850 4 Yes Yes 1
+cp852_bin cp852 81 Yes 1
+cp852_general_ci cp852 40 Yes Yes 1
+cp866_bin cp866 68 Yes 1
+cp866_general_ci cp866 36 Yes Yes 1
+cp932_bin cp932 96 Yes 1
+cp932_japanese_ci cp932 95 Yes Yes 1
+dec8_bin dec8 69 Yes 1
+dec8_swedish_ci dec8 3 Yes Yes 1
+eucjpms_bin eucjpms 98 Yes 1
+eucjpms_japanese_ci eucjpms 97 Yes Yes 1
+euckr_bin euckr 85 Yes 1
+euckr_korean_ci euckr 19 Yes Yes 1
+gb2312_bin gb2312 86 Yes 1
+gb2312_chinese_ci gb2312 24 Yes Yes 1
+gbk_bin gbk 87 Yes 1
+gbk_chinese_ci gbk 28 Yes Yes 1
+geostd8_bin geostd8 93 Yes 1
+geostd8_general_ci geostd8 92 Yes Yes 1
+greek_bin greek 70 Yes 1
+greek_general_ci greek 25 Yes Yes 1
+hebrew_bin hebrew 71 Yes 1
+hebrew_general_ci hebrew 16 Yes Yes 1
+hp8_bin hp8 72 Yes 1
+hp8_english_ci hp8 6 Yes Yes 1
+keybcs2_bin keybcs2 73 Yes 1
+keybcs2_general_ci keybcs2 37 Yes Yes 1
+koi8r_bin koi8r 74 Yes 1
+koi8r_general_ci koi8r 7 Yes Yes 1
+koi8u_bin koi8u 75 Yes 1
+koi8u_general_ci koi8u 22 Yes Yes 1
+latin1_bin latin1 47 Yes 1
+latin1_danish_ci latin1 15 Yes 1
+latin1_general_ci latin1 48 Yes 1
+latin1_general_cs latin1 49 Yes 1
+latin1_german1_ci latin1 5 Yes 1
+latin1_german2_ci latin1 31 Yes 2
+latin1_spanish_ci latin1 94 Yes 1
+latin1_swedish_ci latin1 8 Yes Yes 1
+latin2_bin latin2 77 Yes 1
+latin2_croatian_ci latin2 27 Yes 1
+latin2_czech_cs latin2 2 Yes 4
+latin2_general_ci latin2 9 Yes Yes 1
+latin2_hungarian_ci latin2 21 Yes 1
+latin5_bin latin5 78 Yes 1
+latin5_turkish_ci latin5 30 Yes Yes 1
+latin7_bin latin7 79 Yes 1
+latin7_estonian_cs latin7 20 Yes 1
+latin7_general_ci latin7 41 Yes Yes 1
+latin7_general_cs latin7 42 Yes 1
+macce_bin macce 43 Yes 1
+macce_general_ci macce 38 Yes Yes 1
+macroman_bin macroman 53 Yes 1
+macroman_general_ci macroman 39 Yes Yes 1
+sjis_bin sjis 88 Yes 1
+sjis_japanese_ci sjis 13 Yes Yes 1
+swe7_bin swe7 82 Yes 1
+swe7_swedish_ci swe7 10 Yes Yes 1
+tis620_bin tis620 89 Yes 1
+tis620_thai_ci tis620 18 Yes Yes 4
+ucs2_bin ucs2 90 Yes 1
+ucs2_czech_ci ucs2 138 Yes 8
+ucs2_danish_ci ucs2 139 Yes 8
+ucs2_esperanto_ci ucs2 145 Yes 8
+ucs2_estonian_ci ucs2 134 Yes 8
+ucs2_general_ci ucs2 35 Yes Yes 1
+ucs2_hungarian_ci ucs2 146 Yes 8
+ucs2_icelandic_ci ucs2 129 Yes 8
+ucs2_latvian_ci ucs2 130 Yes 8
+ucs2_lithuanian_ci ucs2 140 Yes 8
+ucs2_persian_ci ucs2 144 Yes 8
+ucs2_polish_ci ucs2 133 Yes 8
+ucs2_romanian_ci ucs2 131 Yes 8
+ucs2_roman_ci ucs2 143 Yes 8
+ucs2_slovak_ci ucs2 141 Yes 8
+ucs2_slovenian_ci ucs2 132 Yes 8
+ucs2_spanish2_ci ucs2 142 Yes 8
+ucs2_spanish_ci ucs2 135 Yes 8
+ucs2_swedish_ci ucs2 136 Yes 8
+ucs2_turkish_ci ucs2 137 Yes 8
+ucs2_unicode_ci ucs2 128 Yes 8
+ujis_bin ujis 91 Yes 1
+ujis_japanese_ci ujis 12 Yes Yes 1
+utf8_bin utf8 83 Yes 1
+utf8_czech_ci utf8 202 Yes 8
+utf8_danish_ci utf8 203 Yes 8
+utf8_esperanto_ci utf8 209 Yes 8
+utf8_estonian_ci utf8 198 Yes 8
+utf8_general_ci utf8 33 Yes Yes 1
+utf8_hungarian_ci utf8 210 Yes 8
+utf8_icelandic_ci utf8 193 Yes 8
+utf8_latvian_ci utf8 194 Yes 8
+utf8_lithuanian_ci utf8 204 Yes 8
+utf8_persian_ci utf8 208 Yes 8
+utf8_polish_ci utf8 197 Yes 8
+utf8_romanian_ci utf8 195 Yes 8
+utf8_roman_ci utf8 207 Yes 8
+utf8_slovak_ci utf8 205 Yes 8
+utf8_slovenian_ci utf8 196 Yes 8
+utf8_spanish2_ci utf8 206 Yes 8
+utf8_spanish_ci utf8 199 Yes 8
+utf8_swedish_ci utf8 200 Yes 8
+utf8_turkish_ci utf8 201 Yes 8
+utf8_unicode_ci utf8 192 Yes 8
+
+
+SELECT *
+FROM information_schema.collation_character_set_applicability
+ORDER BY collation_name, character_set_name;
+COLLATION_NAME CHARACTER_SET_NAME
+armscii8_bin armscii8
+armscii8_general_ci armscii8
+ascii_bin ascii
+ascii_general_ci ascii
+big5_bin big5
+big5_chinese_ci big5
+binary binary
+cp1250_bin cp1250
+cp1250_croatian_ci cp1250
+cp1250_czech_cs cp1250
+cp1250_general_ci cp1250
+cp1251_bin cp1251
+cp1251_bulgarian_ci cp1251
+cp1251_general_ci cp1251
+cp1251_general_cs cp1251
+cp1251_ukrainian_ci cp1251
+cp1256_bin cp1256
+cp1256_general_ci cp1256
+cp1257_bin cp1257
+cp1257_general_ci cp1257
+cp1257_lithuanian_ci cp1257
+cp850_bin cp850
+cp850_general_ci cp850
+cp852_bin cp852
+cp852_general_ci cp852
+cp866_bin cp866
+cp866_general_ci cp866
+cp932_bin cp932
+cp932_japanese_ci cp932
+dec8_bin dec8
+dec8_swedish_ci dec8
+eucjpms_bin eucjpms
+eucjpms_japanese_ci eucjpms
+euckr_bin euckr
+euckr_korean_ci euckr
+gb2312_bin gb2312
+gb2312_chinese_ci gb2312
+gbk_bin gbk
+gbk_chinese_ci gbk
+geostd8_bin geostd8
+geostd8_general_ci geostd8
+greek_bin greek
+greek_general_ci greek
+hebrew_bin hebrew
+hebrew_general_ci hebrew
+hp8_bin hp8
+hp8_english_ci hp8
+keybcs2_bin keybcs2
+keybcs2_general_ci keybcs2
+koi8r_bin koi8r
+koi8r_general_ci koi8r
+koi8u_bin koi8u
+koi8u_general_ci koi8u
+latin1_bin latin1
+latin1_danish_ci latin1
+latin1_general_ci latin1
+latin1_general_cs latin1
+latin1_german1_ci latin1
+latin1_german2_ci latin1
+latin1_spanish_ci latin1
+latin1_swedish_ci latin1
+latin2_bin latin2
+latin2_croatian_ci latin2
+latin2_czech_cs latin2
+latin2_general_ci latin2
+latin2_hungarian_ci latin2
+latin5_bin latin5
+latin5_turkish_ci latin5
+latin7_bin latin7
+latin7_estonian_cs latin7
+latin7_general_ci latin7
+latin7_general_cs latin7
+macce_bin macce
+macce_general_ci macce
+macroman_bin macroman
+macroman_general_ci macroman
+sjis_bin sjis
+sjis_japanese_ci sjis
+swe7_bin swe7
+swe7_swedish_ci swe7
+tis620_bin tis620
+tis620_thai_ci tis620
+ucs2_bin ucs2
+ucs2_czech_ci ucs2
+ucs2_danish_ci ucs2
+ucs2_esperanto_ci ucs2
+ucs2_estonian_ci ucs2
+ucs2_general_ci ucs2
+ucs2_hungarian_ci ucs2
+ucs2_icelandic_ci ucs2
+ucs2_latvian_ci ucs2
+ucs2_lithuanian_ci ucs2
+ucs2_persian_ci ucs2
+ucs2_polish_ci ucs2
+ucs2_romanian_ci ucs2
+ucs2_roman_ci ucs2
+ucs2_slovak_ci ucs2
+ucs2_slovenian_ci ucs2
+ucs2_spanish2_ci ucs2
+ucs2_spanish_ci ucs2
+ucs2_swedish_ci ucs2
+ucs2_turkish_ci ucs2
+ucs2_unicode_ci ucs2
+ujis_bin ujis
+ujis_japanese_ci ujis
+utf8_bin utf8
+utf8_czech_ci utf8
+utf8_danish_ci utf8
+utf8_esperanto_ci utf8
+utf8_estonian_ci utf8
+utf8_general_ci utf8
+utf8_hungarian_ci utf8
+utf8_icelandic_ci utf8
+utf8_latvian_ci utf8
+utf8_lithuanian_ci utf8
+utf8_persian_ci utf8
+utf8_polish_ci utf8
+utf8_romanian_ci utf8
+utf8_roman_ci utf8
+utf8_slovak_ci utf8
+utf8_slovenian_ci utf8
+utf8_spanish2_ci utf8
+utf8_spanish_ci utf8
+utf8_swedish_ci utf8
+utf8_turkish_ci utf8
+utf8_unicode_ci utf8
+# Switch to connection default + disconnect con
+DROP USER dbdict_test@localhost;
diff -Nrup a/mysql-test/suite/funcs_1/r/datadict_help_tables_build.result b/mysql-test/suite/funcs_1/r/datadict_help_tables_build.result
--- a/mysql-test/suite/funcs_1/r/datadict_help_tables_build.result 2007-08-28 18:35:22 +02:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,22 +0,0 @@
-DELETE FROM mysql.help_category LIMIT <number>;
-DELETE FROM mysql.help_keyword LIMIT <number>;
-DELETE FROM mysql.help_relation LIMIT <number>;
-DELETE FROM mysql.help_topic LIMIT <number>;
-SELECT * FROM INFORMATION_SCHEMA.TABLES
-WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
-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 mysql help_category BASE TABLE MyISAM 10 Fixed 30 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
-NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 320 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
-NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 640 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
-NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 380 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
-SELECT * FROM INFORMATION_SCHEMA.STATISTICS
-WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 30 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 30 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 320 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 320 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 640 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 380 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 380 NULL NULL BTREE
diff -Nrup a/mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result b/mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result
--- a/mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result 2007-08-28 18:35:22 +02:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,18 +0,0 @@
-SELECT * FROM INFORMATION_SCHEMA.TABLES
-WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
-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 mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
-NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
-NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
-NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
-SELECT * FROM INFORMATION_SCHEMA.STATISTICS
-WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
diff -Nrup a/mysql-test/suite/funcs_1/r/innodb__datadict.result b/mysql-test/suite/funcs_1/r/innodb__datadict.result
--- a/mysql-test/suite/funcs_1/r/innodb__datadict.result 2007-11-21 13:50:16 +01:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,12916 +0,0 @@
-
-.
-. It is intended that the 3 <engine>__datadict.test files are named this way to be
-. sure they are - in a *full run* of the suite - the first tests done for each
-. storage engine. Using two _ and the order of processing in mysql-test-run.pl
-. ensures this in an easy way.
-.
-. If needed a restart could be implemented later between the storage engines if
-. values changes in the result depending from the position where the
-. *__datadict.test are started. This can be a result of showing e.g. maximum
-. values of the number of rows of tables.
-.
-. This .result file has been checked OK with Linux 5.0.48,
-. build tree ChangeSet@stripped, 2007-07-30
-. except that the not fixed Bug#30020 causes a difference.
-.
---------------------------------------------------------------------------------
-
-FIXME: There are subtests that are switched off due to known bugs:
-------------------------------------------------------------------
-SELECT 1 AS "have_bug_11589";
-have_bug_11589
-1
-
-There are some statements where the ps-protocol is switched off.
-This may come from the bug listed below, ir from other problems.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-DROP DATABASE IF EXISTS test1;
-CREATE DATABASE test1;
-USE test;
-drop table if exists tb1 ;
-create table tb1 (
-f1 char(0),
-f2 char(0) binary,
-f3 char(0) ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
-f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal,
-f34 decimal unsigned,
-f35 decimal zerofill,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = innodb;
-Warnings:
-Note 1265 Data truncated for column 'f36' at row 1
-Note 1265 Data truncated for column 'f37' at row 1
-Note 1265 Data truncated for column 'f38' at row 1
-Note 1265 Data truncated for column 'f39' at row 1
-Note 1265 Data truncated for column 'f40' at row 1
-Note 1265 Data truncated for column 'f41' at row 1
-Note 1265 Data truncated for column 'f42' at row 1
-Note 1265 Data truncated for column 'f43' at row 1
-Note 1265 Data truncated for column 'f44' at row 1
-Note 1265 Data truncated for column 'f45' at row 1
-Note 1265 Data truncated for column 'f47' at row 1
-Note 1265 Data truncated for column 'f49' at row 1
-Note 1265 Data truncated for column 'f51' at row 1
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb1.txt' into table tb1 ;
-drop table if exists tb2 ;
-create table tb2 (
-f59 numeric (0) unsigned,
-f60 numeric (64) unsigned,
-f61 numeric (0) zerofill,
-f62 numeric (64) zerofill,
-f63 numeric (0) unsigned zerofill,
-f64 numeric (64) unsigned zerofill,
-f65 numeric (0,0),
-f66 numeric (63,30),
-f67 numeric (0,0) unsigned,
-f68 numeric (63,30) unsigned,
-f69 numeric (0,0) zerofill,
-f70 numeric (63,30) zerofill,
-f71 numeric (0,0) unsigned zerofill,
-f72 numeric (63,30) unsigned zerofill,
-f73 real,
-f74 real unsigned,
-f75 real zerofill,
-f76 real unsigned zerofill,
-f77 double default 7.7,
-f78 double unsigned default 7.7,
-f79 double zerofill default 7.7,
-f80 double unsigned zerofill default 8.8,
-f81 float not null default 8.8,
-f82 float unsigned not null default 8.8,
-f83 float zerofill not null default 8.8,
-f84 float unsigned zerofill not null default 8.8,
-f85 float(0) not null default 8.8,
-f86 float(23) not null default 8.8,
-f87 float(0) unsigned not null default 8.8,
-f88 float(23) unsigned not null default 8.8,
-f89 float(0) zerofill not null default 8.8,
-f90 float(23) zerofill not null default 8.8,
-f91 float(0) unsigned zerofill not null default 8.8,
-f92 float(23) unsigned zerofill not null default 8.8,
-f93 float(24) not null default 8.8,
-f94 float(53) not null default 8.8,
-f95 float(24) unsigned not null default 8.8,
-f96 float(53) unsigned not null default 8.8,
-f97 float(24) zerofill not null default 8.8,
-f98 float(53) zerofill not null default 8.8,
-f99 float(24) unsigned zerofill not null default 8.8,
-f100 float(53) unsigned zerofill not null default 8.8,
-f101 date not null default '2000-01-01',
-f102 time not null default 20,
-f103 datetime not null default '2/2/2',
-f104 timestamp not null default 20001231235959,
-f105 year not null default 2000,
-f106 year(3) not null default 2000,
-f107 year(4) not null default 2000,
-f108 enum("1enum","2enum") not null default "1enum",
-f109 set("1set","2set") not null default "1set"
-) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb2.txt' into table tb2 ;
-drop table if exists tb3 ;
-create table tb3 (
-f118 char not null DEFAULT 'a',
-f119 char binary not null DEFAULT b'101',
-f120 char ascii not null DEFAULT b'101',
-f121 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-f129 binary not null DEFAULT b'101',
-f130 tinyint not null DEFAULT 99,
-f131 tinyint unsigned not null DEFAULT 99,
-f132 tinyint zerofill not null DEFAULT 99,
-f133 tinyint unsigned zerofill not null DEFAULT 99,
-f134 smallint not null DEFAULT 999,
-f135 smallint unsigned not null DEFAULT 999,
-f136 smallint zerofill not null DEFAULT 999,
-f137 smallint unsigned zerofill not null DEFAULT 999,
-f138 mediumint not null DEFAULT 9999,
-f139 mediumint unsigned not null DEFAULT 9999,
-f140 mediumint zerofill not null DEFAULT 9999,
-f141 mediumint unsigned zerofill not null DEFAULT 9999,
-f142 int not null DEFAULT 99999,
-f143 int unsigned not null DEFAULT 99999,
-f144 int zerofill not null DEFAULT 99999,
-f145 int unsigned zerofill not null DEFAULT 99999,
-f146 bigint not null DEFAULT 999999,
-f147 bigint unsigned not null DEFAULT 999999,
-f148 bigint zerofill not null DEFAULT 999999,
-f149 bigint unsigned zerofill not null DEFAULT 999999,
-f150 decimal not null DEFAULT 999.999,
-f151 decimal unsigned not null DEFAULT 999.17,
-f152 decimal zerofill not null DEFAULT 999.999,
-f153 decimal unsigned zerofill,
-f154 decimal (0),
-f155 decimal (64),
-f156 decimal (0) unsigned,
-f157 decimal (64) unsigned,
-f158 decimal (0) zerofill,
-f159 decimal (64) zerofill,
-f160 decimal (0) unsigned zerofill,
-f161 decimal (64) unsigned zerofill,
-f162 decimal (0,0),
-f163 decimal (63,30),
-f164 decimal (0,0) unsigned,
-f165 decimal (63,30) unsigned,
-f166 decimal (0,0) zerofill,
-f167 decimal (63,30) zerofill,
-f168 decimal (0,0) unsigned zerofill,
-f169 decimal (63,30) unsigned zerofill,
-f170 numeric,
-f171 numeric unsigned,
-f172 numeric zerofill,
-f173 numeric unsigned zerofill,
-f174 numeric (0),
-f175 numeric (64)
-) engine = innodb;
-Warnings:
-Note 1265 Data truncated for column 'f150' at row 1
-Note 1265 Data truncated for column 'f151' at row 1
-Note 1265 Data truncated for column 'f152' at row 1
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
-drop table if exists tb4;
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f235 char(0) unicode,
-f236 char(90),
-f237 char(255) ascii,
-f238 varchar(0),
-f239 varchar(20000) binary,
-f240 varchar(2000) unicode,
-f241 char(100) unicode
-) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb4.txt' into table tb4 ;
-USE test1;
-drop table if exists tb2 ;
-create table tb2 (
-f59 numeric (0) unsigned,
-f60 numeric (64) unsigned,
-f61 numeric (0) zerofill,
-f62 numeric (64) zerofill,
-f63 numeric (0) unsigned zerofill,
-f64 numeric (64) unsigned zerofill,
-f65 numeric (0,0),
-f66 numeric (63,30),
-f67 numeric (0,0) unsigned,
-f68 numeric (63,30) unsigned,
-f69 numeric (0,0) zerofill,
-f70 numeric (63,30) zerofill,
-f71 numeric (0,0) unsigned zerofill,
-f72 numeric (63,30) unsigned zerofill,
-f73 real,
-f74 real unsigned,
-f75 real zerofill,
-f76 real unsigned zerofill,
-f77 double default 7.7,
-f78 double unsigned default 7.7,
-f79 double zerofill default 7.7,
-f80 double unsigned zerofill default 8.8,
-f81 float not null default 8.8,
-f82 float unsigned not null default 8.8,
-f83 float zerofill not null default 8.8,
-f84 float unsigned zerofill not null default 8.8,
-f85 float(0) not null default 8.8,
-f86 float(23) not null default 8.8,
-f87 float(0) unsigned not null default 8.8,
-f88 float(23) unsigned not null default 8.8,
-f89 float(0) zerofill not null default 8.8,
-f90 float(23) zerofill not null default 8.8,
-f91 float(0) unsigned zerofill not null default 8.8,
-f92 float(23) unsigned zerofill not null default 8.8,
-f93 float(24) not null default 8.8,
-f94 float(53) not null default 8.8,
-f95 float(24) unsigned not null default 8.8,
-f96 float(53) unsigned not null default 8.8,
-f97 float(24) zerofill not null default 8.8,
-f98 float(53) zerofill not null default 8.8,
-f99 float(24) unsigned zerofill not null default 8.8,
-f100 float(53) unsigned zerofill not null default 8.8,
-f101 date not null default '2000-01-01',
-f102 time not null default 20,
-f103 datetime not null default '2/2/2',
-f104 timestamp not null default 20001231235959,
-f105 year not null default 2000,
-f106 year(3) not null default 2000,
-f107 year(4) not null default 2000,
-f108 enum("1enum","2enum") not null default "1enum",
-f109 set("1set","2set") not null default "1set"
-) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb2.txt' into table tb2 ;
-USE test;
-USE test;
-DROP TABLE IF EXISTS t1, t2, t4, t10, t11;
-CREATE TABLE t1 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t1;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t2;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t4;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t10;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t11;
-drop TABLE if exists t3;
-CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' INTO TABLE t3;
-drop database if exists test4;
-CREATE database test4;
-use test4;
-CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t6;
-use test;
-drop TABLE if exists t7, t8;
-CREATE TABLE t7 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = innodb;
-CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' INTO TABLE t7;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' INTO TABLE t8;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-drop TABLE if exists t9;
-CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9;
-use information_schema;
-
-root@localhost information_schema
-
-Testcase 3.2.1.1:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE VIEW v1 AS SELECT * FROM information_schema.tables;
-CREATE OR REPLACE VIEW db_datadict.vu1 as
-SELECT grantee AS u
-FROM information_schema.user_privileges;
-CREATE OR REPLACE VIEW db_datadict.vu as
-SELECT DISTINCT u,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3 )
-AS server,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3,
-LENGTH( SUBSTRING( u,
-LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 )
-AS Server_Clean
-FROM db_datadict.vu1;
-SELECT * FROM db_datadict.vu order by u;
-u server Server_Clean
-'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1
-'root'@'<SERVER_NAME>' <SERVER_NAME>' <SERVER_NAME>
-'root'@'localhost' localhost' localhost
-CREATE PROCEDURE db_datadict.sp_1()
-BEGIN
-SELECT * FROM db_datadict.v1;
-END//
-USE information_schema;
-SHOW tables;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-KEY_COLUMN_USAGE
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-STATISTICS